/note/tech

Goodbye Claude, Hello Pi

要約:

■ 1. Claude Code から Pi への移行

  • Claude Code の利用歴:
    • Claude Pro プランで利用可能になった1年以上前から使い続けてきた
    • 初めて1つのプロンプトから週末プロジェクトの Python コードが生成された時は高揚した
    • 数年後には、そのリリースが現在のソフトウェア開発の新時代を牽引した主要因の1つと振り返られるはず
  • 移行の決断:
    • 小さな不満の積み重ねにより、メインのコーディングハーネスを Claude Code から Pi に切り替えた
  • AGENTS.md 対応の発表:
    • 決断の翌日、Anthropic は Claude Code が AGENTS.md ファイルに対応すると発表した
    • 自分にとっては遅すぎ、引き留めには不十分

■ 2. AGENTS.md 非対応の問題

  • 移行理由の象徴:
    • AGENTS.md の件は Claude Code をやめた理由全体を象徴している
  • CLAUDE.md の功罪:
    • 各地の GitHub 趣味リポジトリに CLAUDE.md が散らばるのはゲリラ的なマーケティングとしては優秀
    • 一方でユーザーは2つの形式の間でコピーやシンボリックリンクを強いられ、不便

■ 3. VSCode 連携の制約

  • コードレビューのための IDE 連携:
    • 生成コードの大半はコミット前に自分でレビューしている
    • VSCode 内で Claude Code を IDE に接続すると、選択したテキストを自動でコンテキストに含められる
  • 同時接続は1セッションのみ:
    • 2つ目のタブで別タスクを始めると、IDE のテキスト選択イベントを受け取れない
    • この問題は遅くとも2025年12月には報告されていた
    • しかし無関係なバグの重複として閉じられた
  • 技術的な障壁の不在:
    • Pi 導入後、複数タブでこの機能を扱う拡張機能を20分ほどで自作できた

■ 4. 公式 VSCode GUI 拡張機能の問題

  • 複数タブでの選択テキスト共有は可能:
    • 公式 GUI 拡張機能なら複数タブを開き、それぞれに選択テキストを読み込める
  • 拡張機能固有の欠陥:
    • 組み込みスラッシュコマンドの半分は GUI では全く動作しない
    • カスタムステータスラインに対応していない
    • サブエージェントの出力がメインのチャットスレッドに時系列で重ねて表示される
    • 複数のサブエージェントが動くと非常に読みにくい
    • 他にも問題は数多くある

■ 5. 品質より機能追加を優先する姿勢

  • 既存問題を放置した機能追加:
    • Anthropic は品質や安定性への配慮なしに猛烈なペースで機能を詰め込んでいる
    • 例として dynamic workflows、agent teams、ultrareviews がある
    • いずれも企業顧客にトークンを消費させる手段としては優秀だが、自分には不要
  • 頻繁な変更による環境の破壊:
    • 機能リリースと並行して、個人の設定を乱す変更が常に加えられる
    • 執筆時点で今年の Claude Code のリリースは244回
    • その4分の3超がシステムプロンプトやツール説明を変更している
    • こうした変更は LLM の挙動を大きく変えうる
    • 特に新しい指示がユーザーのプロンプトやリポジトリの慣例と矛盾する場合に影響が大きい

■ 6. 過大なコンテキストのオーバーヘッド

  • Pi と比べた負荷:
    • システムプロンプトを80%削減した後も、Claude Code は Pi よりはるかにオーバーヘッドが大きい
    • それに見合う利点は見当たらない
  • Bash ツール説明の肥大化:
    • デフォルトの Bash ツールの説明は約3,000トークン
    • その大半は git の使い方や GitHub での PR 作成に関する雑多な内容
    • モデルは詳細な指示がなくてもこれらを実行できる
  • cat <<'EOF' の指示:
    • モデルに cat <<'EOF' の使用を指示している
    • auto mode の普及以前は、既存の git コマンド許可リストに関係なく常に手動レビューのルールに引っかかっていた
  • 推論コストの観点:
    • DAU 100万、1日1億リクエストと仮定すると、説明を1,000トークン削るだけで年間数百万ドルの推論コストを節約できる
    • エンジニアの時間を割く価値は十分にある

■ 7. Claude Code への評価と総括

  • 批判への留保:
    • 批判ばかりになったのは本来の自分のスタイルではない
    • Anthropic は非常に優れたソフトウェアを作ったと考えている
    • 自分が最初から運営していればうまくやれたという思い込みもない
  • 先行者の難しさ:
    • LLM コーディングハーネスは非常に新しい分野で、先駆者として革新するのは困難
    • Pi のような後発ツールは、何が機能し何を削れるかを後知恵で判断できる
  • ビジョンの欠如:
    • Claude Code は強いビジョンや方向性を欠いた製品に感じる
    • 熱心なエンジニアや PM が自分のワークフローに合う機能を次々と付け足している印象
    • その結果が他のユーザーに悪影響を与えうることが考慮されていない
  • 「ノー」と言う役割の不在:
    • 上層部に要望を却下する専任者がいないように見える
    • 製品開発においてその役割は極めて重要
    • そのため、当面は Claude Code を離れる

■ 8. Pi への期待

  • 移行後の使用感:
    • 最初の数日は調整が必要だったが、その後は順調
    • 安定性、ミニマルな設計、極めて高いカスタマイズ性を評価している
  • 自作拡張機能:
    • 自分の用途に合わせた拡張機能をすでにいくつか作成した
    • 整理後に公開する予定
  • オープンソースハーネスの推奨:
    • 同様の不満を抱えているなら、オープンソースのハーネスを試すことを強く勧める