포스트

AI 에이전트 실전 활용의 최전선 - 하네스 설계부터 자율 연구, 자기 진화 모델까지

목차

  1. 개요
  2. 배경
  3. 핵심 내용
  4. 의미와 시사점
  5. 결론
  6. Reference

개요

“AI 에이전트 활용 글은 많지만, 실제로 어떻게 해야 하는지 모르겠다.” GeekNews에서 한 사용자가 던진 이 질문은 현재 많은 개발자들이 공감하는 핵심 고민을 정확히 짚고 있다. Claude의 멀티 에이전트 워크플로우로 설계, 개발, 테스트를 자동화한다는 이야기는 들어봤지만, 정작 Cursor 같은 도구를 써보면 “계속 방향을 잡아주지 않으면 엉뚱하거나 미흡하게” 작업이 진행되는 경험을 하게 된다. 이 글에서는 이 질문에 대한 실질적인 답변으로 제시된 네 가지 접근법을 종합적으로 정리한다. Anthropic의 장기 실행 에이전트 하네스 설계, OpenAI Codex 팀의 에이전트 퍼스트 개발 방법론, Karpathy의 자율 연구 에이전트 AutoResearch, 그리고 MiniMax M2.7의 자기 진화 프레임워크까지, AI 에이전트 실전 활용의 최전선을 살펴본다.

배경

AI 에이전트에 대한 관심은 폭발적으로 증가했지만, 실제 활용과 홍보 사이에는 큰 간극이 존재한다. 단순히 프롬프트를 잘 작성하는 것만으로는 복잡한 프로젝트에서 에이전트를 효과적으로 운용할 수 없다. 에이전트는 본질적으로 여러 컨텍스트 윈도우에 걸쳐 작업해야 하는데, 이는 마치 교대 근무하는 엔지니어가 이전 근무자의 기억 없이 일하는 것과 같은 문제를 야기한다. 프로젝트 규모가 커질수록 에이전트는 방향을 잃고, 이미 완료한 작업을 반복하거나, 미완성 상태를 완료로 표시하는 등의 실패 패턴을 보인다.

이러한 문제를 해결하기 위해 업계 선두 기업들과 연구자들은 각기 다른 방식으로 “하네스(harness)” 개념을 발전시켜 왔다. 하네스란 에이전트가 장기간 자율적으로 작업할 수 있도록 구조화된 환경과 프로토콜을 제공하는 시스템을 말한다. 단순한 프롬프트 엔지니어링을 넘어, 에이전트의 작업 환경 자체를 설계하는 것이 핵심이라는 인식이 확산되고 있다.

핵심 내용

Anthropic의 장기 실행 에이전트 하네스

Anthropic의 Justin Young이 2025년 11월 발표한 Effective Harnesses for Long-Running Agents는 에이전트가 여러 컨텍스트 윈도우에 걸쳐 일관성 있게 작업하기 위한 구체적인 패턴을 제시한다.

핵심 문제는 에이전트가 컨텍스트 윈도우 간 전환 시 이전 작업 내용을 잃어버린다는 점이다. 이는 교대 근무하는 엔지니어가 인수인계 없이 작업하는 것과 동일한 상황이다.

두 가지 에이전트 구조

이 하네스는 역할이 분리된 두 에이전트로 구성된다.

첫 번째는 Initializer Agent이다. 이 에이전트는 프로젝트 시작 시 한 번 실행되며, init.sh 스크립트를 생성하고, claude-progress.txt 파일에 초기 상태를 기록하며, Git 저장소의 초기 커밋을 만든다. 이를 통해 후속 에이전트가 참조할 수 있는 기반 환경을 구축한다.

두 번째는 Coding Agent이다. 이 에이전트는 반복적으로 실행되며, 매 세션 시작 시 progress 파일과 Git 로그를 읽어 현재 상태를 파악한다. 한 번에 하나의 기능만 작업하고, 완료 후 커밋하며, 진행 상황을 업데이트한다.

Feature List 접근법

