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

에이전트 호출

이 가이드 에서는 MongoDB Atlas Agent Engine에 배포된 에이전트 호출하는 방법을 학습 수 있습니다. 이 가이드 호출 API 호출하고, CLI 에서 에이전트 호출하고, 에이전트 에 사용자 지정 헤더를 전달하고, 일시 중단된 실행을 다시 시작하는 방법을 보여 줍니다.

이러한 요청에 사용되는 API 키 또는 서비스 계정 자격 증명 생성하려면 API 키 및 서비스 계정 관리를 참조하세요.

호출 API 클라이언트가 배포된 에이전트 호출하는 데 사용하는 API 입니다. Atlas Agent Engine은 에이전트 를 대신하여 이러한 엔드포인트를 노출하므로 에이전트 코드에서 HTTP 경로를 정의하거나 웹 서버 시작할 필요가 없습니다.

에이전트 호출하려면 /api/v1/projects/{project_id}/workspaces/{workspace_id}/invoke API 엔드포인트에 POST 요청 보냅니다. 응답은 실행 결과와 실행 상태를 반환합니다. 플랫폼은 X-Session-ID 응답 헤더에서 세션 ID 반환합니다.

다음 curl 예시 이러한 자리 표시자를 사용합니다.

  • $API_KEY: Atlas Agent Engine API 키

  • $PROJECT_ID: 프로젝트 ID

  • $WORKSPACE_ID: 작업 공간 ID

샘플 호출 요청 보려면 원하는 언어 의 탭 선택하세요.

curl -s "https://agentengine.mongodb.com/api/v1/projects/$PROJECT_ID/workspaces/$WORKSPACE_ID/invoke" \
-X POST \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{"message": "Hello, agent!"}'
import httpx
response = httpx.post(
f"https://agentengine.mongodb.com/api/v1/projects/{project_id}/workspaces/{workspace_id}/invoke",
headers={"Authorization": f"Bearer {api_key}"},
json={"message": "Hello, agent!"},
timeout=60.0,
)
result = response.json()

응답은 다음 출력과 유사합니다.

{
"success": true,
"response": "<agent output>",
"execution_id": "string",
"status": "completed"
}

인적 검토 위해 실행이 일시 중단되는 경우 응답에는 suspend_reason 및 suspend_context 필드도 포함됩니다. 자세한 학습 은 휴먼인더루프(Human-in-the-Loop) 가이드 의 수명 주기 일시 중단, 검토 및 재개를 참조하세요.

에이전트의 출력이 생성될 때 스트림 하려면 /api/v1/projects/{project_id}/workspaces/{workspace_id}/invokeStream API 엔드포인트에 POST 요청 보냅니다. 플랫폼은 응답을 SSE(서버 전송 이벤트) 프레임 스트림 으로 반환합니다. 스트림 실행 완료되거나 실패할 때까지 연결을 열린 상태로 유지합니다.

각 SSE 프레임은 data: 접두사로 시작하며 단일 JSON 객체 포함합니다. 다음 예시 스트리밍 프레임의 형식을 보여줍니다.

data: {"chunk_type": "text", "content": "Hello, agent!", "metadata": {}, "execution_id": "string"}

프레임에는 다음 필드가 포함될 수 있습니다.

필드
설명

chunk_type

청크 의 유형을 식별합니다. 다음 섹션에는 가능한 값이 나열되어 있습니다.

content

청크 페이로드입니다. text 청크의 경우 이 필드 에이전트가 생성한 출력의 증분을 보유합니다.

metadata

청크 를 설명하는 구조화된 메타데이터 입니다.

execution_id

청크 를 생성한 실행을 식별합니다. 실행 ID 사용할 수 있는 경우 플랫폼에 이 필드 포함됩니다.

다음 표에서는 스트림 전달할 수 있는 청크 유형에 대해 설명합니다.

청크 유형
설명

text

에이전트가 생성한 출력의 증분입니다.

step

도구가 실행 중에 내보내는 진행률 업데이트 입니다.

subagent_start

하위 에이전트 실행의 시작을 표시합니다. 플랫폼은 가드레일이 비활성화된 경우에만 이 청크 방출합니다.

subagent_end

