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에서 에이전트 실행 위한 최소 요구 사항에 대해 학습 수 있습니다. 이 가이드 에서는 Atlas Agent Engine이 에이전트, agent.yaml 스키마 , 호환되는 프레임워크 및 LLM 제공자를 검색하고 실행 데 필요한 파일을 다룹니다.

에이전트는 자체 HTTP 엔드포인트를 구현 하지 않습니다. Atlas Agent Engine은 에이전트 샌드박스와 동일한 프로세스 내에서 에이전트 가져옵니다.

최소 배포 가능 에이전트 두 개의 파일로 구성됩니다.

  • my_agent/main.py: App 객체 와 그래프 정의합니다.

  • agent.yaml: my_agent/main.py에 정의된 App 객체 가리킵니다.

다음 예시 my-agent라는 App 객체 정의하고 에이전트 그래프 를 빌드하는 최소한의 main.py 파일 보여줍니다.

my_agent/main.py
from agent_engine_sdk_langgraph import App
from langgraph.graph import StateGraph, MessagesState
from langgraph.prebuilt import ToolNode
from langchain_openai import ChatOpenAI
app = App(app_name="my-agent")
@app.tool()
def lookup(query: str) -> str:
"""Search the knowledge base."""
return f"result for {query}"
@app.entrypoint
def build_agent():
llm = app.llm(ChatOpenAI(model="gpt-4o-mini"))
tools = app.get_tools()
def call_model(state: MessagesState):
return {"messages": [llm.invoke(state["messages"])]}
graph = StateGraph(MessagesState)
graph.add_node("agent", call_model)
graph.add_node("tools", ToolNode(tools))
graph.set_entry_point("agent")
graph.add_edge("tools", "agent")
return graph.compile(checkpointer=app.checkpointer())
app.run()

다음 예시 최소한의 agent.yaml 파일 보여줍니다.

agent.yaml
entrypoint: my_agent.main:app

main.py 파일 에서 다음 구성 요소를 실행해야 합니다.

  • 모듈 수준에서 App 객체 정의하며, 일반적으로 이름은 app입니다.

  • @app.entrypoint 함수를 사용하여 앱 에 진입점을 등록합니다.

  • @app.tool(...) 함수로 도구를 등록합니다.

  • 모듈 하단에서 app.run() 함수를 호출합니다.

agent.yaml 파일 에서 <module.path>:<attribute> 형식을 사용하여 entrypoint YAML 키를 App 객체 로 설정하다 해야 합니다.

다음 가이드라인에 따라 에이전트 감사 로깅, 정책 시행, 에이전트 실행 일시 중단 또는 재개와 같은 플랫폼 기능과 함께 올바르게 작동하는지 확인하세요.

  • app.tool(...)및 app.llm(...) 함수를 통해 도구 및 LLM 호출을 라우팅합니다.

    Atlas Agent Engine은 일시 중단된 실행을 재개할 때 감사 로깅, 정책 시행, 재생 도구 및 LLM 호출에 이러한 래퍼를 사용합니다. 이러한 래퍼 외부에서 이루어진 호출은 Atlas Agent Engine에 의해 감사되지 않으며 실행을 재개한 후 올바르게 재생되지 않습니다.

  • 그래프 상태 를 JSON/ BSON-serializable로 유지합니다.

    에이전트 샌드박스는 일시적이므로 Atlas Agent Engine은 일시 중단과 재개 작업 사이에 체크포인트 상태를 MongoDB 에 저장합니다. 체크포인트 성공하려면 그래프 상태 의 모든 값(예: 프리미티브, 목록, 딕셔너리, datetime, Enum 및 LangChain BaseMessage 하위 클래스)이 JSON 또는 BSON 으로 직렬화 가능해야 합니다. 직렬화 지원 없는 그래프 상태 에 Lambda, 클로저, 파일 핸들, 데이터베이스 연결 또는 사용자 지정 클래스를 저장 하지 마세요.

  • 다음을 호출합니다. app.llm(...) 진입점이 호출 스택 에 있는 동안에만 함수를 사용할 수 있습니다.

    모듈 최상위 코드, 도구 본문 또는 엔트리포인트가 호출하지 않는 기타 함수에서 app.llm(...)을(를) 호출하면 Atlas Agent Engine이 잘못된 호출이 있는 파일 과 줄을 식별하는 오류를 생성합니다.자세한 학습 은 실행 수명 주기를 참조하세요.

