はじめに
最近、Claude CodeやGitHub Copilotなど、AIを活用したコーディングが当たり前になってきました。AIの助けを借りることで開発効率は飛躍的に向上しましたが、ふと「自分のプロジェクトでAIが書いたコードってどのくらいの割合なんだろう?」と疑問に思ったことはありませんか?
そこでAIと人間が書いたコードの割合をリアルタイムで追跡できるCLIツール「AI Code Tracker (AICT)」 を作ってみました。現在はClaude Code専用のツールとして実装しています。
作った背景
AIペアプログラミングが普及する中で、以下のような課題を感じていました:
- AIがどれくらいコードを書いているか把握できない
- プロジェクトの目標AI利用率を設定・管理したい
- コードレビュー時にAI生成部分を識別したい
- チームのAI活用状況を可視化したい
これらを解決するため、Claude Codeと連携して自動的にコードの出所を記録するツールを開発しました。
主な機能
1. 自動トラッキング
Claude Codeのフック機能と統合し、AIがコードを編集する前後で自動的に状態を記録します。
# Claude Codeでファイルを編集すると...
# 1. PreToolUse: 編集前の人間のコード状態を記録
# 2. PostToolUse: 編集後のAIのコード状態を記録
2. リアルタイムのレポート
現在のコード比率と目標達成率を一目で確認できます。
AI Code Tracking Report
======================
Total Lines: 817
AI Lines: 455 (55.6%)
Human Lines: 362 (44.3%)
Target: 80.0% AI code
Progress: 69.5%
Last Updated: 2025-07-30 16:04:08
3. 柔軟な設定
追跡対象のファイル拡張子や除外パターンをカスタマイズ可能です。
{
"target_ai_percentage": 80.0,
"tracked_extensions": [".go", ".py", ".js", ".ts", ".swift"],
"exclude_patterns": ["*_test.go", "*.test.js"],
"author_mappings": {"y-hirakaw": "human"}
}
使い方
# 計測に利用するディレクトリやhooksで使うshを配置
$ aict init
# hooksを自動で設定する
$ aict setup-hooks
# 人間のコード状態を記録
$ aict track -author human
# AIのコード状態を記録(Claude Code使用時は自動)
$ aict track -author claude
# 現在の統計を表示
$ aict report
aict track
を毎回叩くのは大変なので次の項で書いているClaude Codeのhooks(+gitのhooks)を利用して自動化してます。
Claude Code専用である理由
現在、AI Code TrackerはClaude Code専用のツールとして開発しています。これは、Claude Codeが提供する強力なフック機能を活用しているためです。
Claude Codeでは、.claude/settings.json
に以下のようなフック設定を記述することで、コード編集の前後でカスタムスクリプトを実行できます:
{
"hooks": [
{
"event": "PreToolUse",
"matcher": "Write|Edit|MultiEdit",
"hooks": [{"type": "command", "command": "...pre-tool-use.sh"}]
},
{
"event": "PostToolUse",
"matcher": "Write|Edit|MultiEdit",
"hooks": [{"type": "command", "command": "...post-tool-use.sh"}]
}
]
}
この仕組みにより、ユーザーが特別な操作をすることなく、自然な開発フローの中でコードの出所を自動的に記録できます。
実装で工夫した点
1. 標準ライブラリのみで実装
依存関係を最小限に抑えるため、Goの標準ライブラリのみで実装しました。これによりインストールが簡単で、どんな環境でも動作します。
2. ローカル完結型
すべてのデータはローカルに保存され、外部との通信は一切行いません。
今後の展望
- グラフによる可視化機能
- チームメンバー別の統計機能
- 他のAIツール(CursorなどのVSCode系など)との連携
まとめ
AI Code Trackerを作ることで、AIとの協働開発を数値で把握できるようになりました。現在はClaude Code専用ですが、AIは強力なツールであり、その利用状況を可視化することで、より効果的な活用ができると考えています。
※興味を持っていただけた方は、ぜひGitHubでスターをお願いします!イシューやプルリクエストも大歓迎です。
参考リンク
この記事は8割ほどAIで書いてます。