에이전트의 조기 완료 선언을 방지하기 위해 JSON 형식의 Feature List를 활용한다. 초기에 200개 이상의 기능을 모두 “failing” 상태로 설정해 두면, 에이전트가 실제로 모든 기능이 통과할 때까지 작업을 계속하게 된다. 이 방식은 에이전트가 “대충 되는 것 같으니 끝내자”는 판단을 내리는 것을 구조적으로 차단한다.

실패 모드와 대응 전략

장기 실행 에이전트에서 발생하는 주요 실패 모드와 각 에이전트의 대응 방식은 다음과 같다.

문제Initializer Agent 대응Coding Agent 대응
조기 완료 선언Feature List JSON 생성리스트 확인 후 단일 기능 작업
문서화되지 않은 버그 진행Git 저장소와 진행 노트 생성검증 테스트로 시작
불완전한 기능 완료 표시Feature List JSON 생성완료 표시 전 자체 검증
환경 설정 혼란init.sh 생성init.sh 읽기로 시작

세션 프로토콜

각 Coding Agent 세션은 정해진 프로토콜을 따른다. 먼저 pwd 명령으로 현재 위치를 확인하고, Git 로그와 progress 파일을 읽어 이전 작업 상태를 파악한다. 그 다음 가장 우선순위가 높은 기능을 선택하여 작업을 시작한다. 이 프로토콜을 통해 매번 새로운 컨텍스트 윈도우에서 시작하더라도 일관성 있는 작업 흐름을 유지할 수 있다.

테스트와 한계

브라우저 기반 테스트에는 Puppeteer MCP를 활용한다. 에이전트가 실제 사용자처럼 브라우저를 조작하며 기능을 검증할 수 있다. 다만 브라우저 네이티브 alert 모달은 감지하지 못하는 한계가 있어, 이런 경우에는 전문화된 하위 에이전트를 활용하는 것을 권장한다.

OpenAI Codex 팀의 에이전트 퍼스트 개발

OpenAI Codex 팀의 Ryan Lopopolo가 공개한 Harness Engineering 사례는 에이전트 퍼스트 개발의 극단적인 실험 결과를 보여준다. 5개월간 3명의 엔지니어가 손으로 직접 작성한 코드 없이 약 100만 줄의 코드와 1,500개의 PR을 생성했다. 이는 엔지니어당 하루 평균 3.5개의 PR에 해당하는 놀라운 생산성이다.

엔지니어 역할의 전환

이 실험에서 엔지니어들의 역할은 코드를 작성하는 것에서 환경을 설계하고, 의도를 명세하며, 피드백 루프를 구축하는 것으로 전환되었다. 에이전트가 효과적으로 작업할 수 있는 환경을 만드는 것이 엔지니어의 핵심 역할이 된 것이다.

AGENTS.md - 지도를 제공하라

핵심 원칙 중 하나는 “1,000페이지짜리 매뉴얼이 아니라 지도를 제공하라”는 것이다. 약 100줄 정도의 간결한 AGENTS.md 파일이 프로젝트의 목차 역할을 한다. 에이전트는 이 파일을 통해 프로젝트 구조를 빠르게 파악하고 필요한 정보를 찾아갈 수 있다.

저장소 지식 시스템

저장소 자체가 기록 시스템(system of record)으로 기능한다. docs/, design-docs/, exec-plans/, product-specs/ 등의 디렉토리에 모든 문서와 설계 결정이 체계적으로 정리된다. 에이전트가 접근할 수 없는 정보는 존재하지 않는 것과 같다는 원칙 하에, 에이전트 가독성이 문서 작성의 최우선 목표가 된다.

계층형 도메인 아키텍처

엄격한 의존성 방향이 적용된 계층형 도메인 아키텍처를 채택했다. 커스텀 린터를 통해 의존성 규칙 위반을 자동으로 탐지하며, 에이전트가 아키텍처를 벗어나는 코드를 생성하는 것을 방지한다. 이는 에이전트에게 명확한 경계를 제공하여 일관된 코드 구조를 유지하게 한다.

관측성 스택과 UI 검증

각 워크트리마다 독립적인 관측성 스택이 구축되어 있다. LogQL, PromQL, TraceQL을 통해 에이전트의 작업 결과를 실시간으로 모니터링할 수 있다. UI 검증에는 Chrome DevTools Protocol을 활용하여 시각적 결과물까지 확인한다.

