# ADK 2.0の便利だけど知られていない機能
🌍 AIエージェントが外部APIの一時的な障害で止まってしまい、手動で再実行した経験はありませんか?
ADK 2.0のRetryConfigは、エージェントの失敗時に自動リトライを行うフレームワークレベルの機能です。手動のtry-catchを書かずに、宣言的にリトライ戦略を定義できます。
📌 タイトル:自動リトライ (RetryConfig)
🔗 URL:
🧩 概要
RetryConfigは、エージェントやツールの実行中に発生した一時的なエラーに対して、フレームワークが自動的にリトライを管理する仕組みです。max_attemptsでリトライ回数を指定するだけで、ネットワークタイムアウトやAPIのレート制限など、一過性の障害からの復旧を自動化できます。開発者がリトライロジックを個別に実装する必要がなくなり、エージェントの堅牢性が大幅に向上します。
🛠 使い方
RetryConfigをエージェントに設定するだけで、自動リトライが有効になります。
```python
from adk import Agent, RetryConfig
agent = Agent(
name="api_caller",
model="gemini-2.0-flash",
instruction="外部APIからデータを取得してください",
retry_config=RetryConfig(max_attempts=3),
)
```
フレームワークがエラーを検知すると、指定回数まで自動的にリトライを実行します。手動でのtry-exceptブロックは不要です。
🏗 本番システムへの組み込み方
・外部API呼び出しを含むエージェントには必ずRetryConfigを設定する
・max_attemptsは対象APIのレート制限やSLAに合わせて適切に設定する
・リトライでは回復できない永続的なエラーと一時的なエラーを区別して設計する
・リトライ回数やエラー内容のログを監視し、根本原因の特定に活用する
💡 ユースケース
🌐 外部APIのレート制限やタイムアウトからの自動回復
🗄️ データベース接続の一時的な切断への対応
☁️ クラウドサービスの瞬断に対する耐障害性の確保
🔄 マルチステップワークフローの中間ステップでの安定性向上
⚠️ 注意点
広範な`except Exception:`ブロックでエラーを捕捉すると、フレームワークのリトライ機構が正しく動作しなくなります。また、`BaseException`を捕捉すると、HITL(Human-in-the-Loop)で使用されるNodeInterruptedErrorまでトラップしてしまい、人間の介入フローが壊れます。リトライで回復が見込めないエラー(認証エラーなど)に対しては、リトライを無駄に繰り返さないよう注意が必要です。
✨ RetryConfigを活用することで、手動のエラーハンドリングから解放され、本番環境でも安定して動作する堅牢なエージェントを構築できます。
#
ADK# #
AIAgent#