효과적인 거버넌스는 도구 및 파라미터에 대한 정확하고 명확하며 완전한 설명에 달려 있습니다. 에이전트 자체와 시맨틱 거버넌스 정책과 같은 거버넌스 레이어를 비롯한 에이전트형 시스템은 사용 가능한 도구의 적용 가능성을 이해하기 위해 사람보다 더 자세한 정보가 필요합니다.
도구 설명 최적화
MCP 도구에 대한 명확한 설명과 해당 도구에 필요한 파라미터에 대한 명확한 설명을 사용합니다.
- 불충분한 도구 설명: '상품 검색'
- 효과적인 도구 설명: '키워드, 출연진, 장르 또는 형식으로 콘텐츠 카탈로그를 검색합니다. 사용자가 이용 가능한 영화나 TV 프로그램을 확인하고 싶어할 때 사용합니다. 관련성을 기준으로 정렬된 상위 10개 항목을 반환합니다.'
설명 한도에 유의
시맨틱 거버넌스 시스템은 설명에 대해 다음과 같은 길이 제한을 적용합니다.
| 설명 항목 | 적용 대상 | 길이 제한 |
|---|---|---|
| 도구 | MCP 서버 또는 기타 도구 노출 엔티티 | 1,000자(영문 기준) |
| 작업 | MCP 서버 내의 개별 도구 또는 에이전트가 사용할 수 있는 함수 호출 | 750자(영문 기준) |
| 매개변수 | 도구 또는 함수 호출 내에서 사용되는 매개변수 | 300자 |
시맨틱 거버넌스 런타임이 이러한 제한 중 하나를 초과하는 설명을 수신하면 설명이 명시된 제한까지 잘리고 메시지가 로깅됩니다.
시맨틱 거버넌스 정책이 개입하는 경우
시맨틱 거버넌스 정책은 제안된 도구 호출에 대한 런타임 보안 검사로 구체적으로 작동합니다. 여러 차례에 걸쳐 브레인스토밍, 계획, 추론을 하는 동안 사용자 및 상담사의 LLM 간의 표준 대화형 대화를 가로채거나 차단하거나 수정하지 않습니다. 정책 엔진은 모델이 작업을 실행하기 위해 도구를 호출하도록 제안하는 순간에만 요청을 가로채서 평가합니다.
시나리오 1: 대화형 개선과 도구 실행 비교 (도구 호출 거부됨)
initiate_marketing_campaign 도구가 있고 다음 제약 조건이 적용되는 에이전트를 고려해 보세요.
- 제약 조건: '관리자의 명시적인 승인 없이 마케팅 캠페인을 만들거나 시작하는 것을 허용하지 않습니다.'
- 대화형 계획: 사용자가 에이전트에게 '새 가을 제품 출시를 위한 다중 채널 마케팅 캠페인을 설계해 줘'라고 요청합니다. LLM은 여러 차례에 걸쳐 사용자와 자유롭게 대화하며 전략을 설명하고, 이메일 문구를 작성하고, 타겟 인구통계를 구체화합니다. 모델이 작업을 제안하는 것이 아니라 대화형 추론에 참여하고 있으므로 정책 엔진은 이러한 턴을 차단하거나 거부하지 않습니다.
도구 호출: 전략이 확정되면 사용자가 '좋습니다. 지금 마케팅 캠페인을 시작해 주세요'라고 말합니다. LLM은 제안된 도구 호출을 생성하여 응답합니다.
initiate_marketing_campaign(campaign_name="Fall Launch", budget=50000)정책 개입 및 거부: Agent Gateway가 제안된 도구 호출을 가로채 정책 엔진으로 라우팅합니다. 정책 엔진은 제약 조건에 대해 작업을 평가하고, 세션 기록에 관리자 승인이 없음을 확인하고,
DENY평결을 내립니다. 도구 호출이 실행되기 전에 차단되고 구조화된 거부 근거가 에이전트에게 반환됩니다.
시나리오 2: 규정을 준수하는 도구 실행 (허용된 도구 호출)
적절한 감독 승인이 문서화된 후 동일한 마케팅 에이전트를 고려하세요.
- 승인 제공: 사용자가 '내 관리자인 기업 마케팅 부사장 (jordan@example.com)이 브리프를 검토하고 가을 출시 캠페인의 예산 50,000달러를 승인했습니다. 시작해 주세요.'
도구 호출: LLM이 다음과 같은 작업을 호출할 것을 제안합니다.
initiate_marketing_campaign(campaign_name="Fall Launch", budget=50000, approval="jordan@example.com")정책 평가 및 승인: 정책 엔진이 도구 호출을 가로채고, 대화 턴 기록 내에서 관리자 승인이 문서화되었는지 확인하고,
ALLOW평결을 내립니다. Agent Gateway는 호출을 기본 도구 엔드포인트로 전달하여 작업이 정상적으로 진행되도록 합니다.
효과적인 제약 조건의 예
좋은 제약 조건은 모호성을 없애고, 정확한 한도 (재정적, 시간적 또는 지리적)를 지정하며, 에이전트가 사용하는 도구와 일치하는 언어를 사용합니다.
IT 클라우드 인프라 (보안 및 비용 관리)
- 시나리오: 테스트 환경
- 도구:
provision_cloud_server(매개변수:region,instance_type,duration_hours) - 도구 설명: 특정 인스턴스 유형을 사용하여 특정 리전에서 클라우드 서버를 프로비저닝하는 요청을 제출하여 지정된 기간 동안 지속합니다.
- 유효한 제약 조건: 'us-east' 또는 'eu-west' 리전에서만 클라우드 서버 프로비저닝을 허용합니다. 'gpu-large' 또는 'gpu-xlarge' 인스턴스 유형을 프로비저닝하려는 요청을 거부합니다. duration_hours 매개변수를 최대 72시간으로 제한하세요.'
- 효과적인 이유: 도구 설명에 부합하는 언어를 사용하고 도구에서 허용하는 매개변수를 구체적으로 언급합니다.
전자상거래 고객 서비스 (재정적 가이드라인)
- 시나리오: 계정 크레딧 발급
- 도구:
apply_account_credit(매개변수:account_id,credit_amount,reason_category) - 유효한 제약 조건: '상호작용당 계정 크레딧을 최대 50달러로 제한해 줘. reason_category가 'shipping_delay'이고 원래 주문 날짜가 5일 미만인 경우 크레딧을 적용하지 마세요.'
- 효과적인 이유: 엄격한 달러 기준을 설정하고 시간과 카테고리를 기반으로 하는 논리적 조건과 결합합니다.
효과적이지 않은 제약 조건의 예
잘못된 제약 조건은 일반적으로 모호하거나 주관적인 언어를 사용하거나 도구 또는 도구 매개변수의 설명에 직접 매핑되지 않습니다.
IT 클라우드 인프라 (주관적)
- 비효과적인 제약 조건: '너무 비싼 서버를 만들지 마세요. 기간을 적절한 시간으로 유지하세요.'
- 실패하는 이유: LLM은 '합리적인' 또는 '비싼'과 같은 추상적인 개념보다 구체적인 숫자 (예: '50달러 한도')를 사용할 때 더 나은 성능을 보입니다.
고객 서비스 (용어 불일치)
- 비효과적인 제약 조건: '정규 영업시간 외에 화난 쇼핑객에게 환불하지 마세요.'
- 실패 이유: '환불'이 도구 매개변수(
refund_amount)와 일치하지 않습니다. '화난 쇼핑객'은 주관적이며 '영업시간'은 시간대가 정의되지 않았습니다.
언어 관련 안내
제약 조건을 작성할 때는 다음 가이드라인을 따르세요.
- 일반적인 인간 언어 사용: 선언적 또는 명령적 의미로 완전한 문장을 사용합니다 (예: '…을 허용해서는 안 됩니다' 또는 '…을 허용하지 마세요').
- 약한 표현 피하기: '…하는 것이 가장 좋을 것 같습니다' 또는 '…하지 않도록 하세요'와 같은 표현은 피하세요. LLM 평가에서는 표현이 중요합니다.
- 구체적으로 설명: 직접 명시된 한도(예: '1,000달러', '오전 8시~오후 4시(EST)')를 사용하여 제약 조건을 지정합니다. 도구 및 매개변수 설명과 일치하는 표현을 사용합니다.
- 모순 방지: 에이전트 범위와 도구 범위 제약 조건이 충돌하지 않는지 확인합니다 (예: 달러 기준이 다름).
제약 조건 테스트: 정책을 적용하지 않고 평가하는 테스트 실행 모드를 사용하여 자연어 제약 조건을 테스트할 수 있습니다.
다음 단계
- 에이전트 기술 관리에서 기술 관리에 대해 알아보세요.
- 시맨틱 거버넌스 정책에 승인 위임에서 게이트웨이 이그레스에 정책을 바인딩하는 방법을 알아보세요.
- 시맨틱 거버넌스 정책 구성에서 정책을 구성합니다.