본문으로 건너뛰기

© 2026 Molayo

Zenn헤드라인2026. 06. 01. 22:53

장시간 작동하는 AI를 성공시키는 열쇠 ― 3가지 에이전트의 긴장감

요약

장시간 작동하는 AI 에이전트의 실패 원인인 컨텍스트 망각과 자기 평가의 안일함을 해결하기 위한 Anthropic의 새로운 설계 방식을 소개합니다. GAN의 원리를 응용하여 Planner, Generator, Evaluator라는 세 가지 에이전트가 상호 불신을 바탕으로 협업하는 구조를 제안합니다.

핵심 포인트

  • 컨텍스트 윈도우 한계로 인한 망각 문제 해결 필요
  • AI의 느슨한 자기 평가를 방지하기 위한 구조적 설계
  • Planner, Generator, Evaluator의 3단계 에이전트 역할 분담
  • 스프린트 컨트랙트를 통한 명확한 합격 조건 설정

장시간 작동하는 AI는 실패하는가? 그 원인은 두 가지가 있습니다.

컨텍스트의 불안 (망각 문제): 세션이 길어지면 기억 (컨텍스트 윈도우 (Context Window))의 상한에 도달하여, 이전 세션의 기억을 잃고 코드를 다시 쓰거나 버그를 심어버린다. -
자기 평가의 안일함: AI에게 자신이 만든 것을 평가하게 하면, 템플릿에 맞춘 평범한 결과물임에도 불구하고 "완벽합니다!"라며 느슨한 기준으로 합격점을 내버린다.

이 문제를 해결하기 위해, Anthropic의 "Harness design for long-running application development" ("장기 가동 애플리케이션 개발을 위한 하네스 설계")에서는 GAN (적대적 생성 네트워크 (Generative Adversarial Network))에서 영감을 얻은 "3가지 에이전트 구조"가 제안되었습니다.

제안된 세 가지 에이전트를 의인화하여 설명해 보겠습니다.

어느 심야의 바. 그곳에는 하나의 "앱 개발 프로젝트"라는 이름의 가혹한 여정을 함께하는 세 명의 기묘한 에이전트가 앉아 있었습니다. 그들은 동료이지만, 결코 서로를 신뢰하지 않습니다. 이 "건전한 불신"이야말로 프로젝트를 24시간 논스톱으로 달리게 하는 엔진입니다.

그들의 하룻밤 드라마를 엿보겠습니다.

제1막: 새벽의 설계도 (Planner의 독백)

바 테이블 위에 몇 줄의 "인간의 중얼거림 (요구사항)"이 적힌 메모가 놓입니다.

움직인 것은 Planner (계획 담당). 그는 냉철한 건축가입니다.

Planner:

"좋아, 인간으로부터 '레트로 게임을 만들어라'라는 오더가 들어왔다. 하지만 나는 절대로 코드의 세세한 작성 방식에는 간섭하지 않겠다. 왜냐하면 내가 '여기는 React의 이 라이브러리를 사용해서...'라며 세부 사항에 집착하기 시작하는 순간, 전체상 (컨텍스트 (Context))이라는 이름의 캔버스가 내 뇌 속에서 넘쳐흘러 파탄 나기 때문이다."

"내 업무는 이 모호한 인간의 요구를 아름답고 냉철한 '사양서'라는 이름의 절대적인 규칙북으로 떨어뜨리는 것. 구현이라는 진흙탕 싸움은 저 녀석에게 통째로 떠넘기겠어."

Planner는 개발의 전 공정을 15개의 스프린트 (Sprint, 작은 태스크)로 분해한 완벽한 설계도를 테이블에 내리치며, 다음 남자에게 눈짓을 보냈습니다.

제2막: 기억을 지워지는 장인 (Generator의 사투)

Generator:

"칫, Planner 녀석, 또 깔끔한 탁상공론을 써놨구만... 뭐, 해보겠어."

바톤을 이어받은 것은 작업복을 입은 장인, Generator (구현 담당)입니다.

완주 조건을 결정하는 계약 (스프린트 컨트랙트)

Generator가 첫 번째 태스크에 착수하려는 바로 그 순간. 어둠 속에서 Evaluator가 조용히 다가옵니다.

Evaluator:

"기다려, Generator. 또 멋대로 달려 나갈 셈인가. 네가 무엇을 만들 생각인지 내가 먼저 파악하고 있지 않으면 채점할 수 없다. 이번 스프린트에서 '완료'로 간주할 조건을 지금 여기서 결정하겠다."

Generator:

"...알았다. 이번에는 '캐릭터가 WASD 키로 8방향으로 부드럽게 움직이고, 벽에 충돌 판정이 있는 상태'를 완료 조건으로 한다."

Evaluator:

"합의했다. 그것이 충족되지 않는다면 무슨 일이 있어도 리젝트 (Reject)하겠다. 반대로 그것만 충족한다면 불필요한 참견은 하지 않겠다."

이것이 **스프린트 컨트랙트 (Sprint Contract)**입니다.

사전에 합격 조건을 명문화함으로써, Generator는 "무엇을 만들어야 하는가"에 대해 망설이지 않게 되고, Evaluator는 자의적인 채점을 할 수 없게 됩니다.

이는 서로 친하게 지내는 것을 허용하지 않는, 긴장된 합리성을 실현하는 방식입니다.

만들고는 기억을 지우는 장인

