최근 UIUC, 메타(Meta), 스탠퍼드(Stanford) 공동 연구팀이 코드를 인공지능(AI) 에이전트의 단순한 생성물이 아닌, 에이전트가 추론하고 행동하며 상태를 저장하고 피드백을 검증하는 '실행 기반(operational substrate)'으로 봐야 한다는 파격적인 관점을 제시하는 서베이 논문을 발표했습니다. 이 '코드-온-하네스(Code as Agent Harness)' 개념은 코드가 에이전트의 '세계' 자체라는 인식을 바탕으로, AI 에이전트 시스템을 이해하고 설계하는 새로운 프레임워크를 제공합니다.
해당 논문은 에이전트 시스템을 세 가지 핵심 계층으로 나누어 분석합니다. 첫째, '하네스 인터페이스(Harness Interface)'는 코드가 에이전트를 외부 환경과 연결하는 방식을 다룹니다. 이는 추론 과정을 코드로 외부화하여 실행하고 검증하거나, GUI 및 로봇 제어를 위한 정책으로 코드를 활용하는 것을 포함합니다. 둘째, '하네스 메커니즘(Harness Mechanisms)'은 에이전트의 장기 실행을 지속시키는 제어 시스템에 초점을 맞춥니다. 여기에는 파일 시스템 기반의 지속적인 계획(Planning), 통합된 상태 관리 계층으로서의 메모리(Memory), 그리고 계획-실행-검증(Plan-Execute-Verify, PEV) 사이클을 재정의하는 사이버네틱 거버너(cybernetic governor) 개념이 포함됩니다. 특히, 메모리를 단일 벡터 데이터베이스(Vector DB)가 아닌 통합된 상태 관리 계층으로 보는 관점과, 실행 권한을 읽기 전용부터 전체 접근까지 3단계로 나누는 모델이 주목할 만합니다. 셋째, '하네스 확장(Scaling the Harness)'은 여러 에이전트가 코드라는 공유 매체 위에서 협업하는 방식을 탐구합니다.
이 연구는 AI 에이전트 개발의 주요 문제점과 해결책에 대한 중요한 통찰을 제공합니다. 예를 들어, 컨텍스트 윈도우(context window)에 모든 정보를 담기보다 필요한 요약만 활성 컨텍스트(active context)에 두고 전체 데이터는 오프로드(offload)하는 '컨텍스트 압축(Context Compaction) + 상태 오프로딩(State Offloading)' 전략은 실용적인 팁으로 제시됩니다. 또한, 린터(linter), 타입 체커(type checker), 테스트(test) 같은 결정적 피드백(deterministic feedback)이 대규모 언어모델(LLM)의 비평보다 더 신뢰할 수 있는 제어 신호임을 강조하며, 에이전트 실패의 원인이 모델 자체보다는 부족한 저장소 컨텍스트, 취약한 도구 인터페이스, 약한 검증기 등 '하네스'에 있음을 지적합니다. 이는 에이전트 시스템의 안정성과 효율성을 높이기 위한 설계 방향을 제시하며, 향후 AI 에이전트 연구 및 개발에 있어 코드의 역할과 시스템 아키텍처에 대한 재고를 촉구하는 중요한 전환점이 될 것입니다.