Atlas Agent Engine은 다음 프로세스 수명 주기의 정의된 지점에서 에이전트 코드를 로드하고 실행합니다.

  • Agent Sandbox는 에이전트 코드를 실행하고 그래프 빌드합니다.

  • 도구 샌드박스는 에이전트 샌드박스와 별도의 프로세스 에서 원격 도구 본문을 실행합니다.

참고

이 실행 수명 주기는 Python 및 TypeScript SDK에서 동일합니다.

이 섹션에서는 에이전트 코드의 개별 부분이 각 프로세스 에서 실행 경우를 설명하고 다음 용어를 사용합니다.

  • 모듈 최상위 코드는 가져오기 시 함수 본문 외부에서 실행되는 에이전트의 소스 파일에 있는 코드입니다.

  • 진입점은 @app.entrypoint로 장식하는 함수입니다.

  • 로컬 도구는 에이전트 샌드박스의 자체 프로세스 내에서만 실행됩니다. 기본값 으로 @app.tool() 데코레이터로 등록하는 모든 도구는 로컬 도구입니다.

  • 원격 도구는 agent.yaml 파일 의 sandboxes.tool.tools 필드 에 도구 샌드박스를 나열하여 할당하는 도구입니다. 에이전트 샌드박스는 원격 도구를 해석하지만 원격 도구 본문은 도구 샌드박스에서 실행 .

에이전트 샌드박스 프로세스와 도구 샌드박스 프로세스 모두에서 Atlas Agent Engine은 스타트업 시 다음 작업을 수행합니다.

  • 에이전트의 소스 파일을 로드합니다.

  • 모듈의 최상위 코드를 실행합니다.

플랫폼은 스타트업 시 다음 조치를 수행하지 않습니다.

  • 진입점을 실행합니다.

  • 도구 본문을 실행합니다. Atlas Agent Engine은 도구 정의를 해석하여 서명을 등록하지만 실행 하지는 않습니다.

모듈 최상위 코드는 MONGODB_URI 및 MCP OAuth 자격 증명 과 같은 프로세스 전체의 시크릿 액세스 할 수 있는데, 이러한 값은 프로세스 의 수명 동안 사용할 수 있기 때문입니다. Atlas Agent Engine은 샌드박스가 시작될 때 LLM API 키를 포함하여 샌드박스에 대해 선언하는 비밀도 설정합니다. 결과적으로 샌드박스의 모듈 최상위 코드는 해당 샌드박스의 비밀에 액세스 할 수 있습니다.

에이전트 샌드박스에서 Atlas Agent Engine은 호출 중에 다음 조치를 수행합니다.

  • 진입점을 한 번 실행합니다.

  • 에이전트 샌드박스의 자체 프로세스 에서 로컬 도구 본문을 실행합니다.

플랫폼은 에이전트 샌드박스 호출 중에 다음 작업을 수행하지 않습니다.

  • 원격 도구 본문을 실행합니다. 에이전트 샌드박스가 이를 해석한 다음 호출을 도구 샌드박스에 전달합니다.

도구 샌드박스에서 Atlas Agent Engine은 호출 중에 다음 조치를 수행합니다.

  • 첫 번째 invoke_llm 호출에 의해 트리거되며, 샌드박스 수명당 정확히 한 번씩 진입점을 느리게 로드합니다. 이 로딩은 app.llm(...) 등록만 검색합니다.

  • 원격 도구 본문을 해석한 다음 오케스트레이션 엔진이 도구 호출을 샌드박스로 라우팅할 때 필요에 따라 실행합니다.

