도입 — 코드, 그저 결과물이 아니라 에이전트의 "살아가는 세계"가 됐다
2026년 5월, UIUC × Meta × Stanford 합작으로 arXiv에 올라온 102페이지 서베이 논문 「Code as Agent Harness: Toward Executable, Verifiable, and Stateful Agent Systems」(arXiv:2605.18747) 가 개발자 커뮤니티에서 빠르게 화제가 되고 있다. 논문의 핵심 주장은 단 한 줄로 요약된다. "코드는 더 이상 LLM이 생성하는 결과물이 아니다. 에이전트가 추론하고, 행동하고, 상태를 저장하고, 피드백을 검증하는 operational substrate(실행 기반)다." 즉, .py 파일 하나가 곧 에이전트가 살아가는 세계 그 자체라는 관점이다. 이 서베이는 40명의 저자가 450편 이상의 관련 문헌을 정리하고, 7개 응용 분야와 7가지 오픈 문제를 도출했다. 이 글에서는 그 관점을 해체해서, 우리가 실무에서 즉시 적용할 수 있는 형태로 풀어본다.

"Code as Harness"가 의미하는 것
기존 LLM 코딩 도구의 암묵적 가정을 뒤집는다. 전통적 관점에서 코드는 "프롬프트 → 생성된 .py 파일"의 한 방향 산물이다. 하지만 에이전트 시대에서는 흐름이 완전히 달라진다.
- 코드는 추론의 외부화 매체다 (Program-of-Thoughts 같은 실행 가능한 사고)
- 코드는 액션 인터페이스다 (GUI/로봇 제어를 생성된 프로그램이 정책으로 수행)
- 코드는 환경 그 자체다 (코드베이스, 트레이스, 시뮬레이터가 환경을 표현)
- 코드는 검증 신호다 (린터, 타입 체커, 테스트, 퍼저가 LLM critique보다 신뢰할 수 있는 제어 신호)
논문은 이 4가지 역할을 묶어서 "harness" 라는 단일 인프라 계층으로 정의한다. 102페이지 분량이 모두 이 하나의 정의에서 출발한다.
3계층 구조 — Interface, Mechanisms, Scaling
서베이의 본문은 에이전트 시스템을 3개 레이어로 나눠서 분석한다.
① Harness Interface — 코드가 에이전트를 환경과 연결하는 방식
| 구성요소 | 역할 | 대표 사례 |
|----------|------|----------|
| Reasoning substrate | 추론을 코드로 외부화해서 실행/검증 | Program-of-Thoughts, executable traces |
| Action interface | 생성된 프로그램이 정책으로 작동 | GUI/로봇 제어를 코드로 표현 |
| Environment representation | 환경 자체를 코드로 모델링 | 코드베이스, 트레이스, 시뮬레이터 |
이 레이어의 핵심 메시지는 "에이전트가 환경과 만나는 모든 지점은 코드 어딘가를 통과한다"는 점이다.
② Harness Mechanisms — 장기 실행을 지속시키는 제어 시스템
5가지 핵심 메커니즘이 소개된다.
- Planning — 단순 분해(decomposition)를 넘어서
PLAN.md같은 파일시스템 기반 지속 계획으로 진화 중. Meta-Harness는 harness 설계 자체를 search space로 다룬다. - Memory — working/semantic/experiential/long-term/multi-agent 5종 + context compaction으로 분리. "메모리는 단일 벡터DB가 아니라 통합된 상태 관리 계층"이라는 표현이 핵심이다.
- PEV Loop — Plan → Execute → Verify 사이클을 cybernetic governor로 재정의. 실행 권한은 read-only → sandbox-edit → full-access(HITL) 3단계로 점진적 승격 모델을 따른다.
- AHE (Agent Harness Engineering) — harness 자체를 측정하고 최적화하는 메타 계층.
- Verification as control signal — 결정적 검증기(린터/타입체커/테스트/퍼저)를 LLM critique보다 우선시한다.
③ Scaling the Harness — 멀티에이전트가 코드를 공유 매체로 협업
흥미로운 발견이 하나 있다. "토폴로지 복잡성은 공유 상태 표현의 미성숙함이 만든 세금이다." 상태를 잘 설계한 시스템은 단순한 구조로도 잘 돌아가고, 암묵적 상태에 의존하는 시스템은 그 결핍을 복잡한 토폴로지로 메꾼다. manager / planner / coder / reviewer / tester 같은 역할 분담이 등장하지만, 진짜 핵심은 "코드라는 공유 매체를 어떻게 동시 수정할 것인가"의 트랜잭셔널 문제로 수렴한다.
즉시 적용 가능한 4가지 실무 원칙
논문을 읽고 나면, 기존 에이전트 운영 습관 중 몇 가지가 바로 교정된다.
원칙 1. 컨텍스트 컴팩션 + 상태 오프로딩
컨텍스트 윈도우에 모든 데이터를 다 넣지 마라.
결정에 필요한 요약만 active context에 두고,
전체 데이터는 MCP-style 프로토콜로 offload 하라.
원칙 2. 검증을 결정적 센서로 다루기
LLM critique는 보조 신호로 격하시켜라.
린터/타입체커/테스트/퍼저 같은 결정적 피드백이
에이전트 제어의 1차 신호가 되어야 한다.
원칙 3. 권한 모델은 3단계로 점진 승격
read-only → sandbox-edit → full-access(HITL)
권한을 한 번에 부여하지 말고 단계적으로.
원칙 4. 실패는 복구 입력으로 변환
실패 트레이스를 dead end가 아니라
다음 사이클의 repair input으로 저장하라.

