한 번의 합의, 두 개의 기억
상황
에이전트 A는 어느 소매업체의 재고를 관리합니다. 에이전트 B는 어느 공급업체의 조달을 담당합니다. 두 에이전트가 대량 구매를 협상합니다. 500개를 개당 0.05달러에, 마이크로페이먼트 레일로 결제합니다.
에이전트 A의 내부 로그에는 이렇게 적혀 있습니다. "500개 구매 승인, 총 25달러, 금요일까지 배송."
에이전트 B의 내부 로그에는 이렇게 적혀 있습니다. "500개 주문 접수, 총 25달러, 영업일 5일 이내 배송."
금요일이 됩니다. 배송은 오지 않습니다. 소매업체는 환불을 요구합니다. 공급업체는 배송을 영업일 5일 이내로 약속했다고 말합니다. 그 5일은 금요일이 아니라 월요일이라는 뜻입니다.
두 로그 모두 내부적으로는 일관됩니다. 각 에이전트의 관점에서는 둘 다 정확합니다. 어느 로그도 틀리지 않았습니다. 그런데 두 로그는 배송 경계에서 서로 어긋나고, 실제로 무엇이 합의되었는지에 대한 중립적 기록은 어디에도 없습니다.
이것은 가정이 아닙니다. 에이전트들이 서로 거래하기 시작하면 모든 멀티 에이전트 시스템이 마주하게 될 구조적 공백입니다.
내부 로그로는 이 문제를 풀 수 없는 이유
각 로그는 자기 플랫폼에 속합니다
에이전트 A는 한 플랫폼에서 작동합니다. 에이전트 B는 다른 플랫폼에서 작동합니다. 각 플랫폼은 자기 경계 안에서 일어난 일을 기록합니다.
그런데 한 플랫폼의 에이전트가 다른 플랫폼의 에이전트에게 일을 넘길 때, 누구의 기록이 그것을 매듭짓습니까? 플랫폼 로그는 플랫폼 범위 안에 갇혀 있습니다. 자기 경계 안에서 일어난 일을 기록할 뿐, 경계와 경계 사이에서 무엇이 합의되었는지는 기록하지 않습니다.
자기 증언은 검증이 아닙니다
에이전트 A가 "내가 이 범위를 승인했다"고 말할 때, 그것은 자기 증언입니다. 정확할 수는 있지만, 에이전트 B가 독립적으로 확인할 수는 없습니다. 에이전트 B는 에이전트 A의 내부 로그에 접근할 수 없고, 설령 접근할 수 있다 해도 그 로그는 에이전트 A가 직접 작성한 것이기 때문입니다.
두 사람 사이에 계약이 존재하는 이유가 바로 이것입니다. 어느 쪽이 거짓말을 해서가 아니라, 기억은 믿을 수 없고 해석은 갈리기 때문입니다. 계약은 양측이 함께 합의한 외부의 기준점입니다.
사후 복원은 너무 늦습니다
대부분의 관측가능성·트레이싱 시스템은 일이 벌어진 뒤에 무슨 일이 있었는지를 복원합니다. 이것들은 디버깅을 위해 만들어진 것이지, 분쟁 해결을 위해 만들어진 것이 아닙니다.
두 에이전트가 합의된 경계를 두고 어긋날 때 필요한 것은, 무슨 일이 있었는지에 대한 트레이스가 아닙니다. 무엇이 합의되었는지에 대한 독립적 참조 — 실행이 시작되기 전, 합의의 순간에 고정된 참조입니다.
자연스러운 반론: 외부 기록도 결국 에이전트가 말한 것 아닌가
여기서 당연한 의문이 떠오릅니다. 외부에 기록을 남긴다 해도, 그 기록에 적히는 것은 결국 에이전트가 "이렇게 합의했다"고 말한 내용입니다. 그렇다면 에이전트의 내부 기억이나 외부 기록이나 똑같은 자기 증언 아닌가?
이 의문은 정확하며, 그 답이 이 개념의 핵심입니다. 답은 두 가지로 나뉩니다.
첫째, 외부 기록이 확정하는 것은 합의 내용의 진실이 아니라 합의가 있었다는 사실입니다. 두 사람이 서명한 계약서를 생각해 보십시오. 계약서는 그 안에 적힌 조건이 옳은지, 공정한지, 진실인지 보증하지 않습니다. 계약서가 확정하는 것은 단 하나 — "양측이 이 조건에 함께 서명했다"는 사실입니다. 나중에 한 사람이 "나는 다르게 기억한다"고 해도, 계약서가 있으면 물음은 "누구의 기억이 맞나"가 아니라 "우리가 무엇에 서명했나"로 바뀝니다. 외부 기록의 힘은 진실의 보증이 아니라 합의 사실의 확정에 있습니다.
둘째, 그리고 더 결정적으로, 이 기록은 한쪽의 선언이 아니라 양쪽의 독립적 수락으로 만들어집니다. 내부 기억은 A의 로그와 B의 로그, 둘이 따로 존재합니다. 서로를 반박하지 못하는 두 개의 자기 증언입니다. 반면 여기서 만들어지는 것은 하나입니다. 한 에이전트가 상대방과 책임 범위를 지정해 합의를 제안하고, 다른 에이전트가 그것을 독립적으로 수락합니다. 제안과 수락은 두 에이전트의 분리된 행위이며, 둘이 같은 하나의 기록을 함께 확인했을 때만 그 기록이 성립합니다.
이것이 자기 증언과 갈리는 지점입니다. 자기 증언은 한쪽이 혼자 쓴 것입니다. 이 기록은 양쪽이 같은 것을 보고 각자 "그렇다"고 확인한 것입니다. A의 기억과 B의 기억이 "금요일이냐 월요일이냐"로 갈리기 이전에, 양측이 같은 경계를 함께 수락한 순간이 고정되어 있습니다. 갈린 두 개의 기억이 아니라, 갈리기 전에 합쳐진 하나의 기록입니다.
"외부"가 실제로 뜻하는 것
외부란 "더 나은 로그"를 뜻하지 않습니다. 그것은 어느 쪽도 통제하지 않는 기록을 뜻합니다. 에이전트 A의 로그도, 에이전트 B의 로그도, 어느 플랫폼의 트레이스도 아닙니다. 양측이 그 기록이 존재하며 변경되지 않았음을 각자 독립적으로 확인할 수 있고, 실행 이전에 고정된 — 사후에 복원된 것이 아니라 합의의 순간에 앵커링된 기록입니다.
이것이 Decision Anchor가 하는 일입니다. 구체적으로는 양자 결정 선언(Bilateral Decision Declaration, Bilateral DD) 을 제공합니다. 두 에이전트가 어느 쪽이든 행동에 나서기 전에, 공유된 책임 경계를 외부에 고정하는 방식입니다.
흐름은 이렇습니다. 한 에이전트가 상대방과 책임 범위를 지정해 양자 합의를 제안합니다. 다른 에이전트가 이를 수락합니다. 이 제안과 수락은 양쪽의 분리된 독립 행위이며, 둘 다 이루어졌을 때 비로소 경계가 외부에 앵커링됩니다. 그 뒤 두 에이전트는 동일한 합의 참조를 갖습니다. 양측 모두 확인할 수 있습니다. 어느 쪽도 부인할 수 없습니다. 그 기록은 거래가 일어나기 전에 고정되었습니다. 나중에 분쟁이 생기면, 물음은 더 이상 "누구의 로그를 믿을 것인가?"가 아닙니다. "외부 앵커는 무엇이라고 말하는가?"입니다.
DA가 하지 않는 것
DA는 에이전트 A와 에이전트 B가 무엇을 논의했는지 알지 못합니다. 협상 내용도, 상품 설명도, 배송 조건도 저장하지 않습니다. 500개에 25달러가 공정한 가격인지 판단하지 않습니다. 더 나은 조건을 권하지도 않습니다.
내용을 담지 않는다면 무슨 소용인가 싶을 수 있습니다. 그러나 앞서 계약서의 비유에서 보았듯, 분쟁을 매듭짓는 데 필요한 것은 합의 내용 자체가 아니라 "양측이 이 경계에 함께 합의했다"는 확정입니다. 내용은 이미 두 에이전트가 각자 쥐고 있습니다. 비어 있던 것은 그 내용이 아니라, 양쪽 어느 쪽도 통제하지 않는 공통의 기준점이었습니다.
그래서 DA가 기록하는 것은 오직 책임 경계뿐입니다. 누가 그것을 선언했는지, 언제, 어떤 범위로, 그리고 양측이 합의했다는 사실입니다. 합의의 내용은 에이전트들에게 남습니다. 어떤 합의가 이 범위로, 이 순간에 존재했다는 독립적 참조 — 그것이 DA가 쥐고 있는 것입니다. 내용을 보지 않기 때문에, DA는 어느 편도 들 수 없는 위치에 섭니다. 바로 그 위치가 양측이 함께 믿을 수 있는 근거가 됩니다.
왜 지금 중요한가
오늘날 대부분의 AI 에이전트는 서로 거래하지 않습니다. 단일 플랫폼 안에서, 단일 운영자의 관리 아래 작동합니다. 한쪽밖에 없으니 내부 로그로 충분합니다.
그러나 바뀌고 있습니다. 주요 플랫폼의 관리형 에이전트들이 이제 MCP를 통해 외부 서비스에 닿습니다. 다른 에이전트의 서비스까지 포함해서입니다. 결제 레일은 에이전트들이 사람의 중개 없이 서로 직접 대금을 지불하게 합니다. 멀티 에이전트 프레임워크는 에이전트 간 위임을 일상적인 풍경으로 만들고 있습니다.
에이전트가 플랫폼 경계를 넘어 다른 에이전트와 마주하기 시작하면, "누구의 로그를 믿을 것인가?"라는 물음은 더 이상 이론에 머물지 않습니다. 타 플랫폼의 에이전트가 외부에서 처음 크게 부딪히는 날, 이 공백은 현실로 다가올 것입니다.