このページは英語版ドキュメントの翻訳です。コマンド、識別子、例はそのままです。ランタイム 7.24.4 · SDK 2.6.7。 英語版
ハーネス制御と検証済み評価
状態: 有効
範囲: 現行状態
最終確認: 2026-09-14
担当: ax-code ランタイム
モデル固有の努力、思考スイッチ、推論の再生については、現在のモデル推論制御 を参照してください。
任意のコンテキストとツール制御
AX Code の設定で、各実験を独立に有効にします。
{
"experimental": {
"context_recovery": true,
"mcp_tool_discovery": true,
"tail_reminders": true,
"read_only_recipes": true
}
}
4 つのオプションはすべて既定でオフです。一緒に採用する前に、自分のモデルでタスクの成功と経過時間を測ってください。既存のツール権限と分離設定は保持されます。性能診断 を参照してください。
context_recovery は context_recover を公開し、成功したコンパクション要約へソースポインタを追加します。ツールはキーワード、メッセージ ID、任意のパート ID、結果上限を受け付けます。現在のセッションだけを読み、コンパクション前の履歴を含み、戻された材料、隠された推論、無視または合成のテキストを除きます。元のメッセージとパートの ID、および上限付きの抜粋を返します。検索はページあたり最大 100 パート、各パートの最初の 16,000 文字を走査します。before はより古いパートへ続きます。一致がないことは、履歴全体にそのテキストがない証明ではありません。フォークはコピーされた履歴と新しい ID を使います。資格情報の代入は抜粋から編集されます。
mcp_tool_discovery は組み込みツールを利用可能なままにし、接続された MCP ツールのために tool_search を導入します。検索は一致するスキーマを最大 5 つ返し、次のモデルリクエストでそれらのツールを利用可能にします。それらを実行はしません。選択はセッションに範囲が限られ、32 ツールに上限され、各リクエストで現在の受け入れと交差します。大きなスキーマは検索結果から省かれ、次のリクエストで読み込まれることがあります。tool_search が拒否された場合、通常の受け入れ済み MCP カタログは利用可能なままです。tool_search という名前の既存ツールが衝突すると、エラーになります。
tail_reminders は、AX Code が生成した動的なターン注意だけを、プロバイダーリクエストの末尾へ移します。保存されたユーザーメッセージ、アシスタントの推論、ツール履歴、静的な指示は変わりません。これはモデルの振る舞いとキャッシュ利用を変え得ます。それ自体では速度改善を確立しません。
read_only_recipes は read_recipe を公開します。通常のツールディスパッチャを通して、依存する read、glob、または grep の呼び出しを最大 8 つ実行します。各子は独自の権限確認、フック、取り消し、セッション証拠を持ちます。レシピはコードを評価できず、シェルコマンドを実行できず、ファイルを書けず、MCP ツールを呼べず、別のレシピを入れ子にできません。
{
"steps": [
{ "id": "files", "tool": "glob", "parameters": { "pattern": "src/**/*.ts" } },
{
"id": "source",
"tool": "read",
"parameters": { "filePath": { "$ref": { "step": "files", "path": ["paths", 0] } } }
}
],
"select": [{ "step": "source", "path": ["text"] }]
}
正規の glob 結果は paths と truncated を含みます。grep 結果は matches を、path、line、text とともに含みます。読み取り結果は kind、描画された text、truncated を含みます。以前の結果は、そのステップと自身のプロパティパスで選びます。配列の選択はリテラルな contains フィルターと limit に対応します。返された状態と切り詰めを確認してください。レシピには 60 秒の取り消し期限、32KB の引数予算、192KB の中間予算、上限付きの最終出力があります。取り消しは、所有するツールが落ち着くのを待ちます。新しいリポジトリ指示やメディアは実行を一時停止し、モデルが続ける前にそれらを見るよう、通常の子出力を保持します。成功した選択は、モデルリクエストの中だけで中間出力を置き換えます。元の子記録は履歴に残ります。中断された親は子出力を保持します。
実行中の生成を修正する
GET /session/{sessionID}/steering は、アクティブな生成 UUID と最近の受領を返します。HTTP サーバーを通してプロジェクトを選ぶときは、既存の directory クエリパラメータを含めてください。
POST /session/{sessionID}/steering を次とともに送ります。
{
"expectedGeneration": "00000000-0000-4000-8000-000000000001",
"clientID": "correction_1",
"text": "Preserve the existing public function signature."
}
例の UUID ではなく、GET の UUID を使ってください。accepted は修正が保留であることを意味します。applied は、ループ境界でユーザーメッセージとして書かれ、そのメッセージ ID を含むことを意味します。プロバイダーの完了は保証しません。rejected は適用されなかったことを意味します。ライフサイクルフックは受け入れを拒否できます。受け入れられた修正は、完了しようとしていた生成をさらに 1 反復延ばすため、ゴールラインで送られた修正は拒否されずに適用されます。取り消しとエラーは依然として保留中の修正を拒否し、古い生成は後継へテキストを受け入れられません。同一の再試行は、保持された同じ受領を返します。既存のクライアント ID の下で異なる内容は HTTP 409 を返します。TUI の ctrl+s 今すぐ送る操作は、このエンドポイントを使います。
1 ステップでの並行ツール呼び出し
モデルが 1 つのアシスタントメッセージで複数のツール呼び出しを出すとき、ランタイムはセッション範囲の読み取り/書き込みゲートを通してそれらを並行実行します。読み取り専用ツールはレーンを共有して重なります。ファイル編集、bash、bash_input、ノートブック編集、ops_apply、MCP ツール、および並行安全でない子を含む任意の batch は、排他レーンを取り、到着順に単独で実行します。待機中に中止された呼び出しは決して実行されません。バッチは、自分が送出する呼び出しについて独自の順序障壁を保ち、子セッションは独自のゲートを持ちます。
受領はプロセスローカルで、セッションあたり最大 256、保留リクエストは 32 です。終端の受領と非アクティブなセッション項目は退避され得ます。再起動後は新しい生成を取得し、保存されたメッセージを照合してください。この API は、再起動をまたぐ耐久的な受領検索を約束しません。生成 SDK は session.steering と session.steer を公開します。
保存されたフォローアップを実行中のターンへ導く
POST /task-queue/{taskID}/steer は、待ち行列のフォローアップのテキストを、セッションの実行中生成の次のステップ境界で受け入れます。POST /session/{sessionID}/steering と同じ配送地点です。同じリクエストでキュー行を取り消し、監査のため行ペイロードに steeredInto(生成 UUID)と steeredAt を記録します。16,000 文字までのテキストのみのフォローアップは誘導できます。誘導されたテキストは、実行中ターンのエージェント、モデル、ツールを適用します。添付、フォローアップ以外の種類、決着した行、大きすぎるテキストは HTTP 400 で拒否されます。リクエストの途中で別の状態へ競合した行は HTTP 409 を返します。
応答は最新のキュー項目と、null になり得る受領を運びます。アクティブな生成がないとき、行は触れられず、応答は null の受領とともに generation_not_active を報告します。呼び出し側はそのとき POST /task-queue/{taskID}/send-now へフォールバックできます。これは行をキューの先頭へ移すだけで、ターンが終わるのを依然として待ちます。誘導された行は取り消しできませんが、cancelled として /queue 履歴の中に、監査フィールドとともに見えたままです。
TUI では、input_submit_steer キーバインド(既定 ctrl+s)は、下書きがあるときに入力された下書きを誘導します。忙しいセッションの上でコンポーザーが空のときは、代わりに保存キューの誘導可能な接頭辞を FIFO 順に昇格し、最初の誘導できない行で止まるため、後のフォローアップがそれを飛び越えません。サイドバーの Follow-ups 節と /queue ダイアログは、同じ行ごとの今すぐ誘導を提供し、待ち行列のフォローアップの近くのヒントがバインドされたキーを示します。生成 SDK は taskQueue.steer を公開します。
検証済みの作業からスキルを提案する
スキル候補は、AX Code の既存のローカルストレージにある明示的な記録です。昇格するまでスキル発見には入らず、自動のモデル呼び出しや指示の書き換えを決して引き起こしません。
提案 JSON ファイルには name、description、applicability、procedure、および evidence(中に sessionID、messageID、partID)を含めてください。証拠は、現在のきれいな Git リビジョンに対する、実行されたテストまたは型チェックのエンベロープを持つ、元の成功した verify_project 結果を識別しなければなりません。成功の一文や任意のシェル終了では不十分です。検証は、同じリビジョンでの別セッションの成功した検証を引用しなければなりません。
ax-code skill candidate propose --proposal proposal.json
ax-code skill candidate show verified-procedure
ax-code skill candidate validate verified-procedure --proposal independent-evidence.json
ax-code skill candidate promote verified-procedure
ax-code skill candidate retire verified-procedure
きれいなリビジョン確認が意味を持つよう、入力 JSON は worktree の外、または無視されたローカルディレクトリに置いてください。昇格は、既存スキルを上書きせずに .ax-code/skill/{name}/SKILL.md を作ります。昇格前にソース証拠は再確認されます。シンボリックリンクされたディレクトリは拒否されます。退役は、候補自身の変更されていないファイルだけを削除します。手動編集は衝突を引き起こします。キャッシュされたスキル発見を更新するには、既存のランタイムインスタンスを再起動します。合格した確認は、それらの確認の証拠を確立します。昇格前に手順の適用可能性をレビューしてください。
対応した実験を取得する
ソースチェックアウトから、次を使います。
pnpm --dir packages/ax-code exec tsx script/harness-eval.ts run /path/to/manifest.json > /path/to/runs.ndjson
pnpm --dir packages/ax-code exec tsx script/harness-eval.ts compare /path/to/runs.ndjson baseline candidate
信頼された運用者マニフェストには、明示的な provider/model、runtimeRevision、任意の CLI command argv、repetitions、timeoutMs、ちょうど 2 つの名前付き arms、tasks が含まれます。各アームには任意の features(上記の実験フラグ)と toolProfile があります。各タスクは id、prompt、インラインの files(path/content)、oracle を供給します。オラクルは、コーディングプロセスが終了したあと Node が実行する信頼された JavaScript です。process.argv[1] は一時フィクスチャを識別します。そのコードはエージェントのワークスペースの外に残り、モデルの応答からは決して来ません。
各試みは新しい Git フィクスチャを得ます。オラクルは初期フィクスチャで終了コード 1 で失敗しなければなりません。ランナーは固定されたヘッドレス CLI 呼び出しを使い、繰り返しの間でアーム順を入れ替え、タイムアウトを適用し、完了した試みのあとオラクルを再度実行します。elapsedMs はコーディングプロセスと実行後の検証を含みます。verificationMs は後者を別に識別します。フィクスチャの準備と最初の失敗確認は除外されます。ストリームは、完了、失敗、タイムアウト、または取り消された各試みを、終わったときに記録します。生のプロンプト、サブプロセス出力、資格情報は評価記録に出ません。中断されたコホートは不完全なままで、対応した比較を作れません。
比較は、重複と、欠けたまたは一致しないタスク、モデル、コホート、繰り返しの組を拒否します。失敗と未検証の試みは、成功率の分母に残ります。遅延の中央値と対の比は、検証済み成功を条件とすることが明示されます。P95 は、タスク、モデル、コホート、アームのセル内で 20 件の成功観察を必要とします。混在セルの集計はそれを省きます。コホートはマニフェストをハッシュしますが、ランタイムリビジョンと外部のプロバイダー、設定、キャッシュ条件は依然として運用者の制御を必要とします。小さなスモーク実行は、一般的な速度の優位を確立せず、既定を変える根拠にもなりません。
能力の選択と回復の診断
自律リクエストは、モデルが少なくとも 64,000 トークンのコンテキスト、推論対応、ツール対応を持つとき、長いエージェントのコンテキストパックを含められます。レジストリ項目がないモデルでは、3 つすべてが解決されたモデルメタデータで宣言されていなければなりません。補足パックには 2,048 トークンの文字見積もり上限があります。会話ウィンドウではありません。明示的な否定宣言と登録された制限は受け入れを防ぎます。このプロンプトテキストの最適化は、キャッシュや保持された思考の互換を確立せず、自動の Super-Long 期限とペースも変えません。それらは既存の適格性と上書きルールを保ちます。
最新のユーザーメッセージのあと(合成の末尾注意を数える前)に構造化ツール失敗が 2 回連続すると、使える努力バリアントがあるとき、次のモデル呼び出しでより深い推論を要求します。成功したツール結果はカウントをリセットします。明示的なユーザーの努力と設定された推論オプションが優先されます。これは努力の選択を変え、再試行上限やツール権限は変えません。
ローカルの llm.request 再生イベントには capabilityResolution が含まれます。プロトコル、コンテキストウィンドウ、コンテキストパックまたは Super-Long モードが選ばれたか、連続ツール失敗、推論の選択または未適用の理由です。boundary: "policy-selection" は AX Code の決定を説明します。プラグインとプロバイダー SDK は、最終リクエストを依然として変えられます。明示的な GPT-6 の努力値は保持されます。API は low 以上を必要とし、none や minimal では足りません。イベントはプロンプトや資格情報の本体ではなく、リクエストハッシュを保持します。努力バリアントがないことは、プロバイダー既定の思考が無効であることを意味しません。
対応したハーネス取得は、入力、出力、推論、キャッシュ読み取りトークン、完了したツール呼び出し、ツールエラーについて、CLI の JSON step_finish と tool_use イベントを読みます。重複したパート ID は一度だけ数えます。metricsStatus は observed、partial、または unavailable です。切り詰められた、または不正なストリームと中断された試みは合計を控えます。比較は、観察が存在する失敗した試みを含め、各指標の観察された件数と欠けた実行件数と中央値を報告します。欠けた値は欠けたままでです。これらのカウンタは出されたランタイムイベントを説明し、プロバイダー課金、子セッション使用量、ネイティブ CLI 内部ツールは説明しません。終端ツールイベントのない完全な観察ストリームは、ツール呼び出しゼロを報告します。オラクル検証はタスク成功の源のままです。使用量だけでは、成功した回復やより良い品質は確立されません。