私が最初に作ったエージェントの一つは非常にシンプルでした: ベクターストアから情報を取得し、HTMLとしてフォーマットしてユーザーにメール送信しました。 これ以上簡単なことはないのに、このエージェントは約1%の確率で失敗しました。 エラーなし。何の警告もなく。ただゴミが返ってきただけです。 厳しい現実を述べます: エージェントはよく失敗します。そして彼らは静かに失敗する。いつもです。LLMが毎回正しいことをするとは信用できません。 これまでに数十台のエージェントを構築し展開しましたが、実際に効果があったものをいくつかご紹介します。 1. 初日からの観測可能性。エージェントの行動が見えなければ、デバッグも改善も信頼もできません。すべてのエージェントは、リクエストフロー全体、モデルの相互作用、トークン使用、タイミングメタデータを示すトレースを作成すべきです。 2. 入力と出力のガードレール。LLMに入って出るすべての情報は決定論的コードでチェックされるべきです。壊れそうにないものでも、いずれは壊れます。 3. LLMの審査。LLMを使ってエージェントの出力を自動的に評価する簡単なジャッジを作成できます。データセットにラベルを付け、評価のプロンプトを書き、審査員がほとんどの失敗を見つけるまで繰り返します。 4. 誤差分析。故障サンプルを収集し、分類し、最も多いミスを診断することができます。 5. コンテキストエンジニアリング。多くの場合、エージェントが失敗するのは、そのコンテキストがノイズが多く、過負荷であったり、無関係だったりすることです。文脈を関連性のあるものに保つ方法を学ぶことは非常に重要です。 6. 人間のフィードバックループ。時には、特に重大な決断の際には、人間が巻き込まれることが最良のガードレールです。