Unreal Agent: 툴 호출을 비동기로 돌려 Codex 대비 비용 최대 40% 절감
Unreal Agent
TL;DR Highlight
툴 호출을 비동기로 처리하는 하네스로 Codex 대비 비용을 최대 40% 줄였다
Who Should Read
코딩 에이전트의 토큰 비용과 툴 호출 대기 때문에 고민하는 에이전트 백엔드 개발자
Core Mechanics
- 툴 호출을 완전 비동기로 처리한다
- 모델이 툴 대기·폴링·하트비트를 직접 관리하지 않아도 된다.
- 사용자는 툴이 끝나기를 기다리지 않고 언제든 에이전트에 지시를 끼워 넣을 수 있다.
- 툴 호출 즉시 '진행 중' 기록을 남긴다
- 툴을 호출하면 이벤트 로그에 in-progress 상태 기록을 바로 추가하고 툴은 백그라운드에서 계속 돈다.
- 툴이 끝나면 결과를 세션 로그에 붙이고 그때 LLM을 호출한다.
- 비용 절감은 가벼운 하네스와 툴 출력 최적화에서 나온다
- 프롬프트는 단순하고, 툴 결과는 토큰 최적화했고, 서브 에이전트나 워크플로는 없다.
- 모델 턴 하나에 무거운 툴 호출을 더 많이 묶어 보내고 폴링에 토큰을 쓰지 않는다.
- Codex 대비 최대 40%, Pi 대비 최대 20% 절감이다
- GPT-6 Astra xhigh로 Codex·Pi와 비교한 결과다.
- 통과율 차이는 벤치마크 편차 수준이라고 저자들은 본다.
- Terminal-Bench 4.0에서 통과율 같고 비용은 낮다
- 통과율은 unreal-agent와 Codex 리더보드 모두 57.9%다.
- 총 비용은 unreal-agent 1428, Codex 2350, Pi 1827(통과율 55.0%)이다.
Community Reactions
- Codex는 폴링에 토큰을 낭비한다는 경험
- 댓글에 따르면 Codex가 시작한 작업을 이유 없이 핫루프로 폴링하는 것이 토큰 소모의 큰 원인이다.
- 이를 고친 포크 패치로 Unreal과 비슷한 규모의 토큰 절감을 봤다는 경험이 있다.
- 헤드라인 그래프 비교 조건이 이상하다는 의견
- 댓글에서 Unreal은 Astra xhigh인데 Codex는 Astra max로 비교한 것 같다는 지적이 나왔다.
- 비용 절감이 어디서 나오는지 이해가 안 된다는 질문도 있었다.
- 기존 비동기 방식도 있다는 반론
- 댓글에서 Crush와 Claude Code에도 비동기 툴이 있지만 에이전트가 곧바로 wait()를 길게 호출해 느려진다는 경험이 나왔다.
- nohup, 병렬 툴 호출, 서브 에이전트로 이미 비동기가 가능해서 실제 속도 개선인지 체감 개선인지 의문이라는 의견도 있다.
- PTC와 비슷하다는 의견과 이름 문제
- 이게 프로그램형 툴 호출(PTC)과 비슷하며 모든 작업에 좋지는 않다는 의견이 있었다.
- Unreal Engine 상표 문제로 소송 위험이 있다는 우려가 여러 댓글에 나왔다.
How to Apply
- 에이전트 로그에서 폴링 낭비 측정하기
- 오늘 쓰는 에이전트의 한 세션 로그에서 sleep·wait·상태 확인 툴 호출 횟수를 센다.
- 해당 턴이 입력 토큰에서 차지하는 비율을 계산해 비동기 도입 가치를 판단한다.
- 장시간 툴을 in-progress 레코드로 바꾸기
- 빌드·환경 세팅처럼 몇 분 걸리는 툴은 호출 즉시 '진행 중' 결과를 반환하게 한다.
- 완료 시점에 최종 결과를 세션 로그에 붙이고 그때 LLM을 호출한다.
- 두 번째 툴 결과 형식을 API에서 먼저 테스트하기
- 한 컨텍스트에 진행 중·최종 두 결과를 넣는 패턴을 쓰는 모델과 추론 제공자 조합마다 시험한다.
- 원문은 일부 제공자에서 거부된 사례가 있다고 하니 배포 전에 확인한다.
- 보안 승인은 하네스 밖으로 빼기
- 훅 기반 승인을 허용 호스트, 세분화된 액세스 토큰, 승인 게이트 프록시로 옮기는 것을 검토한다.
- 샌드박스 제약으로 걸 수 있는 것부터 하나 골라 적용한다.
Try It
# Claude Code나 ChatGPT에 붙여넣기 (논문 방법의 간이 버전: 에이전트 로그 폴링 낭비 진단)
아래는 내 코딩 에이전트 세션 로그다. 툴 호출 대기 때문에 낭비된 턴과 토큰을 분석해 줘.
{{에이전트 세션 로그}}
다음을 표로 정리해 줘.
1. 폴링·wait·sleep·상태 확인 성격의 툴 호출 횟수와 전체 턴 대비 비율
2. 그 턴들의 입력 토큰 합계 추정치(로그에 값이 있으면 그 값만 사용)
3. 장시간 툴을 '진행 중' 레코드로 즉시 반환하고 완료 시 결과를 붙이는 비동기 방식으로 바꿨을 때 줄일 수 있는 턴
이어서 해 볼 것: 같은 작업을 비동기 방식 프롬프트로 다시 돌려 턴 수와 입력 토큰을 비교해 봐.Terminology
관련 논문
Mercury 3: 규모를 키운 diffusion LLM, 초당 1,000토큰 이상
Diffusion LLM을 40배 키웠더니 속도 4~8배, 품질은 속도 특화 모델 수준
Timestral: Mistral의 시계열 파운데이션 모델
209M 파라미터 시계열 모델이 3대 벤치마크 1위, CPU에서도 돌아간다
DeepSeek V4.1 Flash 1017 (Max) 성능·속도·가격 분석
DeepSeek V4.1 Flash 1017 Max는 지능 지수 45에 211 tok/s, 입력 $0.30
LLM 프록시를 직접 안 돌리면 무슨 일이 벌어지는지 어떻게 아나
자체 LLM 프록시를 세웠더니 키·모델·캐시 미스를 직접 볼 수 있다
DeepSeek V4.1 Flash 1017: 싼 가격에 1M 컨텍스트를 주는 에이전트용 모델
DeepSeek V4.1 Flash 1017은 입력 $0.05/M, 1M 컨텍스트의 에이전트용 모델
DeepSeek-V4.1-Flash-1017 공개: 더 짧게 생각하고 더 빠르게 일하는 에이전트용 모델
DeepSeek V4.1 Flash 마이너 업데이트로 코딩·에이전트 벤치 점수↑, 실행 시간·출력 길이↓
Llmspeed: 로컬 LLM 속도를 하드웨어 구매 전에 체감해 보는 시뮬레이터
GPU·모델을 고르면 로컬 LLM 속도를 미리 체감하게 해 주는 시뮬레이터