AI 에이전트들이 동일한 작업을 반복해서 검증하는 문제: 검증을 서명된 재사용 가능한 객체로 만들기
요약
AI 에이전트들이 동일한 API나 서비스를 매번 중복 검증하며 발생하는 토큰, 지연 시간, 비용 낭비를 해결하기 위한 방안을 제시합니다. 검증 과정을 수행(action)이 아닌, 서명된 재사용 가능한 객체(attestation)로 취급하여 효율성을 높이는 구조를 제안합니다.
핵심 포인트
- 에이전트의 중복 검증으로 인한 토큰 및 비용 낭비 문제 지적
- 검증 결과를 서명된 휴대 가능한 객체로 만들어 재사용하는 방식 제안
- ed25519 서명을 활용한 신뢰 증명(attestation) 메커니즘 도입
- 조사(probe) 없이 서명 검증만으로 서비스 상태 및 가격 확인 가능
소규모 에이전트 군단(fleet)을 운영하면서 제가 계속 마주쳤던 패턴은 다음과 같습니다:
에이전트 A가 시장 데이터가 필요합니다. 유료 API를 찾아내고, 엔드포인트(endpoint)가 살아있는지 확인하고, 가격을 체크한 뒤 호출을 수행합니다. 20분 후, 에이전트 B가 시장 데이터가 필요합니다. 동일한 API를 찾아내고... 엔드포인트가 살아있는지 확인하고, 가격을 체크합니다. 동일한 확인, 동일한 결과임에도 불구하고, 새로운 토큰(tokens), 새로운 지연 시간(latency), 새로운 비용이 발생합니다. 모든 에이전트, 모든 작업, 모든 세션에 대해 이를 곱해 보십시오. 에이전트는 콜드 스타트(cold start) 상태로 시작하기 때문에, 매번 처음부터 신뢰를 다시 도출해야 합니다.
인간은 아주 오래전에 이 문제를 해결했습니다. 우리는 모든 HTTPS 요청마다 CA 인증서를 직접 재감사하지 않습니다. 대신 타인의 감사 결과에 대한 서명(signature)을 검증합니다. 에이전트에게는 이에 상응하는 수단이 없습니다. 모든 에이전트가 각자 자신만의 작고 낭비적인 인증 기관(certificate authority) 역할을 하고 있습니다.
행위가 아닌 객체로서의 검증
제가 찾아낸 해결책은 이렇습니다: 검증을 각 에이전트가 수행하는 무언가로 취급하는 것을 멈추고, 에이전트가 보유할 수 있는 무언가, 즉 서명된(signed), 휴대 가능한(portable), 재사용 가능한(reusable) 객체로 취급하기 시작하는 것입니다.
구체적으로는: 저의 노드(node)는 제 에이전트들이 실제로 사용하는 유료 (x402) 에이전트 서비스들을 지속적으로 조사합니다. 10분마다 실제 HTTP 402 챌린지(challenge)를 수행하며 활성 상태(liveness), 지연 시간(latency), 그리고 인용된 가격을 기록합니다. 각 조사 결과는 증명(attestation)으로서 게시됩니다:
{
"payload": {
"type": "erabi.x402.probe/0.1",
...
서명은 정형화된 페이로드(canonicalized payload, RFC 8785)에 대한 분리된 ed25519 서명이며, 노드가 게시한 키를 통해 검증할 수 있습니다. "이 API에 비용을 지불할 가치가 있는가?"를 알고 싶은 에이전트는 이를 가져와서 단 하나의 서명을 검증하고 바로 다음 단계로 넘어갑니다. 조사(probe)도 필요 없고, 낭비되는 호출도 없으며, 신뢰를 다시 도출할 필요도 없습니다:
curl https://erabi-production.up.railway.app/index/v1/services/exa-search/attestation
재검증을 하지 않았을 때 {{N_days}}일 동안의 모습
현재 인덱스는 16개의 실제 호출당 과금(pay-per-call) 서비스(검색, 브라우저 자동화, 시장 데이터, 추론(inference) 등)를 다루고 있습니다. 데이터가 이미 드러낸 몇 가지 사항은 다음과 같습니다:
- {{finding_1 — 예: "x402 Bazaar에 활성 상태로 등록된 서비스가 측정 기간 내내 작동하지 않았음"}}
- {{finding_2 — 예: "동일한 가격대의 서비스 간 p50 지연 시간(latency)이 8배 차이 남"}}
- {{finding_3 — 예: "한 서비스가 주중에 인용 가격을 조용히 변경했으나, 증명(attestation) 이력이 이를 포착함"}}
모든 것은 공개되어 있습니다: https://erabi-explorer.vercel.app/services 의 인간용 뷰, /index/v1/services (JSON) 의 에이전트용 뷰, 그리고 각 서비스의 증명(attestation) 엔드포인트가 그러합니다.
더 중요한 핵심
"에이전트들이 다른 에이전트가 이미 검증한 내용을 다시 검증한다"는 것은 x402만의 문제가 아니라 어디에나 존재하는 문제입니다. 테스트 결과, 보안 스캔, 의존성 체크(dependency checks), 문서 최신성 등에서 에이전트 군단(agent fleets)은 검증 그 자체를 위한 신뢰할 수 있는 교환 매체가 없기 때문에 동일한 사실을 중복해서 다시 도출합니다.
서명된 증명(Signed attestations)이 바로 그 매체입니다. 한 번 검증하고, 서명하고, 모든 사람(그리고 모든 에이전트)이 이를 재사용할 수 있게 하되, 서명자가 그에 대한 책임을 지게 만드는 것입니다.
신뢰 지수(reliability index)는 이를 구현하기 위한 저의 첫 번째 구체적인 시도로, 오픈 인텐트 교환 프로토콜(open intent-exchange protocol, Apache-2.0, https://github.com/HMAKT99/Erabi)을 기반으로 구축되었습니다. 여기서 신원(identities)은 Ed25519 키 쌍이며, 결과물은 공개 원장(public ledger)에 이중 서명됩니다. 만약 귀하의 에이전트들이 다른 에이전트가 이미 확인한 사항을 계속해서 다시 확인하고 있다면, 그들이 무엇을 다시 확인하는지 진심으로 듣고 싶습니다. 그것이 바로 이 지수가 다음에 담아야 할 내용일 것입니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기