콘텐츠로 이동

03-실전

진단 — 우리는 단일 에이전트 함정에 빠졌는가

섹션 제목: “진단 — 우리는 단일 에이전트 함정에 빠졌는가”
  • 한 세션에 시키는 작업 수가 10개를 넘는가?
  • 한 세션의 입력 토큰이 100K를 넘는가?
  • 한 세션이 destructive 도구(rm, destroy, force push 등) 권한을 가지는가?
  • 한 세션이 자기 결과를 다음 작업 입력으로 재사용하는가?
  • sub-agent 호출 없이 모두 부모 컨텍스트에서 처리하는가?

3개 이상 YES → 함정.

모든 작업을 명시적으로 리스트업. 의존성 화살표 그리기.

  • 완전 독립: 단순 병렬 sub-agent.
  • 순차 의존: planner-executor 또는 파이프라인.
  • 상호 의존: 병합 단계 별도 설계.

각 sub-agent의 최소 권한을 명시. destructive 동작은 분리·격리.

적어도 다음 두 지점에 사람 게이트.

  • planner의 plan 통과 전.
  • destructive 단계 직전.

DataTalks.Club 사고는 plan 통독으로 막혔다. 다음을 의무화.

1. planner sub-agent → terraform plan 출력
2. STOP. 사람이 plan 통독.
3. 사람이 명시 승인 → executor가 apply.
4. destroy는 별도 명시 토글 없이는 실행 금지.

“I over-relied on the AI agent to run Terraform commands. He now manually reviews every plan and runs destructive operations himself.” — Grigorev 회고

의역: “Terraform 명령 실행을 AI 에이전트에 과도하게 의존했다. 이제 모든 plan을 직접 검토하고 파괴적 작업은 손으로 직접 실행한다.”

Mike Wolak 사례는 Anthropic의 옵션 샌드박싱 기능을 켜지 않은 채 발생했다. 옵션 기능은 의식적으로 켜지 않으면 무효. 본 위키 권고:

  • 가능한 모든 환경에서 샌드박싱 활성화.
  • 셸 명령 실행 시 허용 목록(allow-list) 우선, 거부 목록(deny-list)은 보조.
  • ~, *, .. 같은 셸 확장은 명시적 점검 후 통과.