【ClaudeCode】ハーネスエンジニアリングとは?AIエージェント開発の新パラダイムを徹底解説
テックジム東京本校では、情報科目の受験対策指導やAI駆動開発コースもご用意しております。
目次
- 1 はじめに:なぜ今「ハーネスエンジニアリング」が注目されているのか
- 2 ハーネスエンジニアリングとは何か
- 3 なぜ CLAUDE.md だけでは不十分なのか
- 4 ハーネスエンジニアリングの4つの設計領域
- 5 Claude Code × ハーネスエンジニアリングの実践的導入手順
- 6 エスカレーションラダー:4段階のルール執行フレームワーク
- 7 超並列開発への応用:Claude Code を 10 並列で動かす
- 8 ハーネスエンジニアリングの効果:数字で見るインパクト
- 9 エンジニアの役割の変化
- 10 まとめ:Claude Code でハーネスエンジニアリングを始めるための 3 ステップ
- 11 よくある質問(FAQ)
- 12 ■ゼロから始めるClaudeCode講座のご案内
- 13 ■らくらくPython塾 – 読むだけでマスター
- 14 共通テスト「情報I」対策解説講座
- 15 実践で学ぶPython速習講座
- 16 ■テックジム東京本校
公開日:2026年4月 / キーワード:Claude Code, ハーネスエンジニアリング, AIエージェント, CLAUDE.md
はじめに:なぜ今「ハーネスエンジニアリング」が注目されているのか
Claude Codeをはじめとする自律型AIコーディングエージェントの普及により、エンジニアリングの現場は大きく変わりつつあります。しかし、AIをただ使うだけでは、コード品質のばらつきや設計の揺れといった問題が避けられません。
そこで2026年に急速に注目を集めているのが**「ハーネスエンジニアリング(Harness Engineering)」**という考え方です。本記事では、ハーネスエンジニアリングの概念・構成要素・Claude Codeへの具体的な適用方法まで、体系的に解説します。
ハーネスエンジニアリングとは何か
「ハーネス」の語源
「ハーネス(Harness)」とは、馬を操るための馬具や高所作業の安全帯を意味する言葉です。馬具は馬の脚力を削ぐものではありません。むしろ、方向の制御を馬具に任せることで、馬は走ることに集中できます。
AIにおけるハーネスエンジニアリングも同様の発想です。
ハーネスエンジニアリングとは、「AIエージェントが動作する環境そのものを設計する」行為を指します。
強力な自律型AIが誤動作したり、重要な指示を忘れたりしないよう、「マニュアル(指示書)」や「安全装置」を体系的に整えることがその本質です。
プロンプトエンジニアリングとの違い
ハーネスエンジニアリングはしばしばプロンプトエンジニアリングと混同されますが、決定的な違いは**「強制力」**にあります。
| 比較項目 | プロンプトエンジニアリング | ハーネスエンジニアリング |
|---|---|---|
| 制御手段 | 言葉によるお願い | 仕組みによる強制 |
| 強制力 | 弱い(AIが忘れることがある) | 強い(物理的に違反を防げる) |
| 典型的ツール | CLAUDE.md の記述 | リンター・Hooks・CI/CD |
| 適したフェーズ | 小規模・初期フェーズ | 大規模・長期運用 |
プロンプトでいくら「anyを使うな」と書いても、エージェントはやがて忘れます。一方でリンターでブロックすれば、物理的に使えません。この違いがプロジェクト規模が大きくなるほど重要になります。
AI駆動開発の進化の流れ
AI駆動開発のエンジニアリングは次の順番で進化してきました。
プロンプトエンジニアリング
↓
コンテキストエンジニアリング
↓
ハーネスエンジニアリング ← 現在の最前線
なぜ CLAUDE.md だけでは不十分なのか
多くのエンジニアがClaude Code導入の第一歩として、プロジェクトルートに CLAUDE.md を配置するアプローチを取ります。コーディング規約・ディレクトリ構成・技術スタックを書いておけば、初期段階ではAIは期待通りに動きます。
しかし、プロジェクトが大きくなるにつれて以下のような問題が発生します。
- 品質のばらつき:同じ「APIエンドポイントを追加して」という指示でも、セッションによってファイル配置やエラーハンドリングの粒度が異なる
- 位置バイアス(減衰):会話が長くなると、AIは直近のやり取りを優先し、冒頭に書かれた
CLAUDE.mdの内容を忘れてしまう - セッション切れの断絶:昨日の作業の続きを頼むと、前回の設計判断を無視した実装が返ってくる
つまり、CLAUDE.md は「お願い」であり、守らせる仕組みが存在しません。
ルールに書いて守られないなら、それは仕組みが足りないというサインです。
ハーネスエンジニアリングの4つの設計領域
ハーネスエンジニアリングは、以下の4つの領域に分けて設計するとわかりやすくなります。
1. コンテキスト設計 ─ AIに何を見せるか
AIが判断材料として受け取る情報全体を設計します。プロンプト・ルールファイル・ソースコード・ログ・MCP経由の情報などが含まれます。
重要な原則:CLAUDE.md はポインタであり、ドキュメントではない
記述的なドキュメントを直接書くのではなく、実行可能なソースへの参照を書くことが推奨されます。
# CLAUDE.md の例(ポインタ設計)
- ビルド方法:`npm run build` を実行せよ
- テスト方法:`npm test` を実行せよ
- ADRは /docs/adr/ にある
- コーディング規約は .eslintrc.json を参照せよ
ポインタが指す先が存在しない場合、エージェントは明示的にエラーを出してくれます。これにより CLAUDE.md のメンテナンスが容易になります。
2. 行動設計 ─ AIに何をさせ、どこまで許すか
AIが実行できる操作の範囲と権限を設計します。特に重要なのが Claude Code の Hooks 機能 です。
- PreToolUse Hook:ツール実行前に安全性チェックを差し込む(機密ファイル保護・破壊的コマンドのブロック)
- PostToolUse Hook:ツール実行後に自動フォーマッタを走らせる(エージェントが違反に気づく前に修正が完了する)
3. フィードバック設計 ─ AIの出力をどう評価し、どう修正させるか
フィードバックは速ければ速いほど効果が高くなります。以下の速度階層で設計します。
| 速度 | 手段 | タイミング |
|---|---|---|
| ミリ秒 | PostToolUse Hook / フォーマッター自動実行 | ツール実行直後 |
| 秒 | プリコミットフック / リンター・型チェック | コミット前 |
| 分 | CI/CDパイプライン / 全テストスイート | マージ前 |
| 時間〜日 | 人間のコードレビュー | マージ後 |
ハーネスエンジニアリングの目標は、できるだけ多くのチェックをより速いレイヤーに移動させることです。CIでしか走らないリンターはプリコミットフックに、プリコミットフックでしか走らないフォーマッターはPostToolUse Hookに移動させます。
4. 運用設計 ─ セッションをまたいでどう回し続けるか
AIにはセッションをまたいだ記憶がありません。そのため、以下の仕組みで継続性を担保します。
- Architecture Decision Records(ADR):「なぜこの設計判断をしたか」を記録し、古くなった場合はsupersedeで置き換える。エージェントがタイムスタンプとステータスで有効性を判断できる
- リポジトリから記述的ドキュメントを除去し、テストとADRに置き換える
Claude Code × ハーネスエンジニアリングの実践的導入手順
Step 1:現状分析(1〜2週間)
現在のAI活用状況・課題・ボトルネックを洗い出します。チームの技術スタック・開発フロー・求める品質水準を明確化します。
Step 2:Minimum Viable Harness の構築
完璧なハーネスを最初から作る必要はありません。まずは以下の最小構成から始めましょう。
# 1. プロジェクトを分析して CLAUDE.md の土台を自動生成
/init
# CLAUDE.md に追記する「行動原則」の例
## 開発フロー
- いきなりコードを書かず、まずプランモードで計画を立てること
- 計画書(plans.md)を作成してから実装に入ること
- テストを必ず書き、パスしてからコミットすること
## 禁止事項
- TypeScript の any 型の使用禁止
- ハードコーディング禁止
Step 3:リンターと Hooks で仕組みを強化
CLAUDE.md で書いたルールをソフトな制御とするなら、リンターと Hooks はハードな制御です。
// .eslintrc.json の例
{
"@typescript-eslint/no-explicit-any": "error"
}
// Claude Code settings.json の Hooks 設定例
{
"hooks": {
"PostToolUse": [
{
"matcher": "Write|Edit",
"hooks": [{ "type": "command", "command": "npm run lint:fix" }]
}
]
}
}
Step 4:Plan → Work → Review サイクルの確立
ハーネスエンジニアリングの実践では、以下のサイクルを継続的に回すことが重要です。
- Plan:タスクを分解し、実装計画を文書化する
- Work:Claude Code が計画に従って実装する
- Review:Hooks・リンター・CI が自動検証し、人間は設計判断のみに集中する
Step 5:失敗をルールに変えて「育てる」
ハーネスは一度で完成させるものではありません。AIが期待と違う挙動をしたときは、その場で指摘し、内容を CLAUDE.md や設定ファイルに反映させます。
エスカレーションラダー:4段階のルール執行フレームワーク
GMOインターネットが実践する「エスカレーションラダー」は、ルールの執行レベルを段階的に引き上げるフレームワークです。
| レベル | 手段 | 特徴 |
|---|---|---|
| L1 | ドキュメント(CLAUDE.md) | ソフトな制御。AIへのお願い |
| L2 | AIセマンティックチェック | コンテキスト違反を検知 |
| L3 | CI/リンター | 自動で違反をブロック |
| L4 | 構造テスト | アーキテクチャ境界を機械的に保護 |
すべてのルールはまず L1 のドキュメントから始め、違反の頻度や自動検出のしやすさに応じて、より強いレベルへ昇格させていきます。
超並列開発への応用:Claude Code を 10 並列で動かす
ハーネスが十分に整備されると、Claude Code の並列実行が現実的になります。実際に Claude Code Web を常時 3〜4 並列、大きな機能実装時には 10 並列で運用している事例も出てきています。
並列開発を成立させるためのハーネス設計のポイントは以下の通りです。
- かっちりめのレイヤー設計:実装の配置箇所を明確化し、並列タスク間の衝突を防ぐ
- ガードレールの自動化:品質チェックを自動化し、並列生成されるコードの品質を一定に保つ
- ADR によるコンテキスト共有:複数エージェントが同じ設計判断を参照できるようにする
ハーネスエンジニアリングの効果:数字で見るインパクト
ハーネスを適切に構築した場合、以下のような効果が報告されています。
- モデルの入れ替えで 1 ポイント向上に対し、ハーネスの改善で 22 ポイント向上(Qiita 事例)
- 「計画→実装→テスト→ドキュメント」まで自動化し、人間の介入を設計判断と最終承認のみに削減
- コードレビューの指摘率・手戻り率の大幅な低下
「優れた開発者インフラを構築せよ。エージェントは自動的にその恩恵を受ける。」(Stripe Minions チーム)
エンジニアの役割の変化
ハーネスエンジニアリングの普及により、エンジニアの仕事は変わりつつあります。
従来: 正しいコードを生産すること
これから: エージェントが正しいコードを確実に生産できる環境を設計すること
AIを過度に信用することでも、必要以上に疑うことでもなく、AIが守るべき制約を人間側が設計し、その制約を段階的に執行できるようにすることが、AI時代のエンジニアに求められるスキルです。
まとめ:Claude Code でハーネスエンジニアリングを始めるための 3 ステップ
- まず 50 行の
CLAUDE.md── 行動原則・禁止事項・ポインタを記述する - PostToolUse Hook を設定 ── フォーマッタを自動実行し、最速のフィードバックループを作る
- リンターを pre-commit に組み込む ── コミット前に品質を自動検証する
ハーネスエンジニアリングは「完成させるもの」ではなく、プロジェクトとともに育てていくものです。まずは小さく始め、失敗をルールに変えながら継続的に改善していきましょう。
よくある質問(FAQ)
Q. ハーネスエンジニアリングはエンジニア以外でも実践できますか?
A. はい。CLAUDE.md の記述と基本的な Hooks 設定は、コードの深い知識がなくても取り組めます。「計画→実行→レビュー」という型を意識するだけでも、Claude Code の出力品質は大きく向上します。
Q. ハーネスエンジニアリングは将来も必要ですか?
A. AIエージェントの能力向上とともに、一部のハーネスは不要になっていく可能性があります。ただ、「自分たちのプロジェクトで何を守りたいか」を言語化するプロセス自体は、チームの設計力を高める本質的な活動として残り続けるでしょう。
Q. Claude Code と Codex のハーネス設計の違いは?
A. Claude Code はリアクティブなループでエラーを検知・即座修正する「事後対応型」で柔軟性が高い一方、Codex は AGENTS.md で事前ルールを定義し pre-commit フックで検証する「予防型」です。どちらが優れているかはチームの開発スタイル次第ですが、いずれの場合もハーネス設計の質が成果を左右します。
参考情報:本記事の内容は 2026 年 4 月時点の情報に基づいています。Claude Code の機能・仕様は今後アップデートされる可能性があります。
■ゼロから始めるClaudeCode講座のご案内
テックジム東京本校では「ClaudeCode」の体験講座を開催。
「その日のうちに動かす」 をゴールに、環境構築から実践まで。
毎週土曜日15時。参加は無料です。対面・ハンズオンだから初心者でも安心。
■らくらくPython塾 – 読むだけでマスター
共通テスト「情報I」対策解説講座
実践で学ぶPython速習講座
■テックジム東京本校
格安のプログラミングスクールといえば「テックジム」。
講義動画なし、教科書なし。「進捗管理とコーチング」で効率学習。
対面型でより早くスキル獲得、月額2万円のプログラミングスクールです。
情報科目の受験対策指導やAI駆動開発コースもご用意しております。




