代理框架
Pydantic AI 2.31、AG-UIの実行識別子をイベントストリームへ移行し、入力が遅延しても先にストリームを作成可能に
新版では、`run_input`をまだ取得していなくても`UIEventStream`を作成でき、`AGUIEventStream`がthread IDとrun IDを自身で保持するようになった。Temporal sandboxとの互換性やフォールバックモデルのtracingの帰属も修正され、長時間稼働するエージェントワークフローにおける診断上の盲点が減少する。

Pydantic AI 2.31.0では、エージェントのバックエンドとフロントエンドのイベントプロトコル間におけるライフサイクルが調整された。`UIEventStream`は、構築時に`run_input`を直ちに取得する必要がなくなった。キュー、スケジューラ、外部ワークフローから後で入力が渡されるシステムでは、サーバーが先にストリームとサブスクライバーを用意し、エージェントを実際に実行する段階で入力を接続できる。ダミーの初期リクエストを作成したり、接続を作り直したりする必要はない。
より重要なのは、`AGUIEventStream`が`thread_id`と`run_id`を自身で保持するようになった点だ。両者はそれぞれ、継続的な会話と1回の実行を識別する。従来のように呼び出し元の入力のみから推定すると、再接続、バックグラウンドでの実行継続、または同一thread上での並行runにおいて、安定した対応関係が失われやすい。識別子をイベントストリームオブジェクトに持たせることで、元の入力が存在しない段階でも、各token、ツール呼び出し、状態イベントに一貫したコンテキストを付与できる。ただし、release noteではexactly-once配信や永続化が保証されたとは述べられておらず、エンジニアリング側で引き続きリプレイと重複排除を処理する必要がある。
2.31.0では、運用上の問題も2点修正された。まず、`FallbackModel`の失敗時に、tracing spanが包括的な`fallback:`ラッパーではなく、実際にエラーを発生させたモデルに帰属するようになった。これにより、プロバイダーの障害率、レイテンシ、コストに関するアラートの解釈性が直接向上する。次に、パッケージは`openai`モジュールをTemporal workflow sandboxのpass-through対象に含めるようになり、制限されたimport環境が原因でエージェントワークフローが失敗する問題を回避する。PyPIによると、wheelとソースコードはいずれも8月15日にTrusted Publishing経由でアップロードされた。アップグレード前には、既存のAG-UI再接続、並行run、Temporal replayのテストを使い、引き続きセマンティクスを検証する必要がある。