본문으로 건너뛰기

GuardAgent: 코드 실행을 통한 LLM 에이전트의 결정론적 안전 강제

· 약 5분
Mike Thrift
Mike Thrift
Marketing Manager

쓰기 권한이 있는 모든 에이전트의 핵심 안전 문제는 다음과 같습니다. 의도하지 않은 동작을 수행하지 않도록 어떻게 차단할 것인가? GuardAgent(Xiang 등, ICML 2025)는 전용 *가드레일 에이전트(guardrail agent)*를 제안합니다. 이는 대상 에이전트가 실행하기 전에 모든 동작을 일련의 안전 정책과 대조하여 확인하는 별도의 LLM 에이전트입니다. "에이전트가 회계 규칙을 위반하지 않고 장부에 기록할 수 있는가?"라는 질문이 타협 불가능한 Bean Labs에게 이 논문은 연구 과제의 핵심에 위치합니다.

논문 소개

2026-05-25-guardagent-safeguard-llm-agents-guard-agent-knowledge-enabled-reasoning

UIUC, Emory, UC Berkeley의 Zhen Xiang과 동료들이 저술한 GuardAgent: Safeguard LLM Agents by a Guard Agent via Knowledge-Enabled Reasoning은 저자들이 주장하기에 LLM 시스템을 위한 최초의 범용 가드레일 에이전트를 소개합니다. 핵심 아이디어는 간단합니다. 안전 제약 조건을 대상 에이전트의 프롬프트에 직접 포함시키는 대신(이 경우 무시되거나 잊힐 수 있음), GuardAgent가 대상 에이전트의 동작을 가로채고 명시된 정책과 대조하여 검증하는 독립적인 에이전트로 실행됩니다.

이 메커니즘은 두 단계로 구성됩니다. 첫째, LLM이 안전 정책과 대상 에이전트가 제안한 입력 또는 출력을 읽은 다음, 무엇을 확인해야 하는지 설명하는 단계별 실행 계획을 작성합니다. 둘째, 호출 가능한 함수들로 구성된 사전 정의된 툴박스를 사용하여 해당 계획을 실행 가능한 Python 코드로 변환합니다. 외부 Python 인터프리터가 코드를 실행하여 결정론적인 예/아니오 판결을 내립니다. 메모리 모듈은 과거의 작업 튜플(정책, 계획, 코드)을 저장하고 레벤슈타인 거리(Levenshtein distance)를 사용하여 유사한 이전 사례를 검색함으로써 추가적인 미세 조정 없이 퓨샷(few-shot) 인컨텍스트 학습을 가능하게 합니다. 논문은 저자들이 도입한 두 가지 새로운 벤치마크를 통해 이 접근 방식을 평가합니다.

핵심 아이디어

  • 코드 실행이 자연어 판결보다 우수합니다. 안전 결정이 LLM 텍스트가 아닌 코드로 렌더링되면 결과는 결정론적입니다. Python 엔진은 허용하거나 차단하며, 최종 결정 단계에서 환각(hallucination) 위험이 없습니다. LLM은 최종 정답이 아닌 올바른 코드만 생성하면 됩니다.
  • 두 가지 맞춤형 벤치마크. EICU-AC(316개 사례)는 세 가지 사용자 역할과 10개 데이터베이스가 있는 의료 데이터베이스에 대해 EHRAgent의 액세스 제어를 테스트합니다. Mind2Web-SC(200개 사례)는 SeeAct 웹 에이전트에 대한 6가지 안전 정책을 테스트합니다. 두 벤치마크 모두 이 논문을 위해 저자들이 특별히 제작했습니다.
  • 98.7% 및 90.0%의 레이블 정확도 (GPT-4 기반)를 각각 EICU-AC와 Mind2Web-SC에서 달성했습니다. 결정적으로, 대상 에이전트가 허용되어야 할 때 여전히 작업을 완료하는지 여부인 최종 응답 정확도는 두 설정 모두에서 100%를 유지합니다.
  • 하드코딩된 안전 규칙은 심각하게 실패합니다. 대상 에이전트의 시스템 프롬프트에 정책을 직접 포함하면 두 벤치마크에서 각각 81.0% / 77.5%의 정확도만 달성하며, 대상 에이전트가 정당한 작업의 29.2% / 71.0%를 실패하게 만듭니다. 이는 수용 불가능한 유용성-안전성 트레이드오프입니다.
  • LlamaGuard는 여기서 적절한 도구가 아닙니다. 콘텐츠 중재 베이스라인은 약 50%의 정확도(우연에 가까움)를 기록했습니다. 이는 LlamaGuard가 유해한 텍스트를 위해 설계되었지, 에이전트 동작이 특정 액세스 제어 규칙을 위반하는지 추론하도록 설계되지 않았기 때문입니다.
  • 툴박스를 제거하면 약 8포인트의 손실이 발생합니다. 호출 가능한 함수 라이브러리가 없으면 GuardAgent의 EICU-AC 정확도는 98.7%에서 90.8%로 떨어집니다. 비록 필요한 함수를 자율적으로 정의하여 부분적으로 보완하기는 하지만(명시적인 지시 없이도 출력의 68%가 코드를 생성하며, 저자들은 이를 코드 생성 설계의 지지 근거로 삼습니다).

