agtail と OpenTelemetry の違い
最近のコーディングエージェントは OpenTelemetry 対応が進んでいます(Claude Code・Codex・ Gemini CLI はいずれも内蔵〔metrics/traces/logs〕。他はまちまち)。テレメトリが既にあるなら、 なぜローカルのトランスクリプトをわざわざ読むのか? — OTel と agtail は 答える問いが違う からです。
別々の仕事
- OpenTelemetry → Datadog / Grafana = 観測(observation)。 フリート全体の集計 メトリクスと構造化イベント: コスト・トークン・レイテンシ・エラー/ツール失敗率・ 採用状況・傾向・アラート。「誰が・どれだけ・いくらで・どんな品質で使い、傾向はどう 動いているか」を見るのに最適。
- agtail = フォレンジック(forensics)。 個々のセッションの全内容 — 各発話、 モデルの thinking、ツール呼び出しの入力/結果/差分、hooks、subagent — を、ディスク上に 既にあるファイルから、読み取り専用で検索・再構成する。
OpenTelemetry の方が得意なこと
- フリートのダッシュボード・傾向・アラート。
- 局所化(localize): コスト/エラーのスパイクから、ユーザー / モデル / セッション、 さらには高コストのターンまでドリルダウン(
session.idと per‑request の cost イベント)。
agtail はメトリクス用ツールではありません — それが目的なら OTel を使ってください。
agtail が正解になるところ
「どのプロンプトがコストを膨らませたか」のようなドリルダウンでも、OTel は セッション/ターンまでは辿れます。しかし なぜ 膨らんだか(実際のツール出力、巨大な Read、ループ、トークンを肥大させた累積コンテキスト)を見るには全トランスクリプトが要る。 そして実運用では:
- 中身は普通 OTel に無い。 プロンプト/ツール内容のログは既定で OFF(機密・コスト・ 持ち出し)なので、本文は送られないか truncate/サンプルされることが多い。
- 後追いできる。 agtail は既に走ったセッションを読む — 計装を有効にする前の分も含めて。 OTel はそれ以降に捕捉した分しか持たない。
- 設定不要・ツール横断。 主要 CLI は今どれも OTel 対応(Claude Code / Codex / Gemini CLI)だが、事前に Collector とバックエンドを用意して有効化する必要があり、 個人利用ではまずやらない。agtail は設定ゼロで任意ツールのローカル transcript を読める — OTel を吐かないもの(独自スクリプト・一部 IDE 統合)も、そして計装する前に走った 全セッションも。
- ローカル & プライベート。 何も外に出ない — バックエンドも保持コストも不要。OTel は 中身をバックエンドに送る。
- 忠実 & 完全。 agtail は生ファイルを読む: 全出力・差分・thinking・subagent スレッド、 truncate なし。
- セットアップ不要。 事前の計装・Collector・Exporter 設定が要らない。
使い分けの目安
- チーム横断のメトリクス・ダッシュボード・アラートが欲しい → OpenTelemetry + Datadog / Grafana。
- 個々のセッションが実際に何をしたかを読み・検索・再構成したい(完全・後追い・ ツール横断・ローカル完結)→ agtail。
両者は補完的です: OTel で異常や傾向を掴み、agtail で該当セッションを開いて実際に何が 起きたかを見る。