Code as Agent Harness - 코드를 에이전트의 실행·검증·상태 기반으로 재정의한 서베이
목차
개요
이 논문은 University of Illinois Urbana-Champaign, Meta, Stanford University가 공동으로 발표한 서베이입니다. Xuying Ning, Katherine Tieu, Dongqi Fu 등이 주도했으며 2026년에 공개되었습니다. 제목은 “Code as Agent Harness: Toward Executable, Verifiable, and Stateful Agent Systems”입니다.
핵심 기여는 코드를 단지 LLM이 생성하는 산출물에서 에이전트 추론·실행·조정을 위한 “운영 기반(operational substrate)”으로 재정의한 것입니다. 즉 코드를 목표 출력으로만 보지 않고, 에이전트가 시작한 코드 산출물이 장기 실행 자율 시스템의 중심이 되는 방식을 탐구합니다.
이 논문은 새로운 알고리즘이나 실험적 검증을 제시하지 않습니다. 기존 문헌을 종합하고 코드 중심 에이전트 설계를 이해하기 위한 조직 프레임워크를 제시하는 체계적 서베이입니다.
방법론
3계층 조직 프레임워크
저자들은 분석을 세 개의 상호 연결된 계층으로 구조화합니다.
| 계층 | 내용 |
|---|---|
| 하네스 인터페이스 | 코드가 실행 가능한 추론 기반, 프로그래밍 가능한 행동 인터페이스, 환경 표현으로 기능 |
| 하네스 메커니즘 | 계획, 메모리 관리, 도구 통합, 피드백 기반 제어가 다단계 실행을 지속 |
| 멀티 에이전트 확장 | 공유 코드 산출물이 저장소, 실행 트레이스, 구조화된 워크플로우를 통해 여러 에이전트를 조정 |
첫째 계층에서 코드는 세 역할을 합니다. 계산을 외부화하고(추론), 의도를 실제 연산으로 번역하며(행동), 프로그램과 트레이스로 세계 동역학을 표현합니다(환경 모델링). 둘째 계층은 태스크 분해, 지속 상태 유지, API·검증 시스템 연결, 런타임 관찰을 통한 반복 개선을 포함합니다. 셋째 계층은 coder, reviewer, tester 같은 특화된 역할의 에이전트들이 공통 코드 베이스 위에서 협력하는 방식을 다룹니다.
코드의 세 가지 역할
서베이는 코드의 역할을 추론, 행동, 환경 모델링으로 나누어 검토합니다.
추론을 위한 코드는 세 가지 패러다임으로 정리됩니다. 프로그램 위임 추론(계산을 인터프리터에 위임), 형식 검증(신경 생성과 기호 솔버·증명 보조기 결합), 반복적 코드 기반 추론(생성-실행-피드백 폐루프)입니다. 대표 시스템으로 Program-of-Thoughts(PoT), Chain of Code(CoC), 그리고 실행 트레이스를 보상 신호로 쓰는 강화학습 접근이 있습니다.
행동을 위한 코드는 세 메커니즘으로 나타납니다. 근거 있는 스킬 선택(언어 의도를 환경 제약 아래 실행 가능 능력으로 매핑), 프로그래밍 정책 생성(제어 논리를 실행 프로그램으로 구체화), 평생 스킬 축적(재사용 가능 행동의 지속 메모리)입니다. 사례는 로보틱스(CaP, RoboCodeX), GUI 자동화, 개방형 환경(Voyager)에 걸쳐 있습니다.
환경 모델링을 위한 코드는 세계 상태와 동역학을 구조화된 프로그램 상태, 실행 트레이스, 시뮬레이터, 테스트 스위트로 표현합니다.
주요 결과
응용 도메인
논문은 다섯 가지 신흥 영역을 서베이합니다.
| 도메인 | 내용 |
|---|---|
| 코딩 지원 | 패치 생성, 테스트 합성, 저장소 수준 소프트웨어 엔지니어링 |
| GUI/OS 자동화 | DOM 트리와 접근성 API에 근거한 인터페이스 합성 |
| 과학적 발견 | 시뮬레이션과 실험을 아우르는 자율 가설 검증 파이프라인 |
| 임바디드 제어 | 로봇·물리 조작을 위한 실행 가능 정책 |
| 개인화 | 선호 인코딩과 피드백을 통한 적응형 에이전트 행동 |
서베이는 실행 가능성(executability), 검사 가능성(inspectability), 상태성(statefulness)이 에이전트 맥락에서 코드를 자연어와 구별 짓는다고 강조합니다. 컴파일러, 테스트, 시뮬레이터, 런타임 환경에서 나오는 실행 피드백은 형식적으로 검증 가능한 신호를 제공하며, 하네스는 이를 통해 실패를 진단하고 행동을 수정합니다.
또한 세 가지 시스템 요소를 구분합니다. 모델 내부 추론 능력, 시스템이 제공하는 인프라(도구·API·메모리), 그리고 에이전트가 시작한 코드 산출물입니다. 세 번째 요소를 강조하는 점이 기존 하네스 엔지니어링 연구와의 차별점입니다.
미해결 과제
논문은 일곱 가지 주요 문제를 미해결로 식별합니다.
| 과제 | 내용 |
|---|---|
| 평가 적정성 | 최종 태스크 성공을 넘어 하네스 신뢰성 평가 |
| 의미 검증 | 실행 피드백이 불완전하거나 잡음 있을 때의 검증 |
| 회귀 방지 | 기존 능력을 떨어뜨리지 않으면서 하네스 개선 |
| 공유 상태 일관성 | 여러 에이전트 간 의미적으로 일관된 프로그램 상태 관리 |
| 인간 감독 | 안전 필수 행동에 대한 안전 메커니즘 |
| 멀티모달 확장 | 코드 하네스를 지각·임바디먼트와 통합 |
| 하네스 과학 | 하네스 설계·최적화를 위한 원칙적 방법론 |
한계와 주의사항
저자들은 코드를 넓게 정의하면서도 경계를 분명히 합니다. 프로그램, 테스트, 형식 명세, API 스키마, 트레이스, 로그를 포함하되, 원시 지각과 물리 상태, 모델 내부 추론은 제외합니다. 이 경계는 코드가 에이전트의 실행·검증 인터페이스로 기능하도록 하여, 표현과 기저 양식을 혼동하지 않게 합니다.
다만 이 논문은 새 알고리즘이나 실험 검증을 제공하지 않는 서베이라는 점을 명시합니다. 기존 문헌을 종합하고 코드 중심 에이전트 설계의 조직 프레임워크를 제시하는 데 목적이 있습니다.
결론
이 서베이는 코드를 생성된 출력이 아니라 에이전트 시스템의 실행 가능하고 검사 가능한 운영 기반으로 재정의합니다. 하네스 인터페이스, 하네스 메커니즘, 멀티 에이전트 확장의 3계층으로 코드 중심 에이전트 설계를 정리하며, 코딩·GUI·과학·임바디드·개인화 도메인을 아우릅니다. Claude Code, LangChain 같은 현대 에이전트 시스템이 어떻게 실행·검증·메모리·다중 에이전트 조정을 코드 산출물 위에서 수행하는지 이해할 통일된 어휘를 제공한다는 점에서 의미가 있습니다.