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

프로젝트 생성

이 가이드 에서는 다음 명령을 사용하여 새 에이전트 프로젝트 만들고 등록하는 방법을 학습 수 있습니다.

  1. Agentengine create: 스타터 템플릿을 가져오고, 프로젝트 ID 필드를 다시 작성하고, 구성 값을 사용하는 개인화된 환경 파일 작성합니다.

  2. Agentengine init: Atlas Agent Engine에 에이전트 를 등록하고 로컬 개발 파일을 생성합니다.

스타터 템플릿을 사용하는 대신 프로젝트 파일을 수동으로 생성하려는 경우 수동으로 에이전트 설정 섹션을 참조하세요.

이 섹션에서는 agentengine create 명령을 사용하여 새 프로젝트 스캐폴딩하는 방법을 보여줍니다.

agentengine create 명령은 agentengine auth login이(가) 필요하지 않으며 Atlas Agent Engine에 프로젝트 등록하지 않습니다. 로컬에서 에이전트 실행 하고 테스트하기 전에 스캐폴딩 파일을 수동으로 사용자 지정할 수 있습니다.

다음 명령을 사용하여 새 프로젝트 스캐폴딩합니다.

agentengine create [--template <template-id>] [--name <display-name>] [--dir <path>] [--llm <provider>] [--llm-base-url <url>] [--llm-model <model>] [--llm-auth-header <header>] [--memory] [--yes]

지정한 플래그에 따라 CLI 프로젝트 구성하라는 메시지를 표시합니다.

이 명령은 project-config.yaml 파일 포함된 프로젝트 디렉토리 생성하고, <project-directory>/agents/<slug> 하위 디렉토리에 에이전트의 작업 공간 디렉토리 스캐폴딩합니다. <slug> 값은 --name 값의 소문자에 하이픈으로 연결된 버전입니다. 작업 공간 디렉토리 agent.yaml, .env 및 이후 섹션에서 설명하는 기타 에이전트별 파일이 들어 있습니다.

플래그
설명

--template

선택 사항. 스타터 템플릿 ID. 지원되는 값: hello-world-agent, hello-world-agent-adk, hello-world-agent-ts, insurance-agent, insurance-agent-adk, insurance-agent-ts 또는 chatbot-client. 템플릿 설명은 지원되는 템플릿 섹션을 참조하세요. 기본값은 insurance-agent입니다.

--name

애플리케이션 표시 이름입니다. --yes 가 설정하다 경우 필수입니다. 사용할 수 있는 문자에 대해서는 표시 이름 제한 섹션을 참조하세요.

--dir

선택 사항. 대상 프로젝트 디렉토리. 에이전트의 작업 공간 파일은 이 경로의 agents/<slug> 하위 디렉토리에 스캐폴딩됩니다. 기본값은 ./<slug>입니다.

--llm

조건부( --yes 가 설정하다 경우 필수). 스타터 템플릿에 대한 LLM 연결입니다. 지원되는 값: openai, anthropic, gemini, openrouter, openai-compatible, anthropic-compatible 또는 custom (코드에서 구성).

--llm-auth-header

조건부(--yes가 설정하다 되고 CLI 헤더를 추론할 수 없는 경우 필수). API 키를 전달하는 헤더(예: authorization, api-key 또는 x-api-key)입니다. openai-compatible 및 anthropic-compatible 연결을 사용할 때만 유효합니다. 그렇지 않으면 CLI 오류가 발생합니다. authorization을(를) 사용하는 경우 CLI 키를 Bearer <key>(으)로 전송합니다.

--llm-base-url

조건부(openai-compatible 또는 anthropic-compatible 연결에 필요). openai-compatible 또는 anthropic-compatible 연결을 위한 기본 URL . 해당 호스팅하다 network.egress에 추가됩니다.

--llm-model

조건부(OpenRouter 및 호환 연결에 필요). 모델 또는 배포서버 이름입니다.

--memory

선택 사항. 에이전트 스타터 템플릿에 대한 메모리를 활성화하고 VOYAGE_API_KEY를 입력하라는 메시지를 표시합니다. 지원되는 LLM 제공자 선택하면 CLI 가 에이전트의 LLM 연결 및 자격 증명을 재사용하도록 메모리 추출을 구성합니다.

