장기 실행 Agent
Agent가 장기 작업에 실패하는 이유
Agent에게 완전한 웹 앱을 구축하도록 요청하는 것은 간단해 보이지만, 실제로는 인수인계 실패와 컨텍스트 단절로 가득합니다.
문제 배경
Agent에게 주어진 고수준 Prompt
"Build a clone of claude.ai"
이것은 작은 작업이 아닙니다. 완전한 채팅 앱은 인증 시스템, 대화 관리, 스트리밍 출력, 파일 업로드, Markdown 렌더링, 멀티턴 히스토리… 200개 이상의 독립 기능이 필요합니다. Agent에게 이런 프로젝트를 처음부터 완성하도록 요청하면 어떤 문제가 발생할까요?
실패 패턴
One-Shotting:한 번에 너무 많이 하려는 시도
가장 흔한 실패 패턴
Agent가 한 세션에서 모든 기능을 완성하려다 발생하는 결과:
- 구현 도중 컨텍스트 윈도우가 소진됩니다
- 다음 Agent는 미완성 코드를 인수받아 전임자가 무엇을 했는지 추측할 수밖에 없습니다
- 기본 기능을 다시 작동시키는 데 대부분의 시간이 소요되고, 새 기능에 할애할 시간이 없습니다
- Compaction(컨텍스트 압축)이 있어도 부족합니다. 압축된 지시사항이 너무 불명확해 새 Agent도 길을 잃습니다
One-Shotting의 전형적인 타임라인
Agent 1 시작
기능 50% 완성
컨텍스트 소진
Agent 2 인수
미완성 수정에 시간 낭비
컨텍스트 재소진
인수인계마다 수정에 바빠 진행이 완전히 멈춥니다
Premature Completion:조기 완료 선언
Agent가 "이 정도면 됐다"고 판단
Agent가 일부 기능이 구현된 것을 보고 프로젝트가 거의 완성됐다고 판단합니다:
- 완료 선언을 하지만 실제로는 핵심 기능의 30%만 완성된 상태
- 작업 체크리스트가 없어 Agent는 아직 무엇이 남았는지 알 수 없습니다
- 검증 메커니즘이 없어 완성됐다고 생각하지만 엔드투엔드 테스트가 이를 증명하지 못합니다
라이브 데모: Agent가 무너지는 과정 보기
컨텍스트 윈도우
0%
비유: 매 교대마다 기억을 잃는 엔지니어
소프트웨어 프로젝트를 상상해 보세요
모든 엔지니어가 한 교대만 근무합니다. 교대 시 완전히 기억을 잃습니다: 전임자가 무엇을 했는지, 왜 했는지, 다음에 무엇을 해야 하는지 전혀 알지 못합니다. 누구나 미완성 코드 더미 앞에 앉아 처음부터 이해해야 합니다. 이것이 인수인계 메커니즘 없는 장기 실행 Agent의 실제 상태입니다.
핵심 인사이트
장기 작업의 핵심 과제는 인수인계이며, 실제 실행은 오히려 어렵지 않습니다. Agent에게 능력이 부족한 것이 아니라, 컨텍스트가 단절될 때 연속성을 유지하는 메커니즘이 부족합니다. 인수인계 문제를 해결해야 장기 실행 문제를 해결할 수 있습니다.