インストール
pydantic-ai-slim 2.0〜3.0。バージョン 2.0 で Agent(instrument=...) が削除され、このアダプターが依拠するケイパビリティプロトコルが導入されたため、1.x はこの方法では計測できません。
計測の設定
root_capability にマージするため、agent.capabilities 属性は存在しません。
計測中に構築されたエージェントはケイパビリティを保持するため、uninstrument() して再計測してもエージェントを再構築する必要はありません。
記録される内容
このアダプターにはフックペアやヒューマン・イン・ザ・ループのペアはありません。Pydantic AI にはブラケット対象となるノードやステップの境界がなく、組み込みの人間による一時停止機能もないため、対応するものが存在しません。いずれかを実装する場合は、イベントを自分で発行してください — カスタムエージェントを参照。
output_type はトレースに影響しません。型付き実行と文字列実行では同じイベントが生成されます。
使用例
restock_eta はエラーを持つ tool_result として表示され、その後にエージェントが回避策を取る別のモデル呼び出しが続き、実行は最終的に success で終了します。両方の事実が保存されます。
エラー、リトライ、制御フロー
Pydantic AI は 3 種類の例外を発生させますが、アダプターはそれらを区別します:ModelRetry を意図的に最初のグループに含めているのは、それが「試行が実際に失敗し、モデルに再試行が要求された」ことを意味するためです。これはまさにツールスパンのエラーフィールドが想定する内容です。制御フローとして分類してしまうと、実際のツール失敗が成功した実行の陰に隠れてしまいます。
スパンに名前を付ける
Pydantic AI 独自の実行スパンはagent という名前です。任意のラベルを付けるには呼び出しをラップします:
inventory の配下にネストされ、モデルとツールのイベントはそこに紐付けられます。
agent_id は低カーディナリティに保ってください。すべてのダッシュボード画面での主要なファセットとして使用されるため、UUID や実行ごとの文字列ではなくロール名を使用してください。
セッションの制御
以下の順序で解決され、最初に一致したものが使用されます:instrument("pydantic_ai", session_id=...)- 囲む
failproofai_sdk.session()スコープ - 実行の
conversation_id、次にrun_id - 生成された
uuid4().hex
オプション
よくある問題
実行は成功するがイベントが表示されない
実行は成功するがイベントが表示されない
instrument() が実行される前に Agent が構築されています。上記の警告を確認し、agent.root_capability.capabilities をチェックしてください。ツール内の単純な例外が実行を終了させる
ツール内の単純な例外が実行を終了させる
裸の
raise はそのまま伝播します。これは Pydantic AI の設計によるものです。モデルに回避させるには、対処できるメッセージと共に ModelRetry を raise してください。失敗はどちらの場合でも記録されます。自分で作成していないネストされたエージェントスパンが存在する
自分で作成していないネストされたエージェントスパンが存在する
その子スパンは Pydantic AI 独自の実行スパンであり、モデルとツールのイベントはそこに紐付けられます。カスタム名を犠牲にして単一スパンにしたい場合は、自分のスコープを省略してください。
トレースバックが省略マーカーで始まる
トレースバックが省略マーカーで始まる
Pydantic AI の非同期グラフスタックはペイロードフィールドの上限より長く、トレースバックの最後の行は例外そのものです。このフィールドは末尾ではなく先頭から切り詰められるため、必要な行は残ります。
次のステップ
仕組みを理解する
ペア、ID、セッションのライフサイクル、デリバリーについて。
トレースを読む
取得したセッションを通じて因果関係を追跡します。
他のフレームワーク
LangGraph、CrewAI、LlamaIndex、カスタムエージェント。