--memory-only

선택 사항. 에이전트 를 생성하지 않고 project-config.yaml만 생성하는 메모리 전용 프로젝트 스캐폴딩합니다. --template, --llm, --llm-base-url, --llm-model, --llm-auth-header, --memory 또는 --open-egress 플래그와 결합할 수 없습니다.

--open-egress

선택 사항. 선택한 LLM 호스트를 나열하는 대신 에이전트 및 도구에 대한 개방형 아웃바운드 액세스 허용합니다. network.egress_mode: allow_all을 project-config.yaml 파일 에 쓰고 경고를 출력합니다. 이 모드 기본값 아닙니다. --memory-only 또는 --template chatbot-client와 결합할 수 없습니다.

--yes

선택 사항. 감지된 로컬 환경 변수 값을 포함하여 모든 선택적 프롬프트에 대해 기본값을 수락합니다.

-h, --help

선택 사항. 명령에 대한 사용 정보를 표시하는 표준 CLI 도움말 플래그입니다.

CLI 는 표시 이름을 생성된 소스 파일에 복사합니다. 이름에는 다음 문자를 포함할 수 없습니다.

  • 큰따옴표(")

  • 백슬래시(\)

  • 백틱

  • 제어, 줄 바꿈 또는 텍스트 방향 문자

대화형 CLI 사용할 때 잘못된 이름을 입력하면 CLI 오류가 표시되고 메시지가 다시 표시됩니다. --name 플래그에 잘못된 이름을 전달하면 명령이 실패하고 허용되지 않는 문자 또는 문자 카테고리의 이름을 지정하는 오류가 발생합니다.

다음 표에서는 agentengine create 명령에 전달할 수 있는 스타터 템플릿에 대해 설명합니다.

템플릿
유형
사용 사례

hello-world-agent

에이전트 스타터

메모리(선택 사항)가 있는 최소 Atlas Agent Engine 에이전트 .

hello-world-agent-adk

에이전트 스타터

Google Agent Development Kit(ADK)로 구축된 최소 에이전트 입니다.

hello-world-agent-ts

에이전트 스타터

인간-인-더-루프 기능과 IANA 시간대를 지원하는 최소한의 TypeScript LangGraph 에이전트 .

insurance-agent

에이전트 스타터

도구, 정책, 클레임, 선택적 메모리 및 인적 검토 기능을 갖춘 현실적인 에이전트 입니다.

insurance-agent-adk

에이전트 스타터

Google ADK로 구축된 보험 도메인 에이전트 .

insurance-agent-ts

에이전트 스타터

딥 에이전트 오케스트레이터, 하위 에이전트 및 메모리 지원 도구를 결합한 모든 기능을 갖춘 TypeScript 에이전트 입니다.

chatbot-client

클라이언트 앱

기존에 배포된 에이전트 위한 Next.js 및 Vercel AI SDK 채팅 UI .

제공자 카탈로그에서 LLM 연결을 선택하면 agentengine create에서 필요한 연결 세부 정보(예: API 키)를 입력하라는 메시지를 표시합니다. 셸 환경에 LLM_API_KEY이 설정하다 경우 명령은 이를 기본값 으로 제공합니다. 값을 확인하면 명령은 생성된 .env 파일 에 LLM_API_KEY로 값을 씁니다. 이 값을 수동으로 구성할 필요는 없습니다.

팁

게이트웨이를 통해 에이전트의 LLM 호출을 라우팅하려면 LLM 게이트웨이 구성 섹션을 참조하세요.

메모리가 활성화되면 agentengine create는 로컬 환경에서 VOYAGE_API_KEY를 감지하여 기본값 으로 제공합니다. 값을 확인하면 생성된 .env에 값이 기록됩니다.

--yes 플래그와 함께 agentengine create를 실행 명령은 감지된 환경 값을 묻는 메시지를 표시하지 않습니다. custom를 제외한 모든 제공자 카탈로그 옵션의 경우, 명령을 실행 전에 환경에서 LLM_API_KEY를 설정하다 해야 합니다. --memory --yes도 전달하는 경우, 명령을 실행 전에 환경에서 VOYAGE_API_KEY를 설정하다 해야 하며, 그렇지 않으면 명령이 실패합니다.

참고

지원되는 LLM 제공자 선택하면 CLI 공유 LLM_API_KEY 변수 이름 아래에 생성된 .env 파일 에 LLM 자격 증명을 기록하고, project-config.yaml의 메모리 추출을 위해 api_key_secret와 동일한 LLM_API_KEY 값을 사용합니다. . 이렇게 하면 에이전트 와 메모리 추출이 업로드된 하나의 시크릿을 주식 수 있습니다. 자세히 학습 에이전트에 메모리 추가를 참조하세요.

chatbot-client 템플릿은 .env 파일 대신 .env.local 파일 생성합니다. 앱 실행 전에 .env.local 파일 다음 값으로 수동으로 채워야 합니다.

agentengine create가 완료되면 에이전트의 작업 공간 디렉토리 <project-directory>/agents/<slug>로 이동하여 생성된 파일을 검토 .

생성된 모든 에이전트에는 .agents/skills/atlas-agent-engine(Codex, Copilot 및 기타 에이전트의 경우) 또는 .claude/skills/atlas-agent-engine(Claude Code의 경우)의 atlas-agent-engine 스킬 포함됩니다.

에이전트 스타터 템플릿을 사용하는 경우, 생성된 에이전트 소스 및 .env 파일 검토 LLM 연결이 요구 사항을 충족하는지 확인합니다. LLM 클라이언트, 모델, 엔드포인트 및 인증 동작은 생성된 에이전트 소스 코드 에 구성됩니다.

LLM 연결을 구성하는 카탈로그 옵션의 경우, 생성된 .env 파일 LLM_API_KEY(으)로 공유 자격 증명이 포함되어 있습니다. Manual setup를 선택하는 경우, 에이전트 코드에서 LLM 연결을 구성하고 코드에 필요한 시크릿을 .env 파일 에 추가합니다. 자세히 학습 코드에서 LLM 게이트웨이 설정을 참조하세요.

chatbot-client 템플릿을 사용할 때 .env.local 파일 검토 배포된 에이전트의 API URL, 프로젝트 ID, 작업 공간 ID 및 서비스 계정 액세스 토큰을 올바르게 설정하다 했는지 확인합니다. 챗봇 클라이언트 앱 에는 agent.yaml 파일 없습니다.

참고

템플릿은 로컬 Git 자격 증명 사용하여 가져옵니다. 생성된 프로젝트 디렉토리 자동으로 Git 리포지토리 로 초기화됩니다.

agentengine create 명령을 사용하여 에이전트 를 스캐폴딩하는 대신 필요한 파일을 직접 생성할 수 있습니다. 각 에이전트 에는 다음 파일이 하나의 디렉토리 에 함께 필요합니다.

  • agent.yaml: 플랫폼이 에이전트 실행하는 방법을 설명하는 에이전트 구성입니다.

  • .env: 런타임 비밀 및 환경 변수

  • pyproject.toml: [project].name 필드 포함한 Python 프로젝트 메타데이터 정의합니다.

이 디렉토리 는 작업 공간 디렉토리 이며, 이 디렉토리에서 agentengine 명령을 실행 . 나중에 agentengine init 명령을 실행 Atlas Agent Engine이 이 디렉토리 작업 공간으로 등록합니다.

다음 단계에서는 에이전트 를 수동으로 설정하다 방법을 설명합니다.

1

빈 디렉토리 에서 시작하는 경우 uv 도구를 설치하고 새 프로젝트 초기화합니다.

mkdir my-agent && cd my-agent
uv init
2

Atlas Agent Engine에는 agent-engine-runner-shared 및 agent-engine-sdk-langgraph의 두 가지 패키지가 필요합니다. 다음 명령을 실행하여 프로젝트 에 추가합니다.

uv add agent-engine-runner-shared agent-engine-sdk-langgraph
3

작업 공간 디렉토리 에 agent.yaml 파일 생성합니다. entrypoint 및 sandboxes 필드는 필수입니다.

다음 표에서는 사용 가능한 agent.yaml 필드에 대해 설명합니다.

필드
필수 사항
설명

entrypoint

예

module.path:attribute 형식의 앱 인스턴스 에 대한 Python 가져오기 경로입니다.

sandboxes

예

에이전트 와 해당 도구를 실행 agent 및 tool 샌드박스를 구성합니다. 각 샌드박스는 액세스 할 수 있는 시크릿과 도구를 선언합니다. sandboxes를 선언할 때 sandboxes.agent는 필수이고 sandboxes.tool는 선택 사항입니다. 이 필드 에 대해 자세히 학습 에이전트 계약 참조를 참조하세요.

name

No

Docker Compose 서비스 및 네트워크 이름 접두사로 사용되는 에이전트 이름입니다. 하이픈과 함께 소문자 영숫자 값을 사용하고 선행 또는 후행 하이픈은 포함하지 않습니다.

description

No

사람이 읽을 수 있는 에이전트 설명입니다. 최대 500자를 사용합니다.

framework

No

프레임워크 식별자(예: langgraph 또는 custom)입니다.

language

No

상담원 언어. 지원되는 값은 python 및 typescript입니다. 생략하면 기본값은 python입니다.

version

No

에이전트 버전. 엄격한 semver 값, 언어 매니페스트(pyproject.toml 또는 package.json)에 위임하는 auto 또는 버전이 지정되지 않은 에이전트 에 대한 빈 값을 허용합니다.

mcp

No

원격 MCP 서버 구성. 자세한 학습 은 원격 MCP 서버 사용을 참조하세요.

agent_card

No

플랫폼 UI 에 표시되는 에이전트 기능입니다. 이 필드 summary 문자열과 capabilities 문자열 목록을 허용합니다.

services

No

더 이상 사용되지 않습니다. 로컬 서비스 포트 재정의를 agent.yaml 파일 과 동일한 디렉토리 에 있는 dev.yaml 파일 로 이동합니다.자세한 학습 은 로컬 개발 설정 구성을 참조하세요.

features

No

기능 플래그. 이 차단 guardrails 및 memory을 부울 값으로 허용합니다.

artifact_repositories

No

다음 예시 최소 agent.yaml 구성을 보여줍니다.

entrypoint: my_agent.graph:app
name: my-agent
framework: langgraph
sandboxes:
agent:
secrets: ["*"]
tools: []
tool:
secrets:
- ANTHROPIC_API_KEY
tools:
- invoke_llm
4

작업 공간 디렉토리 에 .env 파일 생성하여 에이전트 코드에 필요한 시크릿을 제공합니다. LLM 클라이언트 에 필요한 시크릿 변수를 이 파일 에 추가합니다.

agent.yaml이(가) 아닌 에이전트 코드에서 LLM 제공자, 모델, 엔드포인트 및 인증 동작을 구성하세요. .env 파일 API 키와 같은 시크릿 전용입니다. agent.yaml 파일 에 대해 자세히 학습 에이전트 계약 참조 가이드 참조하세요.

다음 표에는 .env 파일 에 대한 필수 변수와 선택적 변수가 나열되어 있습니다.

변수
필수 사항
설명

MONGODB_URI

예

MongoDB 연결 문자열

<PROVIDER>_API_KEY

No

LLM 제공자 키입니다. 플랫폼에는 특정 제공자 필요하지 않거나 LLM 자격 증명 유효성을 검사하지 않아도 되지만, 특정 에이전트 없으면 에이전트가 런타임에 실패합니다. 일반적인 키에는 OPENAI_API_KEY, ANTHROPIC_API_KEY, GEMINI_API_KEY 및 CEREBRAS_API_KEY가 포함됩니다.

중요

.env 파일 런타임에 유효성이 검사되는 유일한 시크릿 소스입니다. 호스트 환경 변수는 컨테이너 에서 의도적으로 무시됩니다. 컨테이너 런타임에만 .env을 마운트하므로 파일 에서 누락된 키가 컨테이너 내부에서도 누락됩니다. 버전 관리 시스템에 실제 비밀을 커밋 하지 마세요.

에이전트 LLM 호출을 걸고 인증하는 방법은 전적으로 코드에서 결정됩니다. agentengine create에서 환경 변수를 설정하다 하거나 LLM 옵션을 선택하는 지침은 예시 스타터 템플릿에만 적용 . Atlas Agent Engine은 LLM 연결을 호스팅하다 하거나 관리 하지 않습니다.

LLM 게이트웨이를 설정하다 방법에는 두 가지가 있습니다.

agentengine create 명령을 실행 하면 다음 예시 와 유사하게 LLM 연결을 선택하라는 메시지가 표시됩니다.

Which LLM connection do you want to use?
1) OpenAI
2) Anthropic
3) Google Gemini
4) OpenRouter
5) OpenAI-compatible - AWS Bedrock, Azure Foundry
6) Anthropic-compatible - AWS Bedrock, Azure Foundry
7) Manual setup - implement the LLM client in code

