AI エージェント向け: ドキュメントインデックスは https://www.mongodb.com/ja-jp/docs/llms.txt で利用できます。すべてのページの markdown バージョンは、いずれかの URL パスに .md を追加することで利用できます。
See how MongoDB 9.0 delivers up to 2x higher throughput.
MongoDB Branding Shape
Register now >
Docs Menu

プロジェクトの作成

このガイドでは、次のコマンドを使用して新しいエージェントプロジェクトを作成および登録する方法を学習できます。

  1. Agent engine create: スターター テンプレートを取得し、プロジェクトID フィールドを書き換えて、構成値を使用するパーソナライズされた環境ファイルを書込みます。

  2. Agent engine 初期化: 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、および今後のセクションで説明されるその他のエージェント固有のファイルが保存されています。

Flag
説明

--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 が設定されている場合は必須)。スターター テンプレートの LM 接続。サポートされている値は: 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

条件付き(OpenRoute と互換性のある接続に必要)。モデルまたは配置名。

--memory

任意。エージェントスターター テンプレートのメモリを有効にし、VOYAGE_API_KEY のプロンプトを表示します。サポートされている LM プロバイダーを選択すると、CLI はメモリ抽出を構成して、エージェントの LM 接続と認証情報を再利用します。

--memory-only

任意。 project-config.yaml のみを生成し、エージェントを作成しないメモリ専用プロジェクトの足場--template、--llm、--llm-base-url、--llm-model、--llm-auth-header、--memory、または --open-egress フラグとは組み合わせることはできません。

--open-egress

任意。選択した LM ホストを一覧表示する代わりに、エージェントとツールのオープン アウトバウンド アクセスを許可します。 network.egress_mode: allow_all を project-config.yamlファイルに書き込み、警告を出力します。このモードは、デフォルトの ではありません。 --memory-only または --template chatbot-client と組み合わせることはできません。

--yes

任意。検出されたローカル環境変数の値を含む、すべてのオプションのプロンプトのデフォルトを受け入れます。

-h, --help

任意。コマンドの使用情報を表示する標準 CLI ヘルプ フラグ。

