[인류공학 블로그] 장기 실행 지능형 에이전트 구축을 위한 효율적인 프레임워크 Anthropic의 최신 엔지니어링 블로그 게시물에서는 여러 세션에 걸쳐 복잡한 작업을 지속적으로 실행하는 데 따르는 어려움을 해결하기 위해 장기 실행 에이전트를 위한 효과적인 "프레임워크"를 설계하는 방법을 살펴봅니다. Claude Agent SDK의 실제 경험을 바탕으로, 에이전트가 모든 것을 한꺼번에 달성하려고 하기보다는 인간 소프트웨어 엔지니어처럼 프로젝트를 단계적으로 진행할 수 있도록 구조화된 환경과 점진적인 워크플로우를 사용하는 것을 강조합니다. 장기 실행 에이전트의 핵심 과제는 완전하고 복잡한 소프트웨어 프로젝트 구축과 같이 몇 시간 또는 며칠에 걸쳐 복잡한 작업을 처리해야 한다는 것입니다. 그러나 컨텍스트 윈도우의 용량이 제한되어 있기 때문에 각 세션은 마치 처음부터 시작하는 것과 같습니다. 에이전트는 이전 메모리가 부족하여 "원샷" 함정에 빠지기 쉽습니다. 즉, 단일 세션에서 전체 프로젝트를 처리하려고 시도하여 컨텍스트 고갈, 코드 지저분함 또는 문서 누락을 초래합니다. 그 외에도 다음과 같은 일반적인 문제가 있습니다. • 완료를 너무 일찍 선언함: 후속 에이전트가 진행 상황이 일부만 보이는 경우 작업을 완료로 잘못 표시합니다. • 상태에서 복구하는 데 어려움: 에이전트는 미완료 작업을 추측하거나 버그가 있는 환경에서 어려움을 겪는 데 많은 시간을 소비합니다. • 테스트 누락: 기능은 완벽한 것처럼 보이지만 종단 간 검증을 통과하지 못해 잠재적인 문제가 숨겨져 있습니다. 이러한 실패 모드는 실험(예: 200개 이상의 기능을 갖춘 웹 복제 프로젝트 구축)을 통해 요약되고, Git 버전 제어 및 자동화 테스트와 같은 소프트웨어 엔지니어링 모범 사례를 활용하여 타겟 솔루션을 제공합니다. 제안된 솔루션은 이중 에이전트 프레임워크와 구조화된 환경 솔루션으로, 프롬프트, 스크립트, 파일로 구성된 시스템인 "프레임워크"를 도입하여 세션 간 지속적인 상태 유지와 원활한 핸드오버를 보장합니다. 구체적으로, 이 솔루션은 다음 두 가지 역할을 수행합니다. 1. 초기화 에이전트: 첫 번째 세션에서만 사용되며, 초기 환경 설정을 담당합니다. 다음을 포함한 주요 파일을 생성합니다. • feature_list.json: JSON 형식의 기능 목록으로, 모든 작업(예: "새 채팅 만들기")을 나열합니다. 각 작업에는 설명, 단계, 초기 "통과" 상태(false)가 포함됩니다. JSON 형식은 변경 불가능성을 보장하여 후속 편집을 방지합니다. • claude-progress.txt: 작업과 진행 상황을 기록하는 로그 파일입니다. • init.sh: 개발 서버를 실행하고 기본 기능을 테스트하는 데 사용되는 시작 스크립트로, 이후의 설정 오버헤드를 줄입니다. 초기화 후 첫 번째 Git 커밋을 만들어 깨끗한 기준선을 만듭니다. 2. 코딩 에이전트: 이후 세션에 전담되어 점진적인 진행에 집중합니다. 각 세션은 다음 기능 하나만 처리합니다. • 세션 시작 루틴: 디렉토리(pwd)를 확인하고, Git 로그와 진행 파일을 검토하고, init.sh를 실행하여 환경을 시작하고, 핵심 테스트를 확인합니다. • 워크플로: JSON 목록에서 미완료 기능을 선택하고, 코드를 작성하고, 설명적인 Git 변경 사항을 커밋하고, "통과" 상태를 업데이트하고(테스트에 통과한 후에만), 기록합니다. • "깨끗한 상태"를 강조하세요. 작업이 완료되면 코드는 버그가 없고, 완벽하게 문서화되어 있으며, 메인 브랜치에 직접 병합할 준비가 되어 있어야 합니다. 주요 관행 및 도구 통합: 기능 목록 및 Git: JSON 목록은 "조기 완성"을 방지하고, Git은 롤백 및 히스토리 추적 기능을 제공합니다. 실험 결과 JSON은 마크다운보다 무단 수정을 줄이는 것으로 나타났습니다. • 엔드 투 엔드 테스트: 브라우저 자동화 도구(예: Puppeteer MCP 서버)를 통합하여 사용자 동작(모달 클릭 또는 검증을 위한 스크린샷 촬영 등)을 시뮬레이션합니다. 이를 통해 코드 검토 과정에서 간과되는 상호작용 버그를 포착할 수 있지만, 이 글에서는 네이티브 브라우저 요소 처리와 같은 한계점도 지적합니다. • 힌트 전략: 초기화 힌트와 코딩 힌트는 다릅니다. 초기화는 빌드에 중점을 두는 반면, 코딩 힌트는 단일 기능과 검증을 강조합니다. 실패를 방지하려면 "테스트를 절대 편집하지 마세요"와 같이 엄격하게 제한되는 언어를 사용하세요. • 실패 모드 표: 본 문서의 부록에는 문제(예: "난독화 설정")와 솔루션(예: 표준화된 스크립트)이 요약되어 있어 실제 적용이 쉽습니다. 결론 및 전망 Anthropic의 경험은 이 프레임워크가 장기 실행 에이전트의 신뢰성을 크게 향상시킨다는 것을 보여줍니다. 혼란스러운 "한 번의 실패"에서 벗어나 엔지니어링되고 지속적인 반복으로 전환하는 것입니다. 핵심은 버전 관리 및 테스트 주도 개발과 같은 인간 공학적 관행과 AI의 자동화 잠재력을 결합하는 것입니다. 간단한 프로젝트부터 시작하여 실패 모드를 검토하고, 전담 테스트 에이전트와 같은 다중 에이전트 시스템으로 확장해 보세요. 향후에는 과학 연구나 재무 모델링과 같은 다른 분야로 일반화하여 더욱 복잡한 협업 아키텍처를 탐구할 수 있습니다. 블로그 주소:
스레드를 불러오는 중
깔끔한 읽기 화면을 위해 X에서 원본 트윗을 가져오고 있어요.
보통 몇 초면 완료되니 잠시만 기다려 주세요.
![[인류공학 블로그] 장기 실행 지능형 에이전트 구축을 위한 효율적인 프레임워크
Anthropic의 최신 엔지니어링 블로그 게시물에서는 여러 세션에 걸쳐 복잡한 작업을 지속적으로 실행하는 데 따르는 어려움을 해결하](https://pbs.twimg.com/media/G6uD6C6aEAAAsuS.jpg)