Atlas Agent Engine은 도구 샌드박스 호출 중에 다음 작업을 수행하지 않습니다.

  • 그래프 실행합니다.

  • 로컬 도구 본문을 실행합니다.

Atlas Agent Engine은 sandboxes.tool.secrets 필드 에서 선언한 시크릿을 도구 샌드박스의 환경 변수로 전달합니다. 도구 샌드박스에서 실행되는 모든 원격 도구 본문은 이러한 환경 변수를 읽을 수 있습니다. 샌드박스가 도구 간에 비밀을 주식 방법에 대해 자세히 학습 MongoDB Atlas 에이전트 엔진 제한을 참조하세요.

다음 표에는 각 실행 프로세스 및 단계에서 코드의 각 부분이 실행되는 시점이 요약되어 있습니다.

단계
프로세스
최상위 코드
진입점
원격 도구 본체
로컬 도구 본문

시작

Agent Sandbox

실행

실행되지 않음

해석 전용

해석 전용

시작

도구 샌드박스

실행

실행되지 않음

해석 전용

해석 전용

호출당

Agent Sandbox

실행되지 않음

한 번 실행됨

해석, 도구 샌드박스로 전달

실행

첫 번째 invoke_llm 호출

도구 샌드박스

실행되지 않음

한 번 실행하여 app.llm(...) 호출을 등록합니다.

실행되지 않음

실행되지 않음

도구 호출당

도구 샌드박스

실행되지 않음

실행되지 않음

온디맨드 실행

실행되지 않음

agent.yaml 파일 Atlas Agent Engine이 에이전트 검색하고 실행하는 방법을 구성합니다. 두 가지 형식, 즉 하나의 에이전트 포함된 리포지토리를 위한 단일 에이전트 매니페스트와 여러 에이전트가 포함된 리포지토리를 위한 단일 리포지토리 매니페스트의 두 가지 형식을 지원합니다.

다음 표에서는 단일 에이전트 agent.yaml 파일 에 사용할 수 있는 필드에 대해 설명합니다. Required 열은 최소 agent.yaml 파일 에 필드 필요한지 여부를 나타냅니다.

필드
유형
필수 사항
설명 및 제한 사항

entrypoint

문자열

네

module.path:attribute 형식의 모듈 경로 및 속성입니다. 왼쪽이 점으로 구분된 모듈 경로이고 오른쪽이 속성 이름인 정규식 패턴 ^[\w.]+:[\w]+$과 일치해야 합니다.

name

문자열

no

에이전트 의 이름입니다. 소문자 영숫자 및 하이픈 문자만 포함해야 합니다. 선행 또는 후행 하이픈이 없습니다.

description

문자열

no

에이전트 에 대한 설명입니다. 최대 500자

agent_card.summary

문자열

no

에이전트의 목적에 대한 요약입니다. UI 에 표시됩니다.

agent_card.capabilities

list[string]

no

에이전트 수행할 수 있는 작업을 설명하는 레이블입니다. UI 에 표시됩니다.

features.guardrails

부울

no

true인 경우, 가드레일 통합을 활성화합니다.

features.memory

부울

no

true인 경우, 메모리 서버 별도의 서비스로 시작합니다. 에이전트는 app.memory 클라이언트 통해 메모리에 액세스 . VOYAGE_API_KEY 를 설정하다 해야 합니다.

features.deep_agent

부울

no

true인 경우, 딥 에이전트 팩토리 메서드를 활성화합니다. app.deep_agent() 또는 app.deepAgent()를 호출하는 그래프 이 필드 설정하다 해야 하며, 그렇지 않으면 메서드가 빌드 시 오류를 발생시킵니다. 자세한 학습 은 딥 에이전트 빌드를 참조하세요.

features.playground

부울

no