이 카탈로그에서 제공자 선택하면 agentengine create 명령은 다음을 포함하여 연결에 필요한 세부 정보를 입력하라는 메시지를 표시합니다.

  • 기본 URL

  • 모델 또는 배포서버 이름

  • API 키

  • 호스팅하다 인식되지 않는 경우 연결을 위한 인증 헤더입니다.

이 명령은 선택한 LLM 클라이언트 생성된 에이전트 소스에 쓰고 생성된 .env 파일 에 LLM_API_KEY로 공유 자격 증명을 저장합니다.

이 명령은 에이전트 및 도구가 외부 호스트에 액세스 방법을 선택하라는 메시지도 표시합니다.

  • 권장 network.egress 구성을 적용합니다. Manual setup (custom)를 선택한 경우와 같이 사용 가능한 게이트웨이 호스팅하다 없는 경우, 이 옵션은 나중에 LLM 송신을 구성하도록 지시합니다.

  • 모든 아웃바운드 액세스 허용합니다.

중요

선택한 제공자 는 이 agentengine create 명령으로 생성된 스타터 프로젝트 만 구성합니다. 나중에 생성하는 다른 에이전트는 자동으로 구성하지 않습니다.

LLM 연결이 나열된 옵션 중 하나가 아닌 경우 Manual setup를 선택하고 코드에서 게이트웨이를 설정하다 . 이 옵션은 에이전트 코드에서 연결을 구성할 수 있도록 모델 빌더 스텁을 생성합니다.

