COLUMN

コラム

2026年06月03日

CLAUDE.mdはもう古い?ハーネスエンジニアリング5構成要素で実現する、AIが勝手に学習する開発環境

ハーネスエンジニアリングとは — プロンプトエンジニアリングの「次」に来たもの

2026年2月、AI開発のパラダイムが静かに変わった。
Terraformの生みの親であるMitchell Hashimotoが自身のブログでハーネスエンジニアリングという概念を提唱し、その数週間後、OpenAIとAnthropicが相次いで詳細な技術記事を公開した。同月、OpenAIのエンジニアリングチームは「人間がコードを1行も書かない」という縛りで5ヶ月間プロダクトを構築し、100万行のコードを生成したと発表した。

ハーネスエンジニアリングは、AIエージェントが「継続的に正しい仕事を進められる」環境・文脈・評価・フィードバックループを人間が設計する手法だ。プロンプトエンジニアリング、コンテキストエンジニアリングに続く「第3の波」として、AI駆動開発の主戦場になりつつある。

AI開発の進化は3段階で捉えられる。
第1段階のプロンプトエンジニアリングは「1回の推論でどう指示を書くか」を扱う。第2段階のコンテキストエンジニアリングは「その推論に何の情報を入れるか」を最適化する。そして第3段階のハーネスエンジニアリングは「複数回の推論とツール利用を含む作業全体をどう運転するか」を設計する。


「モデル性能差1点 vs 環境設計22点」— OpenAIの衝撃データが証明した、AIエージェント生産性の真実

AIモデルの選択に悩むエンジニアは多い。Claude Opus 4.6とGPT-5.4のどちらが速いか、DeepSeek V4のコストパフォーマンスは優れているか — こうした議論は開発現場で日常的に交わされる。
しかし、OpenAIの実証データは、その前提を根本から覆す。

SWE-benchでの検証によると、同じモデルでハーネスを変えるとスコアが22点変動するのに対し、モデルを変えてもスコアは1点程度しか変わらないという。つまり、AIモデルの性能差よりも、環境設計の方が22倍も開発生産性に影響するということだ。

この発見は、AI駆動開発の投資先を根本的に変える。最新モデルの性能比較に時間を使うより、ハーネス — AIエージェントの周囲に整えるすべての仕組み(ルールや制約、成果物のチェック体制、テスト、使えるツール、参照ドキュメント、安全装置)— を整える方が、はるかに高いリターンを生む。

OpenAIの100万行実験では、3人のエンジニアが5ヶ月間で約1,500件のPRを処理し、100万行のコードを生成した。人間が手で書いたコードは1行もない。開発時間は手作業比で約1/10に短縮された。
これを可能にしたのは、モデルの賢さではなく、ハーネスの設計だった。


CLAUDE.mdだけでは不十分 — 「お願い」から「強制力」へのパラダイムシフト

Claude CodeやCursorを使うエンジニアの多くは、プロジェクトルートに CLAUDE.md を置き、技術スタックやコーディング規約を記述している。しかし、これには致命的な限界がある。
CLAUDE.mdは「お願い」にとどまり、守らせる仕組みがない。

CLAUDE.mdの3つの限界を見てみよう。

1. 規約が強制されない

CLAUDE.mdに「TypeScriptを使う」「テストを書く」と書いても、AIエージェントがそれを守る保証はない。プロンプトの工夫で一時的に守らせることはできるが、セッションが変わると忘れられる。

2. セッション切れによる文脈喪失

AIエージェントはセッションをまたいで記憶を保持しない。昨日のミスを今日また繰り返す。CLAUDE.mdを読み直すたびに解釈が微妙に変わり、コード品質にばらつきが出る。

3. 複数セッション間での品質ばらつき

チーム開発では、複数のエンジニアが異なるセッションでAIエージェントを使う。CLAUDE.mdの記述が曖昧だと、エンジニアごとに異なる解釈が生まれ、コードの一貫性が失われる。

ハーネスエンジニアリングは、この「お願い」を「強制力」に変える。規約を守らないコードは自動でリジェクトされ、過去のミスは構造的に繰り返せないようになり、セッション間で品質が安定する。

こうした環境設計を手軽に実践したい方は、Captain.AIのスキル定義機能が最適だ。ノーコードでAIエージェントにルール・スキル・フックを教え、自律的に動く環境を構築できる。


ハーネスの5構成要素 — AIエージェントが自律的に動く環境設計

ハーネスエンジニアリングは、5つの構成要素で成り立つ。それぞれがAIエージェントを異なる角度から支え、全体として「勝手に学習する開発環境」を実現する。

1. Rules — AIの行動規範を宣言的に記述

Rulesは、AIエージェントが守るべき行動規範を宣言的に記述する。CLAUDE.mdとの違いは、「守らせる仕組み」とセットになっていることだ。
例えば、`.claude/rules/typescript.md` に「JavaScriptではなくTypeScriptを使う」と書き、pre-commitフックで `.js` ファイルの追加を自動リジェクトする。AIエージェントがルールを破ると、コミットが通らない。