false인 경우, Atlas Agent Engine은 에이전트 에 대한 플레이그라운드 UI 프로비저닝하지 않습니다. 대화형 출력을 생성하지 않는 에이전트에 대해 이 필드 사용하여 미리 보고 대신 API 사용하여 호출합니다. 기본값은 true입니다.

features.use_custom_parser

부울

no

true인 경우 사용자 지정 스트림 출력을 활성화합니다. @app.output_parser 데코레이터에 등록된 OutputParser이(가) 필요합니다. 파서를 등록하지 않고 이 필드 true로 설정하다 에이전트 시작될 때 호출이 실패합니다. 자세히 학습 에이전트에 사용자 지정 스트림 출력 추가를 참조하세요.

mcp.servers.<name>.transport

문자열

mcp.servers.<name>이 정의된 경우

원격 MCP 서버 연결을 위한 전송 프로토콜 . 허용되는 값: streamable_http. 자세한 학습 은 원격 MCP 서버 사용을 참조하세요.

mcp.servers.<name>.url

문자열

mcp.servers.<name>이 정의된 경우

원격 MCP 서버 엔드포인트의 URL .

mcp.servers.<name>.headers

map[문자열, 문자열]

no

MCP 서버 에 대한 모든 요청 과 함께 전송되는 정적 HTTP headers .

mcp.servers.<name>.auth.type

문자열

네

인증 유형입니다. 허용되는 값은 bearer_env 및 oauth입니다.

mcp.servers.<name>.auth.token_env

문자열

auth.type 이 bearer_env인 경우

베어러 토큰을 보유하는 환경 변수의 이름입니다. 변수는 .env 파일 에서 설정하다 해야 합니다.

mcp.servers.<name>.auth.scope

문자열

auth.type 이 oauth인 경우

권한 부여 흐름 중에 요청 공백으로 구분된 OAuth 범위입니다.

mcp.servers.<name>.auth.client_name

문자열

no

동의 화면에 표시되는 OAuth 클라이언트 의 사람이 읽을 수 있는 이름입니다.

mcp.servers.<name>.allowed_tools

list[string]

no

에이전트 에 노출할 원격 MCP 도구 이름의 허용 목록입니다. 설정하다 하면 플랫폼은 나열된 도구만 등록하고 서버 반환하는 다른 모든 도구는 무시합니다. 생략하면 플랫폼은 서버 반환하는 모든 도구를 노출합니다. 이 필드 사용하여 도구 표면을 에이전트 에 필요한 도구로만 제한할 수 있습니다.

mcp.servers.<name>.timeout_seconds

int

no

각 MCP 도구 호출에 대한 요청 시간 제한(초)입니다. 기본값은 30입니다.

scaling.replicas

int

no

배포서버 에 대한 정적 포드 수입니다. Atlas Agent Engine은 이 값을 에이전트 샌드박스와 도구 샌드박스에 별도로 적용합니다. 각 세션은 하나의 에이전트 샌드박스와 하나의 도구 샌드박스(구성된 경우)를 예약하므로 이 값은 배포서버 에서 제공 할 수 있는 동시 세션의 수입니다. 1에서 512 사이의 값을 허용합니다. 생략하면 기본값은 4입니다.

scaling.agent_idle_ttl_seconds

int

no

Atlas Agent Engine이 다른 세션을 위해 예약된 에이전트 샌드박스를 회수하기 전에 유휴 세션이 예약된 에이전트 샌드박스를 유지하는 시간(초)입니다. 1에서 86400 사이의 값을 허용합니다. 생략하면 기본값은 600입니다. scaling.agent_idle_ttl_seconds는 이 필드 의 레거시 별칭입니다.

scaling.tool_idle_ttl_seconds

int

no

Atlas Agent Engine이 회수하기 전에 유휴 세션에서 예약된 도구 샌드박스를 유지하는 시간(초)입니다. 1에서 86400 사이의 값을 허용합니다. 기본값은 scaling.agent_idle_ttl_seconds 값입니다.

