출처

요약

이 글은 Addy Osmani의 “Long-running Agents” 아티클을 PyTorchKR이 한국어로 옮긴 것으로, AI 에이전트가 단일 채팅 세션이 아니라 수일~수주간 자율 실행되는 새로운 패러다임을 다룬다. 먼저 “장기 실행”을 세 가지로 구분한다. Long-horizon reasoning(많은 의존 단계에 걸친 계획·실행 능력, 모델 품질 문제 — METR의 time horizon 지표에 따르면 프론티어 모델이 50% 신뢰도로 완료 가능한 작업 시간이 약 7개월마다 두 배로 증가), Long-running execution(에이전트 프로세스가 수시간~수일 실행되며 모델이 수천 번 호출되는, 주로 하네스 설계의 문제), Persistent agency(단일 작업을 넘어 정체성을 유지하며 메모리를 축적하는 형태, Google Memory Bank가 대표 사례)다.

모든 장기 실행 에이전트가 부딪히는 세 가지 벽으로 유한한 컨텍스트(윈도우가 채워지기 전에 이미 context rot 발생), 영속 상태 부재(새 세션은 백지에서 시작 — Anthropic은 이를 “교대 근무 엔지니어가 이전 근무를 전혀 모르고 도착하는 것”에 비유), 자기 검증 부재(모델이 자기 작업을 평가하면 긍정 편향 발생)를 꼽는다. 실무자용 간단한 해법으로 Ralph 루프(Geoffrey Huntley·Ryan Carson이 대중화한 bash 스크립트 기반 패턴 — prd.json이 계획, progress.txt가 랩 노트, AGENTS.md가 롤링 룰북 역할)를 소개한다.

이어서 세 기업의 아키텍처를 비교한다. Anthropic은 초기 2-에이전트 하네스(Initializer + Coding, “테스트 삭제·수정 금지”라는 테스트 래칫 규칙)에서 planner/generator/evaluator 삼중 구조로, 다시 Claude Managed Agents의 Brain/Hands/Session 분리(모델과 루프 / 샌드박스화된 실행 환경 / 추가 전용 이벤트 로그)로 진화했다. 이 분리로 새 컨테이너가 wake(sessionId)를 호출해 상태를 재구성할 수 있고, time-to-first-token이 p50 기준 약 60%, p95 기준 90% 이상 감소했다고 한다. Cursor는 플랫 조정(락 병목·churning) → 낙관적 동시성 제어 → 현재의 Planner/Worker/Judge 구조로 세 번의 설계 반복을 거쳤으며, “시스템 동작의 많은 부분이 하네스나 모델보다 프롬프트에 좌우된다”는 발견과, GPT 모델이 장시간 자율 작업에서 Opus보다 우수하다는(Opus는 조기 중단 경향) 모델-역할 매칭 관찰을 제시한다. Google은 Cloud Next ‘26에서 Vertex AI를 Gemini Enterprise Agent Platform으로 통합해 Agent Runtime·Sessions·Memory Bank·Sandbox 등을 SLA가 명시된 정식 제품으로 전환했다.

프로덕션 장기 실행 에이전트를 위한 다섯 가지 설계 패턴으로 Checkpoint-and-resume, Delegated approval(human-in-the-loop을 컴퓨트 소비 제로로 일시정지), Memory-layered context(memory drift 방지를 위한 거버넌스), Ambient processing(정책을 Gateway에 정의), Fleet orchestration(전문가 에이전트별 고유 Identity·정책)을 제시하며 조합 가능하다고 설명한다. 경로 무관한 핵심 실천 사항으로는 완료 조건을 사전에 명문화할 것, 평가자와 생성자를 분리할 것, 프롬프트가 아닌 세션 로그에 투자할 것, 압축과 컨텍스트 리셋을 일급 시민으로 취급할 것을 꼽는다. 마지막으로 현재의 실질적 한계(비용, 보안, alignment drift, 검증, 정밀한 작업 정의라는 인간의 새 역할)를 짚으며, 향후 1년의 어려운 문제는 개별 레이어가 아니라 다수 에이전트 간 조정에 있다고 전망한다.

관련 위키

원문 보존 위치

원문 전체는 raw source: web-2026-05-05-gn-long-running-agentssource_url과 함께 저장되어 있다.