LLM을 에이전트 에 연결하려면 프레임워크별 모델을 생성하고 결과 모델 인스턴스 에이전트의 진입점에서 app.llm(...) 메서드로 전달합니다. 모델 구축 코드를 에이전트 코드의 모든 파일 에 넣을 수 있지만 스타터 템플릿은 스텁을 언어별 파일 에 배치합니다. 스타터 템플릿을 사용하지 않는 경우, app.llm(...)가 지원되는 모델 객체 수신하는 한 다른 곳에서 모델을 정의할 수 있습니다.

다음 표에서는 다양한 런타임에 걸쳐 코드에서 LLM 게이트웨이를 설정하기 위한 규칙을 설명합니다.

런타임
file
반환 대상

LangGraph Python

src/<module>/llm.py (build_llm)

LangChain BaseChatModel

LangGraph TypeScript

src/<module>/llm.ts (buildLLM)

LangChain BaseChatModel

ADK Python

src/<module>/llm.py (build_llm)

ADK BaseLlm(Gemini, LiteLlm 등)

생성자는 엔드포인트, 인증 헤더 및 모델 이름을 설정하는 것입니다. 예시 들어, LangGraph Python insurance-agent 템플릿은 src/<module>/llm.py에서 build_llm()을 정의하고 LangChain BaseChatModel을 반환합니다. 에이전트 진입점은 build_llm()를 가져오고 반환된 모델을 app.llm(...)에 전달합니다.

