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."
}
| 이름 | 설명 | 유형 |
|---|---|---|
| 작업위험감지됨 | 입력에 대한 위험 검색 결과를 포함합니다. | 부울린 |
| 세부 정보 | 위험이 감지되면 추론을 반환합니다. | 문자열 |
true 이 taskRiskDetected 보다 작은 값은 감지된 위험을 나타내며, 이러한 상황에서는 도구 호출 요청을 차단하거나 인간 개입으로 에스컬레이션하는 등의 검토 및 조치를 취할 것을 권장합니다.
필수 구성 요소
Azure 계정입니다. 없는 경우 무료로 만들 수 있습니다. Azure AI 리소스입니다.
작업 준수 설정 및 사용
콘텐츠 안전 사용해 보기 페이지를 사용하려면 다음 단계를 수행합니다.
- Azure AI Foundry로 이동하여 프로젝트 또는 허브로 탐색합니다. 그런 다음 왼쪽 탐색에서 Guardrails + 컨트롤 탭을 선택하고 사용해 보기 탭을 선택합니다.
- 사용해 보기 페이지에서 조정 가능한 임계값을 사용하여 유해한 콘텐츠를 필터링하여 텍스트 및 이미지 콘텐츠와 같은 다양한 Guardrails 및 컨트롤 기능을 실험할 수 있습니다.
- 에이전트 워크플로로 이동하여 작업 준수를 선택합니다.
- 정렬되거나 잘못 정렬된 에이전트 도구 호출을 사용하여 예제 중 하나를 선택하거나 직접 만들어 작업 준수를 테스트할 수 있습니다.
- 테스트 실행을 선택합니다. 작업 준수는 각 샘플에 대한 위험 플래그를 반환하며, 위험이 감지되면 이유를 반환합니다.
사용자 시나리오
고객 지원
시나리오: 엔터프라이즈 플랫폼에 통합된 고객 지원 도우미를 사용하면 사용자가 데이터 사용량을 확인하고 문제를 해결하며 계정 설정을 관리할 수 있습니다. 정확한 자동화를 유지하기 위해 시스템은 백 엔드 도구 호출을 실행하기 전에 태스크 준수를 통합하여 에이전트 계획의 유효성을 검사합니다.
사용자: 최종 사용자, 지원 에이전트 및 고객 환경 팀.
작업: 사용자가 챗봇에 메시지를 표시합니다. "이번 달에 사용한 데이터의 양을 확인할 수 있나요?" 도우미는 도구를 호출할 계획입니다 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 지역으로 데이터를 라우팅하고 처리할 수 있습니다.