コンテンツにスキップ
Dev Classmethod Jp Agent Trace Jujutsu

Agent Trace × Jujutsu でたどる AI コードの来歴

  • URL: https://dev.classmethod.jp/articles/agent-trace-jujutsu-ai-code-tracking/
  • 日付: 2026-06-11
  • Tier: Tier 2
  • 要旨: CursorがRFC v0.1.0で公開したオープンデータ仕様「Agent Trace」(どの行をどのAIがどの会話で書いたか記録する仕様)を、Claude Codeのhookとjujutsu(jj)VCSを組み合わせて実装・動作検証。jjのchange IDがrebaseに強く、Agent Traceとの相性が良いことを実測で確認。

詳細

Agent Trace仕様の概要

  • Cursor製。Cognition(Devin)、Google Julesが策定協力
  • TraceRecord: 1ファイル編集イベントを記録するJSONL行。vcs.revision(change ID)・contributor(ai/human)・model_id・ranges(行番号)を持つ
  • 保存先は未定義(参照実装はsidecar JSONL: .agent-trace/traces.jsonl

jjとの相性が良い理由

  • jjのchange IDはrebase/amendで変わらない → AI生成コードを人間が手直ししてもtraceが壊れにくい
  • working copyが常に@(commit)なので、編集時点のrevisionに即時紐付く
  • gitではcommitまでHEADが変わらないが、jjはこの問題がない

Claude Code hookによる実装例PostToolUse(Write/Edit)に.claude/hooks/agent-trace-jj.shを登録し、jj log -r @ --ignore-working-copyでchange IDを取得してJSONLに追記。行範囲(ranges)はstructuredPatchの追加行から算出。

確認フローjj file annotate → change ID → .agent-trace/traces.jsonlをgrep → 会話URLへ

自作TUI tij[AI]バッジと行マーカー(▎)のoverlayを実現した完成度の高い実装報告。