Skip to content

原文(日本語に翻訳)

レート制限やサーバーエラーによって中断されたサブエージェントが、静かに失敗するだけで親エージェントに部分的な作業内容を返していなかった問題を修正

原文(英語)

Fixed subagents cut off by a rate limit or server error silently failing instead of returning their partial work to the parent

概要

サブエージェント(Taskツールなどで起動される子エージェント)がレート制限やサーバーエラーによって処理を中断された場合、これまでは何の情報も返さずに「静かに」失敗しており、親エージェントはサブエージェントがどこまで作業を進めていたのか把握できませんでした。この修正により、中断されたサブエージェントはそれまでに行った部分的な作業内容を親エージェントへ返すようになり、親エージェント側で状況を踏まえた判断ができるようになりました。

基本的な使い方

Before(修正前):

親エージェント: サブエージェントに大規模な調査タスクを委譲
サブエージェント: 調査を実行中... (途中でレート制限エラー発生)
→ 親エージェントには失敗したことしか伝わらず、
  それまでの調査結果は失われる

After(修正後):

親エージェント: サブエージェントに大規模な調査タスクを委譲
サブエージェント: 調査を実行中... (途中でレート制限エラー発生)
→ 親エージェントには、中断された旨とともに
  それまでに収集した部分的な調査結果が返される

実践例

複数ファイルの調査をサブエージェントに委譲している場合

大規模なコードベースの調査をサブエージェントに任せているとき、途中でレート制限に達しても、修正後はそこまでに見つかった情報が親エージェントに渡されるため、調査全体をやり直す必要がなくなり、続きの方針を立てやすくなります。

並列で複数のサブエージェントを走らせるワークフロー

複数のサブエージェントを並列に起動して作業を分担させている場合、一部のサブエージェントがサーバーエラーで中断されても、他のサブエージェントの結果と合わせて部分的な成果を活用でき、全体のワークフローが完全に無駄になることを防げます。

長時間かかるリファクタリング作業の委譲

サブエージェントに長時間のリファクタリングを任せている際にAPI側の問題で中断されても、それまでに変更したファイルや検討内容が親エージェントに伝わるため、作業の再開や引き継ぎがスムーズになります。

注意点

  • 返されるのはあくまで中断時点までの「部分的な」作業内容であり、タスクが完了したことを意味しません。親エージェント側で残作業の要否を判断する必要があります。
  • レート制限自体が解消されない限り、再度同様のタスクを実行しても同じ制限に達する可能性があります。
  • 本修正はサブエージェントの失敗時の情報伝達に関するものであり、レート制限やサーバーエラー自体の発生を防ぐものではありません。

関連情報