CodeAct

CodeAct를 사용하면 에이전트가 코드를 작성하고 도구를 통해 execute_code 실행하여 작업을 해결할 수 있습니다. CodeAct는 모델에 한 번에 하나의 도구 호출을 내보내도록 요청하는 대신, 단일 실행 단계 내에서 제어 흐름, 데이터 변환 및 도구 오케스트레이션을 결합할 수 있는 샌드박스를 제공합니다.

에이전트 프레임워크에서 CodeAct는 단일 기본 제공 코어 형식이 아닌 백 엔드별 패키지를 통해 노출됩니다. 커넥터는 execute_code 도구를 추가하고, 런타임 지침을 삽입하고, 필요에 따라 샌드박스 내부에서 호출할 수 있는 공급자 소유 도구를 노출할 수 있습니다.

CodeAct가 왜

최신 AI 에이전트는 모델 품질이 아니라 오케스트레이션 오버헤드로 인해 병목 현상이 발생하는 경우가 많습니다. 에이전트가 여러 개의 작은 도구 호출을 함께 연결하는 경우 각 단계에는 일반적으로 대기 시간과 토큰 사용량을 모두 늘리는 다른 모델 턴이 필요합니다.

CodeAct는 모델 -> 도구 -> 모델 루프를 축소합니다. 에이전트 프레임워크는 모델에 한 번에 하나의 도구를 선택하도록 요청하는 대신 단일 execute_code 도구를 노출하고 모델이 전체 계획을 짧은 프로그램으로 표현하도록 할 수 있습니다. 도구는 동일하게 유지되고, 모델은 동일하게 유지되며, 주요 변경 사항은 계획이 여러 도구 호출 턴에 분산되는 대신 샌드박스 내에서 한 번 실행된다는 것입니다.

도구가 많은 워크로드의 경우 하나의 코드 블록에서 계획을 압축하고 감사할 수 있게 유지하면서 엔드투엔드 대기 시간 및 토큰 사용량을 크게 줄일 수 있습니다. 하이퍼라이트 벤치마크 샘플은 해당 셰이프를 직접 비교합니다.

CodeAct가 적합한 경우

작업에 이점이 있을 때 CodeAct를 사용하십시오.

  • 여러 도구 호출을 루프, 분기, 필터링 또는 집계를 사용해 결합하기
  • 최종 답변을 반환하기 전에 도구 결과 변환
  • 실행의 일부로 더 큰 구조적 출력 또는 아티팩트 생성
  • 제어된 실행 환경 내에서만 사용할 수 있는 일부 도구 유지
  • 작고 체인 가능한 여러 조회나 경량 계산을 하나의 실행 단계로 통합하기

다음과 같은 경우 직접 도구 호출을 유지합니다.

  • 작업에는 하나 또는 두 개의 도구 호출만 필요하므로 제거할 오케스트레이션 오버헤드가 거의 없습니다.
  • 각 호출에는 모델 및 사용자에게 개별적으로 표시되어야 하는 부작용이 있습니다.
  • 필요에 따라 전체 execute_code 실행 대신에 개별 호출마다 승인 프롬프트가 필요합니다.

CodeAct가 에이전트 프레임워크에 맞는 방법

CodeAct 커넥터는 일반적으로 실행에 대해 다음 네 가지 작업을 수행합니다.

  1. 모델과 연결된 도구 화면에 execute_code 도구를 추가합니다.
  2. 구성된 샌드박스 런타임에 대한 지침을 제공합니다.
  3. 필요에 따라 call_tool(...)을(를) 통해 공급자 소유 도구를 노출할 수 있습니다.
  4. 파일 시스템 액세스 또는 아웃바운드 네트워크 허용 목록과 같은 기능 제한을 적용합니다.

커넥터가 런타임 구성을 소유하므로 정확한 설정 세부 정보는 선택한 백 엔드에 따라 달라집니다.

현재 제한 사항

CodeAct는 도구가 많은 워크플로에 적합하지만 다음과 같은 몇 가지 현재 제약 조건을 염두에 두어야 합니다.

  • 현재 문서화된 에이전트 프레임워크 커넥터는 Hyperlight CodeAct를 통한 Python 우선 커넥터입니다. .NET 설명서는 곧 제공될 예정입니다.
  • 승인은 현재 execute_code 호출 전체에 적용됩니다. 개별 작업을 하나씩 승인해야 하는 경우, call_tool(...) 대신 이러한 작업을 직접 에이전트 도구로 유지하십시오.
  • call_tool(...)를 통해 액세스된 도구는 여전히 호스트 프로세스 내에서 실행됩니다. 샌드박스 액세스를 불필요하게 확대하는 대신 중요한 I/O에 대해 검토된 좁은 호스트 도구를 사용합니다.
  • CodeAct는 오케스트레이션 오버헤드가 지배할 때 가장 잘 작동합니다. 도구 호출이 하나 또는 두 개뿐인 작은 작업의 경우 추가된 추상화는 많은 것을 구입하지 못할 수 있습니다.
  • 모델이 한 번에 하나의 직접 도구 호출에서 선택하는 대신 해당 계약에 대한 코드를 작성하기 때문에 도구 이름, 매개 변수 메타데이터 및 반환 셰이프가 더 중요합니다.

Get started

곧 공개됩니다.

Get started

Python의 경우 현재 문서화된 커넥터는 Hyperlight CodeAct입니다.

하이퍼라이트 패키지는 다음을 제공합니다.

  • HyperlightCodeActProvider 컨텍스트 공급자 기반 실행 작업에 대한
  • HyperlightExecuteCodeToolexecute_code에 직접 연결하고자 원하는 경우
  • call_tool(...)를 통해 샌드박스 내에서 계속 사용할 수 있는 공급자 관리 도구
  • 샌드박스 런타임에 대한 선택적 파일 시스템 및 아웃바운드 네트워크 구성

설치, 예제, 사용 시기와 같은 런타임 관련 지침, 현재 Hyperlight 관련 제한 사항 등을 확인하려면 Hyperlight CodeAct를 참조하세요.

다음 단계