하위 에이전트 실행의 끝을 표시합니다. 플랫폼은 가드레일이 비활성화된 경우에만 이 청크 방출합니다.

done

실행 이 완료된 후 스트림 의 끝을 표시합니다.

error

실행 이 실패한 후 스트림 의 끝을 표시합니다. 프레임에는 오류 메시지도 포함됩니다.

실행 이 실패하면 스트림 오류 메시지가 포함된 error 청크 전송합니다. 그런 다음 스트림 닫힙니다.

agent.yaml 파일 에서 features.use_custom_parser 플래그를 true로 설정하다 스트림 에이전트의 출력 구문 분석기 또는 emit_custom_event() 호출이 생성하는 사용자 지정 이벤트만 전달합니다. 플랫폼은 각 사용자 지정 이벤트 단일 data: 프레임으로 전달하므로 프레임에는 에이전트 내보낸 JSON 객체 정확히 포함됩니다. 스트림 text, step 또는 done 프레임과 같은 표준 청크가 포함되지 않으며, 실행 이 완료되면 닫힙니다.

이 플랫폼은 invokeStream 엔드포인트에서만 사용자 지정 이벤트를 전달합니다. 동기식 invoke 엔드포인트는 대신 에이전트의 최종 출력을 반환합니다.

이 기능 플래그를 활성화하지 않으면 스트림 이 섹션의 앞부분에서 설명한 청크 형식을 사용합니다. 스트림 사용자 지정 이벤트를 전달하지 않으며, 에이전트 코드의 emit_custom_event() 호출로 인해 오류가 발생합니다.

Atlas Agent Engine은 실행 스트리밍 , 폴링, 재개 및 중지를 위해 다음과 같은 API 엔드포인트도 노출합니다.

메서드 및 경로
목적

POST /api/v1/projects/{project_id}/workspaces/{workspace_id}/invokeStream

Server-Sent Events 프로토콜 사용하여 에이전트의 출력이 생성될 때 증분식으로 스트리밍합니다.

GET /api/v1/projects/{project_id}/executions/{execution_id}?workspace_id={workspace_id}

실행 상태 및 결과를 폴링합니다.

POST /api/v1/projects/{project_id}/executions/{execution_id}/resume?workspace_id={workspace_id}

일시 중단된 실행을 재개합니다. 요청 본문은 검토자 결정을 전달합니다. 자세히 학습 휴먼인더루프(Human-in-the-Loop) 가이드 의 API 사용을 참조하세요.

POST /api/v1/projects/{project_id}/executions/{execution_id}/cancel?workspace_id={workspace_id}

진행 중인 실행을 취소하고 서버 측 작업을 중지하며 세션의 계산을 해제합니다. 자세히 학습 세션 취소를 참조하세요.

POST /api/v1/projects/{project_id}/executions/{execution_id}/interrupt?workspace_id={workspace_id}

세션을 종료하지 않고 진행 중인 도구 또는 LLM 호출을 중단합니다. 자세한 학습 은 도구 또는 LLM 호출 중단을 참조하세요.

