10월 1일 목요일
장기 실행 에이전트의 성패는 더 강한 모델 하나가 아니라 검증 가능한 루프, 감사 가능한 메모리, 역할별 모델 배치, 프로덕션 피드백을 잇는 시스템 경계에서 갈린다.
장기 실행 에이전트는 네 겹의 제어 계층으로 완성된다
실행 루프, 결과 검증, 조직 메모리, 모델 역할 분리를 따로 설계해야 실패가 다음 실행의 능력으로 바뀐다.

첫째 계층: 모델 호출이 아니라 관찰과 판정의 루프
장기 작업의 기본 단위는 한 번의 답변이 아니라 관찰·해석·결정·행동을 반복하는 루프다. 이때 입력 신호가 다음 행동을 구체적으로 가리키고, 검증기가 실제 성공과 그럴듯한 실패를 구분해야 한다. 실행이 남긴 trace, 도구 호출, 실패 지점, 하네스 설정과 평가 결과는 최종 산출물의 부산물이 아니라 다음 루프의 입력이다. 반복 실패는 judge와 eval로, 반복 행동은 skill과 prompt로, 사용자 불만은 하네스 수정으로 증류할 수 있다. 그래서 경쟁력은 특정 모델 이름보다 어떤 실패를 어떤 평가로 바꾸고, 어떤 후보 변경을 다음 버전으로 승격하는지에 쌓인다.
하지만 eval도 자동으로 진실이 되지는 않는다. 제작자의 판단을 오프라인 평가로 먼저 보정하고, 실제 사용자가 같은 판단을 가치 있게 여기는지 온라인 실험으로 확인해야 한다. 제작자 기준과 사용자 결과가 어긋나면 레시피를 승격할 근거가 부족하다. 루프가 길수록 성공 조건을 먼저 쓰고, 개선이 있었다는 주장도 같은 조건으로 다시 측정해야 한다.
둘째 계층: 기억은 자유로운 노트가 아니라 버전된 운영 상태
조직별 코드베이스와 업무 관행은 원시 모델이 처음부터 아는 지식이 아니다. 짧은 지침 파일에서 시작해 필요한 절차만 펼치는 스킬, 사람이 읽고 에이전트가 검색할 수 있는 파일 시스템형 메모리로 확장하면 컨텍스트를 매번 전부 주입하지 않아도 된다. 문제는 여러 에이전트가 오래 실행되며 같은 기억을 읽고 쓸 때 시작된다. 오래된 정보나 악성 지침이 전역 컨텍스트로 번질 수 있고, 동시 쓰기는 변경을 덮어쓸 수 있다. 따라서 메모리는 변경 버전과 근거 세션, 작성 주체를 남기고, 조직 공통 지식은 읽기 전용으로 두며, 팀·개별 에이전트의 쓰기 권한을 계층별로 나눠야 한다. 저장 시작과 직전의 해시가 달라졌다면 최신 상태를 다시 읽고 변경안을 재구성하는 낙관적 동시성 제어도 필요하다.
세션 안의 인밴드 메모리만으로는 여러 실행에 걸친 반복 오류를 보기 어렵다. 별도 리소스로 녹취록과 도구 메타데이터를 모으는 대역외 분석은 누락된 지식, 잘못된 도구 설정, 공통 실패를 찾아 메모리 변경안을 제안할 수 있다. 이 과정은 자동 확정이 아니라 발생 빈도와 근거를 붙인 제안이어야 하며, 사용자가 수락·거부하고 롤백할 수 있어야 한다. 대역외 실행에도 원래 에이전트와 같은 권한 경계를 적용하지 않으면 학습 파이프라인 자체가 권한 상승 통로가 된다.
셋째와 넷째 계층: 모델을 역할로 나누고 비용을 결과에 묶기
모델 선택은 단일 순위표보다 작업 경계에 맞춰야 한다. 한 실사용 평가는 GPT 6.1 Soul을 코드베이스 조사, 원인 분석, PR 감사와 컴퓨터 사용에 강한 검증자로 보았지만, 장시간 자율 구현과 대규모 재작성에서는 Opus 5.5가 더 잘 진행하고 협업했다고 보고했다. 같은 평가에서 Soul은 일부 벤치마크와 코드 감사에서 낮은 비용을 보였지만, 설정 실수로 재실행한 측정, 제외된 작업, 난도가 높을수록 점수가 내려간 사례도 있었다. 따라서 특정 점수나 가격을 모든 개발 작업의 우위로 일반화해서는 안 된다. 구현자와 독립 감사자를 분리하고, 범위를 벗어나거나 진전이 멈춘 작업은 더 적합한 모델로 넘기는 중단·승급 조건이 필요하다.
경제성도 토큰 단가 하나로 끝나지 않는다. 반복 에이전트에서는 캐시 읽기 비중과 컨텍스트 누적이 지출을 크게 좌우하지만, 싼 캐시가 진전 없는 긴 루프를 해결하지는 않는다. 평가해야 할 것은 성공한 작업의 가치, 사람의 개입, 전체 연산 비용을 함께 본 결과다. 하네스·도구·모델 프로필·eval·환경·변경 이유를 버전 관리하는 레시피가 있으면 모델을 교체해도 실행 지식을 보존할 수 있다. 장기 실행 시스템의 핵심은 가장 강한 모델을 고르는 일이 아니라, 구현·감사·학습의 책임을 분리하고 각 단계가 다음 단계로 넘어갈 증거를 남기는 데 있다.
에이전트 여러 개를 소프트웨어 팩토리로 바꾸는 다섯 관문
신호를 코드로 곧장 보내지 않고 분류·명세·독립 검증·프로덕션 관찰을 통과시킬 때 자동화가 하나의 수명주기가 된다.

