Skip to content

メモ: レビュー待機中の推論再開を避ける設定とyieldの挙動 #364

Description

@lynnswap

レビュー待ちの間にCodexが「まだ待っています」と繰り返していたため、待機中の推論再開を避ける方法を調べた。

MCPを直接呼び出して待つ

レビューを依頼する側の ~/.codex/config.toml に、次を追加した。

[features.code_mode]
direct_only_tool_namespaces = ["mcp__codex_review"]

この設定では、review_start や review_await を functions.exec で包まず、直接呼び出す。CodexはMCPの応答まで待つので、exec が途中で制御を返すことによる推論の再開を避けられる。設定の実装

既存の配列があれば項目を残して追記し、スキルの指示も直接呼び出しに揃える。設定先は呼び出し側のCodexで、CodexReviewMonitor用の ~/.codex_review とは別。

MCPが未完了の結果を返した場合は、同じjob IDで review_await を続ける。MCPのタイムアウトを決める tool_timeout_sec も別途設定する。

今回は短いyieldを指定していた

ログを確認すると、開始時の functions.exec は yield_time_ms: 1000、その後の functions.wait は 60000 だった。実際にも約1秒、以降は約61秒ごとに制御が戻り、そのたびにCodexが発言していた。レビューは裏で続いており、約8分で完了した。

スキルには41分の待機指定があったが、実際の呼び出しでは使われていない。したがって、今回は「長いyield指定が効かなくなった」とは判断できない。

exec を使い続けるなら、開始時の先頭行と、継続時の wait の両方に長い値を指定する。

// @exec: {"yield_time_ms": 2460000}
{"cell_id":"<execが返したID>","yield_time_ms":2460000}

2460000 は41分。処理が先に完了すれば、その時点で返る。default_exec_yield_time_ms は省略時の既定値なので、明示された短い値を上書きしない。既定値の扱い

確認したコードでは、10秒以上のyieldに1秒の猶予を加えていた。今回の約61秒という実測とも一致する。通常の経路に60秒の固定上限はないが、実行環境が別途上限を設定する仕組みはある。待機時間の計算、セッション生成


2026-09-22に確認。実行ログはCodex Desktop 0.155.0-alpha.9.2、コードの確認対象は c46aa58a7b。両者が同じビルドかは未確認。設定の追加とTOML構文の確認まで済んでおり、変更後のレビュー動作と41分yieldでの待機はまだ試していない。

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions