LangGraphの障害耐性設計——RetryPolicy・TimeoutPolicy・error_handlerが本番エージェントに必要な理由

AI開発・生成AI活用公開日:2026年6月8日
徐 聖博
徐 聖博

株式会社シンシア 代表取締役社長

Share

シンシアへのご相談

自社のAI活用・開発体制について相談する

AIをどこまで内製するか、どの業務から着手するか、体制をどう組むか。開発会社・SIer・事業会社の開発部門の方からのご相談を無料で承っています。同じ問題を自社でも解いている立場としてお話しします。

AI活用の進め方を相談する

まだ検討段階の方は 質問だけでもOK(電話番号は任意)

LangGraphの障害耐性設計——RetryPolicy・TimeoutPolicy・error_handlerが本番エージェントに必要な理由

LangGraphが障害耐性のための3つのプリミティブ(RetryPolicy・TimeoutPolicy・error_handler)を正式にサポートした。エージェントを「デモが動く」から「本番で壊れない」に引き上げるための、地味だが本質的なアップデートだと私は見ている。

出典: Fault Tolerance in LangGraph: Retries, Timeouts, and Error Handlers

要点 (事実のみ)

  • LangGraphはStateGraphの各ノードに対し、RetryPolicyTimeoutPolicyerror_handlerの3つをadd_nodeで直接アタッチできる設計になった
  • RetryPolicyは指数バックオフ・ジッター付きで、デフォルトではConnectionErrorや5xxレスポンスのみをリトライ対象とし、ValueErrorTypeErrorなどプログラミングバグは対象外
  • TimeoutPolicyは「ハードな壁時計上限(run_timeout)」と「進捗ベースのアイドル上限(idle_timeout)」の2種類をサポート。ストリーミング中はidle_timeoutがリセットされる
  • error_handlerはリトライ枯渇後にのみ発火し、失敗コンテキスト(NodeError)を受け取って補償ロジックを実行できる。エラーハンドラーにさらにエラーハンドラーを設定することはできない
  • 記事ではフライト予約(座席予約→決済→発券)を例に、SAGAパターンをset_node_defaultserror_handlerで実装するコードを紹介している

徐 聖博の見解

エージェントの信頼性という問題を、私はIndeedでの推薦システム運用やシンシアでの受託開発を通じて繰り返し経験してきた。「ハッピーパスは書けた、でも本番に出したら外部APIの5xxとタイムアウトで詰まった」というのは、どのプロジェクトでも必ず一度は通る道だ。

今回のLangGraphの設計で評価したい点は2つある。

第一に、ボイラープレートの削除先が正しい場所にあること。リトライのwrapperを各ノード内に書くのではなく、ワークフローエンジン側に移したことで、「誰がリトライ責任を持つか」の構造的な曖昧さが消える。retryロジックがノードのビジネスロジックに混入しないため、ノード自体がテストしやすい。

第二に、error_handlerの原子性の設計が実用的だと感じた。「元のノードが失敗したらチェックポイントにERROR書き込みをコミットし、ハンドラータスクを同一ステップで再スケジューリングする」という仕様は、ホストプロセスがクラッシュしても補償ロジックが再開される保証を与える。SAGAパターンを分散システムで素直に実装しようとすると、まさにここ(部分コミットとリカバリーの一貫性)が最も厄介な部分で、それをランタイム側が保証してくれるのは開発コストとして大きい。

一方で冷静に見ると、これらのプリミティブは「正しく設定されれば機能する」ものであり、設定の責任は依然として開発者にある。リトライ対象の例外クラス選定、idle_timeoutの閾値、補償ロジックの冪等性の担保——これらを間違えると、ランタイムが親切であるがゆえに「静かに誤った方向へ補償し続ける」事故が起きる。特にSAGAパターンの補償ノードは、各ステップが冪等であることを前提に成り立つ設計だが、その冪等性の担保はアプリケーション側の責任のままだ。

Xincereで企業向けAIエージェントのPoC・初期導入を支援している立場から言えば、発注側がこの記事に注目すべき含意は「エラーハンドリングの設計工数をフロントに積む必要がある」という点だ。プロトタイプのデモコストと、本番のエラーハンドリングコストは同等かそれ以上になることが多い。ベンダーや開発会社にエージェントを依頼する際は、リトライ・タイムアウト・補償ロジックの設計方針を要件定義の段階で明示的に議論することを強く勧める。

(編集レンズ: 実装・運用視点 / 発注側・中小企業・開発実務への含意)

Share

シンシアへのご相談

自社のAI活用・開発体制について相談する

AIをどこまで内製するか、どの業務から着手するか、体制をどう組むか。開発会社・SIer・事業会社の開発部門の方からのご相談を無料で承っています。同じ問題を自社でも解いている立場としてお話しします。

AI活用の進め方を相談する

まだ検討段階の方は 質問だけでもOK(電話番号は任意)

徐 聖博のプロフィール写真

この記事の書き手に直接相談する

徐 聖博株式会社シンシア 代表取締役社長

記事の内容について、より具体的に自社のケースで聞きたいことがあれば、徐 聖博を指名してご相談いただけます。営業担当ではなく、 実際に手を動かしている本人が回答します。

この記事が役に立ったら、Google で優先表示を

Google 検索の「優先するソース」に blog.xincere.jp を追加すると、シンシアの新着記事がトップニュースなどで見つけやすくなります。

Google で優先ソースに追加

著者について

徐 聖博のプロフィール写真
徐 聖博
株式会社シンシア 代表取締役社長

株式会社シンシア(Xincere, Inc.)代表取締役。中国生まれ・3歳から日本で育ち、日本語・中国語・英語を操るトリリンガル。大学院でコンピュータサイエンス(進化型ニューラルネットワーク)を研究し、GREE・メドレー・カウンティア・Indeed Japan などで検索エンジン開発やスタートアップの立ち上げ・グロースを経験。2020年に「人の価値をテクノロジーで最大化する」という想いでシンシアを創業した。エンジニア歴15年以上、代表でありながらほぼ毎日コードを書く現役エンジニアとして、基幹システム開発からAIエージェント活用まで顧客の事業成長に並走している。創業に込めた思いはnoteの創業ストーリーに綴っている。

人気記事

    お問い合わせ

    システム開発やAI推進についてのご相談はこちらから

    無料相談を予約する