CLI は、生成されたソース ファイルに表示名をコピーします。名前に次の文字を含めることはできません。

  • 二重引用符(")

  • バックスラッシュ(\)

  • バックティッド

  • 制御、改行、またはテキスト方向文字

対話型 CLI を使用中に無効な名前を入力すると、CLI はエラーを表示し、再度プロンプトを表示します。 --name フラグに無効な名前を渡すと、コマンドは失敗し、許可されていない文字または文字カテゴリに名前を付けるエラーが発生します。

以下の表では、agentengine create コマンドに渡すことができるスターター テンプレートを説明しています。

Template
タイプ
ユースケース

hello-world-agent

エージェント スターター

任意のメモリを持つ最小の Atlas Agent Engineエージェント。

hello-world-agent-adk

エージェント スターター

Google開発キット(ADK)で構築された最小エージェント。

hello-world-agent-ts

エージェント スターター

人間が実行する機能と IANA タイムゾーン をサポートする最小の TypeScript LingGraphエージェント。

insurance-agent

エージェント スターター

ツール、ポリシー、クレーム、任意のメモリ、人間のレビューを持つ実際のエージェント。

insurance-agent-adk

エージェント スターター

Google ADK で構築された保証ドメインエージェント。

insurance-agent-ts

エージェント スターター

ディープエージェント、サブエージェント、メモリ付きツールを組み合わせたフル機能の TypeScriptエージェント。

chatbot-client

クライアントアプリ

既存の配置されたエージェントの Next.js および Vercel AI SDK チャットUI 。

プロバイダー カタログから LM 接続を選択する場合、agentengine create はAPIキーなど、必要な接続の詳細の入力を要求します。 シェル環境で LLM_API_KEY が設定されている場合、コマンドはそれをデフォルトの として提供します。値を確認すると、コマンドは生成された .envファイルに LLM_API_KEY としてそれを書込みます。この値を手動で設定する必要はありません。

Tip

エージェントの LM 呼び出しをゲートウェイ 経由でルーティングするには、「 LM ゲートウェイの構成 」セクションを参照してください。

メモリが有効になっている場合、agentengine create はローカル環境から VOYAGE_API_KEY を検出し、それをデフォルトの として提供します。値を確認すると、生成された .env にその値が書き込まれます。

--yes フラグを指定して agentengine create を実行すると、コマンドは検出された環境値を要求しません。 custom を除くすべてのプロバイダー カタログ オプションは、コマンドを実行する前に環境内で LLM_API_KEY を設定する必要があります。 --memory --yesも渡す場合は、コマンドを実行する前に環境内に VOYAGE_API_KEY を設定する必要があります。そうしないと、 コマンドは失敗します。

注意

サポートされている LM プロバイダーを選択すると、CLI.env は共有LLM_API_KEY 変数名の下に生成された ファイルに LM 認証情報を書込み、LLM_API_KEY api_key_secretのメモリ抽出に と同じ 値を使用します。project-config.yaml 。これにより、エージェントとメモリ抽出で 1 つのアップロード シークレットを共有できます。詳しくは、「 エージェントにメモリを追加する 」を参照してください。

chatbot-client テンプレートは、.envファイルではなく .env.localファイルを生成します。アプリを実行する前に、.env.localファイルに次の値を手動で入力する必要があります。

agentengine create が完了したら、エージェントのワークスペースディレクトリ(<project-directory>/agents/<slug>)に移動し、生成されたファイルを確認します。

すべての生成エージェントには、.agents/skills/atlas-agent-engine(Codex、Copiload、およびその他のエージェント)または .claude/skills/atlas-agent-engine(Clude Code の場合)の atlas-agent-engine 能力が含まれます。

エージェントスターター テンプレートを使用する場合は、生成されたエージェントソースと .envファイルを確認して、LM 接続が要件を満たしていることを確認します。 LMクライアント、モデル、エンドポイント、および認証動作は、生成されたエージェントソースコードで構成されます。

LM 接続を構成するカタログ オプションの場合、生成された.env ファイルにはLLM_API_KEY としての共有認証情報が含まれます。 を選択した場合は、エージェントコードでManual setup LM 接続を構成し、コードに必要なシークレットを.env ファイルに追加します。詳細については、「 コードで LM ゲートウェイを設定する 」を参照してください。

chatbot-client テンプレートを使用する場合は、.env.localファイルを確認し、配置されたエージェントのAPI URL、プロジェクトID、 ワークスペースID 、およびサービス アカウント アクセス トークンが正しく設定されていることを確認します。チャットボットクライアントアプリには agent.yamlファイルはありません。

注意

テンプレートは、ローカル Git 認証情報を使用して取得されます。生成されたプロジェクトディレクトリは、Gitリポジトリとして自動的に初期化されます。

agentengine create コマンドを使用してエージェントをスキャフォールディングする代わりに、必要なファイルを自分で作成できます。各エージェントには、1 つのディレクトリに次のファイルが一緒に必要です。

  • agent.yaml: プラットフォームがエージェントを実行する方法を説明するエージェント構成

  • .env: ランタイムシークレットと環境変数

  • pyproject.toml: [project].nameフィールドを含むPythonプロジェクトメタデータを定義します

このディレクトリは ワークスペースディレクトリであり、ここから agentengine コマンドを実行します。後で agentengine init コマンドを実行すると、Atlas Agent Engine はこのディレクトリをワークスペースとして登録します。

次の手順では、エージェントを手動で設定する方法について説明します。

1

空のディレクトリから起動する場合は、rv ツールをインストールし、新しいプロジェクトを初期化します。

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

Atlas Agent Engine には、agent-engine-runner-shared と agent-engine-sdk-langgraph の 2 つのパッケージが必要です。次のコマンドを実行して、それらをプロジェクトに追加します 。

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

ワークスペースディレクトリに agent.yamlファイルを作成します。 entrypoint と sandboxes フィールドは必須です。

次の表では、使用可能な agent.yaml フィールドを説明しています。

フィールド
必須
説明

entrypoint

はい

アプリインスタンスへのPythonインポート パス(module.path:attribute形式 )。

sandboxes

はい

エージェントとそのツールを実行する と サンドボックスを構成します。各サンドボックスは、どのシークレットとツールにアクセスできるかを宣言します。agent toolsandboxesを宣言する場合、sandboxes.agent は必須であり、sandboxes.tool は任意です。このフィールドの詳細については、「 エージェント契約リファレンス 」を参照してください。

name

No

Docker Compose サービスとネットワーク名のプレフィックスとして使用されるエージェント名。ハイフンを含む小文字の英数字を使用しますが、先頭または末尾のハイフンは含めないでください。

description

No

人間が判読可能なエージェントの説明 。最大 500 文字を使用します。

framework

No

フレームワーク識別子(langgraph や custom など)。

language

No

エージェント言語。サポートされている値は python と typescript です。省略した場合、デフォルトは python になります。

version

No

エージェント バージョン。言語マニフェスト(pyproject.toml または package.json)に委任するために厳密なセカンダリ値、auto、またはバージョン化されていないエージェントの場合は空の値を受け入れます。

mcp

No

リモート MCPサーバー構成。詳細については、「 リモート MCP サーバーの使用 」を参照してください。

agent_card

No

プラットフォームUIに表示されるエージェント機能。フィールドは、summarystring と capabilities 文字列リストを受け入れます。

services

No

非推奨。ローカル サービス ポートのオーバーライドを、dev.yaml ファイルと同じディレクトリにあるagent.yaml ファイルに移動します。詳しくは、「 ローカル開発設定の構成 」を参照してください。

features

No

機能フラグ。ブロックは guardrails と memory をブール値値として受け入れます。

artifact_repositories

No

マネージド ビルドのプライベートパッケージレジストリを宣言します。詳しくは、「 エージェント YAML スキーマ 」を参照してください。

次の例は、最小の 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ファイルを作成します。 LMクライアントに必要な シークレット変数 をこのファイルに追加します。

LM プロバイダー、モデル、エンドポイント、認証動作を、agent.yaml .envではなくエージェントコードで構成します。 ファイルはAPIキーなどのシークレット専用です。agent.yaml ファイルの詳細については、 エージェント 契約に関する参考ガイドを参照してください。

次の表は、.envファイルに必要な変数とオプションの変数を示しています。

変数
必須
説明

MONGODB_URI

はい

MongoDB接続文字列

<PROVIDER>_API_KEY

No

LM プロバイダー キー。プラットフォームは特定のプロバイダーを必要とせず、LM 認証情報を検証しますが、エージェントがない場合はエージェントの実行時に失敗します。一般的なキーには、OPENAI_API_KEY、ANTHROPIC_API_KEY、GEMINI_API_KEY、CEREBRAS_API_KEY が含まれます。

重要

.envファイルは、実行時に検証されたシークレットの唯一のソースです。ホスト環境変数はコンテナによって意図的に無視されます。コンテナは実行時にのみ .env をマウントするため、ファイルに欠落しているキーは、コンテナ内にも欠落しています。バージョン管理システムに実際のシークレットをコミットしないでください。

エージェントが LVM 呼び出しを実行および認証する方法は、コードによって完全に決定されます。環境変数を設定する手順、または agentengine create で LM オプションを選択する手順は、例スターター テンプレートにのみ適用されます。 Atlas Agent Engine は、LM 接続をホストまたは管理しません。

LM ゲートウェイを設定するには、次の 2 つの方法があります。

  • スターター テンプレートを使用して、動作する LVM 接続を生成されたエージェントに実行します。

  • スターター テンプレートからビルドしないエージェントを含む、任意のエージェントで機能するコード内でゲートウェイを設定します。

agentengine create コマンドを実行すると、次の の例のように、コマンドによって LM 接続を選択するように求められます。

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 キー

  • ホストが認識されない場合の接続の認証ヘッダー

このコマンドは、選択した LMクライアントを生成されたエージェントソースに書き込み、共有認証情報を生成された .envファイルに LLM_API_KEY として保存します。

コマンドでは、エージェントとツールが外部ホストにアクセスする方法を選択するプロンプトも表示されます。

  • 推奨される network.egress 構成を適用します。ゲートウェイ ホストが使用できない場合(Manual setup(custom)を選択した場合など)、このオプションは後で LM Egress を構成するように指示します。

  • すべてのアウトバウンド アクセスを許可します。

重要

選択したプロバイダーは、この agentengine create コマンドによって作成されたスタータープロジェクトのみを構成します。後で作成する他のエージェントを自動的に構成することはありません。

LVM 接続がリストされたオプションのいずれにもない場合は、Manual setup を選択し、コードでゲートウェイを設定します。このオプションはモデルビルダのスタブを作成し、エージェントコードで接続を構成できるようにします。

LVM をエージェントに接続するには、フレームワーク固有のモデルを作成し、結果のモデルインスタンスをエージェントのエントリポイントから app.llm(...) メソッドに渡します。モデル構築コードはエージェントコード内の任意のファイルに配置できますが、スターター テンプレートは言語固有のファイルにスタブを配置します。スターター テンプレートを使用しない場合は、app.llm(...) がサポートされている モデルオブジェクト を受け取った限り、他の場所でモデルを定義できます。

次の表では、さまざまなランタイムにわたってコード内で LM ゲートウェイを設定するための規則を説明しています。

ランタイム
ファイル
返す結果

LongGraph Python

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

A LgChuin BaseChatModel

LingGraph TypeScript

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

A LgChuin BaseChatModel

ADK Python

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

ADK BaseLlm(Gemini、LiteLlm など)

コンストラクターは、エンドポイント、認証ヘッダー、モデル名を設定するものです。例、LgGraph Python insurance-agent テンプレートは src/<module>/llm.py の build_llm() を定義し、Lgachein BaseChatModel を返します。エージェントエントリポイントは build_llm() をインポートし、返されたモデルを app.llm(...) に渡します。

エージェントがアクセスできるように、ゲートウェイ ホストを許可します。カスタム ゲートウェイ ホストとポートを agent.yamlファイルの network.egress ブロックに追加します。例、 ツール サンドボックスの既存の Egress 許可リストに gateway.example.com:443 を追加するには、次のコマンドを実行します。

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

エージェントのネットワーク Egress 構成の詳細については、「 ネットワーク Egress を使い始める 」ガイドを参照してください。

エージェントをスケーリングした後、 agentengine initコマンドを使用してエージェントを登録し、ローカル開発ファイルを生成できます。このコマンドを実行中前に、次の前提条件タスクを実行してください。

エージェントの ワークスペースディレクトリから、次のコマンドを実行してエージェントを登録し、ローカル ファイルを生成します。

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

このコマンドは、組織とプロジェクト を対話的に選択または作成し、ローカル 開発ファイルを生成して、エージェントをAtlas Agent Engine のワークスペースとして登録します。

Flag
説明

--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

チャットUIを使用するには、ブラウザで http://localhost:3000 を開きます。

このページを評価