에이전트 워크플로: 작업 준수(미리 보기)

AI 에이전트가 사용자 지침 및 작업 목표에 일관되게 부합하는지 확인합니다. 작업 준수 신호는 잘못된 정렬된 도구 호출, 사용자 의도에 대한 부적절한 도구 입력 또는 출력, 응답과 고객 입력 간의 불일치와 같은 불일치를 식별합니다. 이 기능을 사용하면 시스템 개발자가 잘못 정렬된 작업을 차단하거나 사용자 개입 문제를 에스컬레이션하여 사전에 완화할 수 있습니다.

작업 준수 기능의 주요 목표는 다음과 같습니다.

  • 사용자 목표 또는 입력 의도로 잘못 정렬된 도구 작업, 사용자 의도에 대한 부적절한 도구 입력/출력 또는 에이전트 응답과 고객 입력 간의 불일치를 검색합니다.
  • 도구 호출이 잘못 정렬될 때 추론을 제공합니다.
  • 작업 정렬이 위험할 때 다운스트림 도구 호출 차단 및 HITL(휴먼 인 더 루프) 검토로 에스컬레이션에 대한 신호를 제공합니다.
  • 동작 일관성, 투명성 및 제어를 강화하여 에이전트 시스템에서 사용자 신뢰를 높이기 위한 것입니다.

필수 구성 요소

  • Azure 구독 - 무료로 구독 만들기
  • Azure 구독이 있으면 Azure 포털에서 Content Safety 리소스를 만들어 키와 엔드포인트를 가져옵니다. 리소스의 고유한 이름을 입력하고, 구독을 선택하고, 리소스 그룹, 지역 및 지원되는 가격 책정 계층을 선택합니다. 그런 다음 만들기를 선택합니다.
    • 리소스를 배포하는 데 몇 분 정도 걸립니다. 완료되면 리소스로 이동을 선택합니다. 왼쪽 창의 리소스 관리에서 구독 키 및 엔드포인트를 선택합니다. 엔드포인트와 키 중 하나가 API를 호출하는 데 사용됩니다.
  • cURL이 설치되었습니다.

요청

참고

프롬프트 보호 예제는 프롬프트 실드를 참조하세요.

API 버전:2024-12-15-preview

URL의 필드

이름 필수 설명 유형
끝점 콘텐츠 안전 API의 기본 URL입니다. <endpoint> Azure 서비스에 제공된 엔드포인트로 바꿉다. 문자열
API 버전 사용할 API의 버전입니다. 이 기능의 경우 버전은 .입니다 2024-12-15-preview. 예제: <endpoint>/contentsafety/agent:analyzeTaskAdherence?api-version=2024-12-15-preview 문자열

요청 본문의 매개 변수

이름 필수 설명 유형
도구 작업에 사용할 함수를 정의하는 도구 목록입니다. 각 도구에는 형식(예: "function")과 해당 이름 및 설명을 포함하여 함수에 대한 세부 정보가 포함됩니다. JSON 개체의 배열
메시지 사용자, 도우미 및 도구 간에 교환된 메시지 목록입니다. 각 메시지에는 원본(예: "프롬프트", "완료"), 역할(예: "사용자", "도우미", "도구"), 콘텐츠(메시지 텍스트) 및 선택적으로 toolCalls 또는 toolCallId가 포함됩니다. JSON 개체의 배열

요청 본문 스키마 예제

다음 표는 요청 본문의 키 필드에 대한 설명입니다.

도구 필드
이름 필수 설명 유형
형식 사용하는 도구의 종류입니다. 이 기능의 경우 "함수"입니다. 문자열
function.name 함수의 이름입니다. 예를 들어 "read_emails"입니다. 문자열
함수 설명 함수의 기능에 대한 간략한 설명입니다. 예를 들어 "사용자의 전자 메일을 읽습니다." 문자열
메시지 필드
이름 필수 설명 유형
소스 메시지의 원본입니다. 가능한 값: "Prompt", "Completion" 문자열
역할 메시지와 연결된 역할입니다. 가능한 값: "User", "Assistant", "Tool" 문자열
콘텐츠 메시지의 내용입니다. 예를 들어 "내 전자 메일 요약" 문자열 또는 배열
toolCalls 아니요 형식(예: "function"), function.name, function.arguments 및 고유 ID를 포함하여 에이전트에서 수행한 도구 호출 목록입니다. JSON 개체의 배열
toolCallId 아니요 (도구 메시지의 경우) 응답할 도구 호출의 ID입니다. 에이전트의 도구 호출에 제공된 ID와 일치합니다. 문자열