段階的ルール昇格という手法も有効だ。AIエージェントが同じルールを3回違反したら、自動でルールの強度を上げる。警告だった項目がエラーに、エラーだった項目がコミットブロックになる。

2. Skills — 再利用可能な手順書

Skillsは、業務ごとに「スキル」を定義し、AIエージェントに教える仕組みだ。
例えば、`.claude/skills/create-api-endpoint.md` に「新しいAPIエンドポイントを作る手順」を書く。ルーティング追加、コントローラー実装、テスト追加、ドキュメント更新 — 一連の手順を明文化し、AIエージェントに「このスキルを使って」と指示するだけで、全ステップが実行される。

スキルは組織の暗黙知を形式知に変える。ベテランエンジニアの頭の中にあった「正しい手順」を明文化し、チーム全体で再利用できるようになる。

3. Hooks — イベント駆動型の自動実行トリガー

Hooksは、特定のイベントが発生したときにAIエージェントが自動実行するアクションを定義する。
例えば、コミット前に型チェックとリンターを実行し、ビルド後に自動テストを走らせ、エラー発生時にログを解析してSlackに通知する — こうしたアクションを宣言的に定義する。

Hooksの強力さは、「人間が指示しなくても動く」ことだ。AIエージェントは環境の変化を検知し、自律的に対応する。

4. Memory — セッション間で持続するコンテキスト

Memoryは、セッション間で持続するコンテキストを記録する仕組みだ。
例えば、`progress.md` に現在のタスク進捗を記録し、`failures.log` に過去の失敗パターンを蓄積する。次回のセッションでAIエージェントがこれらを読み込み、「前回の続き」から始められる。

Memoryは、AIエージェントに「記憶」を与える。昨日のミスを今日は繰り返さず、前回の成功パターンを今回も適用できる。

5. Feedback Loop — 型チェック → リンター → テスト → 構造テストの多層検証

Feedback Loopは、生成と検証の自動サイクルを回す仕組みだ。
AIエージェントがコードを生成すると、自動で型チェック → リンター → ユニットテスト → 構造テストが走る。エラーが出たら、エラーメッセージをAIエージェントに渡し、修正させる。これを合格するまで繰り返す。

重要なのは、フィードバックが「即座に」「自動で」返ることだ。人間が手動でレビューするのを待つのではなく、AIエージェント自身が品質を反復的に改善する。


実装パターン — Anthropic & GMOの事例に学ぶ

ハーネスエンジニアリングの理論を理解したら、次は実装だ。先行事例から学ぼう。

Generator-Evaluatorパターン(Anthropic)

Anthropicの公式記事によると、同社のハーネス設計はGANs(敵対的生成ネットワーク)にヒントを得ている。作業を行うエージェント(Generator)と判断するエージェント(Evaluator)を分離することで、品質が劇的に向上した。

なぜ分離するのか。AIモデルは自己批判よりも自画自賛する傾向があるからだ。自分が書いたコードを自分でレビューすると、「問題ない」と判断しがちになる。別のエージェントに評価させることで、客観的な品質チェックが可能になる。

Evaluatorは4つの軸(デザイン品質、独創性、完成度、機能性)で成果物を評価する。曖昧な「良い/悪い」ではなく、測定可能な基準で判定する。

スプリントコントラクト

Anthropicのもう1つの重要な手法が、スプリントコントラクトだ。
GeneratorとEvaluatorは、実装前に「成功を定義」する。高レベル仕様(「ユーザー登録機能を作る」)とテスト可能な成果物(「POST /api/register が 201 を返す」)のギャップを埋め、両者が合意した基準で評価する。

これにより、「期待と違う」という曖昧な理由でのリジェクトがなくなり、Generatorは明確な目標に向かってコードを書ける。

GMOの実装事例 — 12カテゴリ48ルールと23条件の構造テスト

GMOインターネットのConoHa VPS開発では、12カテゴリ48ルールと23条件の構造テストが実装されている。
48ルールはコーディング規約から命名規則、セキュリティ要件までを網羅し、23条件の構造テストはアーキテクチャ原則(レイヤー分離、依存方向、循環参照禁止等)を機械的に強制する。

AIエージェントはこれらのルールを破ると即座にフィードバックを受け、自動で修正する。人間が介入するのは、新しいルールを追加するときだけだ。

AI駆動開発セミナーで、ハーネスエンジニアリングを実践的に学ぶ

ハーネスエンジニアリングの実装を体系的に学びたい方には、AI駆動開発伴走セミナーが最適だ。

このセミナーでは、ハーネスエンジニアリングの5構成要素(Rules, Skills, Hooks, Memory, Feedback Loop)を実際のプロジェクトに適用する方法を、段階的に習得できる。技術リード向けの様々なプランを提供しており、チームの成熟度に応じて最適なコースを選択できる。

