언리얼 에이전트, 도구 호출 비동기화로 최대 40% 비용 절감
Unreal Labs가 도구 호출을 완전 비동기 방식으로 처리하는 '언리얼 에이전트(Unreal Agent)' 하네스를 공개했습니다. 모델이 도구 대기·폴링·하트비트를 관리하지 않아도 되어 사용자 개입이 즉시 가능하고, 모델 호출 사이에 더 많은 유용한 도구 작업을 배치할 수 있습니다. 그 결과 실제 워크로드와 에이전트 벤치마크에서 Codex 대비 최대 40%, Pi 대비 최대 20%의 비용 절감을 달성했습니다.
AI 에이전트의 최고 수준 비용 효율성에 관심이 있다면 함께 일하고 싶습니다. 연락처: contact@unreallabs.ai
에이전트를 실제 환경에 배포하면서, 우리는 에이전트가 사용자에게 빠르게 응답하고 실행 비용이 효율적이기를 원했습니다. 에이전트가 도구 호출을 관리하는 데 많은 시간과 토큰을 소비한다는 점을 알게 되었고, 이것이 모델의 도구 관리 오버헤드를 줄이는 하네스(harness)를 갖춘 '언리얼 에이전트(Unreal Agent)'를 만들게 된 동기입니다.
언리얼 에이전트 하네스는 도구 호출을 완전히 비동기적인 방식으로 관리하여, 기반 모델이 도구에 대한 대기, 폴링, 하트비트를 관리해야 하는 부담을 덜어줍니다. 이 접근 방식은 두 가지 큰 이점을 가져옵니다. 첫째, 도구 호출이 완료되기를 기다릴 필요 없이 사용자가 항상 에이전트를 조종할 수 있습니다. 둘째, 모델 호출 사이에 더 유용한 도구 호출 작업을 예약할 수 있어 최고 수준의 비용 효율성을 실현합니다. 현재 버전은 실제 워크로드와 에이전트 벤치마크에서 Codex 대비 최대 40%, Pi 대비 최대 20%의 비용 절감을 달성했습니다. 우리는 하네스 설계 자체가 하나의 연구 분야이며, 아직 연구하고 구현해야 할 유망한 아이디어가 많다고 믿습니다.
1. 동기와 아키텍처
에이전트 중심 제품을 만들려고 하면, 구현의 확실한 지름길이 없다는 것을 금방 깨닫게 됩니다. 유명 벤더들은 각각 다른 트레이드오프를 가진 서로 다른 SDK를 제공하는데, 이러한 트레이드오프는 즉시 드러나지 않을 수 있습니다. Unreal Labs에서는 여러 에이전트 제품을 만들면서 인기 있는 SDK들에 대해 몇 가지를 배웠습니다.
예를 들어, Claude의 Agent SDK 같은 CLI 지향 SDK는 로컬 세션, 서브프로세스, 리소스 제한에 대한 가정을 담고 있어 프로덕션 환경에 그대로 적용하기 어렵습니다. 완료, 취소, 백그라운드 작업을 안정적으로 처리하려면 자체 수명주기 관리를 구축해야 하는 경우가 많습니다. 다른 공급자를 지원하면 호환성 작업이 추가됩니다. API 모드를 전환하면 도구나 컴팩션이 깨질 수 있고, SDK 업그레이드가 메시지 형식을 변경해 통합을 다시 작성해야 할 수 있습니다. 무거운 의존성 트리는 이미 직접 이해하고 패치해야 하는 런타임에 유지보수 및 공급망 위험을 더합니다.
하네스 훅과 전문 도구에 의존하는 보안 및 승인은 우리 경험상 유지보수가 더 많이 필요하고, 하네스 외부의 결정론적 환경 또는 샌드박스 제약(허용/비허용 호스트, 세분화된 액세스 토큰, 승인 게이트가 있는 프록시)보다 견고성이 떨어지는 경향이 있습니다.
이러한 기술적 동기와 함께, 우리는 사용자의 조종 메시지를 지연 없이 항상 수용하고, 모델에게 추가적인 인지 부담 없이 이기종(heterogeneous) 도구 호출을 처리할 수 있는 하네스를 만들고자 했습니다. 예를 들어, 에이전트가 몇 분이 걸릴 수 있는 개발 환경 설정을 시작하면서 동시에 코드베이스를 탐색하고 웹을 검색할 수 있고, 이 모든 것이 추가 토큰 비용 없이 이루어지기를 원했습니다.
언리얼 에이전트가 도구 호출을 발행할 때마다, 우리는 해당 도구가 '진행 중(in-progress)' 상태로 반환되었다는 이벤트 로그 기록을 즉시 추가하고, 실행은 백그라운드에서 계속합니다. 도구가 실제로 완료되면 세션 로그에 결과를 추가하고 LLM을 호출합니다. 캐시를 깨뜨리지 않고 이것을 작동시키는 것 자체가 흥미로운 엔지니어링 과제였습니다.
2. 애니메이션 참조
3. 비용 효율성
표면적으로 언리얼 에이전트는 더 적은 모델 턴과 더 적은 입력 토큰으로 동일한 결과를 달성합니다. 우리는 비용 절감을 두 가지 요인에 기인합니다:
최소한의 하네스 풋프린트와 도구 출력 사용의 신중한 엔지니어링. 언리얼 에이전트는 간단한 프롬프트, 토큰 최적화된 도구 결과, 그리고 서브 에이전트나 워크플로가 없습니다.
모델 턴당 더 많은 도구 작업. 언리얼 에이전트는 LLM에게 명확하게 설명되는 간단한 비동기 도구 호출 모델을 갖추고 있습니다. 이를 통해 폴링이나 대기에 토큰을 낭비하지 않으면서 모델 턴당 더 많은 무거운 도구 호출을 발행할 수 있습니다.
벤치마크
우리는 언리얼 에이전트를 실제 프로덕션 워크플로를 제공하기 위해 만들었지만, 벤치마크에서도 좋은 성적을 보입니다.