> ## Documentation Index
> Fetch the complete documentation index at: https://phaseo.app/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# エラーとトラブルシューティング

> Goエージェントのモデル、ツール、検証、キャンセル、再開に関するエラーを処理します。

エージェントの失敗は通常、モデルリクエスト、ローカルツール、スキーマ検証、キャンセル、人による判断の未完了が原因です。ログでこれらの経路を確認できるようにし、呼び出し元には安全なエラーを返してください。

## ツールエラーからの復旧

モデルが合理的に回復できる失敗には、ツールで`OnError: "return-to-model"`を設定します。SDKはエラーをツールの結果に変換し、次のターンで別の操作を選べるようにします。安全でない失敗や回復不能な失敗では、実行を失敗させる既定の動作を維持してください。

## キャンセルを尊重する

リクエストコンテキストを`Run`、`Continue`、または`Stream`に渡します。キャンセルするとモデルのストリーミングが停止し、新しいツール処理も開始されません。

```go theme={null}
ctx, cancel := context.WithTimeout(context.Background(), 30*time.Second)
defer cancel()

result, err := agent.Run(ctx, options)
if errors.Is(err, context.DeadlineExceeded) {
  // Persist enough application state to retry or report the timeout.
}
```

## 再開時のエラーを診断する

実行が人の判断を待っている場合、保留中の各呼び出しには、ツール呼び出しIDに紐づく承認、拒否、または外部から提供された結果が必要です。返された実行レコード全体を保存してください。人からのメッセージだけではこれらの判断を代替できません。

## 役立つコンテキストを記録する

実行ID、ステップ番号、リクエストID、プロバイダー、モデル、終了理由、ツール呼び出しID、停止理由を記録します。ライフサイクルフックとDevToolsを使えば、トランスポート層のログを取らなくてもこれらの項目を確認できます。


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.