모든 executions/** 엔드포인트에는 workspace_id 쿼리 매개변수가 필요합니다. 게이트웨이는 이 값을 사용하여 요청 소유 작업 공간의 오케스트레이션 엔진으로 라우팅합니다.

참고

이미 터미널 상태에 도달한 실행을 취소하거나 중단하는 것은 멱등 입니다. 요청 응답은 요청 변경되지 않았음을 보고합니다.

실행은 pending, running, completed 또는 error 상태를 차례로 이동합니다.

사람의 검토 위해 실행이 일시 중단되면 완료되기 전에 추가 상태를 거치게 됩니다. 일시 중단 및 재개 수명 주기에 대해 학습 휴먼 인 더 루프(Human-in-the-Loop) 가이드 의 수명 주기 일시 중단, 검토 및 재개를 참조하세요.

실행을 취소하면 cancelled 상태에 도달합니다. 이 상태는 completed 및 error와 구별되므로 API 및 UI 클라이언트는 의도적으로 중지된 실행과 완료되거나 실패한 실행을 구분할 수 있습니다. 자세히 학습 세션 취소를 참조하세요.

Atlas Agent Engine은 에이전트 배포를 자동으로 확장하지 않습니다. agent.yaml 파일 의 scaling.replicas 필드 고정된 샌드박스 수를 설정하며, 각 세션은 수명 동안 하나 에이전트 샌드박스와 하나의 도구 샌드박스를 예약합니다. 결과적으로 이 필드 배포서버 동시에 제공 할 수 있는 세션 수를 설정합니다.

scaling.replicas 필드 1부터 512까지의 값을 허용하며, 이를 생략하면 기본값은 4입니다. 모든 샌드박스가 예약되면 새 호출 요청 pool full 오류와 함께 실패합니다.

512 동시 샌드박스 제한은 프로젝트 로 범위가 지정되고 둘 이상의 에이전트 제공 할 수 있는 오케스트레이션 엔진에 적용됩니다. 프로젝트 에 있는 모든 에이전트의 scaling.replicas 값은 동일한 상한에 포함됩니다. 프로젝트 한 개에서 허용하는 것보다 더 많은 샌드박스를 실행 하려면 에이전트를 여러 프로젝트에 분산하세요.

호출 요청이 풀을 소진시키지 않도록 하려면 요청 간에 세션 ID를 재사용합니다. 세션 ID 주식 요청은 하나의 예약을 재사용하지만 세션 ID 생략하는 요청은 새 샌드박스 쌍을 사용합니다. 세션 ID 1 ~ 128자여야 하며 문자, 숫자, 밑줄(_) 및 하이픈(-)을 포함할 수 있습니다. agentengine invoke 명령의 --session 옵션 또는 API 요청 의 X-Session-ID 헤더에 세션 ID 전달합니다.

호출 요청에 세션별 격리 필요한 경우 세션 ID 재사용할 수 없습니다. 동시에 더 많은 세션을 제공 하려면 scaling.replicas 값을 늘리거나 scaling.agent_idle_ttl_seconds 및 scaling.tool_idle_ttl_seconds 값을 줄여 유휴 세션이 샌드박스를 더 빨리 출시하다 합니다.

Atlas Agent Engine은 빌드 시 scaling 값을 스냅샷하므로 변경 사항을 적용하려면 에이전트 다시 빌드 하고 배포 해야 합니다. 이러한 필드에 대해 자세히 학습 에이전트 계약 참조를 확인하세요. 공개 미리 보기 중에 적용 모든 제한 사항을 검토 하려면 MongoDB Atlas Agent 엔진 제한 사항을 참조하세요.

이 섹션에서는 사용자 ID와 같은 사용자 지정 HTTP headers 애플리케이션 에서 Atlas Agent Engine에서 실행 에이전트 로 전달하는 방법을 학습 수 있습니다. 그러면 에이전트 get_current_custom_headers() 메서드를 사용하여 런타임에 해당 헤더를 읽을 수 있습니다.

호출 또는 재개 요청 에서 API 게이트웨이는 다음 단계를 수행하여 접두사가 X-Mdb-Agent-Engine-Custom-인 HTTP headers 처리합니다.

  1. API 게이트웨이가 헤더를 추출합니다.

  2. 게이트웨이는 접두사를 제거하고 헤더 이름을 소문자로 만듭니다. 예시 들어 X-Mdb-Agent-Engine-Custom-Authorization은 authorization이(가) 됩니다.

  3. 게이트웨이는 헤더를 에이전트 에 딕셔너리로 전달합니다.

헤더는 실행 파이프라인 통해 메모리 내로 전달되고, 데이터베이스 에 저장되지 않으며, 실행이 완료되면 파이프라인 에서 삭제됩니다.

참고

Atlas Agent 엔진은 사용자 지정 헤더를 유지하지 않습니다. 애플리케이션 은 재개 요청을 포함하여 모든 요청 시 이를 다시 보내야 합니다.

다음 표에는 사용자 지정 헤더에 대한 제한이 나와 있습니다.

Limit
값

최대 사용자 지정 헤더 수

50

헤더당 최대 크기

8 KiB

호출 요청 에 X-Mdb-Agent-Engine-Custom- 접두사가 붙은 헤더를 추가합니다. API Gateway는 에이전트 를 받기 전에 접두사를 제거합니다.

다음 예제에서는 호출 API 예제와 동일한 자리 표시자를 사용합니다. 또한 전달하려는 사용자 지정 헤더에 대한 자리 표시자를 사용합니다.

원하는 언어 의 탭 선택하면 사용자 지정 헤더가 포함된 호출 요청 예시 를 볼 수 있습니다.

curl -s "https://agentengine.mongodb.com/api/v1/projects/$PROJECT_ID/workspaces/$WORKSPACE_ID/invoke" \
-X POST \
-H "Authorization: Bearer $API_KEY" \
-H "X-Mdb-Agent-Engine-Custom-Authorization: my-user-id" \
-H "X-Mdb-Agent-Engine-Custom-Tenant-Id: acme-corp" \
-H "Content-Type: application/json" \
-d '{"message": "Hello, agent!"}'
import httpx
response = httpx.post(
f"https://agentengine.mongodb.com/api/v1/projects/{project_id}/workspaces/{workspace_id}/invoke",
headers={
"Authorization": f"Bearer {api_key}",
"X-Mdb-Agent-Engine-Custom-Authorization": "my-user-id",
"X-Mdb-Agent-Engine-Custom-Tenant-Id": "acme-corp",
},
json={"message": "Hello, agent!"},
)

앞의 코드를 실행 하면 에이전트 다음 사전을 수신합니다.

{"authorization": "my-user-id", "tenant-id": "acme-corp"}

도구 내에서 agent_engine_runner_shared의 get_current_custom_headers() 메서드를 사용하여 API 게이트웨이가 에이전트 에 전달한 헤더에 액세스 합니다. 다음 Python 코드는 get_current_custom_headers()를 사용하여 전달된 헤더에 액세스 방법을 보여줍니다.

from agent_engine_sdk_langgraph import App
from agent_engine_runner_shared import get_current_custom_headers
app = App(app_name="My Agent")
@app.tool(is_local=True)
def call_external_api(query: str) -> str:
"""Call an external API using the caller's user ID."""
headers = get_current_custom_headers()
user_id = headers.get("authorization", "")
tenant = headers.get("tenant-id", "")
response = httpx.get(
"https://api.example.com/data",
headers={"Authorization": user_id, "X-Tenant-Id": tenant},
params={"q": query},
)
return response.text

get_current_custom_headers() 메서드는 dict[str, str]을 반환합니다. 게이트웨이가 사용자 지정 헤더를 보내지 않은 경우 메서드는 빈 사전을 반환합니다.

사용자 지정 헤더 전달은 재개 요청에서도 작동합니다. Atlas Agent Engine은 사용자 지정 헤더를 유지하지 않으므로 일시 중단된 실행을 재개할 때 동일한 X-Mdb-Agent-Engine-Custom- 헤더를 다시 보내야 합니다. 사용자 지정 헤더를 전달하는 재개 요청 의 예시 는 휴먼인더루프(Human-in-the-Loop) 가이드 의 API 사용을 참조하세요.

클라이언트 의 요청 취소하면 해당 쪽의 연결만 닫힙니다. Atlas Agent Engine을 통해 중지할 때까지 서버 에서 실행이 계속 실행 .

Atlas Agent Engine은 다음과 같은 방법으로 이미 실행 작업을 중지할 수 있습니다.

진행 중인 실행을 취소하려면 /api/v1/projects/{project_id}/executions/{execution_id}/cancel 엔드포인트에 POST 요청 보내고 workspace_id 쿼리 매개변수를 설정하다 . 요청 에는 본문이 필요하지 않습니다.

원하는 언어 의 탭 선택하여 실행 취소의 예시 확인하세요.

curl -X POST "https://agentengine.mongodb.com/api/v1/projects/$PROJECT_ID/executions/$EXECUTION_ID/cancel?workspace_id=$WORKSPACE_ID" \
-H "Authorization: Bearer $API_KEY"
import httpx
response = httpx.post(
f"https://agentengine.mongodb.com/api/v1/projects/{project_id}/executions/{execution_id}/cancel",
params={"workspace_id": workspace_id},
headers={"Authorization": f"Bearer {api_key}"},
)

응답은 다음 출력과 유사합니다.

{
"execution_id": "string",
"cancelled": true,
"status": "cancelled"
}

cancelled 필드 이 요청 실행 상태를 cancelled로 설정하다 여부를 보고합니다. 필드 값은 cancelled 실행의 경우 true이고, 요청 이전 요청 의 cancelled를 포함하여 이미 터미널 상태에 도달했기 때문에 실행을 전환하지 않은 경우에는 false입니다. 필드 값이 false인 경우 status 필드 대신 기록된 터미널 상태를 보고합니다.

실행을 취소하면 Atlas Agent Engine이 다음을 수행합니다.

  • 진행 중인 도구 또는 LLM 호출을 취소하고 세션의 에이전트 샌드박스 및 도구 샌드박스를 해체한 다음 용량 슬롯을 해제합니다. 새 실행은 슬롯을 재사용할 수 있습니다.

  • 대상 실행의 하위 항목인 딥 에이전트 및 에이전트 간 실행을 포함하여 동일한 세션에서 다른 모든 실시간 실행을 취소합니다.

  • 시간이 초과될 때까지 스트림 열린 상태로 두는 대신 열린 응답 스트림 종료합니다.

  • 취소할 때까지 세션이 발생한 런타임을 청구합니다.

참고

취소된 실행은 재개할 수 없습니다. 에이전트 에 다른 메시지를 보내려면 에이전트 를 다시 호출합니다. 요청 취소된 실행을 재개하는 대신 새 실행을 시작합니다.

cancel API 엔드포인트를 호출하는 대신 플레이그라운드 UI 에서 실행 중지할 수도 있습니다. 플레이그라운드에서 실행 중지하면 세션을 취소하는 것과 동일한 효과가 있습니다. 자세히 학습 세션 취소를 참조하세요.

플레이그라운드에서 실행 중지하려면 다음 단계를 수행하세요.

1

배포서버 위한 플레이그라운드 UI URL 로 고 (Go) .

2

실행 이 진행되는 동안 채팅 표시줄의 빨간색 중지 버튼을 클릭하여 확인 대화 상자를 엽니다.

3

대화 상자에서 Stop run을 클릭합니다. 이렇게 하면 실행 이 중지되고 세션의 컴퓨팅 리소스가 해제됩니다.

도구 또는 LLM 호출을 중단하면 해당 호출만 중지됩니다. 세션은 활성 상태로 유지되고 에이전트 중단된 결과에 따라 계속 실행 됩니다. 단일 통화가 중단되었거나 원치 않는 경우 전체 세션을 취소하고 싶지 않은 경우 통화를 중단합니다.

호출을 중단하려면 /api/v1/projects/{project_id}/executions/{execution_id}/interrupt API 엔드포인트에 POST 요청 보냅니다. 요청 다음 매개변수를 사용합니다.

Parameter
유형
필수 사항
설명

workspace_id

쿼리 매개변수

예

실행을 소유하는 작업 공간입니다. Atlas Agent Engine은 이 값을 사용하여 중단 요청 해당 작업 공간의 오케스트레이션 엔진으로 라우팅합니다. 이 매개변수를 생략하면 400 오류 메시지와 함께 요청 이 실패합니다.

step_number

본문 필드

No

중단할 단일 호출의 실행 단계입니다. 이 필드 생략하면 Atlas Agent Engine이 진행 중인 모든 통화를 중단합니다.

도구 또는 LLM 호출을 중단하는 예시 를 보려면 원하는 언어 의 탭 선택합니다.

curl -X POST "https://agentengine.mongodb.com/api/v1/projects/$PROJECT_ID/executions/$EXECUTION_ID/interrupt?workspace_id=$WORKSPACE_ID" \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{"step_number": 12}'
import httpx
response = httpx.post(
f"https://agentengine.mongodb.com/api/v1/projects/{project_id}/executions/{execution_id}/interrupt",
params={"workspace_id": workspace_id},
headers={"Authorization": f"Bearer {api_key}"},
json={"step_number": 12},
)

응답은 다음 출력과 유사합니다.

{
"execution_id": "string",
"interrupted": true,
"interrupted_steps": [ 12 ],
"pending": false,
"outcome": "aborted"
}

outcome 필드 중단 요청 의 결과를 설명하고 다음 값 중 하나를 반환합니다.

값
설명

aborted

Atlas Agent 엔진이 진행 중인 호출을 중지했습니다. interrupted_steps 필드 중지된 단계가 나열됩니다.

armed

진행 중인 호출이 없었으므로 Atlas Agent Engine은 실행의 다음 도구 또는 LLM 호출에 중단 요청 적용합니다. pending 필드 true입니다.

already_armed

만료되지 않은 준비된 인터럽트 요청 이미 존재합니다. Atlas Agent 엔진이 만료를 연장하지 않았습니다.

noop_terminal

실행이 이미 종료 상태에 도달했습니다.

noop

입력한 step_number 값이 진행 중인 호출과 일치하지 않습니다. Atlas Agent 엔진은 중단 요청 준비하지 않습니다.

호출 중단은 멱등 이며 실행 상태를 변경하지 않습니다. 단계의 모든 통화를 중단하면 에이전트 통화를 다시 시도하는 대신 해당 차례를 종료합니다. 단계에서 일부 통화만 중단해도 에이전트 정상적으로 계속됩니다.

참고

Atlas Agent Engine은 LLM 호출 또는 네트워크 도구 호출과 같은 I/O 바인딩 호출을 중단할 수 있습니다. 그러나 CPU 바인딩된 로컬 계산을 실행하는 도구는 완료될 때까지 중지되지 않을 수 있습니다.

세션은 유휴 시간 제한이 만료될 때까지 에이전트 샌드박스 및 도구 샌드박스를 유지합니다. 세션을 완료로 표시하면 에이전트 시간 초과를 기다리지 않고 해당 계산을 즉시 출시하다 할 수 있습니다.

원하는 언어 의 탭 선택하면 에이전트 에서 세션을 완료로 표시하는 예시 볼 수 있습니다.

status = app.finish_session()
const status = app.finishSession();

현재 차례는 계속 실행 되고 결과를 반환합니다. 턴이 완료되면 Atlas Agent Engine이 모든 라이브 하위 에이전트 실행을 취소하고 세션의 파드를 해제합니다.

이 메서드는 다음 값 중 하나를 반환합니다.

Python
TypeScript
설명

REQUESTED

requested

Atlas Agent Engine이 요청 수락했습니다.

ALREADY_REQUESTED

already_requested

에이전트 이미 Atlas Agent Engine에 이 세션을 완료하도록 요청했습니다.

UNAVAILABLE

unavailable

완료할 세션이 없습니다. 이 메서드는 로컬 스크립트 나 도구 샌드박스와 같이 에이전트 실행 외부에서 호출하거나 턴이 종료된 후에 이 값을 반환합니다.

완료해야 할 세션이 없을 때 메서드는 오류를 발생시키거나 예외를 발생시키지 않습니다.

인적 검토 위해 일시 중단되거나 실패한 턴은 재개하고 진단할 수 있도록 리소스를 유지합니다. 해당 세션은 유휴 시간 제한으로 돌아갑니다. 유휴 시간 제한에 대해 자세히 학습 풀 전체 오류를 참조하세요.

agentengine invoke 명령은 HTTP 클라이언트 코드를 작성하지 않고 터미널에서 배포된 에이전트 호출합니다. 기본값 으로 현재 디렉토리의 .agentengine/state.json 파일 에서 작업 공간을 읽습니다.

대화형 터미널에서 메시지 없이 명령을 실행 하면 스트리밍 채팅 세션이 시작되고 반환된 세션 ID 여러 차례 재사용합니다. 이 대화형 모드 에서 에이전트 HITL(Human-in-the-Loop) 검토 호출을 일시 중단하면 CLI 자동으로 인라인 검토 프롬프트를 표시합니다.

agentengine invoke [message] [flags]
agentengine invoke --file <path> [flags]

다음 표에서는 사용 가능한 플래그에 대해 설명합니다.

플래그
설명

--stream

응답 청크가 도착하면 스트리밍합니다. 플랫폼이 스트리밍 출력의 형식을 지정하는 방법을 학습 보려면 에이전트 출력 스트리밍을 참조하세요.

--session <id>

재개하거나 턴에 걸쳐 재사용할 대화 세션 ID .

--user-id <id>

배포된 에이전트 에 전달할 사용자 ID 입니다. 서비스 계정 호출자는 서비스 계정 메모리 ID 참고 사항에 설명된 대로 이 플래그를 사용하여 다른 사용자 역할을 할 수 없습니다.

--file <path>

위치 인수 대신 파일 에서 메시지를 읽습니다.

--payload <json>

메시지와 함께 에이전트 에 전달된 JSON 메타데이터 객체 . 유효한 JSON 객체 지정해야 합니다. 이 플래그는 --file 또는 위치 메시지 인수와 결합할 수 있습니다.

--resume <json>

일시 중단된 세션을 계속하기 위한 JSON resume_map. --session가 필요합니다. 이 플래그는 위치 메시지, --file 및 stdin 입력과 상호 배타적입니다.

--json

세션 ID 및 스트리밍 청크를 포함한 원시 JSON 출력합니다.

--workspace

(Monorepo에만 해당) 특정 작업 공간을 이름으로 호출합니다.

--workspace-id <id>

로컬 작업 공간 확인을 우회하는 플랫폼 작업 공간 ID 입니다.

--project-id <id>

플랫폼 프로젝트 ID.

--org-id <id>

조직 ID.

--base-url <url>

플랫폼 API 기본 URL.

--context <name>

.agentengine/state.json의 명명된 로컬 컨텍스트입니다. 이는 --workspace-id, --project-id, --org-id 또는 --base-url와 결합할 수 없습니다.

--timeout <duration>

각 호출 요청 기다리는 최대 시간입니다. 기본값 은 10m입니다.

중요

서비스 계정 메모리 ID

서비스 계정이 배포된 에이전트 호출하면 Atlas Agent Engine은 서비스 계정의 자체 ID를 런타임 메모리 ID로 사용합니다. 플랫폼은 호출 요청 또는 agentengine invoke --user-id 플래그가 제공하는 모든 최종 사용자 user_id 값을 무시합니다.

자동 회전 기록, 추출, 통합 및 app.memory 작업은 이 확인된 ID를 사용합니다. 결과적으로 동일한 서비스 계정을 통해 인증하는 호출은 하나의 메모리 사용자 범위를 주식 .

이 제한은 서비스 계정이 호출하는 배포된 에이전트에만 적용됩니다. 독립형 프로젝트 범위 메모리 서비스는 영향을 받지 않습니다. 이 서비스는 호출자로부터 명시적인 user_id 및 session_id 값을 계속 받습니다.

최종 사용자별로 메모리를 격리하려면 애플리케이션 에서 독립형 메모리 서비스를 호출하고 각 호출에 명시적인 user_id 및 session_id 값을 전달합니다. 자세한 학습 은 독립형 메모리 서비스 사용을 참조하세요.

다음 명령은 단일 메시지로 에이전트 호출합니다.

agentengine invoke "What can you do?"

다음 명령은 에이전트의 응답이 생성될 때 스트리밍합니다.

agentengine invoke --stream "Draft a release note"

다음 명령은 명명된 세션을 재개하거나 계속합니다.

agentengine invoke --session my-session "Follow up question"

다음 명령은 파일 에서 메시지를 읽고 원시 JSON 출력합니다.

cat prompt.txt | agentengine invoke --json

대화형 모드 에서 agentengine invoke를 실행 때 다음 명령 중 하나를 사용하여 턴 사이에 페이로드를 관리 할 수 있습니다.

입력
행동

/payload <json>

현재 페이로드를 지정된 JSON 객체 로 설정합니다. CLI 사용자가 삭제할 때까지 각 후속 메시지와 함께 페이로드를 전달합니다.

/payload

현재 페이로드를 형식이 지정된 JSON 으로 표시하거나, 페이로드가 설정하다 되지 않은 경우 (no payload set)를 출력합니다.

/payload clear

현재 페이로드를 지웁니다.

에이전트 대화 모드 에서 HITL(Human-in-the-Loop) 검토 위해 일시 중단되면 CLI 일시 중단 컨텍스트를 출력하고 인라인으로 결정을 묻는 메시지를 표시합니다. CLI 검토 프롬프트를 표시하는 방법과 실행을 다시 시작하는 방법을 학습 휴먼인더루프(Human-in-the-Loop) 가이드 의 CLI 사용을 참조하세요.

에이전트 호출한 후 에이전트의 성능 및 활동을 모니터 할 수 있습니다. 자세한 학습 은 모니터 가이드 참조하세요.