v5.8.1:エージェントがフリーズしない——aios-shell 停止修正と LLM の意味判断による要件明確化¶
v5.8.1 は 2 つの長年の痛点を修正します:コーディングエージェント(opencode、codex)がコマンド実行中に固まって回復不能になる問題と、ワークフロー層が「依頼が実際には曖昧である」ことを検出できない問題です。
停止問題:長いコマンドがエージェント全体をフリーズ¶
aios_shell で時間のかかるコマンド(ビルド、テスト実行、数分かかるスクリプト)を実行すると、エージェントが完全に停止しました。ping 応答なし、キャンセル不可、進行状況なし。Esc を押して「continue」を送るまで動きませんでした。
根本原因はアーキテクチャにありました:MCP server と stdio proxy が JSON-RPC を直列に処理していたのです。1 つの長時間コマンドが後続のすべてのリクエストをブロックし、Esc が送る notifications/cancelled も含まれていました。クライアントは文字通りコマンドをキャンセルできず、応答も一切返ってきませんでした。
変更内容¶
- shell server のメインループは並行処理になりました:コマンド実行中も ping・キャンセル・その他のリクエストに即時応答します。
- stdio proxy も並行転送するため、プロキシ層が上流コマンドでブロックされません。
notifications/cancelledは requestId 単位で実行中のコマンドを即時終了し、タイムアウトを待ちません。- Windows では
taskkill /T /Fでプロセスツリー全体を掃除します——cmd.exe終了後に node/npm/git の子プロセスが残りません。 - stdin クローズ時は実行中の全コマンドを整理し、何も放置しません。
aios-shell プロキシチェーンは維持されます:aios-mcp-proxy.mjs は _meta.aios 観測メタデータとローカル ref を引き続き付与します。RTK/Caveman は引き続きクライアント側の出力圧縮です(プロキシは実際には出力を圧縮せず、そのまま転送します——SHELL_TOOL.description はもはや圧縮を主張しません)。
並行処理修正に加え、生成される MCP server 設定に起動タイムアウトの安全網を追加しました(Codex の startup_timeout_sec 60/30/30、OpenCode は experimental.mcp_timeout: 90000 を注入)。
もう一つの修正:依頼が曖昧であることを見抜く¶
ワークフロー層は以前、「この依頼は曖昧だ」を正規表現で判定していました。VAGUE_BEHAVIOR_PATTERN のようなパターンは明示的な言い回し(「优化一下」「tweak the login logic」)だけに一致し、より一般的なケース——具体的な機能名があるのに受け入れ基準・範囲・成功定義がない——を見逃しました。正規表現はユーザーがたまたま想定どおりの言い回しをしたときだけ発火したため、要件明確化はしばしばトリガーされず、エージェントは間違ったものを作りました。
Grilling は LLM の判断 + 実行中内蔵に¶
derive-facts.mjsは文言から正規表現で曖昧さを導出しなくなりました。- requirements Capability は
grill/specインテント(LLM の意味判断)またはドメイン語彙の曖昧さ observation でのみアクティベートされます。 rex-requirementsは実行中に埋め込まれた grilling を中心に書き直しました:一度に一つの決定質問・推奨回答付き・3 ラウンドで収束、そして本当の決定ポイントに当たったときだけ質問します。Grilling は冒頭の尋問ゲートではありません——エージェントはまず作業し、自分で事実を調べ、決定が本当にユーザーに属するときだけ立ち止まって質問します。- ワークフローランタイムは各ステージ境界で次の Capability を再選択するため、明確化を実行途中に挿入でき、完了後に元の Capability を再開します。
スキルの description は二重トリガーです:LLM は曖昧・範囲未定義・複数解釈可能な依頼(具体的な機能名があっても)で自己トリガーでき、rex-harness は従来どおりアクティベートできます。
アップグレード¶
aios update
設定の移行は不要です。更新後は opencode/codex を再起動し、新しい shell server と proxy を反映させてください。
このリリースのその他の内容¶
rex-code-reviewにシナリオベースのサブエージェント受入モードを追加:隔離・コンテキストフリーの受入実行で、正常/境界/異常シナリオをカバーし、各発見に証拠を添付します。- すべての MCP 設定ジェネレーター(Codex TOML、OpenCode JSON)が起動タイムアウトをデフォルト出力します。