概要
- コーディングAIの性能議論は モデル選択 ばかりに偏りがち。
- 実際には ハーネス(編集ツール) がボトルネックとなるケースが多い。
- 編集ツールの工夫だけで 大幅な性能向上 が可能。
- ベンチマークで 編集方式の違い が成功率に大きく影響。
- ハーネス最適化は モデル進化以上の価値 を持つ場合も多い。
モデル性能議論の誤謬とハーネスの重要性
-
コーディングAIの比較議論は GPT-5.3対Opus、Gemini対最新モデル といったモデル中心主義。
-
実際のボトルネックは ハーネス(編集ツールやインターフェース) である場合が多い。
-
ハーネスは ユーザー体験の第一印象 や 入力・出力の全て を担う基盤。
-
モデルは パラメータの一つ に過ぎず、ハーネス次第で性能が大きく変化。
-
oh-my-pi のようなオープンソースハーネスでの実験が有効。
- Opusは優秀なモデルだが、 Claude Code ではサブエージェント出力のJSONL漏れでトークン無駄遣い。
- ハーネス側で 構造化データ出力 や エラー管理 を実装可能。
- 実際の失敗の多くは ハーネスとモデルの橋渡し部分 で発生。
編集ツールの現状と課題
- Codex はapply_patch方式(OpenAI独自のdiff形式)を採用。
- 他モデルではこの方式を理解できず、 パッチ失敗率が高騰 (Grok 4で50.7%、GLM-4.7で46.2%)。
- Claude Code や多くのモデルはstr_replace方式(文字列置換)を使用。
- 完全一致が必要で、 空白やインデントの再現ミスで頻繁に失敗。
- “String to replace not found in file”エラーが多発。
- Cursor は編集専用のニューラルネットワークを別途訓練。
- 400行以下なら 全ファイル再書き換えが最適 と自社ブログでも言及。
- 編集フォーマットの違いだけで GPT-4 Turboの成功率が26%→59% に上昇。
- フォーマット選択が モデルと同等またはそれ以上に重要。
- JetBrainsのDiff-XYZベンチマーク でも、単一の編集フォーマットが全てに最適とは限らないと判明。
新提案:Hashline方式
- 各行に 2~3桁の内容ハッシュ を付与する方式を考案。
- 例:11:a3|function hello() { 22:f1| return "world"; 33:0e|}
- 編集時はハッシュタグで 編集対象行を明示。
- 例:「2:f1の行を置換」「1:a3~3:0eの範囲を置換」など。
- ファイルが変更されてハッシュが合わなければ 編集拒否 で破損防止。
- モデルは 古い内容や空白の再現不要 で信頼性向上。
- 編集のアンカー として機能し、誤編集や失敗の大幅削減。
ベンチマーク結果
- Reactコードベースからランダムにファイル抽出し、 機械的なバグ を導入。
- 180タスク×3回、16モデル、3編集ツールで検証。
- patch方式はほぼ全モデルで最悪、hashline方式はreplace方式と同等以上の成功率。
- Grok Code Fast 1は6.7%→68.3% へ、MiniMaxも2倍以上に向上。
- 出力トークン数も大幅減少 (Grok 4 Fastで61%減)。
- Geminiの成功率+8% は多くのモデルアップグレードより大きな改善。
ベンダーとハーネスの関係
- Anthropic は人気オープンソースエージェントOpenCodeを Claude Codeから遮断。
- 「独自APIのリバースエンジニアリング」への対応だが、 ハーネス開発の抑制 を意味。
- Google もGeminiアカウントを 即時停止 (ベンチマーク実施が理由か不明)。
- ハーネス最適化は モデルベンダーにとっても無料のR&D であり、閉鎖的対応は逆効果。
- オープンソースハーネスは 全モデルに最適化 可能、コミュニティ主導で進化。
- モデルは堀、ハーネスは橋。橋を焼けば誰も渡らなくなる。
結論とメッセージ
-
ハーネス問題は 現実的・計測可能・最もレバレッジの高い革新領域。
-
「カッコいいデモ」と「信頼できるツール」の差は モデルの魔法ではなく、地道なハーネス工学。
-
ハーネス問題は必ず解決されるが、 一社内で閉じて解決するか、コミュニティ全体で解決するかが分かれ道。
-
ベンチマーク結果が全てを語る。
-
詳細なコード・ベンチマーク・レポートは oh-my-pi を参照。