개요
HITL(Human-in-the-Loop) 실행을 통해 에이전트 실행 중간에 일시 중지하고 사람이 작업을 검토 할 때까지 기다렸다가 계속할 수 있습니다. 에이전트 에이전트 코드에 정의된 인적 검토 도구를 호출하면 실행을 일시 중단하고 검토자를 위해 컨텍스트를 표시하며 검토자가 결정을 제출한 후에만 다시 시작됩니다.
MongoDB Atlas Agent Engine에서 HITL은 실행 파이프라인 에 내장되어 있습니다. 일시 중단, 검토 및 재개 실행 파이프라인 수명 주기는 에이전트 Atlas Agent Engine API, agentengine CLI 또는 Atlas Agent Engine UI 에서 호출하는지 여부에 관계없이 적용됩니다. 이 가이드 HITL 수명 주기의 단계와 일시 중단된 실행에 대한 결정을 제출 방법을 설명합니다.
수명 주기 일시 중단, 검토 및 재개
에이전트 실행 중에 인적 검토 도구를 호출하면 인적 검토 에 들어갑니다. 인적 검토 활성화 하려면 LangGraph 어댑터의 interrupt() 함수를 사용하여 에이전트 코드에 이 도구를 추가합니다.
팁
interrupt() 함수에 대해 자세히 학습 LangGraph 문서를 참조하세요.
그런 다음 Atlas Agent Engine은 다음 라이프사이클을 통해 실행을 이동합니다.
일시 중단: 에이전트 인적 검토 도구를 호출하여 실행 일시 중지합니다. 에이전트 샌드박스는 에이전트 상태 의 체크포인트 저장하고
suspended상태를 오케스트레이션 엔진(OE)에 보고합니다.알림: UI 가 일시 중지된 실행을 표시하고 검토자에게 알립니다. 일시 중단된 실행은 에이전트 중단 점 에서 제공한 컨텍스트를 전달합니다.
검토: 검토자는 표면화된 컨텍스트를 검사하고 승인 또는 거부와 같은 결정을 제출합니다. 결정은 API 게이트웨이를 통해 OE로 이동합니다.
재개: OE는 검토자의 결정에 따라 실행을 에이전트 샌드박스로 다시 보냅니다. 결정 결과는 에이전트 코드에 따라 달라집니다. 어느 쪽이든 에이전트 샌드박스는 체크포인트 에서 에이전트 를 복원하고 그래프 다시 실행합니다.
완료: 에이전트 나머지 작업을 완료한 후 OE는 실행을
completed로 표시합니다. 실행은 종료 상태에 도달하기 전에 여러 번 일시 중단되었다가 재개될 수 있습니다.
실행 상태 수명 주기
Atlas Agent Engine은 각 실행 API 응답의 status 필드 에서 현재 상태를 보고합니다. 사람의 검토 필요하지 않은 실행은 다음 상태로 이동합니다.
pendingrunningcompletedorerror
사람의 검토 위해 실행이 일시 중단되면 다음 상태로 이동합니다.
pendingrunningsuspendedresumingcompletedorerror
재생 보장
OE가 실행을 재개하면 일시 중단되기 전에 완료된 모든 단계에 대해 캐시된 결과가 반환됩니다. 에이전트 동일한 코드 경로를 다시 실행하지만 OE는 이전 단계를 다시 실행 대신 저장된 결과를 제공합니다. 검토 점 이후의 단계만 처음으로 실행 .
이 재생 보장은 중복 작업을 방지합니다. 예시 를 들어 에이전트 검토 위해 일시 중단되기 전에 이메일 보낸 경우, 재개된 실행은 해당 이메일 두 번째로 전송하지 않습니다.
일시 중단 컨텍스트 검토
에이전트 일시 중단되면 검토 대상을 설명하는 suspend_context 객체 제공합니다. 에이전트 중단 점 에서 이 객체 의 필드를 정의하므로 정확한 내용은 에이전트 마다 다릅니다. 예시 를 들어, 환불 승인 에이전트 요청된 조치 에 대한 클레임 ID 와 설명을 표시할 수 있습니다.
suspend_context 객체 리뷰어가 제출 수 있는 결정을 제한하는 allowed_decisions 목록이 포함될 수도 있습니다. 이 목록이 있고 비어 있지 않은 경우 OE는 목록에 없는 모든 결정을 거부합니다.
검토자 결정
에이전트 일시 중단된 후 검토자는 일시 중단된 실행에 대한 결정을 제출합니다. 이 결정을 제출 하려면 다음 입력 사항을 제공합니다.
입력 | 필수 사항 | 설명 |
|---|---|---|
결정 | 예 | 일시 중단된 실행에 대한 검토자 결정(예: |
검토자 노트 | No | 결정과 함께 제공되는 자유 형식 컨텍스트입니다. |
다음 섹션에서는 이러한 입력을 제공할 수 있는 다양한 방법에 대해 설명합니다.
일시 중단된 실행 재개
Atlas Agent Engine API, agentengine CLI 또는 Atlas Agent Engine UI 에서 일시 중단된 실행을 재개할 수 있습니다.
중요
일시 중단된 실행을 재개하려면 PROJECT_OWNER 역할 있어야 합니다.
API 사용
API 사용하여 일시 중단된 실행을 재개하려면 /api/v1/projects/{project_id}/executions/{execution_id}/resume?workspace_id={workspace_id} API 엔드포인트에 POST 요청 보냅니다. 요청 본문에는 재개 요청 본문에 표시된 대로 검토자 결정이 포함됩니다. 실행 엔드포인트의 범위는 프로젝트 로 지정됩니다. 프로젝트 ID, 실행 ID, 작업 공간 ID 자리 표시자를 원하는 값으로 바꿉니다.
참고
Atlas Agent Engine은 일시 중단된 실행 기간 동안 사용자 지정 헤더를 유지하지 않습니다. 재개 요청 시 X-Mdb-Agent-Engine-Custom- 헤더를 재전송하지 않으면 에이전트 헤더를 수신하지 못합니다. 자세한 학습 은 사용자 지정 헤더 전달을 참조하세요.
선호하는 도구의 탭 선택하면 일시 중단된 실행을 재개하는 POST 요청 의 예시 를 볼 수 있습니다. 각 예시 의 X-Mdb-Agent-Engine-Custom-Authorization 헤더는 사용자 지정 헤더를 재전송하는 방법을 보여줍니다.
curl -X POST "https://agentengine.mongodb.com/api/v1/projects/$PROJECT_ID/executions/$EXECUTION_ID/resume?workspace_id=$WORKSPACE_ID" \ -H "Authorization: Bearer $API_KEY" \ -H "X-Mdb-Agent-Engine-Custom-Authorization: my-user-id" \ -H "Content-Type: application/json" \ -d '{"decision": "approve", "reviewer_notes": "optional context"}'
import httpx response = httpx.post( f"https://agentengine.mongodb.com/api/v1/projects/{project_id}/executions/{execution_id}/resume", params={"workspace_id": workspace_id}, headers={ "Authorization": f"Bearer {api_key}", "X-Mdb-Agent-Engine-Custom-Authorization": "my-user-id", "Content-Type": "application/json", }, json={"decision": "approve", "reviewer_notes": "optional context"}, )
재개 요청 본문
재개 요청 본문은 decision 필드 와 선택적 reviewer_notes 필드 포함하는 JSON 객체 입니다. 요청 본문은 다음 예시 와 유사합니다.
{"decision": "approve", "reviewer_notes": "approved after verifying customer identity"}
유효한 decision 값은 고정된 설정하다 가 아니라 에이전트 일시 중단될 때 선언하는 allowed_decisions 목록에서 가져옵니다. 전송한 결정이 해당 목록에 없는 경우 OE는 허용된 값이 포함된 400 오류 메시지를 반환합니다.
중요
API 게이트웨이는 앞의 예시 에 표시된 플랫 요청 본문만 허용합니다. human_review 객체 내에 결정을 중첩하는 경우 API 게이트웨이는 400 오류 메시지를 반환하여 요청 거부합니다.
CLI 사용
대화형 터미널에서 메시지 없이 agentengine invoke 명령을 실행 하면 CLI 스트리밍 채팅 세션을 시작합니다. 이 대화형 모드 에서는 에이전트 인적 검토 위해 호출을 일시 중단하면 CLI 자동으로 인라인 검토 프롬프트를 표시합니다.
CLI 에이전트 제공한 일시 중단 컨텍스트와 허용된 결정의 번호가 매겨진 목록을 출력합니다. CLI 출력은 다음 예시 와 유사합니다.
--- Execution suspended for human review --- claim_id: CLM-4821 task_description: Approve refund of $240 for order #98765 Select a decision: 1) approve 2) reject Select [1-2]:
결정을 선택한 후에는 다음 예시 와 같이 CLI 선택적 검토자 메모를 입력하라는 메시지가 표시됩니다.
Reviewer notes (optional): [default: ]
그런 다음 CLI 실행을 재개하고 Execution resumed.를 출력합니다. 세션이 열린 상태로 유지되며, 에이전트의 재개 후 출력을 조회 위해 후속 메시지를 보낼 수 있습니다.
참고
대화형 HITL 검토 대화형 모드 에서만 사용할 수 있습니다. --json 플래그, 파이프 stdin 연산자 또는 --file 플래그를 사용하는 경우에는 작동하지 않습니다.
agentengine invoke 명령에 대해 자세히 학습 CLI 에서 에이전트 호출을 참조하세요.
UI 사용
Atlas Agent Engine UI Pending Reviews 페이지에 일시 중지된 실행을 표시하며, 이 페이지에서 일시 중지된 실행을 검사하고 결정을 제출 수 있습니다. UI 에서 일시 중단된 실행을 재개하려면 다음 단계를 완료하세요.
자세히 알아보기
실행 재개에 대해 자세히 학습 API 설명서를 참조하세요.