sandboxes

매핑

네

에이전트 와 해당 도구를 실행 명명된 샌드박스를 구성합니다. Atlas Agent Engine은 agent 및 tool라는 두 가지 명명된 샌드박스를 지원합니다. 샌드박스를 추가로 정의할 수 없으며, Atlas Agent 엔진은 둘 이상의 샌드박스에 할당된 도구를 거부합니다. 샌드박스가 도구 간에 비밀 및 이그레스 대상을 주식 방법을 학습 보려면 MongoDB Atlas Agent Engine 제한을 참조하세요.

sandboxes.agent

매핑

네

에이전트 코드를 실행하는 하드웨어 격리 샌드박스인 에이전트 샌드박스에 대한 구성입니다.

sandboxes.agent.secrets

list[string]

no

에이전트 샌드박스에서 사용할 수 있는 시크릿 이름 또는 시크릿 이름과 일치하는 glob 패턴의 목록입니다. *를 사용하여 모든 시크릿을 일치시킬 수 있습니다. MONGODB_URI는 자동으로 사용 가능하며 선언할 필요가 없습니다.

sandboxes.agent.tools

list[string]

no

에이전트 샌드박스에서 실행 도구 이름 또는 도구 이름과 일치하는 glob 패턴의 목록입니다. *를 사용하여 모든 도구를 일치시킬 수 있습니다. 샌드박스와 일치하지 않는 도구는 기본값 으로 에이전트 샌드박스에서 실행 .

sandboxes.agent.network

매핑

no

에이전트 샌드박스에 대한 아웃바운드 이그레스 규칙을 포함한 네트워크 정책입니다. 자세히 학습 네트워크 이그레스 정책 관리를 참조하세요.

sandboxes.tool

매핑

no

원격 도구 본문을 실행하는 하드웨어 격리 샌드박스인 도구 샌드박스에 대한 구성입니다.

sandboxes.tool.secrets

list[string]

no

도구 샌드박스에서 사용할 수 있는 시크릿 이름 또는 시크릿 이름과 일치하는 glob 패턴의 목록입니다. *를 사용하여 모든 시크릿을 일치시킬 수 있습니다. MONGODB_URI는 자동으로 사용 가능하며 선언할 필요가 없습니다.

sandboxes.tool.tools

list[string]

no

도구 샌드박스에서 실행 도구 이름 또는 도구 이름과 일치하는 glob 패턴의 목록입니다. *를 사용하여 모든 도구를 일치시킬 수 있습니다. 도구 본문에서 LLM을 호출하려면 이 목록에 invoke_llm 도구를 포함하고 sandboxes.tool.secrets 아래에 LLM 제공자 API 키를 선언합니다.

artifact_repositories

list[mapping]

no

managed 빌드에 대한 비공개 패키지 레지스트리를 선언합니다. 각 항목은 레지스트리 인덱스 이름을 자격 증명을 보유하는 Atlas Agent Engine 시크릿에 매핑합니다. Atlas Agent Engine은 빌드 시에만 자격 증명을 삽입하고 실행 Pod에 노출하지 않습니다. 레지스트리 URL은 이 차단 아닌 프로젝트 도구(pyproject.toml, package.json 또는 .npmrc)에 있습니다. 이 필드 생략하면 Atlas Agent Engine은 기존 도구 구성을 변경하지 않고 공개 레지스트리의 종속성을 확인합니다.

artifact_repositories[].name

문자열

네

항목의 고유 식별자입니다. PyPI 항목의 경우 pyproject.toml의 [[tool.uv.index]] 이름과 일치해야 합니다. npm 항목의 경우, 유효성 검사 먼저 .npmrc의 범위가 지정된 레지스트리에 대해 npm_scope를 일치시킨 다음 name로 다시 대체합니다. ^[a-z][a-z0-9-]*$와 일치해야 하며 목록에서 고유해야 합니다.

artifact_repositories[].type

