メインコンテンツへ移動
AIチュートリアル

CodexでAstra-Aresを使った適応型推論の方法

Astra-Aresのビルドと設定、パッチ適用済みCodex CLIの起動、Jevによる世代間のGPT-6 Astraの推論強度の調整方法を解説します。リース、制限付き評価コンテキスト、診断、プロバイダーの動作、プロジェクトの実験的な制限についても説明します。

CodexでAstra-Aresを使った適応型推論の方法

重要: Astra-Aresは実験的なリファレンス実装です。独立したパッチ適用済みのCodex CLIを実行し、主に実験や、適応型の推論負荷を独自のエージェントシステムに導入する開発者向けに設計されています。

Astra-Aresの機能

Astra-Aresは、Codexタスクの実行中にGPT-6 Astraの推論負荷を適応的に選択できるようにします。タスク全体に1つの固定された推論レベルを割り当てる代わりに、Jevという評価器を使って、Astraが次のステップにどれだけの推論を適用するかを選択します。

Jevは制限されたタスクコンテキストを調べ、次の負荷レベルを選択し、その選択をモデル生成の1回、2回、5回、または10回にわたって有効にするかどうかを決定します。その後、Codexは作業を続行する前に、Astraのネイティブ設定メカニズムを通じてその選択を適用します。

Astraは、キャッシュで使用される元のプロンプトプレフィックスを無効にすることなく、推論負荷を変更できます。そのためAresは、Astraのネットワーク経路に割り込むのではなく、同じモデル、会話、OpenAIへの直接接続を維持します。通常のプロンプトキャッシュの適用条件と保持ルールは引き続き適用されます。

主な機能

  • 適応型推論: 1つの固定設定に頼るのではなく、Jevがタスクの次の部分に必要な負荷を選択します。
  • 複数生成にわたるリース: 1回、2回、5回、または10回の生成にわたって決定を有効にできるため、不要な評価器へのリクエストを減らせます。
  • Codexによるネイティブ適用: パッチ適用済みCLIが生成の合間にAstraの設定を適用し、適用の成功を確認します。
  • 制限付き評価器コンテキスト: Jevはタスク、公開された進行状況、推論の要約、直近のツール結果の一部を受け取ります。
  • Astraへの直接接続: Codexは引き続きOpenAIと直接通信します。Jevは別途設定されたプロバイダーを使用します。
  • 分離されたインストール: Astra-Aresは独自のCodexプロファイルを使用し、既存のcodexコマンドやCodexデスクトップアプリケーションを置き換えません。
  • 明示的な失敗処理: Aresはプロバイダーを黙って切り替えたり、モデルを代替したり、負荷の決定を捏造したりしません。

インストール前の確認

初回ビルドには数分かかり、約10 GBの空き容量が必要です。次の前提条件をインストールしてください:

  • Node.js 22以降
  • npm
  • Git
  • curl
  • tar
  • ネイティブC/C++ビルドツールチェーン
  • rustup経由のRust

セットアッププロセスでは、上流のCodexソースで固定されているRustツールチェーンもインストールされます。macOSで不足している場合は、Xcode Command Line Toolsをインストールしてください:

xcode-select --install

Apple Silicon搭載のmacOSでは、ローカルでのビルドとテストが完了しています。Intel版macOSとLinux向けのビルドパスもありますが、まだ受け入れテストは実施されていません。Windowsは、この統合がUnixソケットに依存しているためサポートされていません。

ステップ1: Astra-Aresのビルドとインストール

ソースリポジトリをクローンし、Node.jsの依存関係をインストールして、自動セットアップを実行し、グローバルコマンドリンクを作成します:

git clone https://github.com/miuuyy/Astra-Ares.git
cd Astra-Ares
npm ci
npm run setup
npm link

セットアップでは、固定されたバージョンのCodexをダウンロードし、付属のパッチを適用して、自動的にビルドします。Codexを手動で編集する必要はありません。

npm linkコマンドにより、ターミナルでastra-aresとaresという2つのコマンドが使えるようになります。プレビュー版はソースから配布されており、現在、公開済みのnpmパッケージやビルド済みAresダウンロードはありません。更新、ビルドの再利用、削除、グローバルリンクなしでの操作については、プロジェクトのインストールドキュメントを参照してください。