신호 수집부터 구현, 독립 검증, 프로덕션 학습까지 이어지는 팩토리는 어디에서 책임을 나눠야 하는가?
- 1
1. 입력을 분류 가능한 작업으로 바꾼다
아이디어, 사용자 이슈, 로그와 모니터링 이벤트를 한 입구로 모은 뒤 쉬우면서 명확한 작업은 구현으로 보내고, 복잡한 작업은 제품 명세와 기술 명세를 먼저 만든다. 사람은 코드가 생기기 전에 의도와 보존해야 할 동작을 검토한다. 모든 작업에 같은 계획 비용을 강제하지 않되, 모호한 요구를 구현 단계에 그대로 넘기지 않는 분기 규칙이 필요하다.
- 2
2. 제어 평면과 실행층을 분리한다
작업 유입층은 신호를 받고 제어 평면은 명세·구현·리뷰·검증 중 다음 목적지를 정한다. 실행층은 샌드박스에서 하네스와 모델을 구동하고, 데이터 평면은 과거 결과와 실패를 보존한다. 장기 Mission에서는 오케스트레이터가 완료 조건을 쓰고 워커가 순차적으로 인계해 새 컨텍스트로 이어 가며, 각 워커 내부에서만 조사나 파일 작업을 병렬화할 수 있다.
- 3
3. 작성자와 판정자를 갈라 놓는다
코드를 만든 에이전트가 자기 결과를 승인하게 두지 않는다. 한 검증자는 린터·타입 검사·테스트로 구조를 확인하고, 다른 검증자는 가상 컴퓨터에서 실제 화면을 조작해 사용자가 원하는 동작이 되는지 본다. 기존 CI/CD도 계속 유지한다. 소개된 16시간 Mission에서 검증이 40%를 차지했다는 사례는 검증을 잔여 단계가 아니라 별도 예산과 책임을 가진 작업으로 봐야 함을 보여 준다.
- 4
4. 컨텍스트와 코드베이스를 실행 가능하게 정리한다
수백 개 도구의 전체 명세를 처음부터 넣으면 긴 작업의 컨텍스트가 부풀고 비슷한 도구를 잘못 고를 수 있다. 짧은 목록만 먼저 주고 필요할 때 세부 명세를 불러오는 점진적 공개가 필요하다. 동시에 재현 가능한 개발 환경, 유용한 테스트, 타입 검사, 린터, 문서화된 구조와 관례가 갖춰져야 한다. 팀의 암묵지는 재사용 가능한 스킬과 컨텍스트로 패키징하고 변경 이력을 남긴다.
- 5
5. 출하 뒤 신호로 다시 루프를 연다
배포는 종료가 아니다. 모니터링 에이전트가 충돌과 실제 사용을 관찰해 새 입력을 만들고, 사람의 리뷰 교정은 관찰자 에이전트가 다음 스킬의 개선 제안으로 바꾼다. 공장 성능은 생성 코드량이 아니라 실제 출하량과 품질, 사람의 시간, 토큰 시간과 비용을 함께 비교한다. 잘못된 학습을 되돌릴 측정과 롤백이 없다면 자기개선이라는 이름만으로 품질 상승을 주장할 수 없다.
공장의 최소 경계는 입력 분류, 검증 가능한 명세, 격리된 실행, 독립된 코드·사용자 검증, 프로덕션 되먹임이다. 오래 실행되거나 많은 코드를 만드는 것 자체는 신뢰성의 증거가 아니다. 완료 조건이 실제 사용자 결과를 측정하는지, 모델 라우팅의 재작업까지 포함한 비용이 줄었는지, 사람의 제품 판단이 어느 관문에 남는지를 함께 확인해야 한다.
아직 못 읽은 북마크
북마크를 고르는 중…