문자열

네

리포지토리 유형입니다. 허용되는 값은 pypi 및 npm입니다.

artifact_repositories[].secret

문자열

네

자격 증명을 보유한 Atlas Agent Engine 시크릿의 이름입니다. ^[A-Z][A-Z0-9_]{0,127}$와 일치해야 합니다.

artifact_repositories[].scope

문자열

no

시크릿 범위. 허용되는 값은 project 및 workspace입니다. 기본값은 project입니다.

artifact_repositories[].auth

문자열

no

인증 방법. 허용되는 값은 token 및 basic입니다. 기본값은 token입니다.

artifact_repositories[].username

문자열

no

레지스트리 인증 위한 사용자 이름입니다. auth이 basic일 때 필요합니다. 이 필드 가 생략된 PyPI 토큰 인증의 경우 기본값 은 __token__입니다. npm 토큰 인증은 사용자 이름 사용하지 않습니다.

artifact_repositories[].npm_scope

문자열

no

이 레지스트리에 매핑되는 npm 범위(예: @acme)입니다. 제공된 경우 .npmrc의 범위가 지정된 레지스트리와 일치하는 키가 됩니다. type가 npm인 경우에만 유효합니다.

artifact_repositories 자격 증명 빌드 타임에만 확인됩니다. cloud 빌드 및 로컬 개발에서 비공개 아티팩트 리포지토리가 작동하는 방식을 학습 에이전트 이미지 빌드 및 로컬에서 에이전트 실행을 참조하세요.

각 세션은 수명 동안 자체 에이전트 및 도구 샌드박스를 예약하며, Atlas Agent Engine은 새 세션에 샌드박스를 할당하기 전에 샌드박스를 재설정합니다. 따라서 한 세션이 샌드박스에 쓰는 아티팩트는 이후 세션에서 볼 수 없습니다.

Atlas Agent Engine은 빌드 시 scaling 값을 스냅샷하므로 다음 빌드 및 배포 시 변경 사항이 적용됩니다. 플랫폼 기본값 을 변경해도 이미 배포된 작업 공간의 크기는 조정되지 않습니다. 작업 공간은 다시 빌드 하고 배포 때까지 가장 최근 빌드 의 하드웨어 격리 샌드박스 수를 유지합니다. 유휴 TTL(time-to-live) 값은 프로젝트 전체에 적용 . 한 프로젝트 의 여러 에이전트가 서로 다른 값을 설정하다 경우 프로젝트 가장 최근에 배포된 에이전트 의 값을 적용합니다.

참고

로컬 개발 설정은 agent.yaml 자체가 아닌 agent.yaml 파일 과 동일한 디렉토리 에 있는 별도의 dev.yaml 파일 에서 구성해야 합니다. 자세한 학습 은 로컬 개발 설정 구성을 참조하세요.

다음 예시 서비스 포트 재정의, 기능 플래그, 시크릿 액세스 제한 및 비공개 아티팩트 리포지토리 가 포함된 agent.yaml 파일 보여줍니다.

name: my-agent
entrypoint: my_agent.main:app
features:
guardrails: true
scaling:
replicas: 4
agent_idle_ttl_seconds: 900
tool_idle_ttl_seconds: 300
sandboxes:
agent:
secrets: ["*"]
tools: []
tool:
secrets:
- SEARCH_API_KEY
- ANTHROPIC_API_KEY
tools:
- my_search_tool
- invoke_llm
artifact_repositories:
- name: corps-pypi
type: pypi
secret: ARTIFACT_REPO_CORPS_PYPI_TOKEN
username: aws
scope: project

리포지토리 여러 에이전트가 포함되어 있는 경우 최상위 agents: 목록을 사용하여 단일 agent.yaml 파일 에 정의합니다. Atlas Agent Engine은 이 목록을 감지하고 파일 단일 에이전트 구성이 아닌 단일 리포지토리 매니페스트로 처리합니다. 다음 agent.yaml 파일 여러 에이전트가 있는 단일 리포지토리 매니페스트의 예시 입니다.

