CodeAct를 사용하면 에이전트가 코드를 작성하고 도구를 통해 execute_code 실행하여 작업을 해결할 수 있습니다. CodeAct는 모델에 한 번에 하나의 도구 호출을 내보내도록 요청하는 대신, 단일 실행 단계 내에서 제어 흐름, 데이터 변환 및 도구 오케스트레이션을 결합할 수 있는 샌드박스를 제공합니다.
에이전트 프레임워크에서 CodeAct는 단일 기본 제공 코어 형식이 아닌 백 엔드별 패키지를 통해 노출됩니다. 커넥터는 execute_code 도구를 추가하고, 런타임 지침을 삽입하고, 필요에 따라 샌드박스 내부에서 호출할 수 있는 공급자 소유 도구를 노출할 수 있습니다.
CodeAct가 왜
최신 AI 에이전트는 모델 품질이 아니라 오케스트레이션 오버헤드로 인해 병목 현상이 발생하는 경우가 많습니다. 에이전트가 여러 개의 작은 도구 호출을 함께 연결하는 경우 각 단계에는 일반적으로 대기 시간과 토큰 사용량을 모두 늘리는 다른 모델 턴이 필요합니다.
CodeAct는 모델 -> 도구 -> 모델 루프를 축소합니다. 에이전트 프레임워크는 모델에 한 번에 하나의 도구를 선택하도록 요청하는 대신 단일 execute_code 도구를 노출하고 모델이 전체 계획을 짧은 프로그램으로 표현하도록 할 수 있습니다. 도구는 동일하게 유지되고, 모델은 동일하게 유지되며, 주요 변경 사항은 계획이 여러 도구 호출 턴에 분산되는 대신 샌드박스 내에서 한 번 실행된다는 것입니다.
도구가 많은 워크로드의 경우 하나의 코드 블록에서 계획을 압축하고 감사할 수 있게 유지하면서 엔드투엔드 대기 시간 및 토큰 사용량을 크게 줄일 수 있습니다. 하이퍼라이트 벤치마크 샘플은 해당 셰이프를 직접 비교합니다.
CodeAct가 적합한 경우
작업에 이점이 있을 때 CodeAct를 사용하십시오.
- 여러 도구 호출을 루프, 분기, 필터링 또는 집계를 사용해 결합하기
- 최종 답변을 반환하기 전에 도구 결과 변환
- 실행의 일부로 더 큰 구조적 출력 또는 아티팩트 생성
- 제어된 실행 환경 내에서만 사용할 수 있는 일부 도구 유지
- 작고 체인 가능한 여러 조회나 경량 계산을 하나의 실행 단계로 통합하기
다음과 같은 경우 직접 도구 호출을 유지합니다.
- 작업에는 하나 또는 두 개의 도구 호출만 필요하므로 제거할 오케스트레이션 오버헤드가 거의 없습니다.
- 각 호출에는 모델 및 사용자에게 개별적으로 표시되어야 하는 부작용이 있습니다.
- 필요에 따라 전체
execute_code실행 대신에 개별 호출마다 승인 프롬프트가 필요합니다.
CodeAct가 에이전트 프레임워크에 맞는 방법
CodeAct 커넥터는 일반적으로 실행에 대해 다음 네 가지 작업을 수행합니다.
- 모델과 연결된 도구 화면에
execute_code도구를 추가합니다. - 구성된 샌드박스 런타임에 대한 지침을 제공합니다.
- 필요에 따라
call_tool(...)을(를) 통해 공급자 소유 도구를 노출할 수 있습니다. - 파일 시스템 액세스 또는 아웃바운드 네트워크 허용 목록과 같은 기능 제한을 적용합니다.
커넥터가 런타임 구성을 소유하므로 정확한 설정 세부 정보는 선택한 백 엔드에 따라 달라집니다.
현재 제한 사항
CodeAct는 도구가 많은 워크플로에 적합하지만 다음과 같은 몇 가지 현재 제약 조건을 염두에 두어야 합니다.
- 현재 문서화된 에이전트 프레임워크 커넥터는 Hyperlight CodeAct를 통한 Python 우선 커넥터입니다. .NET 설명서는 곧 제공될 예정입니다.
- 승인은 현재
execute_code호출 전체에 적용됩니다. 개별 작업을 하나씩 승인해야 하는 경우,call_tool(...)대신 이러한 작업을 직접 에이전트 도구로 유지하십시오. -
call_tool(...)를 통해 액세스된 도구는 여전히 호스트 프로세스 내에서 실행됩니다. 샌드박스 액세스를 불필요하게 확대하는 대신 중요한 I/O에 대해 검토된 좁은 호스트 도구를 사용합니다. - CodeAct는 오케스트레이션 오버헤드가 지배할 때 가장 잘 작동합니다. 도구 호출이 하나 또는 두 개뿐인 작은 작업의 경우 추가된 추상화는 많은 것을 구입하지 못할 수 있습니다.
- 모델이 한 번에 하나의 직접 도구 호출에서 선택하는 대신 해당 계약에 대한 코드를 작성하기 때문에 도구 이름, 매개 변수 메타데이터 및 반환 셰이프가 더 중요합니다.
Get started
곧 공개됩니다.
Get started
Python의 경우 현재 문서화된 커넥터는 Hyperlight CodeAct입니다.
하이퍼라이트 패키지는 다음을 제공합니다.
-
HyperlightCodeActProvider컨텍스트 공급자 기반 실행 작업에 대한 -
HyperlightExecuteCodeTool를execute_code에 직접 연결하고자 원하는 경우 -
call_tool(...)를 통해 샌드박스 내에서 계속 사용할 수 있는 공급자 관리 도구 - 샌드박스 런타임에 대한 선택적 파일 시스템 및 아웃바운드 네트워크 구성
설치, 예제, 사용 시기와 같은 런타임 관련 지침, 현재 Hyperlight 관련 제한 사항 등을 확인하려면 Hyperlight CodeAct를 참조하세요.