모델이 아니라 하네스가 문제다
에이전트의 성능은 모델 가중치만으로 결정되지 않는다. SWE-bench Pro에서 Claude Opus 4.5는 표준 SEAL 스캐폴드(에이전트 실행을 감싸는 코드 골격)로 45.9%, Claude Code 하네스로 55.4%를 기록했다. 세 스캐폴드의 성적도 50.2~55.4%로 차이가 났다. 실행 순서와 도구, 검증 방식만 바꿔도 모델 세대를 교체한 것과 비슷한 효과가 났다.
「Stop Comparing LLM Agents Without Disclosing the Harness」는 이를 ‘구속 조건 명제’로 설명한다. 장기 과업에서는 컨텍스트 구성과 도구 호출, 검증을 담당하는 하네스(모델을 감싸 도구, 컨텍스트, 검증을 관리하는 실행 계층)가 모델보다 성능 차이에 더 큰 영향을 미친다는 주장이다. 따라서 하네스 명세를 공개하지 않은 순위표만으로는 성능을 제대로 비교하기 어렵다.
「The Harness Effect」에서도 같은 과업에 소비한 토큰이 오케스트레이션 방식에 따라 5~10배 차이 났다. 작은 모델에 정교한 실행 절차를 결합하는 편이 비용과 효율 면에서 나을 수 있다.
공개된 코딩 에이전트 사고 9건을 14개월간 추적한 결과도 비슷하다. 이 사고들에는 개인 드라이브와 Git이 추적하던 파일 약 70개를 삭제한 사례, SaaS 운영 데이터베이스를 삭제한 사례가 포함됐다.
2025년 12월 Amazon Kiro 사고로 AWS 한 리전의 서비스가 약 13시간 중단됐다. 2026년 4월 PocketOS에서는 운영 데이터베이스와 연결된 백업이 9초 만에 삭제됐다.
모델에 맡긴 일은 캐시 정리나 마이그레이션 비교처럼 평범했다. 피해를 키운 원인은 오류를 확인하지 않고 같은 쓰기 작업을 빠르게 반복한 실행 구조였다.
MAST 연구는 7개 프레임워크의 실행 기록 1,600여 개를 분석해 14개 실패 유형을 분류했다. 주요 원인은 시스템 설계의 결함, 에이전트 간 조율 실패, 검증 절차의 부재였다.
압축되면 사라지는 금지 문장
프롬프트에 넣은 금지 문장은 컨텍스트에 남아 있을 때만 효력을 유지한다. 「Governance Decay」는 7개 모델군의 1,323개 에피소드를 조사했다. 전체 컨텍스트에서는 금지된 도구 호출이 없었지만 압축 후 위반률은 30%였고 일부 모델은 59%에 달했다. 요약에 제약이 남으면 위반률은 0%, 누락되면 38%였다.
모델이 규칙을 거부한 게 아니라 압축 후 규칙을 참조하지 못했다. 안전 제약을 압축 대상에서 제외하는 ‘제약 고정’을 적용하자 위반률은 다시 0%로 낮아졌다. 컨텍스트 압축 방식에 따라 안전 정책의 유지 여부도 달라진다. 별도 실험에서 프롬프트 가드는 공격 성공률을 22%에서 17%로 낮추는 데 그쳤다. 런타임 가드는 4%까지 낮췄고 유용성은 86%를 유지했다.
정책은 도구 실행 직전에 적용해야 한다. Microsoft가 2026년 4월 MIT 라이선스로 공개한 Agent Governance Toolkit은 YAML, OPA Rego, Cedar로 작성한 정책을 받아 밀리초 안에 허용, 거부, 사람 승인 가운데 하나를 반환한다. 판정 사유와 적용한 정책 버전도 함께 기록한다.
승인 절차만 추가한다고 문제가 해결되지는 않는다. Kiro에서는 상속받은 엔지니어 권한이 2인 승인 절차를 통과했다. Claude Code는 물결표가 홈 디렉터리 전체로 확장된다는 사실을 승인 전에 표시하지 못했다. Antigravity도 따옴표로 묶지 않은 공백 때문에 경로가 잘리는 결과를 보여주지 않았다. 사람에게 제시된 정보는 실제 실행 범위가 아니라 명령 문자열뿐이었다. OWASP가 2025년 12월 제시한 목표 탈취, 도구 오용, 정체성 남용, 메모리 오염, 연쇄 실패도 모델이 외부 시스템과 상호작용하는 과정에서 발생한다.
컨테이너의 역사
애플리케이션 서버의 경쟁력은 업무 코드에 쓰는 언어보다 클러스터링, 분산 트랜잭션, 세션 복제, 장애 조치(failover)에서 나왔다. IBM WebSphere ND의 HAManager는 같은 서비스가 중복 실행되지 않도록 관리했다. 이후 컨테이너 운영은 쿠버네티스가, 데이터 파이프라인의 일정 관리는 Apache Airflow가 맡았다. 운영에서 차지하는 비중이 클수록 조직은 공개된 인터페이스, 소스 코드 열람, 직접 운영, 다른 제품으로의 교체를 요구했다.
에이전트에서는 내구 실행(durable execution, 프로세스가 죽어도 중단 지점부터 이어가는 실행 방식)이 이 기능을 담당한다. 50단계 작업이 23단계에서 중단되면 이벤트 이력을 재생해 중단된 지점부터 다시 시작한다. 그래프 체크포인트는 데이터를 보존할 뿐 실행 상태까지 복구하지는 않는다. 실행 상태가 단일 프로세스에만 남아 있으면 프로세스가 종료될 때 함께 사라진다.
컨텍스트 비용은 루프를 어떻게 설계하느냐에 따라서도 달라진다. 도구 정의가 13만 4천 토큰을 차지한 사례가 있었고, 서버 5개와 도구 58개를 준비하는 데 대화 시작 전부터 약 5만 5천 토큰을 쓴 사례도 있었다. 필요한 정의만 코드로 불러오자 사용량은 15만 토큰에서 2천 토큰으로 줄었다.
다만 모델과 하네스를 완전히 분리하기는 어렵다. AI 코딩 모델 개발사 poolside는 같은 강화학습 과제를 여러 하네스에서 실행하며, Cursor는 스캐폴드에서 발생한 실패를 훈련 데이터로 다시 사용한다. 모델이 훈련 과정에서 사용한 도구 형식과 대화 방식에 지나치게 익숙해지면 다른 하네스의 인터페이스를 잘못 호출할 수 있다. Ornith-1.0처럼 메모리 배치와 재시도 방식까지 모델이 학습하는 사례도 있다. 그래도 하네스가 알맞은 도구와 컨텍스트를 제공하고 나면 성능의 한계는 다시 모델의 역량에 좌우된다.
바깥쪽 루프는 인프라가 되어야 한다
루프는 여섯 항목으로 점검한다.
- 프로세스를 재시작해도 작업이 이어지는가.
- 실행 코드는 어떤 자격증명과 환경을 참조하는가.
- 위험한 작업은 런타임 정책에 따라 사람의 승인을 기다리는가.
- 도구와 기능은 필요할 때만 불러오는가.
- 트레이스만으로 실행 과정을 재구성할 수 있는가.
- 공급자를 바꾼 뒤에도 코드와 통합 방식, 운영 관행 가운데 무엇이 남는가.
답은 문서가 아닌 실험에서 구한다. 승인 대기 중인 프로세스를 강제로 종료한 뒤 같은 단계에서 재개되는지 확인한다. 샌드박스에서 환경 변수를 출력해 운영 자격증명이 노출되는지도 검사한다. 위험한 명령을 호출했을 때 거부 사유와 정책 버전이 기록되는지 확인하고, 실패한 실행 하나를 골라 트레이스만으로 전체 순서를 복원해 본다.
OpenTelemetry GenAI 규약에서는 최상위 invoke_agent 아래에 모델 호출을 chat, 도구 호출을 execute_tool 스팬으로 기록한다. 모델명과 토큰 사용량, 종료 사유는 공통 속성에 담는다. 2026년 6월 12일 공개된 v1.42.0부터 전용 저장소로 분리됐지만 아직 pre-stable 상태다. 표준의 채택 여부보다 실제 트레이스가 이 구조로 기록되는지를 봐야 한다.
조직의 판단을 집행하는 계층은 구현 내용을 감사할 수 있어야 한다. 내부 경계 안에서 실행되고 런타임 동작도 확인할 수 있어야 한다. 사람이 지켜보지 않는 동안에도 루프가 작동한다면 비용 상한과 단계별 비용 기록도 필수 운영 조건에 포함된다.
이식성도 실제 자산을 기준으로 확인한다. MCP는 2025년 12월 Linux Foundation 산하 Agentic AI Foundation으로 이관됐다. Agent Plugins 1.0.0은 2026년 8월 Skill과 MCP 서버 설정을 이식 가능한 디렉터리로 묶었다. 다만 참여 기업이나 지원 클라이언트 수만으로는 이동 비용을 알기 어렵다. 모델과 공급자를 직접 교체한 뒤에도 남는 코드와 상태, 통합 항목을 목록으로 확인해야 한다. 현재 로그만으로 여섯 질문에 답할 수 있다면 해당 루프는 인프라에 가깝다. 향후 계획으로만 답할 수 있는 기능은 위험 등록부에 넣는다.
출처
- The Loop Is the New Middleware: Loop Engineering as an Enterprise Strategy — TrueFoundry Blog
- Stop Comparing LLM Agents Without Disclosing the Harness — arXiv
- The Harness Effect — arXiv
- SWE-bench in 2026 — Digital Applied
- 9 AI coding agent incidents that deleted production data — Adversa AI
- Governance Decay — arXiv
- AIRGuard — arXiv
- Introducing the Agent Governance Toolkit — Microsoft
- Temporal’s LangGraph Plugin adds Durable Execution — Temporal
- Introducing advanced tool use — Anthropic
- Harness Co-Training — Digital Applied
- Ornith-1.0 — Ornith
- Why Do Multi-Agent LLM Systems Fail? — arXiv
- Inside the LLM Call — OpenTelemetry
- Agent Plugins: The Open Standard for Skills and MCP Servers — Enchanter Consulting
