Claw Code vs Claude Code: オープンソースのGitHubクローンが明かすAIエージェントアーキテクチャ
GitHub上のClaw Codeを技術的に分解する — Claude CodeをRustとPythonでリバースエンジニアリングした実装で、実際にどこまで本物に近づいているのか。

claw code github を検索したり、Claude Code open source が実質的に存在するのか疑問に思ったことがあるなら、Claw Code がその対象となるプロジェクトです。これは、AnthropicのClaude Codeをオープンソースでリバースエンジニアリングした再実装であり、Rust(ランタイム)とPython(メタデータおよび移植用の足場)で再構築されています。実運用レベルのAIコーディングエージェントがどのような構造になっているのかを、稀に見る形で垣間見ることができます。
このガイドは、いつもの 比較 フォーマットに沿って進めます。各側面が何か、実際の使い勝手でどう比較されるか、Claw Codeの技術的な位置づけ、そしてコードベースを評価するビルダー向けの明確な結論までを扱います。
Claw Codeとは?
Claw Code は、ターミナルおよびIDE向けのAnthropicのエージェント型コーディングツールであるClaude Codeの中核機能を再現しようとするオープンソースプロジェクトです。ソースはGitHub上に公開ライセンスで置かれており、Anthropicとは提携していません。
このプロジェクトは2層に分かれています。
- Pythonのメタデータ層: 主に移植用の足場として機能し、進捗の追跡、セッション永続化の管理、dataclassベースのスキーマ保持を担います。
- RustのCLIランタイム: 実際のエージェント会話ループ、ツール実行、APIストリーミング、権限制御を実装します。
Python約1,500行、Rust約4,000行の規模で、Claw Codeは初期段階のプロトタイプです。それでも、AIコーディングエージェントを機能させるいくつかのアーキテクチャパターンは正しく捉えています。
Claude Codeとは?
Claude Code は、Anthropicの独自のターミナル/IDEネイティブなAIコーディングアシスタントです。オープンソースではありません。製品はAnthropicが提供するクローズドなもので、Claudeモデル上で動作し、MCP(Model Context Protocol)、サブエージェント、フック、スキル、深いIDE統合などの機能を備えています。
人々が Claude Code open source を求めるとき、通常は (a) GitHub上のClaw Codeのような独立した再実装、または (b) まったく別の製品(たとえばマルチエージェントのデスクトップ同僚)のどちらかを探しています。Claw Codeは明確に前者であり、Claude Codeの挙動の一部を学習・実験目的で写したものであって、公式リリースではありません。
Claw Code vs Claude Code: 一覧比較
| 項目 | Claw Code (GitHub) | Claude Code (Anthropic) |
|---|---|---|
| ライセンス / コード | オープンソース。GitHubで閲覧・フォーク可能 | 独自実装。クローズドコードベース |
| ランタイムスタック | Rust CLI + Pythonの足場 | TypeScript / Node(内部実装) |
| モデル | Anthropic API(キーは利用者が用意) | Anthropic経由のClaudeモデル |
| MCP拡張性 | 未実装 | 実運用ワークフローの中核 |
| サブエージェント / 並列タスク | 未実装 | 主要な製品機能 |
| IDE統合 | なし | CLI + VS Code / JetBrains など |
| 成熟度 | プロトタイプ(機能面の約20〜25%) | 本番向けアシスタント |
この比較が非対称なのは意図的です。Claw Codeは学習用アーティファクトと部分的再実装であり、Claude Codeは完全なプラットフォーム投資を伴う出荷済み製品です。
Claw Codeが正しく捉えている点
エージェント型会話ループ
Claw Code が最も的確に押さえているのは、AIコーディングアシスタントの中核エンジンである基本的なエージェントループです。
User message → API call → Parse response → Execute tools → Feed results back → Repeat
Rust実装(ConversationRuntime<C, T>)は、このループを ApiClient と ToolExecutor に対するtraitベースの抽象化でモデル化しています。この分離は本番エージェントの構造をよく反映しており、モデル呼び出しとツール実行を疎結合に保ち、テスト可能で差し替え可能にします。
SSEストリーミングとAPI統合
APIクライアントは、Claw Codeの中で最も本番向けに近い部分と言えます。以下を実装しています。
- AnthropicのMessages API v1とServer-Sent Events(SSE)ストリーミング
- バッファリング付きのインクリメンタルなフレーム解析
- 408、429、5xxレスポンスに対する指数バックオフ付きリトライロジック
cache_creation_input_tokensとcache_read_input_tokensのキャッシュトークン追跡ANTHROPIC_API_KEYとANTHROPIC_AUTH_TOKENによる認証
独自のAnthropicクライアントを構築する人にとって、このクレートは十分に信頼できる参考実装です。
ファイル操作ツール
Claw Codeには、Claude Codeのモデルに合わせた6つのコアツールが含まれています。Bash、Read、Write、Edit、Glob、Grepです。
- Edit は正規表現ではなく厳密な文字列一致を使っており、Claude Codeの挙動に合わせつつ、エスケープに起因するバグの一群を回避します。
- Glob は結果を更新日時でソートします(新しいものが先)。
- Grep はコンテキスト行、複数の出力モード、ページネーションをサポートします。
- Write は親ディレクトリを自動作成します。
権限モデル
PermissionPolicy 構造体によるツールごとの上書きが可能な3段階の権限制御(Allow、Deny、Prompt)は、Claude Codeがツール実行をどのように制御しているかを反映しています。シェルコマンドの実行やファイル編集を行うエージェントにはこの層が必要であり、Claw Codeの考え方は方向性として正しいです。
セッション圧縮
コンテキストがトークン上限に近づくと、エージェントは直近のメッセージを有用に保ちながら古いターンを圧縮する必要があります。Claw Codeの圧縮処理は、以前のメッセージをシステムプロンプトに要約しつつ、最後の N ターンを保持することで、実際の動作を捉えています。
重要なギャップ: 何が足りないか
Claw Code はAIコーディングエージェントの骨格を捉えていますが、プロトタイプと本番ツールを分けるいくつかのシステムが欠けています。
MCP(Model Context Protocol)サポートがない
これが最大のギャップです。MCPはClaude Codeの拡張性の基盤であり、外部MCPサーバーがツール、リソース、プロンプトを提供し、エージェントが実行時にそれらを発見します。Claw CodeにはMCPクライアント、トランスポート、動的検出、リソース統合がなく、ツールセットはビルド時に固定されたままです。
サブエージェントのオーケストレーションがない
Claude Codeは、ネストされたエージェント会話や並列作業を、分離と集約つきで実行できます。Claw Codeには、ネスト会話、ワークツリー分離、子コンテキスト境界、結果マージの実装がありません。
フックやスキルのシステムがない
本番のClaude Codeは、ユーザー設定可能なフックとスキル/スラッシュコマンドのパイプラインを公開しています。Claw Codeのハンドラは最小限で(たとえば /compact のみ)、フックやスキルの検出パイプラインはありません。
システムプロンプト構築が不完全
プロンプトビルダーは大まかな構成は合っていますが、CLAUDE.mdの検出、git statusのスナップショット、MCPサーバー指示、実行時メタデータ(日付、モデル名など)といった動的要素が欠けています。
IDE統合がない
VS CodeやJetBrains拡張で使われるブリッジ/サーバー構成は存在しません。
実装品質
Rust層 — 堅実な基盤(7/10)
Rustコードは #![forbid(unsafe_code)]、traitベースの構造、多行フレームとpingを扱うSSEパーサーを備えています。粗さとしては、serde_json の代わりにセッションファイル用のカスタムJSONパーサーを使っていること、CLIエントリポイントが重複していること、ハードコードされたデフォルト値、単純すぎるトークン推定(文字数 / 4)などがあります。
Python層 — ほぼ足場のみ(3/10)
Python層はdataclassと互換性監査の観点では整っていますが、その多くはプレースホルダースタブ、シミュレートされたツール、空のremote/SSHパスです。現在の実用価値はRust層にあります。
機能一致スコアカード
実装済み
- コアのエージェント型会話ループ
- 6つのMVPツール(bash、read、write、edit、glob、grep)
- SSE対応のAPIストリーミングクライアント
- セッション永続化と圧縮
部分的に実装
- 権限制御(完全な対話的プロンプトはないがフレームワークはある)
- システムプロンプト構築(構造はあるが動的注入が完全ではない)
- 設定ファイルのマージ(user / project / local)
未実装
- MCPクライアントとトランスポート
- サブエージェント / Agentツールの起動
- LSPまたは拡張機能経由のIDEブリッジ
- スキルシステム、フック、web検索ツール
- より賢いコンテキスト予算管理とコスト管理ツール
- NotebookおよびPDF読み取りツール
これがAIエージェントアーキテクチャについて教えてくれること
Claw Code vs Claude Code の一対比較を超えて、このGitHubプロジェクトはビルダーにとって有用なアーティファクトです。
- ループ自体は簡単です。 「モデルを呼ぶ → ツールを解析 → 実行 → フィードバック」は単純です。力を生むのはMCP、サブエージェント、フック、スキル、IDEブリッジです。
- ストリーミングは重要です。 完了するまでブロックするのはCLIエージェントとして不自然です。Claw CodeのSSE対応は、最も再利用価値の高いコンポーネントです。
- 権限は必須要件 です。シェルとファイルのツールには欠かせません。
- コンテキストは依然として難しい。 単純な圧縮は限界までしか通用せず、本番システムには選択的保持と予算管理が必要です。
結論
Claw Codeは、Claude Codeの機能面のおよそ**20〜25%**を捉えています。Rust層 — APIクライアント、ループ、ファイルツール — が価値ある中核です。Python層は主に移植の意図を文書化しています。
claw code github の研究対象として、また非公式の Claude Code open source 風ミラーが何を示せるかという観点では成功しています。しかし、Claude Codeの置き換えとしては、MCP、オーケストレーション、統合レイヤーで大幅な追加作業が必要です。
GitHub上のClaw Codeを掘り下げるべき人は?
次のような目的があるなら、Claw Codeを選ぶ価値があります。
- Anthropic流のツールループとSSEクライアントの具体的なオープンソース実装を読みたい
- クローズドコードに頼らずにAIコーディングエージェントのアーキテクチャを教える/研究する
- Rustファーストの基盤をフォークして、自分でMCPに投資したい
Claude Codeのままにしておくべき人は?
MCP、サブエージェント、IDE拡張、フック、スキル、そしてサポート付き製品パスが必要なら、AnthropicのClaude Code を使い続けるべきです。研究用プロトタイプではなく、実運用の製品が必要な場合です。
より広いオープンソース選択肢としてEigentを検討する理由
単一のターミナル型コーディングエージェントを超えたオープンソース自動化が目的なら、Eigent はデスクトップワークフロー、スキル、複数のモデルプロバイダーを備えたマルチエージェントのオープンソース同僚であり、低レベルのエージェント機構を理解するためにClaw Codeを読むことと補完関係にあります。
FAQ
GitHub上のClaw Codeとは何ですか?
Claw Codeは、Rust CLIとPythonのメタデータ層を使ってClaude Codeの一部をリバースエンジニアリングしたオープンソースプロジェクトです。リポジトリは github.com/instructkr/claw-code です。
Claude Codeはオープンソースですか?
いいえ。Claude Codeは独自製品です。Claw CodeはClaude Codeの挙動に着想を得た独立したオープンソースプロジェクトであり、Anthropicの公式リリースではありません。
Claw CodeはClaude Codeの完全な代替ですか?
現時点では違います。主な不足はMCP、サブエージェントのオーケストレーション、IDE統合、そして完全なツール/プロンプトパイプラインです。
Claw Codeはどの言語で書かれていますか?
主にランタイムは Rust(約4k行)、足場は Python(約1.5k行)です。Claude Code自体はクローズドなTypeScript/Node製品です。
MCPがないと、なぜ問題なのですか?
MCPは、Claude Codeがツールを動的に拡張する仕組みだからです。これがないと、Claw Codeのツール面は固定されたままで、実運用ワークフローの幅が制限されます。
重要なポイント
- Claw Code GitHub = オープンな教育用の部分的クローン。Claude Code = 独自の完全製品。
- Claw Codeのコアロープ、ストリーミングクライアント、ファイルツール、権限は学ぶ価値がある一方、MCP、サブエージェント、IDEレイヤーはまだありません。
- claude code open source を探すなら、Claw Codeのようなプロジェクトにたどり着くはずです。これは便利な参照先ですが、機能完全な代替ではありません。
Recent Posts

ChatGPT Work vs Claude Cowork: あなたのチームに最適なエージェント型ワークスペースはどちら?
ChatGPT Work と Claude Cowork を比較し、あなたのチームのワークフロー、ローカルファイル、ガバナンス要件、自動化目標に最適なエージェント型ワークスペースを見つけましょう。

ChatGPT Work vs Eigent: クラウドエージェントか、オープンソースAIワークフォースか?
ChatGPT Work と Eigent を、デプロイ、プライバシー、拡張性、価格設定、実際のユースケースの観点から比較し、最適なAIコワーカーを選べるようにします。

Codex Cloud リモートワークスペース: AIエージェントをどこからでも実行
Codex Cloudのリモートワークスペースにより、AIエージェントが安全なクラウド環境で長時間のコーディング作業を、モバイル監視とリモートアクセス付きで実行できる仕組みを解説します。