에이전트 하네스(Agent Harness)를 위한 LLM-as-Code 에이전트 프로그래밍
요약
LLM 에이전트의 구조적 결함인 토큰 폭발과 제어 흐름 환각을 해결하기 위해 'LLM-as-Code' 프로그래밍 방식을 제안합니다. 제어권을 확률론적인 LLM이 아닌 결정론적인 프로그램에 부여하여 에이전트의 신뢰성과 안정성을 높이는 설계 방식입니다.
핵심 포인트
- LLM을 오케스트레이터가 아닌 적응형 구성 요소로 활용
- 프로그램이 제어 흐름을 관리하여 결정론적 작업 수행
- 호출 트리를 통한 DAG 기반의 컨텍스트 관리
- 컴퓨터 사용 에이전트 사례를 통한 실용성 및 안정성 입증
모든 주요 LLM 에이전트 프레임워크는 LLM에게 오케스트레이터 (orchestrator) 역할을 부여합니다. 즉, 모델이 다음에 무엇을 할지, 언제 도구를 호출할지, 그리고 언제 멈출지를 결정합니다. 우리는 토큰 폭발 (token explosion), 제어 흐름 환각 (control-flow hallucination), 그리고 신뢰할 수 없는 완료 (unreliable completion)가 단순한 구현상의 버그가 아니라, 루핑 (looping), 분기 (branching), 시퀀싱 (sequencing)과 같은 결정론적인 작업을 확률론적인 시스템에 할당함으로써 발생하는 구조적 결과라고 주장합니다. 더 나은 프롬프트나 더 강력한 모델이라 할지라도 LLM 에이전트의 신뢰성을 보장할 수는 없습니다. 따라서 우리는 프로그램이 모든 제어 흐름을 관리하고, LLM은 그 자체의 일부로서 추론이나 생성이 필요한 경우에만 호출되는 적응형 구성 요소인 LLM-as-Code로 작동하는 에이전트 프로그래밍 (Agentic Programming)을 제안합니다. 각 호출 내에서 모델은 완전한 유연성을 유지하지만, 프로그램의 실행 경로를 변경할 수는 없습니다. 제어권이 프로그램에 있음으로써, LLM의 컨텍스트 (context)는 실행 이력의 호출 트리 (call tree)로부터 구축되며 유향 비순환 그래프 (DAG, directed acyclic graph)를 형성합니다. 각 호출의 컨텍스트 길이 (context length)는 단계별 누적이 아닌 호출 깊이 (call depth)에 의해 결정됩니다. 컴퓨터 사용 에이전트 (computer-use agents)에 대한 사례 연구는 이 설계가 단순한 이론적 입장이 아니라 실용적임을 보여주며, 긴 시각적 작업 시퀀스 (visual operation sequences)의 안정성을 실질적으로 향상시킵니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 arXiv Codex (cs.SE)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기