特に、Generator-Evaluatorパターンの実装、スプリントコントラクトの設計、段階的ルール昇格の自動化など、先行事例から学んだベストプラクティスを、自社環境に適用する実践演習が含まれる。座学だけではなく、実際に手を動かしながら学ぶことで、明日から使えるハーネス設計のスキルが身につく。


Day 1から始める段階的導入ロードマップ

ハーネスエンジニアリングを一度に実装するのは現実的ではない。段階的に導入しよう。

Day 1: CLAUDE.md執筆

  • 技術スタック:使用言語・フレームワーク・ライブラリを明記
  • コーディング規約:命名規則・フォーマット・インデント
  • アーキテクチャ原則:ディレクトリ構造・レイヤー分離

CLAUDE.mdはハーネスの「第0段階」だ。完璧でなくてよい。まずは書き始めることが重要だ。

Week 1-2: スキル追加

よく繰り返すタスクをスキルとして切り出す。APIエンドポイント追加、DB マイグレーション、コンポーネント作成 — チームで頻繁に行う作業をリストアップし、手順書を書く。
最初は3〜5個のスキルから始めればよい。使いながら増やしていく。

Week 2-4: フック設定

pre-commitフックで型チェックとリンターを実行する。CIで自動テストを走らせる。エラーが出たらSlackに通知する。
フックはハーネスの「強制力」を生む。AIエージェントがルールを破ると、即座にフィードバックが返る。

Week 2-4: メモリ構築

progress.md で進捗を記録し、failures.log で失敗パターンを蓄積する。次回のセッションでAIエージェントがこれらを読み込むように設定する。
メモリは「AIが学習する」感覚を生む。同じミスを繰り返さなくなり、開発速度が上がる。

継続的: ルール昇格

AIエージェントが同じルールを3回違反したら、自動でルールの強度を上げる。警告 → エラー → コミットブロック と段階的に厳しくする。
ルール昇格は、ハーネスを「自己進化」させる。人間が手動で設定を変えなくても、ハーネスは自動で最適化されていく。


「馬具は馬の脚力を削ぐのではなく、全力疾走を可能にする」

「ハーネス」という言葉は馬具を意味する。馬を制御して正しい方向に向かわせる仕組みだ。
しかし、馬具の本質は「制約」ではない。馬具は馬の脚力を削ぐのではなく、全力疾走を可能にする。

ハーネスエンジニアリングも同じだ。ルールやフックは、AIエージェントの創造性を制限するものではない。安定して高品質な成果を出すための支援システムだ。

AIを「使う」フェーズは終わりつつある。これからは、AIと「協働」し、チーム全体の生産性を底上げする組織が競争優位を握る。AIエージェントを単なる「ツール」として扱うのではなく、「同僚」として協働する — それがAI Co-workの時代だ。

ハーネスエンジニアリングは、AI Co-workを実現するための環境設計手法だ。AIエージェントが自律的に動き、人間は高次の設計と意図の定義に集中できる。

AIを動かす基盤も重要だ。Kuboなら月額8,800円〜でKubernetesクラスタを構築でき、AIエージェントを安定的に運用する基盤を手軽に手に入れられる。


まとめ — ハーネスエンジニアリングで実現する、AIが自律する開発環境

ハーネスエンジニアリングは、AIエージェントの「環境設計」を体系化した手法だ。プロンプトエンジニアリング、コンテキストエンジニアリングに続く第3の波として、AI駆動開発の主戦場になりつつある。

OpenAIの実証データが示す通り、モデル性能差1点より、ハーネス設計22点の方が開発生産性に影響する。最新モデルの性能比較に時間を使うより、5構成要素(Rules, Skills, Hooks, Memory, Feedback Loop)を整える方が、はるかに高いリターンを生む。

CLAUDE.mdは「お願い」にとどまるが、ハーネスエンジニアリングは「強制力」を持つ。AIエージェントはルールを守り、過去のミスを繰り返さず、セッション間で品質が安定する。

実装は段階的に進めればよい。Day 1にCLAUDE.mdを書き、Week 1-2でスキルを追加し、Week 2-4でフックとメモリを設定する。継続的にルールを昇格させれば、ハーネスは自己進化していく。

AIを『指示する』のではなく、『協働する』環境を構築する — それがハーネスエンジニアリングの本質だ。
Captain.AIなら、この記事で紹介した5構成要素をノーコードで実装でき、AIが自律的に学習する開発環境を今日から始められる。

ハーネスエンジニアリングの実践的な導入方法を学びたい方は、AI駆動開発伴走セミナーで、段階的な実装支援を受けられる。あなたのチームに最適なハーネス設計を無料相談で一緒に考えませんか?

役に立ったら、記事をシェアしてください