本文へスキップ
kenjtecJournal
Journal内を検索

AIエージェントがクラッシュしたとき:Vercelのdurable-harnessは作業の状態から再開します

再開とは、保存されたチャットだけを意味するものではありません。独自のエクスポート例を使って、チェックポイント、不明確な副作用、そして安全な繰り返しが限界に達する地点を説明します。

トビアスが封筒を持って待っている。箱と封筒の間には、赤い旗の付いた小さな門が開いて立っている。AIによるイラスト。

エージェントがレポートを書き、ファイルを作成し、その後メッセージを送信します。そこでプロセスが中断します。再起動すると、チャットには「これから結果を送信します」と表示されます。メッセージはすでに送られたのでしょうか。ファイルはもう一度作成しなければならないのでしょうか。会話履歴が滑らかにつながっていても、こうした問いには答えてくれません。

2026年十月19日、Vercelはdurable-harnessを公開しました。このプロジェクトは、作業を再開できるようにエージェントのステップと結果を記録し、中断されたツールを再実行に関する特性に応じて異なる方法で扱います。今回のリリースは、作業の状態についてより注意深く考えるきっかけになります。本記事の例は私たち独自のモデルであり、このプロジェクトに対して私たちが実施したテストではありません。

意図、呼び出し、結果は三つの別々のものです

意図は、次に何が起こるべきかを表します。開始された呼び出しは、作業が始まったことを示します。保存された結果だけが、自分のプロセスがそれについて把握している内容を記録します。これらの段階を混同すると、再起動時に作業が重複したり、一度も完了していない処理が飛ばされたりしやすくなります。

したがって、レポートについては「エクスポート完了」という記録だけでは不十分です。使用した入力と、実際に作成されたファイルへの参照が必要です。元の文書が変更された場合、以前のエクスポートはまだ存在しているかもしれませんが、もはや正しい結果ではありません。再利用は、明確な対応付けから始まります。

Step: export-17
Input: bericht-v3
State: completed
Result: bericht-v3.pdf
Next step: notification

これは読みやすい管理カードであり、APIの形式ではありません。会話の中で言及されたファイル名と、特定のステップの追跡可能な結果との本質的な違いを示しています。実際のプロセスでは、対応するファイルが検証可能な形で存在していなければなりません。

安全な再起動は、不明確な状態を把握しています

プロセスが中断しうる三つの地点を考えてみましょう。エクスポートの前には、まだ結果はありません。エクスポートの後、メッセージの前であれば、ファイルを再利用できます。メッセージの送信中は、状況がより難しくなります。受信者はすでにメッセージを受け取っているかもしれない一方で、自分のログには確認が残っていない可能性があるからです。

したがって、「確認が保存されていない」というローカルの状態は、「送信されていない」ことの証明にはなりません。そのステップをやみくもに繰り返すと、不確かさが重複メッセージに変わってしまうおそれがあります。適切なプロセスでは、このステップを不明確なものとして記録し、外部サービスが適切なステータス照会を提供している場合には、そのサービスに確認します。

まさにこの点で、アクションごとの違いが生じます。既存のファイルをもう一度読み込んでも、通常は受信者にとって何も変わりません。これに対して、もう一通のメッセージ、注文、支払いは、新たな影響を引き起こす可能性があります。永続的なログが、外部システムに代わってこうした違いを解消してくれるわけではありません。

べき等性は操作の特性です

繰り返し可能な操作は、同じリクエストによって誤って新しいジョブが作成されないよう識別できるべきです。サービスがこの目的のためのキーをサポートしている場合、同じ論理的な操作では同じキーを使い続けなければなりません。再起動のたびに新しく生成されるキーでは、まさにこの関係が失われてしまいます。

これが確実に機能するかどうか、またどのように機能するかは、実際のサービスの契約によって決まります。エージェントフレームワークは、親しみやすいラベルを付けるだけでアクションを安全に繰り返し可能にすることはできません。また、「厳密に一度だけ」は、ログが永続的に保存されることから自動的に得られるものでもありません。

小さな中断テストは、成功した実行よりも多くのことを教えてくれます

自分の開発環境であれば、無害な演習が考えられます。まず送信ステップをローカルのログに置き換え、先に挙げた三つの地点でプロセスを中断し、再起動時にどの状態が存在するかを確認します。どのステップは繰り返してよく、どのステップには確認が必要かを、事前にメモしておいてください。この最初の調査には、実際の支払いやメッセージを使わないでください。

得られる知見は、でっち上げの成功率にあるのではありません。自分のプロセスにおける状態の境界を言葉にできることにあります。durable-harnessは、そのための具体的な技術的アプローチの一つです。しかし、良い再起動は常に同じ問いから始まります。何が確実に起こったのか、そしてどこがまだわかっていないのか、という問いです。

出典と情報の時点

調査および記録は2026年十月25日時点のものです。 あらゆるハーネスを永続的にする。

出発点はハンブルクです。

役立つ知識は、どこへでも。

ハンブルク発、世界に向けたAI実践ガイド。

保存済み記事