Agents SDK v0.30.0 で Pi 1.4 に対応!クラッシュや eviction からの復帰がより確実に
みんな、しぃちゃんだよ!Agents SDK の新バージョンが来たから紹介するね!
Cloudflare Changelogなにが発表されたの?
Cloudflare の Changelog で、Agents SDK v0.30.0 が PiHarness を Pi 1.4 上で動かすようになったと告知されたよ。eviction やクラッシュ、ストレージエラーからの復帰も、より確実になったみたい!
今までどうだったの?
以前は、タスクが繰り返しクラッシュするとオブジェクトが再起動し続けたり、ストレージエラーのあとはオブジェクトが再起動するまで全部の呼び出しが失敗したりしていたよ。モデルのストリームが途中で切れたときも、ターンが失敗扱いになっていたの。
これで何が変わるの?
障害時の挙動が、次のように変わるよ!
- 再起動し続ける代わりに、問題のあるタスクを脇に置ける
- ストレージエラー後も、再起動を待たずに復帰できる
- 一時的なモデルストリーム切断で、ターンが丸ごと失敗しなくなる
長時間動くエージェントを Durable Object 上で運用している人ほど嬉しい改善だよ。
深く潜ってみよう
変更点を 1 つずつ見ていくね。
- ハイバネーション:
PiHarnessが Pi の新しいonWakeコールバックをハーネスのファクトリに渡す。モデルのリトライ待ちのようにタスクがスリープしている間、Durable Object はメモリに居続けず、タスクの期限までハイバネートできる - Parked タスク: Pi 1.4 は、オブジェクトをクラッシュさせ続けるタスクを再起動し続けず park する。park された操作は
pending()で parked と表示され、session.retry()で再実行できる - ストレージエラーからの復旧:
PiHarnessはエラー後に Pi を開き直す。ウェイクアップジョブは、失敗したステップをバックオフ付きでリトライし、捨てない - モデルストリームのリトライ:
agents/models/pi-aiは途中切断やアイドル状態のストリームを一時的なエラーとして報告するので、Pi がターンをリトライする
注意点もあるよ!Pi 1.4 は Durable Object の SQLite 内のセッションストレージを、Pi 1.3 では開けないスキーマに移行するの。だからこのアップグレードより前にはロールバックできないよ。Pi 側の破壊的変更は Pi Durable 1.4.0 の changelog を確認してね。手順は Agents SDK v0.30.0 の changelog にあるよ。
まとめ
- Agents SDK v0.30.0 で
PiHarnessが Pi 1.4 対応 - スリープ中のタスクがある間、Durable Object がハイバネート可能に
- クラッシュし続けるタスクは park され、
session.retry()で再実行 - ストレージエラーやモデルストリーム切断からの復帰が改善
- スキーマ移行のため、Pi 1.3 へのロールバックは不可
Cloudflare 上でエージェントを動かしている開発者のみんなに刺さる更新だよ!