AI 에이전트의 경우: 문서 인덱스는 https://www.mongodb.com/ko-kr/docs/llms.txt에서 사용할 수 있으며, 모든 페이지의 마크다운 버전은 어떤 URL 경로에 .md를 추가하여 사용할 수 있습니다.
See how MongoDB 9.0 delivers up to 2x higher throughput.
MongoDB Branding Shape
Register now >
Docs Menu

휴먼 인 더 루프(Human-in-the-Loop) 에이전트 실행

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은 다음 라이프사이클을 통해 실행을 이동합니다.

  1. 일시 중단: 에이전트 인적 검토 도구를 호출하여 실행 일시 중지합니다. 에이전트 샌드박스는 에이전트 상태 의 체크포인트 저장하고 suspended 상태를 오케스트레이션 엔진(OE)에 보고합니다.

  2. 알림: UI 가 일시 중지된 실행을 표시하고 검토자에게 알립니다. 일시 중단된 실행은 에이전트 중단 점 에서 제공한 컨텍스트를 전달합니다.

  3. 검토: 검토자는 표면화된 컨텍스트를 검사하고 승인 또는 거부와 같은 결정을 제출합니다. 결정은 API 게이트웨이를 통해 OE로 이동합니다.

  4. 재개: OE는 검토자의 결정에 따라 실행을 에이전트 샌드박스로 다시 보냅니다. 결정 결과는 에이전트 코드에 따라 달라집니다. 어느 쪽이든 에이전트 샌드박스는 체크포인트 에서 에이전트 를 복원하고 그래프 다시 실행합니다.

  5. 완료: 에이전트 나머지 작업을 완료한 후 OE는 실행을 completed로 표시합니다. 실행은 종료 상태에 도달하기 전에 여러 번 일시 중단되었다가 재개될 수 있습니다.

Atlas Agent Engine은 각 실행 API 응답의 status 필드 에서 현재 상태를 보고합니다. 사람의 검토 필요하지 않은 실행은 다음 상태로 이동합니다.

  • pending

  • running

  • completed or error

사람의 검토 위해 실행이 일시 중단되면 다음 상태로 이동합니다.

  • pending

  • running

  • suspended

  • resuming

  • completed or error

OE가 실행을 재개하면 일시 중단되기 전에 완료된 모든 단계에 대해 캐시된 결과가 반환됩니다. 에이전트 동일한 코드 경로를 다시 실행하지만 OE는 이전 단계를 다시 실행 대신 저장된 결과를 제공합니다. 검토 점 이후의 단계만 처음으로 실행 .

이 재생 보장은 중복 작업을 방지합니다. 예시 를 들어 에이전트 검토 위해 일시 중단되기 전에 이메일 보낸 경우, 재개된 실행은 해당 이메일 두 번째로 전송하지 않습니다.

에이전트 일시 중단되면 검토 대상을 설명하는 suspend_context 객체 제공합니다. 에이전트 중단 점 에서 이 객체 의 필드를 정의하므로 정확한 내용은 에이전트 마다 다릅니다. 예시 를 들어, 환불 승인 에이전트 요청된 조치 에 대한 클레임 ID 와 설명을 표시할 수 있습니다.

suspend_context 객체 리뷰어가 제출 수 있는 결정을 제한하는 allowed_decisions 목록이 포함될 수도 있습니다. 이 목록이 있고 비어 있지 않은 경우 OE는 목록에 없는 모든 결정을 거부합니다.

에이전트 일시 중단된 후 검토자는 일시 중단된 실행에 대한 결정을 제출합니다. 이 결정을 제출 하려면 다음 입력 사항을 제공합니다.

입력
필수 사항
설명

결정

예

일시 중단된 실행에 대한 검토자 결정(예: approve 또는 reject)입니다. 유효한 값은 고정된 설정하다 아닙니다. 에이전트 일시 중단되면 에이전트를 allowed_decisions 목록에서 선언하고, OE는 대소문자에 관계없이 해당 목록에 대해 결정의 유효성을 검사합니다.

검토자 노트

No

결정과 함께 제공되는 자유 형식 컨텍스트입니다.

다음 섹션에서는 이러한 입력을 제공할 수 있는 다양한 방법에 대해 설명합니다.

Atlas Agent Engine API, agentengine CLI 또는 Atlas Agent Engine UI 에서 일시 중단된 실행을 재개할 수 있습니다.

중요

일시 중단된 실행을 재개하려면 PROJECT_OWNER 역할 있어야 합니다.

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 오류 메시지를 반환하여 요청 거부합니다.

대화형 터미널에서 메시지 없이 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 에서 에이전트 호출을 참조하세요.

Atlas Agent Engine UI Pending Reviews 페이지에 일시 중지된 실행을 표시하며, 이 페이지에서 일시 중지된 실행을 검사하고 결정을 제출 수 있습니다. UI 에서 일시 중단된 실행을 재개하려면 다음 단계를 완료하세요.

1

Pending Reviews 페이지에는 검토 대기 중인 실행이 나열됩니다. 일시 중단된 실행이 없으면 보류 중인 리뷰가 없다는 메시지가 페이지에 표시됩니다.

2

Review Request 창 실행 ID, 실행이 제출된 시간, 원본 메시지, 일시 중단 이유, 에이전트 검토 위해 제공한 컨텍스트 등 일시 중단된 실행에 대한 세부 정보가 표시됩니다.

3

Decision 목록에서 결정을 선택합니다. 사용 가능한 결정은 일시 중단된 실행을 위해 에이전트 제공한 allowed_decisions 값에서 비롯됩니다.

4

Reviewer Notes 필드 에 결정에 대한 컨텍스트를 추가합니다. 이 단계는 선택 사항입니다.

5

Submit Decision를 클릭하여 결정한 내용을 실행으로 재개합니다.

실행 재개에 대해 자세히 학습 API 설명서를 참조하세요.

에이전트 호출에 대해 자세히 학습 에이전트 호출 가이드 참조하세요.