ステップ2: Jevプロバイダーの設定

新規インストールでは、JevプロバイダーとしてOpenRouterがデフォルトで使用されます。OpenRouter APIキーを作成し、アカウントにチャージ済みのクレジットがあることを確認して、設定プロンプトを起動します:

ares configure

非表示のプロンプトにキーを貼り付けます。Astra-Aresは、クローンしたリポジトリの外部にある、ユーザー専用の非公開設定にキーを保存します。

Jevの認証情報は、Astraへのアクセスに使用するCodexアカウントとは別のものです。パッチ適用済みCLIで認証が必要な場合は、次のコマンドでサインインしてください:

astra-ares login

その他のJevプロバイダーや環境変数のオプションについては、プロジェクトの設定ガイドで説明しています。

ステップ3: 適応型推論でCodexを起動

パッチ適用済みのCodexターミナルを起動します:

astra-ares

ネイティブの/modelピッカーを開き、Astra-Jevを選択します。新しいAresプロファイルでは、デフォルトでこの項目が選択されます。その後、ツール、承認、キャンセル、履歴など、通常のCodexワークフローを使用してタスクを送信できます。

Jevが負荷レベルを変更し、Codexがその適用を確認すると、トランスクリプトに次のようなメッセージが表示されます:

Jev  LOW → HIGH  ✓ APPLIED
     Step 3 · next 2 generation(s) · 321 ms

APPLIEDは単なる推奨通知ではありません。Codexが次の生成に向けて設定が適用されたことを確認した、という意味です。通知はネイティブ適用の後に表示されます。

基本的な使用例

特定のリポジトリを開く

-Cを使用して、特定のプロジェクトディレクトリで作業を開始します:

astra-ares -C /path/to/project

最後のAresセッションを再開

astra-ares resume --last

Aresは専用のCodexプロファイルを使用するため、このコマンドでは通常のCodexインストールに属するセッションではなく、そのプロファイルの最後のセッションを再開します。

Jevキーを置き換える

ares configure

セッションでJevを無効にする

/modelを開き、通常のAstraまたは別のモデルを選択します。CodexはJevのルーティングなしで動作を続けます。

適応型選択の仕組み

  1. Codexはモデル生成の前に、対象となるチェックポイントに到達します。
  2. Aresは、タスク、公開された進捗、最近のツールアクティビティを含む、範囲を制限したコンテキストを準備します。
  3. Jevは、推論の強度と、1、2、5、または10回の生成に対するリースを選択します。
  4. Codexは、Astraのネイティブ設定機構を使って選択された設定を適用します。
  5. Astraが応答を生成し、1つ以上のツールを呼び出すことがあります。
  6. Aresは、リースの期限が切れたとき、またはイベントによって無効になったときに、別の判断を求めます。

1ステップとは1回のモデル生成を意味し、1回のツール呼び出しではありません。1回の生成で複数のツール呼び出しが行われることがあります。判断は、利用可能なツール結果が会話に追加された後、次の生成の前に行われます。

Jevは、ユーザーの目標との関係で、次にどの程度の推論が必要かを評価します。たとえば、ファイルを読むだけだからといって、ファイルの解釈が難しい部分である可能性があるため、自動的に低い強度が適切になるとは限りません。

リースを理解する

Jevが10回の生成のリースを選択した場合、Aresはステップ1で判断を求め、その後ステップ11でもう一度求めます。ステップ2から10では、追加のJevリクエストを行わず、承認済みの選択を再利用します。

新しいユーザー入力が到着した場合、ツールが失敗した場合、モデルが変更された場合、または推論の強度が手動で変更された場合、リースは早期に終了します。その後、次の対象チェックポイントでJevに確認します。ツールの失敗は再評価を要求しますが、ハードコードされたエスカレーションを発生させるものではありません。

Jevが受け取るコンテキスト

