ハーネスエンジニアリングとは、AIエージェントのモデル以外の部分を設計して、同じ失敗を繰り返させないようにすることです。指示書、ツールと権限、テストによる検証、作業の記録と引き継ぎをまとめて「ハーネス」と呼びます。言葉は2026年2月に広まり、意味の広さは語る人で違います。この記事では意味・経緯・具体例・始め方を順に整理します。Claude Code での設定の書き方は Claude Code|2026年版・インストールからCLAUDE.md・Hooks・本番運用までの実装手引き にまとめています。
AGENT = MODEL + HARNESSハーネスとは
見えているのはモデル、効いているのはその下のハーネス
ハーネス=モデル以外のすべて:
- 指示書(AGENTS.md・CLAUDE.md・スキル)
- ツールと権限(何を呼べて、どこまで触れるか)
- 検証(テスト・Lint・型・レビュー)
- 記憶と引き継ぎ(進捗ファイル・git の履歴)
LangChain はモデルを固定し、ハーネスだけ変えて Terminal Bench 2.0 を 52.8→66.5 に上げた
30秒でわかるハーネスエンジニアリング
- ・意味:Agent = Model + Harness。モデル以外の指示書・ツール・権限・検証・記憶がハーネス
- ・経緯:2026年2月、Mitchell Hashimoto のブログと OpenAI の記事で名前が広まった
- ・効き方:LangChain はモデルを固定したまま、ハーネスだけで Terminal Bench 2.0 を52.8→66.5に上げた
- ・やり方:失敗を1つ見つけたら、同じ失敗が起きない仕組みを1つ足す
- ・注意:製造業の「ワイヤーハーネス」とは別物。検索では AI・エージェントの語を足す
検索すると、製造業の配線部品の話が混ざります。読み分けは次のとおりです。
| 呼び方 | 分野 | 指すもの |
|---|---|---|
| ワイヤーハーネス・ハーネス設計 | 自動車・家電などの製造業 | 電線を束ねた配線部品と、その設計 |
| AIのハーネス・ハーネスエンジニアリング | ソフトウェア(AIエージェント) | LLMを包み、ツール・権限・検証・記憶を受け持つ仕組みと、その設計 |
ハーネスエンジニアリングとは何か
AIのハーネスは、モデルが出した答えを実際の作業に変える外側の仕組みです。LangChain の Vivek Trivedy は2026年3月の記事で Agent = Model + Harness と書き、「モデルでないなら、それはハーネスだ」と言い切りました。同じモデルでも、ハーネスが違えば仕事の出来が変わります。
ハーネスの部品はおおむね次の4つに分けられます。
| 部品 | 役割 | Claude Code での置き場所の例 |
|---|---|---|
| 指示書 | 何を、どの決まりで作るかを伝える | CLAUDE.md・AGENTS.md・スキル |
| ツールと権限 | 何を呼べて、どこまで触れるかを決める | settings.json の許可・拒否リスト、MCP サーバー |
| 検証 | 出力が正しいかを機械と人で確かめる | フックで回すテスト・Lint・型チェック、レビュー |
| 記憶と引き継ぎ | セッションをまたいで状態を渡す | 進捗ファイル、git のコミット履歴 |
LLM を呼んでツールを実行し、結果を返す処理を繰り返す「ループそのもの」もハーネスの中核です。ループの最小構成は Agent ハーネス(エージェントハーネス)とは で、Python のコードを使って説明しています。この記事はその外側、つまりハーネスを作って育てる設計の話を扱います。
ハーネスエンジニアリングは誰が言い出したか:2025〜2026年の流れ
言葉の出どころは一人に決まりません。近い時期に、別々の場所から同じ考えが出てきました。
| 時期 | 発信者 | 内容 |
|---|---|---|
| 2025-11-26 | Anthropic(Justin Young) | 長時間動くエージェントのハーネス。初回だけ動く初期化役と、毎回少しずつ進めるコーディング役に分け、claude-progress.txt と git の履歴で引き継ぐ |
| 2026-02-05 | Mitchell Hashimoto | ブログ「My AI Adoption Journey」で、AI 導入の段階の1つを Engineer the Harness と呼んだ。エージェントが間違えるたびに、同じ間違いをしない仕組みを作る |
| 2026-02-11 | OpenAI(Ryan Lopopolo) | 「Harness engineering」。手で書いたコードなしで約100万行のプロダクトを出荷した5か月の社内実験。人は環境と意図を設計し、実装はエージェントが担う |
| 2026-02-17 | LangChain | モデル(gpt-5.2-codex)を固定し、システムプロンプト・ツール・ミドルウェアだけを変えて Terminal Bench 2.0 を52.8→66.5(約30位→約5位) |
| 2026-03-10 | LangChain(Vivek Trivedy) | 「The Anatomy of an Agent Harness」。Agent = Model + Harness と定式化 |
| 2026-04-02 | Birgitta Böckeler(martinfowler.com) | コーディングエージェントの利用者向けに、ハーネスを Guides と Sensors に分けて整理(2月17日のメモが先行) |
範囲の取り方は大きく3通りあります。LangChain は「モデル以外すべて」と広く取ります。Hashimoto は「失敗を再発させない仕組みの積み重ね」という実践から語ります。Böckeler は事前に導く仕組みと事後に確かめる仕組みという構造で整理しています。どれも間違いではなく、話している範囲が違います。議論するときは、どの意味で使っているかを先にそろえると噛み合います。
ハーネスの中身:Guides(事前に導く)と Sensors(事後に確かめる)
Böckeler の整理は設計の判断にそのまま使えます。ハーネスの部品を、効くタイミングと判定のしかたで4つに分けます。
GUIDES × SENSORSハーネスの中身
決まった判定で済むものは計算的なセンサーに置く
推論的なガイド(事前)
AGENTS.md・CLAUDE.md・スキル・設計の原則
推論的なセンサー(事後)
AIレビュー・LLM-as-judge(高くつき、判定が揺れる)
計算的なガイド(事前)
権限の許可リスト・雛形を作るスクリプト
計算的なセンサー(事後)
Lint・型チェック・テストをフックで毎回回す
| 区分 | 効くタイミング | 計算的(毎回同じ結果) | 推論的(LLM が判断) |
|---|---|---|---|
| Guides | 作業の前 | 権限の許可リスト、雛形を作るスクリプト | AGENTS.md・CLAUDE.md、スキル、設計の原則 |
| Sensors | 作業の後 | Lint、型チェック、テスト | AIレビュー、LLM-as-judge |
置き場所を決めるときの目安は2つです。
・決まった判定で確かめられるものは、計算的なセンサーに置く。型エラーやテストの失敗を LLM に毎回判定させると、費用がかさみ、結果も揺れます
・Guides だけでも、Sensors だけでも足りない。指示書だけでは守られたかが分からず、検証だけでは同じ失敗を毎回やり直させることになります
Claude Code なら、フックでファイル編集のたびにテストを回し、失敗の内容をそのままエージェントに返す形が「計算的なセンサー」にあたります。本番運用で使う評価役の分離や、ルールを戻さない「ラチェット」の考え方は AIエージェントを本番に届けるハーネス設計 で扱っています。
ハーネスエンジニアリングの具体例:公開事例と当サイトで動かしたOSS
ハーネスは目に見えにくいので、具体例で掴むのが早道です。公開事例と、当サイトが個別記事で動かした OSS を並べます。数値は各記事の確認時点のものです。
| 例 | ハーネスのどこを作っているか | 確認した内容 |
|---|---|---|
| OpenAI の社内実験 | 環境・指示・フィードバックのすべて | 手で書いたコードなしで約100万行を出荷(OpenAI、2026-02-11) |
| LangChain deepagents-cli | システムプロンプト・ツール・ミドルウェア | モデル固定で Terminal Bench 2.0 を52.8→66.5(LangChain、2026-02-17) |
| Ralph | 自律ループと完了条件 | Claude Code・Amp を PRD が終わるまで反復。★21,516、本体は2026-02-02から更新停止(2026-08-18確認) |
| Omnigent | ハーネスの差し替え層 | Claude Code・Codex・Cursor など24のハーネスを同じ土俵に載せるメタハーネス。★8,007(2026-08-02確認) |
| harness2(Google Research) | ハーネス自体の改善 | 正解なしでハーネスを書き換える研究コード。デモは2.45秒で完走、モデルを呼ぶベンチマークは未検証(2026-10-18確認) |
| loopkit | 指示書とスキルの持ち回り | Claude Code・Cursor・Codex で同じスキルを使う最小の .claude 構成。Plan→Act→Verify の手順(2026-07-13確認) |
並べると、ハーネスの作り方には2つの方向があります。Ralph や loopkit は手元の1つのエージェントを固くする方向、Omnigent や harness2 はハーネス同士を比べたり、ハーネスの改善そのものを機械に任せたりする方向です。個別の記事は下の「あわせて読みたい」から開けます。
ハーネスエンジニアリングのやり方:失敗を1つずつ仕組みで塞ぐ
始め方は Hashimoto の考え方がいちばん手軽です。大がかりな設計から入らず、実際の失敗から育てます。
ENGINEER THE HARNESSやり方
失敗を1つ見つけたら、同じ失敗が起きない仕組みを1つ足す
ハーネス
失敗のたびに育つ
- 任せて動かす
- 失敗を見つける
- 原因を言葉にする
- 仕組みで塞ぐ
- もう一度任せる
| 段階 | やること | Claude Code での例 |
|---|---|---|
| 1. 指示書を置く | プロジェクトの決まりを1か所に書く | リポジトリ直下に CLAUDE.md か AGENTS.md |
| 2. 失敗を記録する | 失敗したら原因を1行で残す | 「マイグレーションは単独でコミットする」のように書き足す |
| 3. 機械で止める | 書いても破られる決まりは、検証に移す | 編集後のフックでテスト・Lint を回し、拒否リストで危険なコマンドを止める |
| 4. 引き継ぐ | 長い作業はセッションを区切り、状態をファイルに残す | 進捗ファイルと git のコミットで次のセッションに渡す |
| 5. 削る | モデルが自然に守れるようになった決まりを外す | 定期的に指示書とフックを見直す |
3の「書いても破られる決まりは検証に移す」が、ハーネスエンジニアリングの要です。指示書はモデルの判断に頼るため、守られないことがあります。テストやフックは毎回同じ判定をします。5の「削る」も忘れられがちです。モデルが変わると、以前は要った決まりが不要になったり、逆に邪魔になったりします。
Claude Code の実装そのものを、ハーネスの見本として読むこともできます。5層のモデルやクエリループの構造は「Claude Code のソースから読むハーネス」の記事で、CLAUDE.md・スキル・フックを手を動かして作る入門は「ハーネスエンジニアリング入門」の記事で扱っています(どちらも下の「あわせて読みたい」にあります)。
プロンプト・コンテキストエンジニアリング・ガードレールとの違い
よく並べて語られる言葉との違いを、扱う範囲で比べます。
| 言葉 | 扱う範囲 | 主な成果物 |
|---|---|---|
| プロンプトエンジニアリング | 1回の依頼と応答 | 指示文・テンプレート |
| コンテキストエンジニアリング | モデルに渡す情報の選び方と並べ方 | 資料の選定、履歴の要約、検索の設計 |
| ハーネスエンジニアリング | モデルの外側の仕組み全体(上の2つを含む) | 指示書・権限・フック・テスト・進捗ファイル |
| ガードレール | 危険な操作や不適切な出力を止める部分 | 拒否リスト、出力の検査 |
コンテキストとハーネスの包含関係は論者で逆になることがあります。LangChain はハーネスを広く取り、コンテキストをその一部とします。Böckeler の整理では、ハーネスをコンテキスト設計の延長として描く場面もあります。ガードレールは、ハーネスのうち「止める」役だけを担う部品です。導く・確かめる・引き継ぐ役は含みません。
プロンプトとハーネスをどう使い分けるかは、プロンプトエンジニアリングとハーネスエンジニアリングの違いと使い分け で、チャット・CLI・エージェントの場面別に比べています。
目的別に読む:当サイトのハーネス解説
| 知りたいこと | 記事 |
|---|---|
| ハーネスの中のループを、コードで理解したい | Agent ハーネス(エージェントハーネス)とは |
| プロンプトとの違い・使い分けを知りたい | プロンプトエンジニアリング vs ハーネスエンジニアリング |
| 本番に出す設計パターンを知りたい | AIエージェントを本番に届けるハーネス設計 |
| Claude Code の実装からハーネスを読みたい | Claude Code のソースから読むハーネスエンジニアリング |
| Claude Code で最初のハーネスを作りたい | ハーネスエンジニアリング入門 |
参照ソース
・Harness engineering: leveraging Codex in an agent-first world — OpenAI(2026-02-11)
・My AI Adoption Journey — Mitchell Hashimoto(2026-02-05)
・Improving Deep Agents with harness engineering — LangChain Blog(2026-02-17)
・The Anatomy of an Agent Harness — LangChain Blog(2026-03-10)
・Harness engineering for coding agent users — Birgitta Böckeler, martinfowler.com(2026-04-02)
・Effective harnesses for long-running agents — Anthropic Engineering(2025-11-26)
・Hooks — Claude Code ドキュメント