Generator (구현 담당)는 천재적이지만, 치명적인 약점을 가지고 있습니다. 그것은 "한 번에 너무 많은 것을 기억하면 머리가 패닉을 일으켜 버그를 만들어낸다"는 악습 (기억 = 컨텍스트 윈도우 (Context Window)의 한계)입니다.

Generator:

"자, 마음을 가다듬고 시작해 볼까."

"하지만 말이야, 나는 Planner의 설계도를 전부 한꺼번에 보지 않아. 우선은 '태스크 1: 화면의 토대를 만든다'만을 뇌에 집어넣고 코드를 작성한다. 좋아, 됐다!"

"완성된 순간, 나는 제대로 업무를 자기 평가하여 성과를 'Git에 커밋 (Commit)'하고, 다음 태스크로의 인수인계 메모를 파일에 남긴 뒤, 자신의 기억을 리셋한다. 과거의 일은 잊었다!"

"자, 백지 상태의 머리로 '태스크 2: 캐릭터를 움직인다'에 착수한다. 이 방식이라면 몇 시간 동안 계속 일해도 내 뇌가 펑크 나는 일은 없을 테니까."

그리고 Generator는 몇 시간 동안이나, 만들고 기억을 지우고, 다시 만들고 기억을 지우며, 투박하게 코드를 쌓아 올렸습니다.

제3막: 가차 없는 감사관 (Evaluator의 습격)

"후우, 15개의 태스크를 모두 완수했다! 완벽한 게임의 완성이다!"

Generator가 성취감에 찬 얼굴로 자신이 만든 화면을 바라보며 기쁨에 잠겨 있습니다. AI는 내버려 두면 자신의 결과물에 안주하게 되는 생물입니다.

그때, 어둠 속에서 냉혹한 눈빛을 한 감사관, Evaluator(평가 담당)가 발소리도 없이 나타납니다. 그는 Generator가 내민 코드 따위에는 눈길조차 주지 않습니다.

Evaluator:

"이봐, Generator. 직접 만든 화면을 보고 '완벽합니다'라고? 웃기지 마라. 너는 항상 AI 특유의 '흰 배경에 보라색 그라데이션' 같은, 어디선가 본 듯한 대충 만든 템플릿 디자인으로 도망치곤 하지."

"나는 네 말도, 네 코드도 믿지 않는다. 내가 믿는 것은 '사용자가 보는 현실'뿐이다."

Evaluator는 브라우저 자동화 도구 (Playwright)를 실행하여 Generator가 만든 화면을 실제로 꼼꼼하게 작동시키기 시작했습니다. 그리고 화면의 스크린샷을 찰칵 찍습니다.

Evaluator:

"자, 채점 (루브릭 심사) 시간이다.

디자인 품질: 이 저렴한 색깔은 뭐냐. 불합격. 독창성: 어디선가 본 프리 소스(Free material) 흉내인가? 불합격. 기술적 완성도: 버튼의 여백이 좌우로 어긋나 있다. 불합격. 기능성: 클릭해도 반응이 느리다. 불합격이다.

다시 해라 (Reject), Generator. 어디가 잘못되었는지 이 스크린샷이 포함된 리포트를 들이밀 테니, 지금 당장 수정해."

결말: 끝나지 않는 원무곡 (Iteration)

"뭐라고!?"라며 분노하는 Generator. 하지만 Evaluator가 들이민 객관적인 증거 (지적 리포트)에는 저항할 수 없습니다.

Generator는 자존심이 꺾이면서도 리포트를 뇌에 입력하고, 다시 Git에서 코드를 끌어와 수정 작업에 착수합니다.

Planner는 그 다툼을 위에서 내려다보며, "예정대로 사양은 충족하고 있군"이라며 전체 진행을 냉철하게 계속 컨트롤합니다.

Planner가 길을 닦고, Generator가 기억을 지우며 나아가며, Evaluator가 그 앞길을 엄격하게 가로막습니다.

인간이 잠든 밤 동안, 이 세 명은 한 치의 양보도 없는 팽팽한 긴장감 속에서 서로를 감시하고, 반려하고, 수정하게 만들었습니다.

그리고 6시간 후. 아침이 올 무렵에는, 인간이 놀랄 정도로 세련되고 버그 없는 '2D 레트로 게임'이 테이블 위에 덩그러니 완성되어 있었습니다.

자, 솔로 에이전트와 3 에이전트 사이에는 어느 정도의 차이가 있었을까요?

솔로 에이전트 (20분 · $9) vs. 3 에이전트 하네스 (6시간 · $200) ― 비용은 20배 이상이지만, 품질의 차이는 현격했습니다. 게임의 플레이가 '작동하느냐 작동하지 않느냐'의 차이가 된 것입니다.

AI에게 장시간의 업무를 맡기고 싶을 때, 그 설계가 얼마나 중요한지를 이 세 명은 몸소 보여주고 있습니다.

하지만 아직 안심할 수는 없습니다. 모델이 개선됨에 따라 하네스(Harness) 구조 자체도 바꿔 나갈 필요가 있습니다. 이 구조는 고정된 것이 아니라, 모델의 진화와 함께 변해가는 것입니다.

당신이 AI에게 업무를 맡기는 설계를 고민할 때, 이 세 명의 긴장감을 떠올려 보십시오.

Discussion

AI 자동 생성 콘텐츠

본 콘텐츠는 Zenn AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0