Claude Codeが明らかにしたのは、51万行以上のコードだけではない
- 核心的な見解:Anthropicは技術的なミスにより、Claude Codeプロジェクトのソースコードがnpmパッケージ内の.mapファイルを通じて流出した。これにより、AIプログラミングアシスタントとしての基盤アーキテクチャ、マルチエージェント協調メカニズム、そしてBuddyという隠された電子ペット機能が明らかになり、製品が長期的なインタラクションと伴侶感覚に向かって発展している傾向を示している。
- 重要な要素:
- 流出源は@anthropic-ai/claude-codeパッケージのcli.js.mapファイルであり、約51.2万行のコードを含み、4756のソースファイルを暴露した。これにはコア製品の実装も含まれる。
- コードアーキテクチャは、システムがモジュール化設計を採用し、インターフェース、実行環境、ツール呼び出しなどを分離しており、拡張と保守を容易にしている。また、複雑なタスクを処理するためにマルチエージェント協調を採用している。
- 流出内容から、Buddyという隠された電子ペット機能が明らかになった。これはレアリティ、種族、外見、属性システムを持ち、一回限りのエイプリルフール企画ではなく、長期的に存在するように設計されている。
- BuddyはユーザーIDのハッシュに基づいて生成され、レアリティは5段階(例:伝説級は1%)、種族は18種類ある。属性値はレアリティに基づいてランダムに割り当てられ、現在のところ成長メカニズムはない。
- 今回の流出事件は、AIエージェント(Agent)のエンジニアリングにおいて、長期的な判断記録、信用の蓄積、継続的なフィードバックなど、より深い次元の課題と発展の方向性を浮き彫りにしている。
事件の原因
今回のファイルは、ユーザーChaofan ShouがXで最初に公開したものです。Anthropic公式のnpmパッケージ@anthropic-ai/claude-codeのバージョン2.1.88には、約60MBのcli.js.mapが含まれていました。このファイルは、ファイル名とソースコードの内容を一緒に外部に持ち出していました。これを入手した人は、それに沿ってコードを抽出することができました。数時間後、GitHub上のミラーリポジトリは数千のスターを獲得しました。Anthropicはファイルの削除やDMCA(米国著作権法に基づく削除要請)の発行を開始しましたが、拡散は止められませんでした。

一つの.mapファイル
この仕組みは非常にシンプルです。.mapファイルは本来、デバッグ用のものです。その中にソースコードの内容が一緒に含まれていると、他の人がこのファイルを入手すれば、コードを外部に抽出することができます。複雑なリバースエンジニアリングプロセスはなく、パッケージ公開前の最終チェックが不十分で、コードがパッケージと一緒に公開されてしまっただけです。非常に初歩的なミスです。

Claude Codeが漏洩させた実行ロジック
51.2万行という数字は非常に大きく、製品実装の一層全体が漏洩しています。資料からは4756のソースファイルの内容が確認でき、そのうち1906はClaude Code自身が書いたコードで、残りの大部分はそれが呼び出す外部ツールやライブラリです。
コードから、インターフェース、実行環境、ツール、中枢、メモリ、権限、エディタブリッジは、それぞれ別々に構築されていることがわかります。これにより、後からツールを追加したり、動作を変更したり、新しい入り口を接続したりすることが容易になります。システム全体も拡張しやすくなっています。
インタラクションと実行部分は深く結びついています。ユーザーがターミナルに1文入力すると、直接受信・処理し、結果を返します。このように1ラウンドずつ進んでいく方式は、コードを書くプロセスによく合っています。コードを書くときは、多くの場合、試しながら修正し、見ながら直していくものです。
ツール呼び出しに関しては、一連の動作として連携しています。まずファイルを読み、次にコードを修正し、コマンドを実行し、結果を確認し、その後次のステップに進みます。これにより、単なる1回の回答ではなく、一連の連続した操作全体を処理することができます。
また、複雑なタスクに遭遇した場合、Claudeはタスクを複数のエージェントに分割して処理し、最後に結果を回収して再処理する方式を取っています。これにより、個々のエージェントが背負うコンテキストが軽くなります。途中のどのステップで問題が発生したかも、より見つけやすくなります。
これが、Claude Codeがすでに単なるテキスト補完モデルではなく、実際に作業ができる開発ツールであることがわかる理由です。