agents:
- name: chat
path: agents/chat
- name: research
path: agents/research
필드
유형
필수 사항
설명

agents[].name

문자열

네

에이전트 의 이름입니다. 소문자 영숫자 및 하이픈 문자만 포함해야 합니다. 선행 또는 후행 하이픈이 없습니다. 목록 내에서 고유해야 합니다.

agents[].path

문자열

네

리포지토리 루트를 기준으로 한 에이전트의 하위 디렉토리 경로입니다. 경로는 리포지토리 외부의 위치를 참조할 수 없습니다.

각 에이전트 하위 디렉토리에는 자체 단일 에이전트 agent.yaml 파일 포함되어야 합니다.

You must set the MONGODB_URI environment variable in your .env file to deploy your agent successfully, if services.mongodb.local is set to false in your dev.yaml file.

또한 에이전트 런타임에 요청을 프로세스 하려면 .env 파일 에 LLM API 키가 있어야 합니다. 플랫폼 자체는 특정 LLM 자격 증명 유효성을 검사하거나 요구하지 않지만, 이 자격 증명이 없으면 에이전트 런타임에 실패합니다. <PROVIDER>_API_KEY 구문을 사용하여 LLM 제공자 에 대한 환경 변수를 설정하다 .

이 섹션에서는 Atlas Agent Engine과 함께 사용할 수 있는 프레임워크 및 LLM 제공자에 대해 설명합니다.

Atlas Agent Engine은 agent-engine-sdk-langgraph 패키지 통해 LangGraph 및 LangChain을 지원합니다. 프레임워크 어댑터는 다음과 같은 통합 지점을 처리합니다.

  • interrupt() 계속하기 전에 인적 검토 위해 에이전트 실행을 일시 중지합니다.

  • MongoDBSaver 일시 중단된 실행이 다시 시작될 때 복원할 수 있도록 에이전트의 그래프 상태 MongoDB 에 저장합니다.

  • LangChainInstrumentor 디버깅 및 모니터링 위해 실행 중 LLM 및 도구 호출을 기록합니다.

에이전트 와 함께 모든 LLM 제공자 사용할 수 있습니다. 모델을 사용하려면 제공자 에 대한 LangChain BaseChatModel를 구성하고 이를 app.llm() 메서드에 전달합니다. Atlas Agent Engine은 오케스트레이션 엔진을 통해 해당 호출을 라우팅합니다.

다음 표는 환경 키 및 LangChain 클래스가 있는 일반적인 제공자 예시를 보여줍니다.

제공자
환경 키
LangChain 클래스

OpenAI

OPENAI_API_KEY

ChatOpenAI

인간의

ANTHROPIC_API_KEY

ChatAnthropic

Gemini

GEMINI_API_KEY (선택 사항: GEMINI_MODEL)

ChatGoogleGenerativeAI

Cerebras

CEREBRAS_API_KEY (선택 사항: CEREBRAS_MODEL)

ChatCerebras

다음 코드 예시는 app.llm() 메서드에 대해 각 제공자 구성하는 방법을 보여줍니다.

# OpenAI
from langchain_openai import ChatOpenAI
llm = app.llm(ChatOpenAI(model="gpt-4o-mini"))
# Anthropic
from langchain_anthropic import ChatAnthropic
llm = app.llm(ChatAnthropic(model="claude-sonnet-4-5"))
# Gemini
from langchain_google_genai import ChatGoogleGenerativeAI
llm = app.llm(ChatGoogleGenerativeAI(model="gemini-2.5-flash-lite"))
# Cerebras
from langchain_cerebras import ChatCerebras
llm = app.llm(ChatCerebras(model="qwen-3-235b-a22b-instruct-2507"))

배포된 에이전트 인증하고 호출하는 방법을 학습 에이전트 호출 가이드 참조하세요.