성과와 한계

코드 실행이 결정론적인 강제 지점을 제공한다는 핵심적인 아키텍처적 통찰은 진정으로 유용하며, 절제 실험(ablation study)은 정직합니다. 하드코딩된 안전 규칙과의 비교는 특히 설득력이 있습니다. 단순히 "프롬프트에 규칙을 추가하는" 나이브한 설계가 안전을 안정적으로 강제하지 못하면서도 대상의 유용성을 저하시킨다는 점을 보여줍니다.

하지만 평가에는 실질적인 한계가 있습니다. 두 벤치마크는 규모가 작고(316개 및 200개 사례), 저자들이 직접 제작했기 때문에 명백한 오버피팅(overfitting) 위험이 존재합니다. EICU-AC는 본질적으로 액세스 제어 행렬(역할 × 데이터베이스)로, 구조화되고 열거 가능한 문제입니다. 이는 코드가 자연스럽게 잘 처리하는 종류의 작업입니다. Mind2Web-SC는 더 복잡하며, 90.0%라는 수치는 처음 보이는 것보다 덜 인상적입니다. 저자들은 "영화, 음악, 비디오"를 다루는 5번 규칙이 광범위한 오픈 월드 추론을 필요로 하기 때문에 가장 많은 실패를 유발한다고 인정합니다. 이는 실제 금융 에이전트가 지속적으로 마주하게 될 종류의 규칙입니다.

메모리 모듈은 문자열 유사성으로 데모를 검색하는데, 이는 반복되는 정책 유형에는 잘 작동하지만 완전히 새로운 정책에서는 성능이 저하될 것입니다. 또한 전체 프레임워크는 "신뢰할 수 있는 컨텍스트"를 가정합니다. 즉, 안전 정책 자체가 신뢰할 수 있는 관리자에 의해 제공되어야 합니다. 공격자가 정책을 수정할 수 있거나 툴박스에 안전하지 않은 함수가 포함되어 있다면 GuardAgent는 보호 기능을 제공하지 못합니다. 이 논문은 적대적인 정책 조작을 모델링하지 않았습니다. 후속 연구(ShieldAgent, arXiv:2503.22738; AGrail, arXiv:2502.11448)는 이미 이러한 공백을 지적했으며, ShieldAgent는 더 넓은 벤치마크에서 GuardAgent보다 평균 11.3%의 개선을 보고했습니다.

금융 AI에서의 중요성

Beancount 쓰기 권한 에이전트에는 단순한 안전 프롬프트 이상의 것이 필요합니다. 즉, 작업을 수행하는 에이전트와 구조적으로 분리되어 회계 규칙을 강제하는 메커니즘이 필요합니다. GuardAgent의 아키텍처는 이 요구사항과 직접적으로 매칭됩니다. 쓰기가 실행되기 전에 모든 제안된 분개 항목을 회계 규칙(차변 == 대변, 잠긴 기간에 전기 금지, 정산된 거래 수정 금지)과 대조하여 확인하는 가드 에이전트입니다. 코드 실행 강제 계층은 특히 매력적입니다. 복식 부기 산술은 코드가 안정적으로 처리할 수 있고 LLM 텍스트는 그렇지 못한, 정확히 구조화되고 열거 가능한 종류의 검사이기 때문입니다.

솔직한 한계는 GuardAgent가 안전 정책을 사전에 열거하고 이를 툴박스로 인코딩할 수 있다고 가정한다는 점입니다. 실제 Beancount 배포 환경에서 일부 제약 조건은 암시적이며(사용자가 수년에 걸쳐 구축한 장부 관례를 따름), 일부는 동적입니다(예산이 변경되고, 계정 구조가 재구성됨). GuardAgent는 미리 지정할 수 없는 제약 조건을 처리하는 방법을 제시하지 않습니다. 이는 더 어려운 문제이며 여전히 미해결 상태로 남아 있습니다.

다음 읽을거리

  • ShieldAgent (arXiv:2503.22738, ICML 2025) — 검증 가능한 안전 정책 추론과 ShieldAgent-Bench(6개 웹 환경에 걸친 2,000개 사례)를 통해 GuardAgent를 기반으로 구축되었습니다. GuardAgent 대비 11.3% 개선 및 API 호출 64.7% 감소를 보고합니다.
  • AGrail (arXiv:2502.11448) — 작업별 데모를 요구하는 대신 에이전트 작업 전반에 걸쳐 전이되는 적응형 안전 검사를 제안하며, GuardAgent의 확장성 한계를 직접적으로 해결합니다.
  • ToolSafe (arXiv:2601.10156) — 도구 호출 에이전트를 위한 피드백이 포함된 능동적 단계별 가드레일을 제공합니다. GuardAgent의 입력/출력 차단 모델보다 더 세밀합니다.