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

MongoDB を設定する

このガイドでは、MongoDB agent.yamlを設定して、単一のリポジトリから複数のエージェントを管理する方法を学習できます。 MongoDB はリポジトリルートで各エージェントの名前とサブディレクトリ パスを一覧表示する ファイルを使用します。 CLI は、ルート にagent.yaml agentsキーではなくentrypoint キーが含まれている場合に、mongorepo形式を自動的に検出します。

MongoDB Atlas を設定する前に、 MongoDB Atlas Agent Engine をインストールして認証していることを確認します。

MongoDB では、各エージェントのサブディレクトリにルート agent.yaml と単一エージェント agent.yaml が必要です。次の例は、2 つのエージェントを含む MongoDB のファイル構造を示しています。

my-repo/
├── agent.yaml # Monorepo root file
├── .env # Shared secrets for the local dev stack
├── pyproject.toml # Shared Python dependencies (optional)
├── agents/
│ ├── chat/
│ │ ├── agent.yaml # Per-agent configuration file with entrypoint
│ │ ├── pyproject.toml
│ │ ├── .env # Per-agent secrets
│ │ └── src/
│ └── search/
│ ├── agent.yaml # Per-agent configuration file with entrypoint
│ ├── pyproject.toml
│ ├── .env # Per-agent secrets
│ └── src/
└── shared/ # Shared libraries, included in all builds

次の手順は、必要な MongoDB ファイルを構成し、MongoDB を初期化する方法を示しています。

1

リポジトリルートに agent.yamlファイルを作成します。 agents リストを使用して、各エージェントの名前とパスを宣言します。ルートファイルに entrypointフィールドを含めないでください。

agents リスト内の各エントリには次のフィールドが必要です。

フィールド
必須
説明

name

はい

エージェント識別子。このフィールドを、ハイフンを含む小文字の英数字値に設定します。先頭または末尾のハイフンは使用せず、名前が MongoDB 内で一意であることを確認してください。

path

はい

リポジトリルートからエージェントのディレクトリまでの相対パス。 ../ を使用して、絶対パスを指定したり、リポジトリルートからエスケープしたりすることはできません。

次のサンプルagent.yamlファイルは、chat と search という名前の 2 つのエージェントを含む MongoDB を構成します。

agents:
- name: chat
path: agents/chat
- name: search
path: agents/search
2

各エージェントのサブディレクトリに、単一エージェント形式を使用するagent.yaml ファイルを作成します。ファイルには、エージェントのアプリケーションオブジェクトを指すentrypoint フィールドと、エージェントが実行する内容とアクセスできるシークレットを定義するsandboxes フィールドが含まれている必要があります。使用可能なすべてのフィールドを表示するには、 プロジェクトの作成ガイドのエージェント.YAML フィールドのリスト を参照してください。

次のサンプルagent.yamlファイルは、 chatエージェントを構成します。

entrypoint: chat_agent.graph:app
name: chat
sandboxes:
agent:
secrets: ["*"]
tools: []
tool:
secrets: ["*"]
tools: []

次のサンプルagent.yamlファイルは、 searchエージェントを構成します。

entrypoint: search_agent.graph:app
name: search
sandboxes:
agent:
secrets: ["*"]
tools: []
tool:
secrets: ["*"]
tools: []

agent サンドボックスは、 割り込みツールなど、エージェントで実行する必要があるツール用です。 tool サンドボックスは、エージェントとは別に実行されるツール用です。各サンドボックスのツールを toolsフィールドに一覧表示します。各サンドボックスの secretsフィールドの下で シークレット アクセス を構成します。サンドボックスが選択されたシークレットのみを受け取る場合は、 ["*"] を特定のシークレット名のリストに置き換えます。

重要

各サブディレクトリには、エージェントのPython依存関係を宣言する pyproject.tomlファイルも含まれている必要があります。ファイルには、[project].name キーを設定し、requires キーと build-backend キーを設定する [build-system] テーブルを含める必要があります。これらの要件を満たすファイルを生成するには、エージェントサブディレクトリで uv init --package を実行します。

3

MongoDB は 2 種類の .env ファイルを使用します。1 つはローカル 開発スタックがすべてのエージェント間で共有するシークレット用のルート .env と、そのエージェント独自のシークレット用に各エージェントサブディレクトリ内のエージェントごとの .env を使用します。ローカル環境を起動する前に、これらを手動で作成します。

リポジトリルートに、次の例に示すように、オーケストレーションエンジンとすべてのエージェントがローカル開発中に消費するシークレットを含む .envファイルを作成します。

.env
MONGODB_URI=<your-mongodb-connection-string>
<PROVIDER>_API_KEY=<your-api-key>

各エージェントのサブディレクトリに、エージェント固有のAPIキーなど、そのエージェントのみが消費するシークレットを含む .envファイルを作成します。

重要

バージョン管理にシークレットをコミットしないでください。

4

リポジトリルートから次のコマンドを実行して、各エージェントを登録し、ローカル開発ファイルを生成します。

agentengine init

CLI は MongoDB TLS形式を自動的に検出し、ルート agent.yaml にリストされている各エージェントをAtlas エージェント エンジンの個別のワークスペースとして登録します。

既存の単一エージェントリポジトリを単一エージェントに変換するには、エージェントファイルを サブディレクトリに移動し、プロジェクトを再初期化します。

次の手順は、mongorepo に移行する方法を示しています。

1

以下のコマンドを実行して、エージェントのサブディレクトリを作成し、以下のファイルをそのサブディレクトリに移動します。

mkdir -p agents/<agent-name>
mv agent.yaml pyproject.toml .env src/ agents/<agent-name>/

<agent-name> プレースホルダーをエージェントの名前 に置き換えます。

注意

ディレクトリ構造

上記の例では、agents/ディレクトリに サブディレクトリが作成されています。別のディレクトリ構造を使用できますが、ルート agent.yaml の path 値は対応する相対パスを指定する必要があります。

2

agentengine init を実行すると、CLI は非表示の .agentengine/ディレクトリを生成し、.agentengine/state.jsonファイルにワークスペースの登録状態を含むようにします。 MongoDB では、各エージェントに独自の .agentengine/ディレクトリが必要です。

次のコマンドを実行して、既存のディレクトリをエージェントのサブディレクトリに移動し、エージェントのワークスペース登録を保持します。

mv .agentengine/ agents/<agent-name>/.agentengine/

重要

.agentengine/ディレクトリを移動しない場合、agentengine initを実行中とエージェントの新しいワークスペースが登録され、以前のワークスペース登録は孤立します。

3

リポジトリルートに、前の「 MongoDB Atlas の構成 」セクションで説明されているように、agent.yaml キーを使用してエージェントを一覧表示する新しいagents を作成します。

4

リポジトリルートから次のコマンドを実行して、MongoDB を初期化します。

agentengine init

CLI は、 MongoDB Ops Manager形式を検出し、エージェントごとの ev コンテナ アーティファクトを生成し、.agentengine/state.jsonファイル をまだ持っていないエージェントを登録します。既存の state.json を持つエージェントは、現在のワークスペース登録を保持します。

MongoDB を設定したら、エージェントをビルドして配置できます。その方法については、次のガイドを参照してください。