가비지 컬렉션 에이전트

장기간 에이전트 기반 개발을 진행하면 코드베이스에 드리프트(drift)와 엔트로피가 축적된다. 이를 해결하기 위해 “가비지 컬렉션” 전용 에이전트를 운영한다. 이 에이전트는 불필요한 코드, 일관성 없는 패턴, 누적된 기술 부채를 자동으로 정리한다.

머지 철학과 자율성 확대

짧은 수명의 PR을 빠르게 머지하고, 문제가 발생하면 롤백 대신 수정하여 전진하는(fix-forward) 접근법을 채택했다. 에이전트의 자율성은 점진적으로 확대되어, 단일 프롬프트로 검증, 재현, 비디오 녹화, 수정, 재검증, PR 생성, 피드백 대응, 머지까지의 전 과정을 수행할 수 있는 수준에 도달했다.

Karpathy의 AutoResearch - 자율 AI 연구 에이전트

Andrej Karpathy가 공개한 AutoResearch는 AI 에이전트에게 소규모 LLM 학습 환경을 제공하고, 밤새 자율적으로 실험하게 하는 프로젝트이다. 접근법 자체가 매우 단순하면서도 강력하다.

3파일 구조

AutoResearch의 구조는 놀랍도록 단순하다. 전체 시스템이 단 3개의 파일로 구성된다.

prepare.py는 데이터 준비를 담당하며 고정되어 변경하지 않는다. train.py는 에이전트가 자유롭게 수정할 수 있는 학습 코드이다. program.md는 사람이 작성하는 경량 지시서로, 에이전트의 “스킬”에 해당한다.

실험 루프

에이전트는 다음과 같은 루프를 반복한다. train.py를 수정하고, 5분간 학습을 실행하고, val_bpb 지표로 개선 여부를 확인한다. 개선되었으면 변경을 유지하고, 그렇지 않으면 폐기한 뒤 다음 실험으로 넘어간다. 시간당 약 12개의 실험을 수행하며, 하룻밤에 약 100개의 실험을 자율적으로 진행할 수 있다.

program.md의 역할

program.md는 사람이 “연구 조직의 코드”를 작성하는 곳이다. 에이전트가 어떤 방향으로 실험을 진행할지, 어떤 제약 조건을 지킬지를 이 파일에 기술한다. 사람은 program.md를 작성하고, 에이전트가 실제 연구를 수행하는 분업 구조이다. 5분이라는 고정된 시간 예산은 에이전트가 과도하게 복잡한 실험에 빠지는 것을 방지하는 안전장치 역할을 한다.

커뮤니티 확장

AutoResearch는 공개 이후 활발한 커뮤니티 참여가 이루어지고 있다. MacOS, Windows, AMD GPU 환경을 위한 주요 포크가 만들어졌으며, 다양한 하드웨어 환경에서 자율 연구 에이전트를 운영할 수 있는 기반이 마련되고 있다.

MiniMax M2.7 - 자기 진화하는 AI 모델

2026년 3월 18일 공개된 MiniMax M2.7은 “자체 진화에 깊이 참여하는 최초의 모델”을 표방한다. 앞서 살펴본 하네스와 자율 연구가 사람이 설계한 구조 안에서 에이전트가 작업하는 패러다임이라면, M2.7은 모델 자체가 자신의 진화 과정에 참여하는 새로운 단계를 제시한다.

자기 진화 프레임워크

M2.7의 Self-Evolution 프레임워크에서 모델은 자율적으로 메모리를 업데이트하고, 스킬을 구축하며, 결과로부터 학습하여 자신을 개선한다. 기존에 다중 팀 협업이 필요했던 RL(강화학습) 워크플로우의 30~50%를 이 프레임워크가 자율적으로 처리한다.

소프트웨어 엔지니어링 벤치마크

벤치마크점수
SWE-Pro56.22%
VIBE-Pro55.6%
Terminal Bench 257.0%
장애 복구 시간3분 미만

