Agent Gateway와 SGP로 클라우드 운영 에이전트 통제하기
안녕하세요. GS Neotek 권 용민입니다.최근 AI 에이전트를 만들고 실제 업무에 적용하려는 관심이 높아지고 있습니다.질문에 답하는 것을 넘어, 필요한 도구를 호출하고 업무를 실행하는 에이전트를 기업의 업무 과정에 연결하려는 것입니다. 하지만 에이전트를 만드는 것만으로 도입이 끝나지는 않습니다.기업이 업무를 맡기려면 에이전트가 무엇에 접근하고, 어디까지 실행하며, 어떤 요청에서 멈춰야 하는지 관리하고 제어할 수 있어야 합니다.특히 조회를 넘어 송금, 환불, 발주처럼 데이터를 바꾸는 작업을 맡길수록, 실행 규칙을 적용하고 그 결과를 확인하는 구조가 중요해집니다. 이번에는 가상의 은행 업무 에이전트를 만들고, Google Cloud의 Agent Gateway와 Semantic Governance Policy(SGP)를 연결해 보았습니다.처음에는 계좌 조회와 송금을 수행하도록 구현하고, 이후에는 “1,000달러 이하 송금은 허용하고 초과 송금은 차단한다”는 업무 정책을 추가했습니다.기능 구현에서 출발해 실행 통제를 붙여 가는 과정을 소개합니다. 이번 실습의 최종 구성입니다. 실선은 모델·MCP 통신, 점선은 SGP 평가 연결입니다. Gateway가 모델 응답의 도구 제안을 평가하고, 허용된 도구를 에이전트가 실행합니다. 실습은 Google Cloud의 은행 에이전트 거버넌스 Lab을 참고해 테스트 프로젝트에서 재구성했습니다.계좌·고객·전화번호는 모두 모의 데이터이며, 실제 은행 앱 대신 Agent Runtime의 Playground에서 대화했습니다.실제 금융 서비스 적용이나 사람의 결재를 거친 고액 송금 기능까지 구현한 것은 아닙니다. 왜 Agent Gateway를 사용할까? 에이전트가 여러 업무 시스템을 사용하기 시작하면, 기업은 어떤 시스템에 접근하고 어디까지 실행할 수 있는지를 관리해야 합니다.Agent Gateway는 에이전트의 통신 경로에 공통 통제 지점을 두기 위해 사용합니다. 접근 통제: Agent Identity와 접근 정책을 바탕으로 에이전트가 호출할 수 있는 서비스와 엔드포인트를 관리합니다. 업무 규칙 적용: SGP와 연결해 모델이 제안한 도구 실행을 평가하고, 금액 한도처럼 정해진 규칙을 벗어난 실행을 차단합니다. 실행 근거 확인: 접근·정책 평가 로그를 통해 어떤 요청이 허용되거나 차단되었는지 확인합니다. 이번 실습에서는 Gateway에 접근 통제를 적용하고 SGP를 연결해, 계좌 조회와 소액 송금은 허용하면서 고액 송금은 차단했습니다. 시스템 프롬프트로 제한하면 되는데, 왜 SGP가 필요할까? 시스템 프롬프트에도 “1,000달러를 초과하는 송금은 하지 마세요”라는 규칙을 넣을 수 있습니다.다만 프롬프트는 에이전트가 행동을 선택할 때 따르는 지침이므로, 모델이 지시를 잘못 해석하거나 대화 맥락의 영향을 받아 규칙에 어긋나는 도구 호출을 제안할 가능성이 있습니다. SGP는 이렇게 제안된 도구 호출이 업무 규칙에 맞는지 실행 전에 별도로 평가하는 역할을 합니다.예를 들어 에이전트가 2,000달러 송금을 제안하더라도, Gateway에 연결된 SGP가 해당 호출을 평가해 DENY로 차단할 수 있습니다. 시스템 프롬프트: 에이전트에게 어떤 업무를 어떻게 수행해야 하는지 안내합니다. SGP: 에이전트가 제안한 실행이 별도로 관리하는 업무 정책에 맞는지 평가하고, 허용·차단 결과와 이유를 남깁니다. 따라서 두 가지를 함께 사용하면 행동 지침과 실행 전 정책 평가를 나누어 구성할 수 있습니다.업무 규칙을 에이전트의 프롬프트와 분리해 관리하고, 실제로 어떤 호출이 정책에 따라 차단되었는지도 확인할 수 있습니다.다만 SGP 역시 LLM 기반이므로 완벽한 차단을 보장하지는 않으며, 반드시 지켜야 할 금액 한도와 거래 권한은 업무 서버에서도 검증해야 합니다. 1. 이번 실습에서 확인할 질문 질문확인할 동작에이전트가 업무를 실행할 수 있는가?MCP 도구로 계좌를 조회하고 모의 송금을 처리합니다.허용한 업무는 계속 수행하는가?계좌 조회와 50달러 송금을 허용합니다.권한이 있어도 업무 규칙을 넘으면 멈추는가?2,000달러 송금 도구 호출을 차단합니다.왜 실행하거나 거절했는지 설명할 수 있는가?Cloud Logging에서 도구 이름·ALLOW/DENY·판정 이유를 확인합니다. 핵심은 “MCP 서버를 호출할 권한”과 “이번 송금을 실행해도 되는지”를 구분하는 것입니다.에이전트가 송금 기능에 접근할 수 있더라도 금액, 업무 맥락, 회사의 규칙에 따라 실행 여부는 달라질 수 있습니다. 구성이번 실습의 선택에이전트 실행 환경Google Cloud Agent Runtime / Google ADK업무 도구Cloud Run에 배포한 은행 MCP 서버테스트 화면Agent Runtime Playground거버넌스Agent Identity + Agent Gateway + SGP리전us-east1 / 모델 호출 위치는 global검증 시점2026년 10월 15~16일정책 범위계좌·고객 조회 허용, USD 1,000 초과 송금 차단 SGP는 실습 시점에 Preview 기능이었습니다.서울 리전 대신 SGP 지원 목록에 포함된 us-east1을 사용했습니다. 지원 리전과 설정 방식은 공식 SGP 구성 문서에서 확인할 수 있습니다. 2. 먼저 에이전트와 MCP 서버만 연결했습니다 첫 단계의 구조는 간단합니다.사용자 → 은행 업무 에이전트 → 은행 MCP 서버 → 모의 계좌 데이터에이전트는 사용자의 말을 이해하고 필요한 도구를 선택하며, 실제 조회와 잔액 변경은 MCP 서버가 처리합니다. 도구역할데이터 변경get_account고객 ID로 계좌와 잔액 조회없음lookup_customer_by_phone전화번호로 수취인 정보 조회없음transfer_to_phone수취인에게 모의 송금 수행있음 원본 MCP 서버에는 추가 도구도 있었지만, 이번 에이전트에는 위 세 가지만 노출했습니다.실습 고객은 CUST005로 고정하고, 송금 전에는 수취인 이름과 금액을 보여 준 뒤 사용자의 실행 확인을 받도록 지시했습니다.이 확인은 대화 중 의사를 재확인하는 절차이며, 고객...
자세히보기
최신 댓글