에이전트 가 게이트웨이 호스트에 연결할 수 있도록 게이트웨이 호스팅하다 허용합니다. 사용자 지정 게이트웨이 호스팅하다 및 포트를 agent.yaml 파일 의 network.egress 차단 에 추가합니다. 예시 들어 gateway.example.com:443를 도구 샌드박스의 기존 송신 허용 목록에 추가하려면 다음 명령을 실행 .

agentengine agent egress add --component tool gateway.example.com:443

에이전트 의 네트워크 이그레스 구성에 대해 자세히 학습 네트워크 이그레스 시작하기 가이드 참조하세요.

에이전트 를 스캐폴딩한 후 agentengine init 명령을 사용하여 에이전트 를 등록하고 로컬 개발 파일을 생성할 수 있습니다. 이 명령을 실행 전에 다음 필수 작업을 수행합니다.

  • MongoDB Atlas Agent Engine을 설치하고 인증합니다.

  • agent.yaml, .env 및 pyproject.toml 또는 package.json를 포함하는 에이전트 작업 공간 디렉토리 생성합니다. Agentengine create 명령은 이 디렉토리 <project-directory>/agents/<slug>에서 스캐폴딩하거나 에이전트 수동으로 설정하여 생성할 수 있습니다.

에이전트 작업 공간 디렉토리 에서 다음 명령을 실행 에이전트 를 등록하고 로컬 파일을 생성합니다.

