CodexでのOracle Agentメモリーの使用
多くの場合、コーディング・エージェントは、意思決定、リポジトリ規則、アーキテクチャ・ノート、以前のセッションで検出されたトラブルシューティングのレッスンなしでタスクを開始します。ソースファイルやチャット履歴からそのコンテキストを再構築すると、時間とコストがかかり、一貫性のない変更につながる可能性があります。
Codex用のOracle AI Agent Memoryプラグイン(現ChatGPT Work)は、Codex永続プロジェクト・メモリーを提供します。Codexは、実質的な作業の前に過去の知識を検索し、後のセッションに簡潔な永続ファクトを追加し、明示的に有効にすると、現在のメモリー・スレッドでユーザー・プロンプトと最終アシスタントの返信を取得します。
このガイドでは、既存のCodexプラグインをダウンロード可能なローカルマーケットプレイスとしてパッケージ化し、それを使用するために必要な両方の役割を説明します。
- 管理者は、含まれている参照MCPサーバーを構成および実行し、ユーザーおよびエージェントにスコープ指定されたトークンを発行します。
- Codexユーザーは、ダウンロードしたプラグインをインストールし、そのトークンを提供し、オプションで自動メッセージキャプチャフックを有効にします。
警告:付属のMCPサーバーは、学習およびリファレンス・デプロイメントです。共有シークレットJWTを使用し、そのデフォルト構成はローカル・コンピュータ上のプレーンHTTPを提供します。信頼できる環境以外で使用する前に、認証、トランスポート・セキュリティ、資格証明ストレージ、トークン・ライフサイクル、認可および可観測性をレビューして適応させます。
プラグインのダウンロード
Codexプラグインプロジェクト codex_plugin.zipをダウンロードします。アーカイブは、リポジトリのexamples/codex_pluginディレクトリから作成され、プラグイン・マニフェスト、メモリー・スキル、MCP構成、フックおよび参照サーバーが含まれます。
Codexを実行するコンピュータに解凍します。インストールする前に、プラグイン・マニフェスト、.mcp.jsonおよびhooks/hooks.jsonを読み取ります。プラグインの一般的な概念およびインストール動作については、ChatGPTプラグインのドキュメントを参照してください。
unzip codex_plugin.zip
cd codex_plugin
コンポーネントの理解
ダウンロードされたプロジェクトには、3つのプラグインコンポーネントと1つの管理者実行サービスがあります。
skills/memoryは、永続的なプロジェクト・メモリーを責任を持って使用するためのCodex命令を提供します。searchおよびaddは、Codexに公開されるMCPツールです。UserPromptSubmitおよびStopフックは、ユーザー・プロンプトおよび最終アシスタントの応答を記録できます。ユーザーがCodexでレビューおよび信頼するまで有効になりません。misc/remote_mcp_server.pyは、Oracle Agent Memoryでメモリーを格納および検索する参照サービスです。
プラグインのデフォルトはhttp://127.0.0.1:8000/mcpです。これは、管理者とCodexが同じコンピュータ上で実行されている場合に機能します。管理者管理サービスの場合、プラグインを配布またはインストールする前に、.mcp.jsonのurlを承認済のMCPエンドポイントに変更します。
Python要件のインストール
フックとMCPサーバーは、異なる Python環境で実行されます。実行する場所に要件をインストールします。
| 環境 | 必要なライブラリ |
|---|---|
| Codexを起動するために使用されるPython | requests. プラグイン・フックは、その環境のpython実行可能ファイルを呼び出します。 |
| 参照MCPサーバーの実行に使用されるPython | oracleagentmemory、fastmcp、PyJWTおよびpython-dotenvに加えて、Oracle AI Database接続と構成済の埋込みプロバイダおよびLLMプロバイダ。 |
たとえば、Codexを起動する環境にhook依存関係をインストールします。
python -m pip install requests
サーバーを起動する環境に参照サーバーの依存関係をインストールします。
python -m pip install oracleagentmemory fastmcp PyJWT python-dotenv
SDKおよびデータベースの設定については、設定ガイドおよびOracle AI Databaseのローカルでの実行を参照してください。
管理者: メモリーMCPサーバーを構成します
サーバーは、misc/.envから接続、モデルおよび署名構成を読み取ります。指定されたテンプレートをコピーして、使用する環境の値を移入します。
cp misc/.env.sample misc/.env
DB_USER="<database-user>"
DB_PASSWORD="<database-password>"
DB_CONNECT_STRING="<database-connect-string>"
EMBEDDER_MODEL_ID="<embedding-model-id>"
EMBEDDER_API_BASE="<embedding-api-base>"
EMBEDDER_API_KEY="<embedding-api-key>"
LLM_MODEL_ID="<llm-model-id>"
LLM_API_BASE="<llm-api-base>"
LLM_API_KEY="<llm-api-key>"
JWT_SECRET="<signing-secret>"
署名シークレットを1回生成し、安全に保管して、値をmisc/.envに配置します。ユーザー・トークンを発行する場合も同じシークレットが必要です。
export JWT_SECRET="$(openssl rand -hex 32)"
抽出されたプラグイン・ディレクトリからサーバーを起動します。
python misc/remote_mcp_server.py \
--host 127.0.0.1 --port 8000
ノート:サーバーがリモートの場合、そのデプロイメントに適したホストおよびポートを使用し、そのエンドポイントをプラグインの.mcp.json構成と一致させます。
管理者: ユーザー・トークンの発行
参照サーバーは、Codexからこれらの値を受け入れるのではなく、Bearerトークンからuser_idおよびagent_idスコープを導出します。メモリーを共有するユーザーおよびエージェント・コンテキストのトークンを作成します。サーバーで使用されているものと同じ署名シークレットをエクスポートし、次を実行します:
export JWT_SECRET="<same-signing-secret>"
python misc/create_token.py \
--user-id "<user-id>" \
--agent-id "<agent-id>"
承認されたシークレット配信メカニズムを介して、印刷されたトークンを目的のCodexユーザーに付与します。これを、エンコードされたメモリー・スコープの資格証明として処理します。参照トークンの存続期間および署名アプローチは、本番トークン管理ポリシーではなく、動作例です。
ユーザー: プラグインをCodexにインストールします
抽出されたプラグイン・ディレクトリから、ローカルのマーケットプレイスを追加し、プラグインをインストールします。
codex plugin marketplace add .
codex plugin add oracle-ai-agent-memory@codex-oam
管理者が指定したトークンを使用してCodexを起動します。
OAM_MCP_TOKEN="<user-token>" codex
/mcpを実行し、memoryサーバーがsearchおよびaddツールで使用可能であることを確認します。これらのツールは自動キャプチャなしで動作します。
ユーザー: オプションで自動セッション取得を有効にします。
プラグインのフックは、送信された各ユーザープロンプトと最終的なアシスタント応答をメモリーMCPサーバーに送信します。Codexをインストールして再起動した後、/hooksを実行し、Oracle AI Agent MemoryのUserPromptSubmitおよびStopフックを検査し、その動作が必要な場合にのみ明示的に信頼します。フックの動作と構成の詳細は、ChatGPTフックのドキュメントを参照してください。
フックを信頼できないままにすると、自動キャプチャは無効になりますが、CodexはMCPツールを介してメモリを検索したり追加したりすることはありません。
まとめ
このガイドでは、Oracle AI Agent Memory Codexプラグインをダウンロードしてインストールし、その参照MCPサーバーを構成し、スコープ指定ユーザー・トークンを発行し、オプションでセッション・メッセージを取得する方法を学習しました。Codexは、耐久性のあるプロジェクト・コンテキストを検索し、再利用可能なナレッジを保存して、後でコーディング・セッションを行うことができるようになりました。
→CodexでOracle Agent Memoryを使用する方法を学習した後、「MCPサーバーでのエージェント・メモリーの使用」にも関心がある場合があります。