A2A 프로토콜을 위한 규칙 레이어(rules layer)를 제안했습니다. 그 이유는 다음과 같습니다.
요약
AI 에이전트 간 통신을 위한 A2A 프로토콜에서 프롬프트의 불확실성을 해결하기 위해 결정론적인 규칙 레이어인 ERDL을 제안합니다. 이는 LLM의 확률적 판단 대신 프로토콜 수준에서 에이전트의 행동을 강제하고 검증할 수 있는 메커니즘을 제공합니다.
핵심 포인트
- 프롬프트 기반 제어의 한계인 확률적 오류 문제를 지적함
- ERDL(Entity-Rule Definition Language)을 통한 결정론적 규칙 적용 제안
- 평판(Reputation)과 준수(Compliance)를 구분하여 검증 가능성 확보
- 도구 호출 전 단계에서 작동하는 프로토콜 수준의 게이트 역할
AI 에이전트 프로토콜 스택(AI agent protocol stack)이 빠르게 형성되고 있습니다. 현재 두 가지 표준이 널리 채택되었습니다:
- MCP (Anthropic → Linux Foundation): 에이전트 ↔ 도구 (Agent ↔ Tools). 월간 다운로드 9,700만 회 이상.
- A2A (Google → Linux Foundation): 에이전트 ↔ 에이전트 (Agent ↔ Agent). 150개 이상의 조직에서 프로덕션 환경에 적용 중.
두 가지 모두 견고한 프로토콜입니다. 하지만 이들은 에이전트를 배포하는 모든 엔지니어가 결국 맞닥뜨리게 되는 질문을 던집니다:
에이전트가 무엇을 하지 말아야 하는지는 누가 결정하는가?
현재의 해답: 프롬프트 (Prompts)
당신은 책임감 있는 에이전트입니다. 위험한 명령을 실행하지 마세요.
보안 정책을 준수하세요. 데이터 경계를 존중하세요.
실제로 에이전트를 배포해 본 엔지니어라면 이것이 어떻게 끝나는지 알고 있습니다. 프롬프트는 제안일 뿐입니다. LLM (Large Language Model)은 확률 엔진입니다. LLM은 "금지"를 이해하는 것이 아니라 "낮은 확률"을 이해합니다.
챗봇에게는 괜찮을 수 있습니다. 하지만 금융, 의료, 또는 프로덕션 인프라(production infrastructure)에서는 괜찮지 않습니다.
필요한 것은 도구 호출 (tool call) _이전_에 위치하여, LLM의 판단이 아닌 프로토콜 수준의 강제(enforcement)로서 결정론적(deterministically)으로 "아니오"라고 말할 수 있는 메커니즘입니다.
제가 A2A 커뮤니티에 제안한 내용
지난주, 저는 A2A 리포지토리(#2031)에서 에이전트 카드 (Agent Card)의 확장을 제안하며 토론을 시작했습니다. 즉, 에이전트가 프로토콜 수준에서 _자신의 행동 규칙을 선언_할 수 있는 방법입니다.
이에 대한 반응은 제가 의심했던 바를 확인시켜 주었습니다. 이것은 실제적인 공백(gap)입니다.
커뮤니티의 존경받는 기여자(chopmob-cloud / AlgoVoi)는 제안을 실질적으로 개선하는 날카로운 구분을 제시하며 응답했습니다: 신뢰 점수 (trust score)는 평판(reputation)이지만, 준수 (compliance)에는 증거가 필요하다. 850이라는 숫자는 "이 에이전트는 일반적으로 신뢰할 수 있다"라고 말합니다. 반면, 재계산 가능한 콘텐츠 주소 지정 레코드(content-addressed record) — hash(rule_version + inputs + verdict) — 는 "이 특정 결정은 허용되었으며, 당신은 키(key)나 발행자(issuer)에 연락할 필요 없이 직접 이를 검증할 수 있다"라고 말합니다.
그 차이점은 이제 명세(spec)에 내장되었습니다. 평판 점수(Reputation scores)는 권고 사항일 뿐입니다. 준수 여부(Compliance)는 결정별로 이루어지며, 재계산이 가능하고, 신뢰(trust)를 요구하지 않습니다.
30초 만에 보는 ERDL
ERDL (Entity-Rule Definition Language)은 선언적 규칙 표준(declarative rules standard)입니다. 단 하나의 YAML 파일로 구성됩니다. 에이전트(agent)의 워크스페이스(workspace)에 배치됩니다. 모든 도구 호출(tool call) 전에 결정론적 엔진(deterministic engine)에 의해 평가됩니다.
# agent.erdl.yaml
rules:
...
에이전트는 이를 우회할 수 없습니다. 이것은 프롬프트(prompt)가 아닙니다. 게이트(gate)입니다.
ERDL의 위치
A2A (Google) 에이전트(Agent) ↔ 에이전트(Agent) 통신(Communication)
ERDL (OpenOBA) 규칙 및 거버넌스(Rules & Governance) ← 이것
MCP (Anthropic) 에이전트(Agent) ↔ 도구(Tool) 도구(Tools)
ERDL은 어느 하나를 대체하지 않습니다. 그것들을 보완합니다.
- MCP는 에이전트가 어떤 도구를 사용할 수 있는지 말합니다.
- A2A는 에이전트가 누구와 대화할 수 있는지 말합니다.
- ERDL은 에이전트가 무엇을 해야 하고 무엇을 하지 말아야 하는지 말합니다.
증거 우선 아키텍처 (The evidence-first architecture)
이 부분은 제가 가장 자랑스럽게 생각하는 부분이며, 커뮤니티의 피드백에서 직접 도출되었습니다.
모든 ERDL 결정은 증거 기록(evidence record)을 생성합니다:
rule_name: "no-dangerous-commands"
rule_version: 1.3.2
inputs: { tool: "exec", command: "drop table users" }
...
규제 기관, 파트너, 감사인 등 어떤 제삼자라도 기록만으로 영수증(receipt)을 재도출(re-derive)할 수 있습니다. 키(key)도, 발행자(issuer)에 대한 연락도, "나를 믿어달라
에이전트 프로토콜 스택 (agent protocol stack) 내의 규칙 레이어 (rules layer)가 타당하다고 생각하시든, 그렇지 않다고 생각하시든 — 이에 대한 토론을 환영합니다.
GitHub: github.com/openoba/erdl
A2A Discussion: RFC #2031
Contact: support@openoba.com
haoran-tang-ch 작성 · OpenOBA
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기