要約版:専門用語を控えて説明しています
開発の背景と課題
AIエージェントを導入した後に「どのように動いたか」を評価して改善につなげようとしても、実行履歴を集める基盤が整っていないという課題がありました。
顧客の課題解決に集中すべきエンジニア(FDE)にとって、履歴を残すためのコード(計装)を毎回手動で入れるのは負担が大きく、優先度が下がりがちでした。
仕組みと工夫
今回構築した仕組みでは、LLM(大規模言語モデル)を呼び出すときに「LLM Gateway」を必ず使ってもらう形にしました。
これにより、インフラ側で入出力やモデル名、トークン数などのテレメトリーデータ(動作状況を示すデータ)を自動的に収集できます。
さらに、LLM Gatewayだけでは分からない業務上の意味付けを行うため、専用の「Tracing SDK」とAIエージェント用の「Skill」を開発しました。
コーディングAIに計装を任せることで、エンジニアの手間を減らしつつ、Langfuse(LLMエンジニアリングプラットフォーム)で分析しやすい高品質なデータを集められるようにしています。
AI ShiftのFDE(Forward Deployed Engineer)は、顧客の業務に深く入り込み、AIエージェントやアプリケーションを開発・導入しています。今回、AI Workerを導入する顧客向けの開発で、評価と改善に必要な実行履歴を集めるトレーシング基盤を構築しました。
LLMの呼び出し履歴を自動で集める
AIエージェントの導入後に品質を評価・改善するには、どのように動いたかを示す実行履歴が必要です。ただ、履歴を残すコードを組み込む「計装」は、その方法を都度判断する必要があり、エンジニアの負担になっていました。
画像:CyberAgent Developers(公式発表)
今回の基盤では、LLMを呼び出す際にLLM Gateway(Agent Router)を経由します。LLMの入出力、モデル名、トークン数などを記録し、システムの動作から送出されるテレメトリーデータを自動収集する仕組みです。計装するかどうかをFDEが判断しなくても、LLMの呼び出し履歴を収集できます。
一方、LLM Gatewayだけでは、アプリケーション内の処理のつながりを示す情報や、検索・ツールなどのLLMの使用用途、ユーザーやセッションのメタデータを収集できません。そのため、専用の「Tracing SDK」とAIエージェント用の「Skill」を開発し、業務上の意味を付ける手動計装も併用します。
収集したデータをLangfuseで確認
収集したテレメトリーデータは、OpenTelemetry Collectorに集約されます。その後、LLMの呼び出しに関連するデータのみが、LLMエンジニアリングプラットフォームのLangfuseに送信されます。
SDKを通じてメタデータやセッション識別子を付けることで、Langfuse上では、構造化されたLLMの呼び出し履歴とともに、ユーザーやセッション、呼び出しの目的を確認できます。SDKによる計装を入れ忘れた場合でも、LLM Gatewayには呼び出し履歴が記録されます。最低限のデータ分析や評価の要件定義に役立てられます。
コーディングAIに計装を任せて開発負荷を軽減
Tracing SDKによる計装のために用意されたSkillを使うと、コーディングAIに計装を任せることができます。これにより、実装の負担を減らせるとしています。
AI ShiftのFDEは、生成AIを活用して開発プロセスのほぼすべての作業を自動化しています。今回の基盤は、実行履歴の収集方法を標準化し、FDEが顧客の課題解決に集中できるようにすることも狙いです。
判断ガイド
SDKまで入れるか迷ったときの考え方
状況ごとのおすすめと理由です。どれを選ぶかは、ご自身の状況で決めてください。
LLM Gatewayだけで実行履歴を残すか?
- 状況
- LLM呼び出しの最低限の記録だけで足りる
- おすすめ
- LLM Gatewayの経由で最低限の記録が残るので、まずはこれで足りるか確かめる
- 理由
- LLM呼び出しはインフラレベルで自動記録され、計装の入れ忘れを防げると書かれています。ただし、ユーザーやセッション、検索・ツールなどの使用用途は記録されません。
- 出どころ
- 出典・developers.cyberagent.co.jp
Tracing SDKまで入れるか?
- 状況
- ユーザーごとや業務の用途別に評価や分析をしたい
- おすすめ
- Tracing SDKで計装する価値を検討する
- 理由
- SDKでメタデータやセッション識別子、LLMの使用用途を付与できると書かれています。計装はAIエージェント用のSkillを使ってコーディングAIに任せられるとされています。
- 出どころ
- 出典・developers.cyberagent.co.jp
不安Q&A
計装を忘れたら何が残る?
Q計装を入れ忘れたら、何も記録されない?▾
LLM呼び出しだけはLLM Gatewayで記録されるので、最低限の呼び出し履歴は残ると書かれています。ただし、業務上の意味付けやユーザー・セッションの情報は残りません。
出典・developers.cyberagent.co.jp今できることLLM呼び出しがLLM Gateway経由になっているかを確かめ、経由していなければ経路を見直す。
QSDKを組み込むのは開発者の負担が大きい?▾
計装のための AIエージェント用のSkillが用意されており、コーディングAIに計装を任せられると書かれています。実装負担を大きく下げられるとされています。
出典・developers.cyberagent.co.jp今できることAIエージェント用のSkillを使い、コーディングAIに計装を任せられるか試してみる。
Q集めたデータはどこに送られる?▾
テレメトリーはOpenTelemetry Collectorに集約され、LLM呼び出しに関連するデータだけがLangfuseに送信されると書かれています。
出典・developers.cyberagent.co.jp今できることLangfuseの画面で、LLM呼び出しが構造化されて見えるかを確かめる。
Q入力や出力の中身も記録されるのか?▾