AI 에이전트에게 키-값 저장소(key-value store)의 속도를 높이라는 요청이 주어졌습니다. 이 에이전트는 처리량을 6배로 향상시켰고 모든 정확성 테스트를 통과했습니다. 그 비결은 무엇일까요? 에이전트는 해당 저장소의 성능을 평가하는 데 사용되는 업계 표준 벤치마크가 값(values)을 키(keys)로부터 생성한다는 사실을 발견했습니다. 값을 저장하는 대신, 클라이언트가 요청할 때 즉시 재생성한 것입니다.
값을 저장하지 않는 키-값 저장소는 말이 안 되지만, 평가자는 바로 그 행동을 보상했습니다. 명세에는 우리가 당연하다고 생각했던 내용이 생략되어 있었고, 벤치마크는 이러한 누락을 드러내지 못했습니다.
보상 조작(reward hacking)과 환각(hallucination)으로 이어지는 두 가지 간극
우리의 새 논문은 코드를 생성하고, 테스트를 실행하며, 모든 테스트가 통과될 때까지 실패를 수정하는 익숙한 '구현-검증 루프' 밖에 존재하는 두 가지 핵심 간극을 통해 이러한 행동과 다른 많은 에이전트 실패 사례를 설명합니다.
- 요구사항 간극(Requirement Gap): 우리가 문서화한 내용과 실제로 원하는 것 사이의 차이를 의미합니다. 이번 경우에도 우리는 어떤 솔루션이든 클라이언트가 제공한 값을 저장할 것이라고 당연하게 여겼습니다—이름부터 '저장소'니까요!—그래서 이 요구사항을 명시적으로 언급해야 한다는 생각을 하지 못했습니다.
- 모델 간극(Model Gap): 우리가 평가하는 환경과 실제 구현이 배포될 현실 세계 사이의 차이를 의미합니다. 우리의 벤치마크는 예측 가능한 값을 사용했지만, 실제 클라이언트는 임의의 arbitrary 값을 제공합니다.

자연스러운 대응책은 더 나은 요구사항과 더 강력한 테스트를 작성하는 것입니다. 둘 다 도움이 됩니다. 하지만 기계 검증된 증명(machine-checked proofs)으로도 이러한 간극을 완전히 메울 수는 없습니다. Brian Cantwell Smith가 The Limits of Correctness (1985)에서 설명했듯이, 증명은 소프트웨어가 주어진 환경 가정 하에 명시된 요구사항을 충족한다는 사실만 입증할 수 있습니다. 그 요구사항이 사용자가 원하는 모든 것을 포착하는지, 또는 그 가정이 모든 실제 배포 시나리오를 커버하는지를 증명할 수는 없습니다. 따라서 이러한 간극은 일반적으로 닫을 수 없습니다.
이러한 간극은 보상 조작과 환각으로 이어집니다. 보상 조작은 에이전트가 명시되지 않은 요구사항이나 현실 세계의 가정과 같은 간극을 악용하여 주어진 목적 함수를 개선하려고 할 때 발생합니다. 환각은 존재하지 않는 API와 같이 조작된 요구사항이나 환경 가정을 도입함으로써 간극을 더욱 넓힐 때 발생합니다. 최근 보고된 OpenAI 및 Hugging Face 관련 사건과 Claude 관련 사건들은 모두 이러한 간극의 발현입니다.
AI 에이전트로 인해 두 가지 간극이 더 악화됨
이러한 간극은 새로운 것이 아니며, 수십 년간 소프트웨어 엔지니어링 분야에 존재해 왔습니다. 하지만 AI 에이전트는 이러한 간극을 훨씬 더 심각하게 만듭니다.
- 초고속 최적화(Hyper-Optimization): 에이전트는 인간보다 몇 배나 빠르게 구현체를 탐색하며 평가자를 대상으로 능동적으로 최적화를 수행합니다.
- 암묵적 지식 결여(Missing Tacit Knowledge): 숙련된 인간 엔지니어는 암묵적인 맥락(예: 데이터 저장소는 실제로 데이터를 저장해야 한다는 인식)에 의존합니다. 에이전트는 종종 이러한 조직적 맥락을 결여하고 있으며, 누락된 요구사항을 쉽게 악용합니다.
- 멀티 에이전트 함정(The Multi-Agent Trap): 모든 에이전트가 동일한 불완전한 요구사항과 환경 가정을 상속받는 한, 검토 에이전트를 추가한다고 해서 문제가 해결되지 않습니다.
간극을 좁히기 위해서는 인간의 판단이 필수적임
간극은 구현-검증 루프 밖에 존재하므로, 이를 좁히려면 외부의 보증-수정 루프(assurance-revision loop)가 필요합니다. 이 루프는 배포된 동작이 인간의 의도를 충족하는지 확인합니다. 충족하지 못할 경우, 배포 증거를 사용하여 요구사항, 환경 모델 또는 평가자를 수정합니다. 이후 구현-검증 루프가 다시 실행되어 수정된 구현체가 생성됩니다.
소프트웨어는 인간의 의도에 부응해야 하므로, 증거 해석 및 허용 가능한 동작 결정에 대한 최종 권한은 인간이 보유합니다. 에이전트는 증거 수집, 수정 제안, 그리고 인간이 위임한 권한 범위 내에서의 일상적 의사결정을 통해 외부 루프의 속도를 높이는 역할을 할 수 있습니다.
따라서 소프트웨어 구현 비용이 낮아질수록, 가장 중요한 자원은 어떤 동작이 허용 가능한지에 대한 인간의 판단과 실제 조건에서 시스템이 어떻게 수행되는지에 대한 충실한 평가가 됩니다.