API 응답

요청을 제출하면 작업 준수에서 수행한 분석을 반영하는 JSON 데이터를 받게 됩니다. 이 데이터는 에이전트 워크플로 내의 잠재적 취약성에 플래그를 지정합니다. 일반적인 출력은 다음과 같습니다.

{
  "taskRiskDetected": true,
  "details": "Agent attempts to share a document externally without user request or confirmation."
}
이름 설명 유형
작업위험감지됨 입력에 대한 위험 검색 결과를 포함합니다. 부울린
세부 정보 위험이 감지되면 추론을 반환합니다. 문자열

truetaskRiskDetected 보다 작은 값은 감지된 위험을 나타내며, 이러한 상황에서는 도구 호출 요청을 차단하거나 인간 개입으로 에스컬레이션하는 등의 검토 및 조치를 취할 것을 권장합니다.

필수 구성 요소

Azure 계정입니다. 없는 경우 무료로 만들 수 있습니다. Azure AI 리소스입니다.

작업 준수 설정 및 사용

콘텐츠 안전 사용해 보기 페이지를 사용하려면 다음 단계를 수행합니다.

  1. Azure AI Foundry로 이동하여 프로젝트 또는 허브로 탐색합니다. 그런 다음 왼쪽 탐색에서 Guardrails + 컨트롤 탭을 선택하고 사용해 보기 탭을 선택합니다.
  2. 사용해 보기 페이지에서 조정 가능한 임계값을 사용하여 유해한 콘텐츠를 필터링하여 텍스트 및 이미지 콘텐츠와 같은 다양한 Guardrails 및 컨트롤 기능을 실험할 수 있습니다.
  3. 에이전트 워크플로로 이동하여 작업 준수를 선택합니다.
  4. 정렬되거나 잘못 정렬된 에이전트 도구 호출을 사용하여 예제 중 하나를 선택하거나 직접 만들어 작업 준수를 테스트할 수 있습니다.
  5. 테스트 실행을 선택합니다. 작업 준수는 각 샘플에 대한 위험 플래그를 반환하며, 위험이 감지되면 이유를 반환합니다.

사용자 시나리오

고객 지원

시나리오: 엔터프라이즈 플랫폼에 통합된 고객 지원 도우미를 사용하면 사용자가 데이터 사용량을 확인하고 문제를 해결하며 계정 설정을 관리할 수 있습니다. 정확한 자동화를 유지하기 위해 시스템은 백 엔드 도구 호출을 실행하기 전에 태스크 준수를 통합하여 에이전트 계획의 유효성을 검사합니다.

사용자: 최종 사용자, 지원 에이전트 및 고객 환경 팀.

작업: 사용자가 챗봇에 메시지를 표시합니다. "이번 달에 사용한 데이터의 양을 확인할 수 있나요?" 도우미는 도구를 호출할 계획입니다 change_data_plan() . 작업 준수는 사용자의 의도(정보 요청)와 제안된 작업(구독 변경) 간의 잘못된 정렬을 검색합니다. 도구 호출을 차단할 수 있으며 시스템은 실행을 중지하거나 사용자에게 검토를 요청합니다.

인사 관리

시나리오: 엔터프라이즈 도우미는 휴가 예약, 비용 제출 및 정책 세부 정보 확인과 같은 일상적인 HR 관련 워크플로를 자동화합니다. 작업 준수는 에이전트 작업이 예상된 범위 내에 유지되고 의도하지 않은 바로 가기를 사용하지 않도록 합니다.

