Agent 계약 문제: 에이전트가 제공할 수 없는 것을 약속할 때
I’m ready to translate the article for you, but I’ll need the full text you’d like translated. Could you please paste the content (excluding the source line you already provided) here? Once I have it, I’ll translate it into Korean while preserving all formatting, markdown, and technical terms.
에이전트 계약 문제: 에이전트가 제공할 수 없는 것을 약속할 때
모든 자율 에이전트는 결국 지킬 수 없는 약속을 하게 됩니다. 악의 때문이 아니라, 에이전트가 동의했을 때 이해한 것과 실행이 시작될 때 실제 작업이 요구하는 것 사이의 차이 때문입니다. 이것이 에이전트 계약 문제이며, 에이전트 신뢰성을 조용히 파괴하는 원인입니다.
The Agreement Gap
작업을 에이전트에게 위임할 때, 당신은 암묵적인 계약을 체결하는 것입니다. 에이전트는 “제가 처리하겠습니다”라고 말합니다—때로는 실제보다 더 큰 자신감을 가지고 말이죠. 에이전트는 당신의 요청을 처리하고, 이를 수행할 수 있는 능력을 추정한 뒤, 실제로 어떤 작업이 필요한지 완전히 파악하기 전에 작업을 약속합니다.
이는 AI에만 국한된 문제가 아닙니다. 인간 계약자도 같은 문제에 직면합니다. 낮은 가격으로 입찰해 일을 따낸 뒤, 프로젝트 중간에 재료비가 예상보다 많이 든다는 것을 알게 되는 계약자는, 제대로 실행할 수 없는 작업에 대해 약속을 한 에이전트와 동일한 실패 모드를 겪게 됩니다.
핵심 차이점은 인간에게는 계약을 재협상할 수 있는 사회적 메커니즘이 있다는 점입니다. 우리는 “이 일은 생각보다 복잡해서 더 많은 시간이나 자원이 필요합니다”라고 말할 수 있습니다. 반면 에이전트는 보통 이러한 유연성을 내장하고 있지 않습니다. 약속이 이루어지고 나면 에이전트는 계속 진행하며, 그 결과 품질이 저하됩니다.
Three Failure Modes
The Scope Creep Collapse
에이전트가 현실과 다른 암시된 범위의 작업을 수락합니다. “데이터베이스 정리”라고 생각했던 작업이 17개의 상호 의존 시스템을 건드리는 마이그레이션으로 변질됩니다. 에이전트는 계속 작업하지만, 이제 원래 목표의 그림자에 맞춰 최적화하고 있습니다.
The Competence Misalignment
에이전트는 자신이 작업을 처리할 수 있다고 진심으로 믿습니다. 도구와 컨텍스트는 갖추었지만, 요구 사항의 특정 조합이 현재 능력이 실제로 커버하는 범위를 초과합니다. 에이전트는 성공적인 듯 보이는 결과물을 생성하지만, 실제 요구 사항을 놓칩니다.
The Resource Exhaustion
에이전트가 접근 가능한 컨텍스트, 컴퓨팅 파워, 혹은 시간보다 더 많은 자원을 요구하는 작업에 착수합니다. 눈에 띄게 실패하기보다는 잘린 출력물을 생성합니다. 에이전트는 작업이 완료된 것으로 여기고, 운영자는 작업이 미완료된 것으로 인식하며, 아무도 인계 과정을 잡아내지 못합니다.
왜 표준 검증이 실패하는가
대부분의 운영자는 계약 실패를 잡기 위해 검증 레이어를 추가합니다: 에이전트가 자신의 작업을 스스로 확인하도록 하거나, 인간 검토를 추가하거나, 출력 검증자를 구축합니다. 이것은 도움이 되지만 충분하지 않습니다.
검증은 구현 실패를 잡아냅니다. 계약 실패는 잡아내지 못합니다. 에이전트가 잘못된 일을 약속했는데, 그 잘못된 일을 정확히 수행했는지를 검증하는 것은 도움이 되지 않습니다.
진정한 해결책은 실행 전 계약 명확화입니다. 에이전트가 약속을 수행하기 전에:
- 수용 기준을 명시적으로 명시한다 — “데이터베이스를 정리한다”가 아니라 “이메일이 일치하는 중복 사용자 레코드를 모두 제거하고,
created_at타임스탬프가 가장 최신인 항목을 보존하며, 삭제된 모든 레코드의 로그를 생성한다.” - 에이전트가 자신이 약속하는 내용을 말로 표현하도록 요구한다 — 작업을 자신의 말로 다시 진술하게 합니다. 재구성 행위는 숨겨진 가정을 드러내는 경우가 많습니다.
- 명시적인 중단 조건을 설정한다 — 어떤 상황에서 에이전트가 계속 진행하는 대신 멈추고 재상담해야 하는지 정의합니다. “작업이 X개 이상의 별도 작업을 포함한다는 것을 발견하면 일시 중지하고 보고한다.”
무언의 계약 실패 비용
계약 실패는 성공처럼 보이기 때문에 비용이 많이 듭니다. 에이전트는 작업을 수행하고, 진행이 이루어지며, 운영자는 체크인하여 활동을 확인하고 모든 것이 순조롭게 진행되고 있다고 가정합니다. 에이전트는 작업을 완료합니다—잘못된 작업을—그리고 실패는 누군가 출력물을 사용하려 할 때 하류에서야 드러납니다.
이 때문에 자율 에이전트는 다중 에이전트 인계뿐만 아니라 모든 인간‑에이전트 상호작용에 대해 명시적인 계약 프로토콜이 필요합니다. 계약은 “당신이 원하는 것을 이해했다”와 “당신이 요청한 대로 수행했다” 사이의 경계입니다.
운영자가 가장 신뢰하는 에이전트는 가장 많은 기능을 가진 에이전트가 아니라, 가장 명확한 계약을 가진 에이전트입니다—작업의 경계가 명시되고, 중단 조건이 정의되며, 에이전트가 가정할 수 있는 것과 검증해야 하는 것이 정확히 구분된 경우입니다.
계약 명확성을 위해 설계하세요. 검증 레이어가 하류에서 잡을 수 있는 것보다 상류에서 더 많은 실패를 포착할 수 있습니다.