이 4가지는 논문의 7가지 오픈 문제와도 직결된다.
7가지 오픈 문제 — 아직 풀리지 않은 영역
논문이 남긴 미해결 과제 7개는 후속 연구 로드맵 그 자체다.
- 최종 성공 외 평가 — 중간 트레이스, 복구 시도, 안전성 체크도 1급 지표
- 불완전 피드백 하 검증 — 부분 테스트, noisy 실행 신호, hidden state 하에서 동작
- 회귀 없는 harness 개선 — 실패에서 배우면서 기존 동작을 깨뜨리지 않는 방법
- 멀티에이전트 트랜잭셔널 공유 상태 — 동시 코드 수정 시 충돌 해결
- 인간 감독 for safety-critical 액션 — 고위험 작업 시 HITL 게이팅
- 멀티모달 환경 확장 — 비-텍스트 환경으로 harness 일반화
- 평가 메트릭 확장 — 최종 성공률 외 repair rate, rollback count, trace quality
7개 응용 분야 — harness가 이미 작동하는 영역
서베이는 harness 패턴이 6개 이상의 응용에서 실제로 작동 중임을 보여준다.
| 응용 분야 | harness 형태 | 대표 시스템 |
|----------|-------------|------------|
| Coding Assistants | 코드베이스 + 테스트 + PR | Claude Code, Cursor, Devin |
| GUI/OS Agents | DOM + 액션 API + 스크린샷 | Anthropic Computer Use, OpenAI Operator |
| Embodied Agents | 시뮬레이터 + 정책 코드 | 로봇 제어 파이프라인 |
| Scientific Discovery | 코드 + 데이터 + 실험 트레이스 | AlphaFold 류 |
| Personalization | 사용자 상태 + 도구 메모리 | 추천 에이전트 |
| DevOps | IaC + 모니터 + 배포 | K8s/CDK/CD 에이전트 |
| Enterprise Workflows | BPMN + 권한 + 감사 로그 | 사내 자동화 |
우리가 바꿔야 할 사고방식
이 서베이가 던지는 가장 강한 메시지는 "에이전트 실패의 원인은 모델이 아니라 harness에 있다" 는 것이다. 논문은 명시한다. "대부분의 에이전트 실패는 부족한 저장소 컨텍스트, 깨지기 쉬운 도구 인터페이스, 약한 검증기, 과도한 토큰 비용, 잘못된 재시도 정책에서 온다." 즉, 모델 업그레이드에 매몰되기보다 harness 자체의 설계를 점검하는 것이 ROI가 훨씬 높다는 뜻이다.
요약
- Code as Agent Harness — 코드를 결과물이 아닌 인프라 계층으로 보는 새로운 관점
- 3계층 (Interface / Mechanisms / Scaling) 으로 에이전트 시스템을 분석
- PEV Loop + 3단계 권한 모델 이 장기 실행의 제어 신호
- 컨텍스트 컴팩션 + 결정적 검증기 + 실패-복구 루프 가 즉시 적용 가능한 4가지 원칙
- 7가지 오픈 문제와 7개 응용 분야 가 후속 연구 + 실무 적용의 로드맵
2026년 6월 현재, "에이전트 = 모델 + 프롬프트" 라는 등식이 "에이전트 = 모델 + harness" 로 바뀌는 중이며, 이 서베이는 그 전환의 지도 역할을 한다.
참고 자료
- 논문 원문: https://arxiv.org/abs/2605.18747
- 요약 사이트: https://code-as-harness.github.io/code-as-harness-webpage/
- 관련 논문 모음: https://github.com/YennNing/Awesome-Code-as-Agent-Harness-Papers
'AI 뉴스' 카테고리의 다른 글
| RubyLLM: 13개 AI 제공자를 하나로 묶는 Ruby 프레임워크 — GPT·Claude·Ollama 단일 인터페이스 (0) | 2026.06.26 |
|---|---|
| OpenAI·Broadcom 첫 자체 추론 칩 Jalapeño 공개 — 아키텍처와 IPO 의미를 한 번에 (0) | 2026.06.26 |
| Anthropic, Claude Tag 공개 — Slack 팀원 합류형 에이전트 가이드 (0) | 2026.06.25 |
| 다가오는 루프 — 에이전트 바깥의 하네스 루프가 엔지니어링을 어떻게 바꾸는가 (0) | 2026.06.25 |
| AI시대, 나의 전문성을 재설계하는 법 — J-Curve·검증 레이어·새 인재상 (0) | 2026.06.25 |