Buddy
今回、実際に話題を呼んだのは、これまで非公開だった機能——Buddy、レアリティと属性、18種の種族を持つ電子ペットです。
これは今年のエイプリルフールのイースターエッグです。ユーザーは入力ボックスの横に小さな相棒を見ることができ、普段は瞬きをしたり、小さな動作をしたり、時々吹き出しの会話をしたりします。/buddy petと入力すると、ハートを浮かべます。直接名前を呼ぶと、一言返事をしてくれます。コアコードには触れず、ただの相棒として存在します。
Buddyは、何度もガチャを引いて入手するものではありません。システムはあなたのuseridと固定文字列を組み合わせ、ハッシュ化し、固定のランダムシードに投入して結果を生成します。同じuseridでは1匹しか入手できず、繰り返し入手することはできません。どのレアリティを入手するかは完全に運次第です。
レアリティには5段階あります。commonが60%、uncommonが25%、rareが10%、epicが4%、最もレアなlegendaryが1%を占めます。種族は全部で18種あり、アヒル、ドラゴン、ウーパールーパー、カピバラ、キノコ、ロボット、カタツムリ、カメなどが含まれます。種族とレアリティは結びついておらず、独立した2つの抽選システムで、完全にランダムです。
Buddyの目や帽子は、1%の確率で光る可能性があります。帽子は非コモン以上のレアリティにのみ出現し、種類には王冠、シルクハット、プロペラ帽、ハロー、魔法使いの帽子、ニット帽、アヒルの帽子などがあります。レアリティと同様に、これらの外見も最初に一緒に生成され、後から変わることはありません。
属性は全部で5つあります。DEBUGGING、PATIENCE、CHAOS、WISDOM、SNARKです。システムはまず抽選されたレアリティに基づいて基礎点を与え、その後ランダムに1つのメイン属性を高くし、1つの弱い属性を低く設定し、残りの属性値はその間でランダムに決定します。レアリティが高いほど、全体的な属性値が高くなる可能性があります。属性には現在成長メカニズムはなく、コードを長く書いたり多く書いたりしてもレベルアップすることはありません。
将来的にサービス終了するかどうかについては、漏洩したコードから確認できます。4月1日から7日までは準備期間で、起動画面にはBuddyに虹色のヒントが表示されます。コメントには「Command stays live forever after」とはっきり書かれており、コマンド自体は継続して残り、一度限りのエイプリルフールイベントではないようです。

Buddyが導入されたことで、Claudeは単なるターミナルでコマンドを実行するツールではなくなりました。少しだけ伴侶感を持ち始め、Claudeが長期的な滞在と継続的なインタラクションの方向に発展し始めていることも示唆しています。
今回のClaude Codeの漏洩は、Anthropicが普段インターフェースの下に隠している秘密を初めて外部に明らかにし、Claudeがこれほど使いやすい理由の根本的な核心を私たちに理解させました。Claude Codeの今回の事件は依然としてエージェントエンジニアリングのレベルにあり、主にツールの接続方法、タスクの分割方法、複数エージェントの連携方法を中心としています。しかし、コードをさらに追っていくと、問題は別の次元に落ち着きます:エージェントたちの判断をどのように長期的に記録し、継続的に検証し、実際の結果の中で選別し、短期的なパフォーマンスと長期的な信用を分離するか。NeoSoulが実現しようとしているのは、まさにこの次元です。エージェントはもはや質問に答えるだけのツールではなく、その判断を継続的なフィードバック、結果の責任、信用の蓄積のシステムに組み込み、エージェントの能力を長期的に比較、選別、蓄積できるようにします。