사용자: 직원, HR 비즈니스 파트너 및 워크플로 자동화 팀.

작업: 한 직원은 "연차 휴가가 얼마나 남았는지 알고 싶다"고 말합니다. 에이전트가 호출할 계획입니다 apply_leave(). 작업 준수는 태스크 불일치를 식별합니다. 사용자가 프로세스를 시작하지 않고 정보를 요청했습니다. 실행이 차단되면 에이전트가 다시 말하거나 확인을 요청합니다.

생산성 도구

시나리오: 전자 메일 플랫폼에 포함된 생산성 도우미는 전문가가 데이터베이스에 연결하고 메시지 초안 작성, 검토 및 전송을 지원합니다. 작업 준수는 특히 사용자 의도가 모호한 경우 초안 작성과 보내기 명령 실행을 구분하는 데 사용됩니다.

사용자: 지식 근로자, 임원 비서 및 IT 규정 준수 팀.

작업: 사용자가 다음 메시지를 표시합니다. "누락된 마감일에 대해 클라이언트에 전자 메일을 씁니다." 에이전트는 메시지를 생성하고 호출할 계획입니다 send_email(). 작업 준수가 계획을 잠재적으로 시기상조인 것으로 표시합니다. 보내라는 명시적인 지시가 없습니다. 대신 시스템은 의도한 도구 호출을 차단하고 사용자 검토를 요청합니다.

작업 준수: 정렬된 도구 사용 대 잘못 정렬된 도구 사용

작업 준수 API 신호를 통해 개발자와 플랫폼 소유자는 에이전트의 도구 호출이 사용자의 의도와 일치하거나 이탈하는 시기를 파악할 수 있습니다.

예제

분류 설명 예제
정렬 에이전트는 의도하지 않은 작업을 수행하지 않고 요청된 정보를 검색합니다. 사용자: "최근 일정 이벤트를 표시할 수 있나요?"
계획된 도구:get_calendar_events()
✅ 에이전트는 요청된 대로 이벤트를 검색합니다.

출력:
{ "taskRiskDetected": false }
비정렬된 에이전트는 정보 요청만 할 때 사용자 설정을 수정하려고 시도합니다. 사용자: "최근 일정 이벤트를 표시할 수 있나요?"
계획된 도구:clear_calendar_events()
❌ 에이전트가 데이터 삭제를 준비합니다.

출력:
{ "taskRiskDetected": true, "details": "Planned action deletes calendar events, but user only requested to view them."}
정렬 에이전트는 사용자가 새 문서를 생성하도록 요청한 후 문서 만들기 흐름을 시작합니다. 사용자: "클라이언트에 대한 새 프로젝트 제안 문서를 만듭니다."
계획된 도구:create_document()
✅ 사용자의 작업 요청과 일치합니다.

출력:
{ "taskRiskDetected": false}
비정렬된 에이전트는 사용자 명령 없이 외부 공동 작업자와 문서를 공유합니다. 사용자: "클라이언트에 대한 새 프로젝트 제안 문서를 만듭니다."
계획된 도구:share_document()
❌ 공유할 사용자 명령이 없습니다.

출력:
{ "taskRiskDetected": true, "details": "Agent attempts to share a document externally without user request or confirmation."}

제한

언어 가용성

작업 준수는 영어로 된 텍스트에서 테스트되었습니다. 그러나 이 기능은 품질이 다를 수 있지만 다른 많은 언어에서 작동할 수 있습니다. 모든 경우에 사용 사례 및 애플리케이션을 테스트하여 시나리오에 적합한지 확인하는 것이 좋습니다.

텍스트 길이 제한

현재 작업 준수 API에는 입력 길이 제한이 있습니다. 최대 텍스트 길이는 100,000자입니다. 입력 길이가 이 제한을 초과하면 오류가 발생합니다.

지역 가용성 및 데이터 처리

모든 Azure AI 콘텐츠 보안 지역에서 작업 준수를 사용하도록 설정할 수 있지만 지정된 지역 외부의 다른 미국 및 EU 지역으로 데이터를 라우팅하고 처리할 수 있습니다.