GitHubの delta-hq/cc-canary は、Claude Code を使っているときの“挙動の変化”をあとから検査するためのツールです。ざっくり言うと、「最近のClaude Code、前より雑になってない?」「同じ作業なのに、やたら遠回りしてない?」みたいな違和感を、ログから拾い上げる仕組みです。
面白いのは、これが単なる使用状況の可視化ではなく、かなり“監査”寄りの発想で作られていることです。名前のとおり、炭鉱のカナリアみたいに、危ない変化を早めに知らせるのが狙い。個人的には、この比喩はかなりうまいと思いました。AIの品質って、毎回きれいに壊れるわけじゃなくて、じわじわ変調することがあるので、その違和感を拾う発想はかなり実用的です。
cc-canary は、Claude Code がローカルに残す JSONL 形式のセッションログを読みます。JSONL は、1行ごとに1件のデータが入っているログ形式のことです。難しく聞こえますが、要するに「会話や操作の記録がずらっと並んだファイル」です。
このログをもとに、モデルの挙動が「自分の作業の中で drift していないか」を調べ、レポートにします。ここでいう drift は、なんとなくの調子崩れ、品質のズレ、動き方の変化くらいに捉えるとわかりやすいです。
しかも売り文句がかなり強気で、ネット接続なし、アカウント不要、telemetry なし、バックグラウンド常駐なし。つまり、外に送らずに、手元のデータだけで完結します。こういう“ローカルで閉じる”設計は、正直かなり好感が持てます。AIツールって便利な一方で、何を送っているのか見えにくいことが多いので、ここは安心材料になります。
このリポジトリには、2つの Agent Skill が入っています。
cc-canary は Markdown の forensic report を作ります。GitHub issue や gist に貼りやすい形式です。
cc-canary-html は同じ内容をダークテーマの HTML ダッシュボードにして、ブラウザで自動表示します。
実行すると、たとえば 60日分のウィンドウを対象にして、以下のような情報がまとまります。ここがこのツールの肝です。
まず、判定が出ます。HOLDING、SUSPECTED REGRESSION、CONFIRMED REGRESSION、INCONCLUSIVE の4段階です。日本語で言えば、「安定」「劣化の疑い」「劣化確定」「よくわからない」といった感じでしょうか。
そのうえで、前半と後半を比べたメトリクス表が出ます。たとえば、読む回数に対して編集が少ないか、逆に書き換えが多すぎないか、推論のループが増えていないか、といった指標です。さらに、週ごとの推移、モデルバージョンごとの差、いつ変化点が起きたかの推定まで入ります。
ここでちょっと感心したのは、単に「遅くなった」「速くなった」では終わらないことです。read:edit ratio や reasoning loops みたいな指標で、AIがどういう考え方・手つきをしていたかを見ようとしている。これは、ただの利用統計よりずっと踏み込んでいます。
cc-canary は、~/.claude/projects/**/*.jsonl を走査して、セッションを集計します。しかも assistant メッセージの重複は (message.id, requestId) で dedupe する、と書かれています。dedupe は重複排除のことです。Claude Code はセッションの再開や分岐で同じメッセージを複数のJSONLに書くことがあるらしく、そのあたりの面倒までちゃんと考えているのが地味に良いです。
集計する項目もかなり実務っぽいです。
ファイルをどれだけ読んだか、編集に対して書き換えがどれくらい占めるか、let me try again みたいな言い直しが増えていないか、ユーザーの不満っぽい言葉が増えていないか、thinking block の見え方がどう変わったか、1ターンあたりのAPI呼び出し数や token 量はどうか、などです。
このへん、理屈としては「まあ監視できるよね」で終わる話かもしれません。でも実際には、AIの品質低下って、答えの正しさだけではなく、挙動の“いやな感じ”として現れることが多い。妙に回りくどい、やたら編集する、急に短絡的になる。そういう感覚を数字に変えようとしているのが、このツールの面白さだと思います。
インストールは npx skills add delta-hq/cc-canary でできます。個別に cc-canary か cc-canary-html を選ぶことも可能です。実行は Claude Code セッションの中から、たとえば /cc-canary 60d のように呼び出します。
対応する window は 7日、14日、30日、60日、90日、180日。デフォルトは 60日です。
必要条件は python3 >= 3.8。cc-canary-html の自動オープンは macOS / Linux / WSL で動き、失敗したらパスを表示する仕様です。
このあたりは、ちゃんと「使う人が手元で回せる」設計になっていて、凝っているのに妙に嫌味がありません。派手なSaaSではなく、ローカルで完結する分析ツールとして気持ちがいいです。
個人的にいちばん面白いのは、「モデルの退化」を感覚論で終わらせず、再現可能な形にしようとしている点です。
AIを使っていると、ある日急に「前より賢くない?」とか「なんか雑じゃない?」と感じることがあります。でも、その感覚は記憶違いだったり、タスクの難しさの違いだったりもする。cc-canary は、そのモヤモヤをログに引きずり出して、比較できる形にします。しかも cross-version comparison まであるので、同じユーザー、別モデルでの違いも見ようとしている。ここはかなり本気です。
一方で、README にもある通り、このツールは 0.x / pre-alpha です。出力フォーマットや指標セットは変わる可能性がある。だから、完成品というより「かなり筋のいい実験機」と見るのが自然だと思います。今後、Claude Code を業務で深く使う人や、AIの品質変化を定点観測したい人には、かなり刺さるのではないでしょうか。
cc-canary は、Claude Code のセッションログを読んで、AIの“調子の変化”を炭鉱のカナリアみたいに早めに察知するためのローカルツールです。数字の出し方がかなり実戦的で、しかもプライバシー面の配慮が強い。AIの使い心地が気になる人ほど、こういう道具の価値は上がっていくと思います。