소프트웨어 엔지니어링 영역에서 M2.7은 주요 벤치마크에서 높은 성과를 보이고 있다. 특히 장애 복구를 3분 이내에 수행하는 능력은 실제 운영 환경에서의 활용 가능성을 보여준다.

전문 업무 벤치마크

벤치마크점수
GDPval-AA ELO1495 (오픈소스 최고)
스킬 준수율97%
Toolathon46.3%

GDPval-AA에서 오픈소스 모델 중 최고 ELO 점수인 1495를 달성했으며, 97%의 스킬 준수율은 지시된 작업을 높은 정확도로 수행함을 보여준다.

에이전트 팀 협업과 자율 시험

M2.7은 네이티브 멀티 에이전트 협업 기능을 갖추고 있다. 적대적 추론(adversarial reasoning)을 통해 여러 에이전트가 서로의 결과를 검증하고 개선하는 구조를 지원한다. MLE Bench Lite에서 24시간 자율 시험을 통해 66.6%의 메달 획득률을 기록했다. 이 모델은 agent.minimax.io와 platform.minimax.io에서 이용할 수 있다.

의미와 시사점

네 가지 접근법을 종합하면, AI 에이전트 실전 활용에서 반복되는 공통 패턴이 드러난다.

첫째, 구조화된 환경이 프롬프트보다 중요하다. Anthropic의 init.sh와 progress 파일, OpenAI의 AGENTS.md와 계층형 아키텍처, Karpathy의 3파일 구조 모두 에이전트가 작업할 환경을 사전에 설계하는 데 집중한다. 좋은 프롬프트를 쓰는 것보다 에이전트가 올바르게 작동할 수 있는 구조를 만드는 것이 더 효과적이다.

둘째, 검증 루프가 내장되어야 한다. Anthropic의 Feature List JSON, Karpathy의 val_bpb 메트릭, OpenAI의 관측성 스택, MiniMax의 자기 진화 프레임워크 모두 에이전트의 출력을 자동으로 검증하는 메커니즘을 포함한다. 검증 없는 자율성은 신뢰할 수 없다.

셋째, 점진적 진행과 기록이 핵심이다. Git 커밋, progress 파일, Feature List 등을 통해 에이전트의 작업이 누적되고 추적 가능해야 한다. 이는 컨텍스트 윈도우의 한계를 극복하고 장기 프로젝트에서 일관성을 유지하는 핵심 전략이다.

넷째, 엔지니어의 역할이 변화하고 있다. 코드를 직접 작성하는 것에서, 에이전트가 효과적으로 작업할 수 있는 환경과 규칙을 설계하는 역할로 전환되고 있다. OpenAI가 표현한 것처럼, 엔지니어는 이제 “환경을 설계하고, 의도를 명세하고, 피드백 루프를 구축하는” 사람이다.

다섯째, 자율성의 스펙트럼이 넓어지고 있다. Anthropic의 세션 기반 점진적 작업에서 OpenAI의 PR 전 과정 자동화, Karpathy의 하룻밤 자율 연구, MiniMax의 자기 진화까지, 에이전트의 자율성 범위가 지속적으로 확대되고 있다.

결론

“AI 에이전트를 실제로 어떻게 활용하는가?”라는 질문에 대한 답은 단순하지 않지만, 방향은 점점 명확해지고 있다. 핵심은 에이전트에게 좋은 프롬프트를 주는 것이 아니라, 에이전트가 자율적으로 일할 수 있는 구조화된 환경을 설계하는 것이다. Anthropic의 Initializer/Coding Agent 패턴은 장기 실행 에이전트의 기억 문제를 해결하고, OpenAI Codex 팀은 에이전트 퍼스트 개발이 실제로 대규모 프로젝트에서 작동함을 증명했다. Karpathy의 AutoResearch는 자율 연구라는 새로운 영역을 개척했고, MiniMax M2.7은 모델 자체가 자기 진화에 참여하는 미래를 보여준다. 에이전트 시대의 개발자에게 필요한 것은 코딩 능력만이 아니라, 에이전트가 효과적으로 작업할 수 있는 하네스를 설계하는 능력이다. 지금이 바로 그 전환의 한가운데에 있다.

Reference