
Code as Agent Harness
핵심 포인트
- 1본 논문은 LLM 기반 에이전트 시스템에서 코드를 단순한 출력물을 넘어 추론, 환경 모델링 및 실행 검증을 수행하는 핵심 매개체인 'Code as Agent Harness'로 정의합니다.
- 2Harness Interface, Harness Mechanisms, Scaling the Harness라는 세 가지 계층 구조를 통해 에이전트가 코드를 중심으로 실행 가능한 상태를 유지하고 반복적인 피드백을 통해 적응형 동작을 수행하는 방식을 체계적으로 분석합니다.
- 3본 연구는 GUI 자동화, 과학적 탐구, 다중 에이전트 협업 등 다양한 도메인에서 코드 중심의 에이전트 설계가 어떻게 더욱 신뢰할 수 있고 검증 가능한 AI 시스템을 구축하는지 로드맵을 제시합니다.
본 논문은 LLM 기반 Agent 시스템에서 코드(Code)의 역할을 단순한 '생성 결과물'에서 'Agent Harness'로 재정의하는 패러다임 전환을 제안합니다. 코드 as Agent Harness는 Agent의 추론(Reasoning), 행동(Action), 환경 모델링(Environment Modeling)을 수행하는 실행 가능하고(Executable), 검증 가능하며(Verifiable), 상태를 유지하는(Stateful) 매개체로서의 코드 중심 인프라를 의미합니다.
1. 핵심 방법론: Code as Agent Harness의 3개 계층 구조
본 논문은 Agent 시스템의 운영 기제인 'Harness'를 다음과 같은 세 가지 연결된 계층으로 분류합니다.
① Harness Interface (코드 인터페이스 계층):
Agent가 외부 환경과 상호작용하는 접점을 코드로 구현합니다.
- Code for Reasoning: 단순한 Chain-of-Thought(CoT)를 넘어, 중간 추론 과정을 실행 가능한 프로그램으로 외부화하여 Interpreter나 symbolic solver를 통해 논리적 오류를 검증하고 정교화합니다.
- Code for Acting: 의도(Intent)를 구체적인 Tool call, 행동 트리, 또는 실행 가능한 정책(Policy)으로 변환하여 Embodied Robot, GUI/OS 자동화 환경에서 동작하게 합니다.
- Code for Environment Modeling: 프로그램 상태, Execution Trace, Repository, Test case 등을 활용하여 환경의 동역학(Dynamics)과 현재 상태를 구조적으로 표현하고 관리합니다.
② Harness Mechanisms (운영 기제 계층):
단일 실행 단계를 넘어 장기적인 과업 완수를 가능하게 하는 기술적 장치들입니다.
- Planning: 복잡한 소프트웨어 공학 과업을 모듈식으로 분해하거나, 구조적 근거를 바탕으로 Trajectory를 탐색(Search)합니다.
- Memory: 작업 메모리(Working Memory)와 경험적 메모리(Experiential Memory)를 통해 상태를 보존하고, 재사용 가능한 기술(Skill) 라이브러리를 구축합니다.
- Feedback-driven Control: 실행 후 발생한 오류(Runtime error)나 테스트 결과(Test-based execution)를 피드백으로 활용하여 코드를 반복적으로 디버깅하고 최적화(Optimization)하는 폐루프(Closed-loop) 제어를 수행합니다.
③ Scaling the Harness (다중 Agent 오케스트레이션):
단일 Agent를 넘어 협업 시스템으로 확장합니다.
- 공유된 코드 아티팩트와 Repository 상태를 기반으로 Manager, Planner, Coder, Reviewer, Tester 등 역할을 분담합니다.
- 복수의 Agent가 공유된 Harness 안에서 작업을 조정하고, 동료의 코드를 검토(Review)하거나, 협력적/적대적(Adversarial) 상호작용을 통해 Collective Verification을 수행합니다.
2. 기술적 시사점
본 연구는 Agent의 능력이 단순히 LLM의 Reasoning 능력에 의존하는 것이 아니라, 코드를 통해 입출력 및 상태 변화를 추적(Tracing)하고 검증(Verification)할 수 있는 시스템 인프라 구축에 달려 있음을 강조합니다. 특히,- Formal Verification: 형식 검증과 Symbolic Reasoning을 결합하여 신뢰성을 확보함.
- Deep Telemetry: 실행 흐름에서 깊은 수준의 데이터를 수집하여 Harness 자체를 지속적으로 개선하는 'Evolution Agent' 개념을 도입함.
- Transactional State: 공유된 프로그램 상태에서의 충돌 방지 및 일관성 있는 상태 전이(State transition)를 보장하는 설계의 중요성을 다룸.