Jevは、Astraの制限されていない内部コンテキスト全体を受け取るわけではありません。評価用のビューには次が含まれます。

  • 元のタスクまたは現在のタスク、および保持されている過去のユーザーリクエスト
  • 公開された進捗、計画、推論の要約
  • 直近6回のツール呼び出しと、それぞれに対応する結果
  • 各ツール呼び出しについて、結合された結果テキスト最大1,000ローカルトークン(明示的な先頭・末尾の切り詰めを使用)
  • 28,000ローカルトークンの上限で保護された、完全な評価リクエスト

非公開または暗号化された推論は除外されます。サイズ超過した評価リクエストは、黙って送信されるのではなく、明示的に停止します。ローカルトークナイザーは予算の推定値を提供しますが、Jevのトークナイザーと必ずしも同一ではありません。これらの制限はJevのビューにのみ適用され、Astraはネイティブの会話を保持します。

範囲を制限したタスクコンテキストは、設定されたJevプロバイダーに送信されます。機密性の高いプロジェクトデータを使用する前に、設定とログのドキュメントを確認してください。

診断とトラブルシューティング

ローカルインストールを確認する

ares doctor

このコマンドは、以下で説明するプロバイダープローブを意図的に実行せず、インストールと設定をローカルで確認します。

Jevプロバイダーをテストする

ares doctor --probe

プローブは、課金対象となる小規模なJevリクエストを1回実行します。ローカルチェックには合格するものの、評価の判断に失敗する場合に使用してください。

判断ログを確認する

デフォルトでは、実行ログは次の場所に保存されます。

~/.local/share/astra-ares/runs/<run>/decisions.jsonl

これらの記録は、プロバイダーリクエストの失敗、判断のタイミング、適用された設定を特定するのに役立ちます。

HTTP 429を正しく解釈する

HTTP 429応答は、レートまたは容量による拒否を示します。それだけで評価コンテキストが大きすぎることを証明するものではありません。一時的なHTTPエラーに対しては、30秒の期限内に同じプロバイダーへ最大3回まで試行します。

すべての試行が失敗した場合、Aresは現在のターンを明示的に停止します。別のプロバイダーへ黙って切り替えたり、別のモデルを選択したり、推論の強度を捏造したりすることはありません。追加の確認事項については、リポジトリのトラブルシューティングガイドを参照してください。

高度なヒント

応答性と評価コストのバランスを取る

新しいJevの判断には、プロバイダーへの往復通信とローカルのチェックポイント処理が追加されます。リースが有効な間、チェックポイントは追加のJevリクエストなしでローカル処理されます。そのため、長いリースはリクエスト頻度を下げられますが、リファレンス実装で説明されている期間を選択するのはユーザーではなくJevです。

統合を検証するときは表示される確認を使う

適応動作をテストするときは、Jevの推奨がAstraに届いたと推測するのではなく、APPLIEDステータスを確認してください。この確認は、Codexがネイティブ設定を適用した後にのみ出力されます。

現在の測定上の制限を把握する

このプロジェクトには、設定の適用とプロンプトプレフィックスの保持に関するネイティブフィクスチャテストが含まれています。ただし、ワークロードのキャッシュヒット率や、固定された推論強度と比較した削減効果はまだ測定されていません。効率に関する主張は、自分のワークロードで検証すべき設計目標として扱ってください。

開発用テストスイートを実行する

コントリビューターは、依存関係をインストールし、次のコマンドで標準テストを実行できます。

npm ci
npm test

ネイティブ統合フィクスチャには、さらにBunとパッチ適用済みのCodexバイナリが必要です。

JEV_TEST_BINARY="$HOME/.local/share/astra-ares/bin/codex" npm run test:native

ローカルのフィクスチャテストにAPIキーは必要ありません。上流ソースのチェックサムとパッチバージョンはpatches/upstream.jsonに固定されています。

結論

Astra-Aresは、既存の会話、OpenAIへの直接接続、元のプロンプト接頭辞を維持しながら、エージェントが世代間でGPT-6 Astraの推論努力度を調整できる仕組みを示します。自動セットアップにより実験を始めやすくなっていますが、別途パッチを適用したCodex CLIを基盤とする初期の技術プレビューです。日常的な開発ツールとして扱う前に、診断機能を使用し、意思決定ログを確認して、自分のワークロードでパフォーマンスを検証してください。