Upgrade to Pro — share decks privately, control downloads, hide ads and more …

AIプラットフォームを運用し続けるための可観測性

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.

 AIプラットフォームを運用し続けるための可観測性

Avatar for tanimuyk

tanimuyk

June 04, 2026

Other Decks in Technology

Transcript

  1. 谷村 祐樹( tanimu / @tanimuyk) © LayerX Inc. About Me

    LayerX Ai Workforce事業部でSREやってます! これまでのキャリア インフラエンジニア → SRE / スクラムマスター → コンサルタント → SRE 趣味 野球観戦(Ai Workforce SREチームは全員野球好き) 育児しながらの投資エージェント作り 2
  2. Ai Workforce AI Agentのアーキテクチャ © LayerX Inc. Ai Workforce AI

    Agent アーキテクチャ https://findy-tools.io/articles/ai-agent/258#heading-%E6%A0%AA%E5%BC%8F%E4%BC%9A%E7%A4%BElayerxbr 6
  3. 従来の可観測性(オブザーバビリティ) 従来のシステムでは logs / metrics / tracesからレイテンシやエラー率、リクエストの流れを辿ることで、多くの問題を説明す ることができました Client ユーザー操作やAPI呼び出し

    → API 認証、入力検証、ビジネスロジック → DB / Queue 永続化、非同期処理、待ち時間 → External API 外部サービス、失敗、retry では、AI Agentが入ってくると何が変わるのか? © LayerX Inc. 運用し続けるための可観測性とは? 9
  4. AI Agentは「なぜそうなったのか?」を知る必要がある AI Agentを扱いはじめると、リクエストの中で完結しない処理が増えていきます。Agentが判断し、toolを呼び、LLMに問 い合わせ、必要に応じて非同期に後続処理へ渡っていく ↓ もともと複雑だったものがさらに複雑に... 運用はどんどん大変になっていく... © LayerX

    Inc. 運用し続けるための可観測性とは? 最終的な結果だけを見ても、どこで時間がかかったのか分からない 失敗したときに、LLMなのか、toolなのか、検索なのか、queueなのかを切り分けたい さらに、 「なぜその判断をしたのか」も見る必要がある 10
  5. "運用し続ける"ために必要な可観測性 "運用し続ける"とは、 進化し続けるプロダクト / AI Agentで何が起きているかを常に「説明できる」状態かつ、機密情報を漏らすこ となく「安全に調査」でき、属人化せずに「チームで改善し続けられる」こと。と考えています 説明できる 最終出力だけでなく、どのLLM判断・tool・検 索・非同期処理で何が起きたかを辿れる

    × 安全に調査できる お客様情報や文書本文を不用意に露出させず、 実行の構造と状態から調査できる × チームで扱える SREだけでなく、SWE / FDE / QAが同じtraceを 見て、同じ言葉で調査・改善できる © LayerX Inc. 運用し続けるための可観測性とは? 11
  6. OpenTelemetry × Datadogで"運用し続ける"可観測性を実現する なぜOpenTelemetry × Datadogなのか? 計装の標準ライブラリに従いながら、Datadog APM Trace等の良さを享受するこ とで、設計・実装しやすく運用しやすい、いいとこ取りの組み合わせを採用しました

    OpenTelemetry:計装の標準化 Datadog:調査・監視・改善 説明できる Agent実行をspanにする workflow / agent / task / tool / search / LLM callをspanと属性 で表し、非同期境界はSpan Linksで関連づける 同じ実行を辿る APM / Trace Explorer / LLMObsで、遅延・tool失敗・検索不足 を同じ実行から辿る 安全に調査できる 残すmetadataを決める workflow、model、duration、error、retryなど、本文以外で 切り分けに使う属性を残す ddtraceで送信前に守る LLMObs span processorでprompt / response本文、tool引 数・結果をmaskし、metadataで絞る チームで扱える 計装を開発導線に置く 共通telemetry package、docs/rules、Coding Agentの共通ル ールに計装ルールを入れる 迷わない導線にする Coding Agentには共通ルールとdev MCP、人にはDatadogと SRE Agentの調査導線を用意する © LayerX Inc. 実践の地図 12
  7. (例) 業務資料をもとに回答を作るAgent Workflow 期待に合わない回答が出た時に見たいのは、最終回答だけではなく「どこで問題が起きているのか?」です ワークフロー(ある実行例) INPUT 業務資料・指示 ユーザーの依頼と、参照すべき 業務資料を受け取る →

    SEARCH 資料検索 文書・社内ナレッジ・関連デ ータを検索する → AGENT Agent判断 検索結果を見て、次に使うtool や処理順序を決める → TOOL tool実行 追加検索、計算、DB/API参 照、テンプレート反映などを 実行する → AGENT 回答生成 中間結果を統合し、ユーザー へ回答やドラフトを返す 見定めたい問題(例) 前提条件や対象資料の指定が曖 昧で、後続の検索がぶれる 正しい資料を検索できない。hit 数が少ない、関係ない結果を拾 う 正しい資料があるのに使わな い。重要情報を低く扱う toolが失敗する。retryが増え る。外部サービス側で遅くなる 必要な情報が抜ける。根拠と回 答のつながりが説明しづらい © LayerX Inc. 1. 説明できる 14
  8. ワークフローの処理を説明できるTraceにする 前ページのようなワークフローを、workflow / task / tool / search / LLM

    call の単位でtraceにすることで、最終回答だけでなく、どこで時間・ 失敗・retry・検索不足が起きたかを辿れるようにします invoke_workflow {workflow} └ invoke_agent {orchestrator} └ db_read {task_fetch} └ chat {orchestrator} └ invoke_agent {assistant} └ chat {model} └ search_documents {knowledge} └ execute_tool {external_api} └ execute_tool {external_api} └ chat {model} └ db_write {result_save} © LayerX Inc. 1. 説明できる 15.3s 14.8s 80ms 1.1s 13.5s 5.5s 120ms 90ms 70ms 4.8s 60ms 15
  9. 非同期境界も説明できるようにする Ai Workforceでは、ユーザーに応答を返すAPI側と、その後ろで動くworkflow実行エンジン側が分かれています。API側と workflow実行側を独立したtraceとして扱う場合でも、 「1件の実行全体」を説明できるように2本を関連づけます API側 Trace A → 非同期

    イベント 境界 → workflow実行エンジン側 Trace B © LayerX Inc. 1. 説明できる ユーザーからのrequestを受ける workflow開始イベントをpublishする APIレイテンシやユーザー応答の状態を見る イベントをconsumeする Agentがtask / search / tool / LLM callを実行する retry・tool失敗・検索結果・LLM処理時間を見る 16
  10. Span Linksで非同期traceを関連づける 非同期境界を越えるとき、workflow実行側をAPI側の子spanとして無理につなぐのではなく、2本のtraceを独立させたまま関連として残し ます。Span Linksで「別traceだが関係がある」ことを表現します Trace A: Producer API /

    Assistant Agent 側 新規trace invoke_agent chat publish_workflow traceparent / tracestateをメッセージへ埋め込む → message payload traceparent: 00-abc... tracestate: dd=s:1... → Trace B: Consumer workflow実行エンジン側 新規trace invoke_workflow task.execute operation.execute payloadから取り出したcontextを親にせず、Span Linkとして設定する Span Link (参照) © LayerX Inc. 1. 説明できる https://opentelemetry.io/docs/concepts/signals/traces/#span-links 17
  11. Datadog LLMObsでAgent内部を可視化 Traceで1件の実行全体を辿れるようにしたうえで、Agent内部のLLM呼び出し・tool実行・検索・中間判断を可視化します。 Datadog LLMObsでlatency・token・errorなどを見ながら、原因候補を絞り込みます 可視化するもの LLM推論 / tool call

    / workflow stepを、1つの実行の中で見 る 分かること agentの選択、latency、token、error、retryがどこで起き たか 本番での見方 本文ではなくmetadataを中心に、model / latency / token / error / toolで絞り込む ※画像は公開サンプルです © LayerX Inc. 1. 説明できる https://docs.datadoghq.com/ja/llm_observability/ 19
  12. 安全に見るために、残す情報を選ぶ Ai Workforceでは、お客様の文書・指示・検索結果など、機密性の高い情報を扱っています。そのため本番で安全に調査できるよ う、原因切り分けに必要な属性と、原則として残さない生データを分けています。本文が必要な深い調査は、承認済みデータや再 現環境で確認します 残す属性 残さない生データ 切り分ける問題 © LayerX

    Inc. 2. 安全に調査できる workflow / agent / tool / model / version duration / token / error / retry回数 検索hit数、tool種別、status prompt template / toolset の version prompt / response本文 お客様の文書・検索結果本文 tool引数・tool結果の生データ 個人情報や機密情報を含むpayload 検索不足、関係ない検索結果 tool失敗、retry増加 LLM遅延、token増加 外部provider側のerror 21
  13. 送信前に守るところまで実装に入れる 「残す情報 / 残さない情報」の方針は、spanのmetadata・名前・status・durationを維持しつつ、機密情報を含み得る本文を Datadogへ送る前にmaskする形で実装しています 実装イメージ metadataは残し、本文は外に出さない LLM spanを作る name

    / tag / status / duration / model / token など、調査に必要な情報を持 たせる ↓ 送信前にmaskする prompt / response本文、tool arguments、tool resultsをprocessorで伏せ る ↓ Datadogで調査する 本文ではなく、実行の構造と状態から原因候補を絞る © LayerX Inc. 2. 安全に調査できる 22
  14. Coding Agentも人も迷わない状態にする 日々、機能追加/AI Agentが進化するたびにSREがチェックしていくと漏れが発生しやすくなるため、Coding Agentが迷わず計 装でき、人が迷わず原因調査へ入れる仕組み作りをしています Coding Agentが迷わない 計装の作法をルールと実装に寄せる 共通telemetry

    package、docs/rules、Coding Agentの共通ルール、devの Datadog MCPを用意する 人が迷わない Monitor triggerから調査導線を作る Datadogで検知したissue / errorをSRE Agentへ渡し、Datadog MCPの一次調査 レポートからTrace Explorer / APM / LLMObsへ入れるようにする © LayerX Inc. 3. チームで扱える 24
  15. 人が迷わず原因調査へ入れるようにする Datadog Monitorで検知したら、自動的にSRE AgentがDatadog MCPとソースコードを参照し一次調査する仕組みを作っています。 そのため、スムーズに人が原因調査へ入れるようにしています 1. Datadog Monitorが検知する ▶

    自 動 調 査 開 始 2. SRE AgentがDatadog MCPで一次調査する © LayerX Inc. 3. チームで扱える Monitor triggerでSRE Agentを呼び出す Datadog MCPで関連情報を集める 直接原因 / コード上のコンテキスト / Trace導線を整理する https://docs.datadoghq.com/ja/monitors/ 26
  16. 余談:SRE Agent オテスキー © LayerX Inc. 3. チームで扱える 選手紹介 Ai

    Workforce SREチームに現れた助っ人 (リアルな姿とピュアな姿の2つの側面を持つ) Ai Workforceの運用に必要な情報 (Datadog MCP / ソースコード等)を武器に、 日々ノックを受け続けている 最近、ソフトウェアエンジニアが育てている猫 エージェントとタッグを組み、3A Play Ground (k8s)で必要な環境を即座に提供する役割も担う 27
  17. "運用し続ける"ために行っている工夫 変化し続けるプロダクトを"運用し続ける"ために、OpenTelemetry・Datadog・AI Agentを組み合わせ、説明できる・安全に調査 できる・チームで扱える状態を作っています 説明できる 業務ワークフローからAgent内部まで、1件 の実行として辿れる状態にする OpenTelemetry workflow /

    task / tool / search / LLM callを span化し、Span Linksで非同期境界を関連 づける Datadog Trace Explorer / APM / LLMObsで、実行全 体からAgent内部まで辿る × 安全に調査できる 本文を見すぎず、実行の構造と状態から原因 候補を絞る 残す duration / error / retry / token / 検索hit数 などのmetadata 守る prompt / response / tool payloadは送信前 maskで外に出さない × チームで扱える Coding Agentも人も迷わない導線にして、 SREだけの運用にしない 開発 共通telemetry packageとルールで、 Coding Agentが迷わず計装できる 運用 Monitor → SRE Agent → Trace導線で、人 が原因調査へ入れる © LayerX Inc. まとめ 28
  18. Datadog DASH 2026 (6/10)に同じチームの 石田 健太(ishiken)が登壇します!!! 登壇タイトル:The AI Engineering Playbook:

    How to Evaluate & Iterate at Every Phase of Development オンラインは無料なので、ぜひ見てください! © LayerX Inc. Datadog DASH 2026 https://dash.datadoghq.com/sessions/the-ai-engineering-playbook-how-to-evaluate-iterate-at-every-phase-of-development/ 29