AIはデッドコードを書く?Goチームのdeadcodeツールが1コマンドでそれを見つける
AIコーディングエージェントはコードを生成するのは得意ですが、デッドコード(未使用の関数、到達不能なブランチ、孤立したヘルパー)を残すのも得意です。これらはコードベースを肥大化させ、将来の読者を混乱させます。Goチームのdeadcodeツールは、1つのコマンドでそれを見つけます。
deadcodeとは?
deadcodeは、公式のGoツール(golang.org/x/toolsの一部)で、プログラム全体の到達不能性解析を行います。プログラムのどのエントリポイントからも呼び出されない関数やメソッドを報告します。これは単なるリンターではなく、実際の制御フローとポインタ解析を行って到達可能性を判定します。
AIが書いたデッドコードを見つける方法
モジュールのルートで次を実行します:
go run golang.org/x/tools/cmd/deadcode@latest ./...これにより、モジュール全体がスキャンされ、到達不能な関数のリストが出力されます。例:
deadcode: unreachable: main/helpers.go:23:7:func helperNeverCalled()特定のパッケージやフラグを渡すこともできます:
-test: 解析にテストファイルを含めます-filter: 正規表現にマッチする関数のみを報告します(例:-filter '_dead')-json: CIツールとの統合のためにJSON形式で出力します
AIエージェントがデッドコードを残す理由
LLMエージェントは確率的にコードを生成するため、呼び出されないユーティリティ関数を書いたり、リファクタリング時に古いコードのコピーを残したりすることがよくあります。コードはコンパイルされ、テストも通るため、見逃しがちです。deadcodeはそれを確実に検出します。
デッドコードを安全に削除する
deadcodeを実行した後、各到達不能な関数を手動で確認してください。リフレクションで使用されている、go:linknameから呼び出されている、公開APIの一部であるなどの理由で到達不能な場合があります。ツールにはリフレクションを考慮するための-reflectフラグがあります。しかし、ほとんどの場合、main(またはテスト)から呼び出されていなければ安全に削除できます。
その後、go test ./...を実行して、何も壊れていないことを確認します。デッドコードの除去は、コードベースの衛生管理において最も簡単な改善点の1つであり、エージェントの出力を次の反復でよりクリーンにします。
📖 完全なソースを読む: HN AI Agents
👀 See Also

NVIDIA、プライバシー制御機能を備えたNemoClawエージェントプラットフォームを発表
NVIDIAは、ユーザーがNimotronモデルとOpen Shellランタイムを1つのコマンドでインストールしながら、自律エージェントにプライバシーとセキュリティ制御を追加できるエージェントプラットフォーム「NemoClaw」を発表しました。

AIトークンモニター:macOSツールがローカルのClaude使用状況とコストを追跡
開発者がAI Token Monitorを構築しました。これはmacOSのメニューバーアプリで、ローカルのClaudeセッションファイルを読み取り、APIキーなしでトークン使用量、モデル分布、コスト換算を追跡します。このオープンソースツールは、あるユーザーのケースで35日間に650万トークン(API価格で4,924ドル相当)を記録しました。

ローカルダッシュボードは、Claude Codeの使用状況をトークンコスト、ツール呼び出し、セッション分析で追跡します。
開発者が、Claude CodeのJSONLセッションファイルを読み取り、トークン使用量、推定コスト、ツール呼び出しの内訳、セッション履歴を可視化するローカルダッシュボードを構築しました。このツールはExpress APIとReactダッシュボードを使用し、完全にユーザーのマシン上で動作します。

Flyto Indexerの発表:ソース依存性分析を強化したAIコードリファクタリング
Flyto Indexerは、MCPサーバーとして、コードベースのシンボルグラフを構築し、依存関係とコールサイトを分析することで、AIによるスマートなコードリファクタリングを支援します。