agentengine init [--workspace-id <id>] [--project-id <id>] [--org-id <id>] [--base-url <url>] [--context <name>]

이 명령은 대화형으로 조직 및 프로젝트 선택하거나 생성하고, 로컬 개발 파일을 생성하고, 에이전트 를 Atlas Agent Engine에 작업 공간으로 등록합니다.

플래그
설명

--workspace-id

(선택 사항) 이 디렉토리 생성하는 대신 기존 작업 공간에 연결합니다.

--project-id

(선택 사항) 메시지를 표시하지 않고 사용할 프로젝트 ID .

--org-id

(선택 사항) 메시지 없이 사용할 조직 ID .

--base-url

(선택 사항) Atlas Agent Engine API 기본 URL 재정의합니다.

--context

(선택 사항) 만들거나 업데이트 명명된 로컬 컨텍스트입니다.

agentengine init를 실행 하면 CLI 다음 단계를 안내합니다.

  1. "Create a new organization..." 옵션을 포함하여 번호가 매겨진 메뉴와 함께 조직을 나열합니다. 조직이 없는 경우 조직을 만들려면 이름을 입력하라는 메시지가 CLI 에 표시됩니다.

  2. 조직 선택하면 "Create a new project..." 옵션을 포함하여 번호가 매겨진 메뉴와 함께 프로젝트를 나열합니다. 프로젝트가 없는 경우 CLI 는 프로젝트를 생성하기 위해 이름을 입력하라는 메시지를 표시합니다.

  3. 선택한 프로젝트 로컬 인증 상태 의 활성 project_id 로 저장합니다.

  4. 에이전트 디렉토리 에 다음과 같은 로컬 개발 파일을 생성합니다.

    • docker-compose.yml

    • .agentengine/Dockerfile

    • .agentengine/entrypoint.py

    • .dockerignore

    • .gitignore

  5. 에이전트 를 플랫폼에 작업 공간으로 등록하고 workspace_id, org_id 및 project_id가 지정된 .agentengine/state.json 파일 생성합니다.

참고

.agentengine/state.json 파일 이미 존재하는 경우 CLI 작업 공간 등록을 건너뜁니다. agentengine init 명령을 다시 실행하여 생성된 파일을 덮어쓰지 않고 에이전트 를 다시 등록합니다. 작업 공간 이름이 플랫폼에 이미 존재하는 경우, 기존 workspace_id가 재사용됩니다.

다음 섹션에서는 각 템플릿 유형에 대한 로컬 개발을 시작하는 방법을 설명합니다. 로컬 개발 및 테스트에 대해 자세히 학습 로컬에서 에이전트 실행 및 테스트 및 에이전트 테스트를 참조하세요.

TypeScript 템플릿을 사용하는 경우 로컬에서 에이전트 시작하기 전에 Node.js 종속성을 설치합니다.

pnpm install

스캐폴딩된 에이전트 검토한 후 agentengine dev up를 실행 에이전트 를 로컬에서 시작합니다.

agentengine dev up

.env.local 파일 에 필요한 값을 설정한 후 종속성을 설치하고 개발 서버 시작합니다.

pnpm install
pnpm run dev

브라우저에서 http://localhost:3000를 열어 채팅 UI 사용합니다.