CodexOpenAI の機能

FEATURE

Codex SDK

Codex SDK は、Codex CLI・IDE 拡張・Codex cloud で使う Codex を、プログラムから操作するための SDK です。

提供中公式発表と照合済み
初出未調査
ページ更新
提供状態提供中
公式の記載で確認できた環境ターミナル
提供を確認できたプラン公式に記載なし
目次 CONTENTS
  1. できること
  2. 機能解説
  3. 使い方
  4. 利用シーン
  5. Claude・Anthropic の対応する機能
  6. これまでの変更
  7. 関連する機能
  8. 出典
CAN DO

できること

POINT 01

Codex をプログラムから操作

CI/CD パイプラインの一部として Codex を動かし、CI のジョブを含むコーディング作業を自動化できます。社内ツールや自社アプリケーションに Codex を組み込むこともできます。

POINT 02

スレッドの開始・継続・再開

アプリケーションから、ローカルの Codex のスレッドを開始し、続け、再開できます。threadSource を指定すると、連携先が作ったスレッドを識別できます。

POINT 03

設定とサンドボックスの指定

コードから Codex の設定を渡し、Sandbox のプリセットでファイルシステムへのアクセス範囲を指定できます。

GUIDE

機能解説

概要

CI を含むコーディング作業の自動化、社内ツールやワークフローへの組み込み、自社アプリケーションへの統合に使えます。Codex と連携して複雑なエンジニアリング作業をこなす独自のエージェントも作れます。ライブラリは TypeScript 版と Python 版があります。

Codex SDK には TypeScript と Python の 2 つのライブラリがあります。

  • TypeScript ライブラリ: サーバー側で使うライブラリで、Node.js 18 以降が必要です。ローカルの Codex のスレッドを開始・継続・再開できます。スレッド作成時に threadSource を指定すると連携先が作ったスレッドを識別でき、スレッドを再開しても元の source は保たれます。
  • Python ライブラリ: JSON-RPC でローカルの Codex app-server を操作します。Python 3.10 以降が必要で、pip install openai-codex でインストールします。公開されているビルドには、バージョンを固定した Codex CLI ランタイムが依存関係として含まれます。特定のローカルの Codex 実行ファイルを意図して使う場合だけ CodexConfig(codex_bin=...) を渡します。アプリケーションがすでに非同期で書かれている場合は AsyncCodex を使います。

設定・サービスティア・サンドボックスの制御

設定の上書き

TypeScript ライブラリでは、config で構造化された Codex の設定を渡します。ドット区切りのパスで表せないキーには、configOverrides で生の TOML 文字列を個別の --config 引数として渡します。生の上書きは構造化された config より優先されます。これらの上書きは Codex の設定ファイルを変更しません。

サービスティア

run() または turn() に turn_service_tier を渡すと、新しい 1 ターンだけのサービスティアを選べます。service_tier を渡すと、そのターンと以降のターンのティアが変わります。

サンドボックスのプリセット

スレッドの作成時と、後のターンでファイルシステムへのアクセスを変えるときに、同じ Sandbox のプリセットを使えます。

  • Sandbox.read_only: ファイルを読み取り、書き込みは許可しません。
  • Sandbox.workspace_write: ファイルを読み取り、ワークスペースと設定済みの書き込み可能なルートの中に書き込みます。
  • Sandbox.full_access: ファイルシステムへのアクセス制限なしで実行します。

sandbox= を省略すると、app-server は設定済みの既定値を使います。run(...) または turn(...) に渡したサンドボックスは、そのターンとスレッド上の以降のターンに適用されます。

外部の入力と履歴の扱い

ツール、アプリケーション、別のエージェントから来た内容は、ExternalMessage として thread.run() または thread.turn() の入力全体に渡せます。Codex はこの内容をツールの出力として扱い、ユーザーや開発者の指示より低い優先度に置きます。

codex.thread_resume() または codex.thread_fork() に include_turns=False を渡すと、古いターンをレスポンスに読み込まずにスレッドを再開できます。履歴が後で必要になったときは thread.read(include_turns=True) を呼びます。モデルのプロバイダーを切り替えた場合は、codex.thread_fork(thread_id) で同じ履歴から新しいプロバイダー上で続けられます。

HOW TO USE

使い方

TypeScript ライブラリでの基本的な流れです。

  1. npm install @openai/codex-sdk で TypeScript 用の Codex SDK をインストールします。
  2. Codex でスレッドを開始し、プロンプトを渡して実行します。
  3. 同じスレッドで続けるときは run() をもう一度呼びます。過去のスレッドを再開するときは、スレッド ID を指定します。
公式ヘルプを開く ↗
USE CASES

利用シーン

CASE 01

CI/CD パイプラインのジョブとして Codex にコーディング作業をさせる場面に向いています。

CASE 02

社内の開発ツールや業務ワークフローに Codex を組み込む用途に使えます。

CASE 03

他のツールやエージェントの出力を ExternalMessage として Codex に渡す連携に使えます。この内容はユーザーや開発者の指示より低い優先度で扱われます。

CASE 04

コードの調査など書き込みが不要な処理を、Sandbox.read_only で読み取りだけに限って実行する場面に使えます。

COMPARISON

Claude・Anthropic の対応する機能

比較の単位となる業務: SDK からのコーディングエージェントのプログラム実行と設定制御

推論の強さの指定について、Codex SDK では SDK から推論強度として max または ultra を選べます。Claude Code の /effort では、Opus 4.7 向けに high と max の間に位置する xhigh が追加され、/effort、--effort、モデルピッカーから指定でき、他のモデルでは high にフォールバックします。

SDK から作ったセッションの扱いについて、Codex SDK ではスレッド作成時に threadSource を指定して連携先が作ったスレッドを識別でき、再開しても元の source が保たれます。Agent SDK 側では、claude -p や SDK の呼び出しで作成されたセッションは --resume のピッカーに表示されません。

TIMELINE

これまでの変更

  1. Python SDK とランタイムの公開が安定版 CLI のリリースに合わせられ、同じバージョンを使い、SDK の公開前にランタイムのアセットを検証する形になりました。Python SDK の型は、リポジトリの app-server スキーマから生成されるようになりました。

  2. SDK から CLI の設定オーバーライドをそのまま渡せるようになり、推論強度として max または ultra を選べるようになりました。TypeScript SDK に生の設定オーバーライドが追加されました。

SOURCES

出典

出典 6 件を表示