コンテンツにスキップ

ハーネスエンジニアリングの現在地 — 2026年4月時点の用語マップ

対象:

AIコーディングエージェントを実務で使い、「ハーネスエンジニアリング」という言葉の定義の揺れに整理を求める開発者・テックリード。3月公開の5層モデル記事の続編。

この記事のポイント

この章が答える問い: この記事で先に持っておくべき地図は何か。

  • 2026年4月時点で「ハーネス」の定義は各社で割れている。が、「誰が組むか」で二層化するとほぼ整理がきく
  • ユーザー側の整理は「ガイド/センサー × 計算的/推論的」の2×2が骨格
  • 既存5層モデル (制約/情報/検証/回復/レビュー) と二層×2×2は直交関係にあり、組み合わせて使える

この記事の問いは単純である。同じ「ハーネス」という言葉で違う話が混ざるとき、実務者はどの地図を使えば迷わず判断できるのか。

なぜ「ハーネス」が掴みにくいのか

この章が答える問い: なぜ同じ「ハーネスエンジニアリング」という言葉で人によって違うものを指しているのか。

「ハーネス」という語は、もともと馬具を指す。AI分野では、少なくとも2021年のEleutherAI lm-evaluation-harness によって、モデルを一定条件で走らせる評価基盤の名前として使われていた9。2024年にはCopilot Evaluation Harnessのように、IDE上のLLM支援を評価する文脈にも広がった10

2026年初頭になると、Mitchell HashimotoがAI活用の第5段階として「Engineer the Harness」と名付けた7。その数日後、OpenAIがCodexで大規模にソフトウェアを作る実践報告を公開し、ハーネスエンジニアリングという言葉は一気に開発者の語彙へ入った4

広く議論される分野で用語が揺れるのは普通である。問題は、言葉の広まり方が速すぎたことだ。LangChain、Anthropic、OpenAI、Thoughtworks、個人の実践者が、それぞれのプロダクトや関心に合わせて「ハーネス」を語り始めた。

ここで混乱の芯が見える。ベンダー側が作る土台の話と、利用者側が自社コードベースに合わせて足す外側の話が、同じ言葉で混在している。

一番効く整理軸: 誰が組むハーネスか

この章が答える問い: この混乱を最低限の労力で抜けるには、どの軸で切ればいいか。

最初に切るべき軸は「誰が組むか」である。Birgitta BöckelerはMartin Fowlerサイトで、モデルの外側に「ビルダーハーネス」と「ユーザーハーネス」が重なる同心円モデルを示した1。この二層化だけで、かなりの混乱は解ける。

モデル、ビルダーハーネス、ユーザーハーネスの三層同心円中心にモデル、その外側にエージェント開発元が組むビルダーハーネス、最外周に利用者が自社コードベースに合わせて組むユーザーハーネスがある。ユーザーハーネスAGENTS.md / Skills / Hooks / MCP / CIビルダーハーネスagent loop / tools / memoryモデルLLMモデル単独 → ビルダーハーネスでエージェント化 → ユーザーハーネスで自社化

ビルダーハーネスは、Anthropic、OpenAI、Cursorなどのエージェント開発元が出荷時に組み込む土台である。システムプロンプト、ツール定義、エージェントループ、コンテキスト圧縮、メモリ管理、サンドボックスなどがここに入る。

LangChainのHarrison Chaseは、Claude Codeのリーク資料について「512k lines」と紹介している3。これはOpenAIが推奨した短いAGENTS.mdの約100行4と比べると、3桁以上大きい規模である。真偽や内訳は別として、ビルダー側の土台が巨大になり得ることは伝わる。

ユーザーハーネスは、利用者が自社コードベースに合わせて組む外側である。AGENTS.md、Skills、Hooks、MCP、lint/test、レビューエージェント、設計ドキュメント、CIの品質ゲートがここに入る。

重要なのは、多くの開発者にとって関心領域はユーザーハーネスだけで十分だという点である。Claude CodeやCodexの中身を書き換える必要はない。手元で設計すべきなのは、自社のコード・ルール・検証・回復をどう外側に置くかである。

各社の定義が割れている理由

この章が答える問い: なぜ各社・各人の定義が違うのか。混乱は本当に解消可能なのか。

定義の差は、かなりの部分を「そのプレイヤーが何を売っているか」で説明できる。エージェント基盤を売る会社は広く定義する。自社エージェントの設計を語る会社は制御ループを強調する。利用者向けガイドは、宣言的制約やサンドボックスに寄る。

プレイヤーポジション定義のキーフレーズ主な関心領域
LangChainエージェント基盤Model + Harness状態・ツール・実行
Anthropicエージェント開発元制御ループ長時間実行・評価
OpenAICodex実践者環境と制約リポジトリ知識・検証
Birgitta Böckelerコンサル視点ガイドとセンサー利用者側の制御
Phil Schmid教育的整理Harness = OS長時間タスク基盤
Ashpreet Bediシステム設計普通のソフトウェア全体最適・運用

LangChainのVivek Trivedyは「Agent = Model + Harness」と置き、モデル以外のコード・設定・実行ロジックを広くハーネスに含める2。この定義は、利用者にエージェントを作らせるプラットフォームの視点として自然である。

AnthropicはClaude Agent SDKや長時間実行の実験を語るため、ハーネスを「LLMを呼び、ツールを回し、状態を引き継ぐ制御ループ」として扱う56。OpenAIはCodex利用者に向けて、短いAGENTS.md、構造化されたdocs/、サンドボックス、custom linters、structural testsを強調する4

Birgittaは、利用者が組む外側の制御をサイバネティクスの言葉で説明する1。Phil Schmidは、モデルをCPU、コンテキストをRAM、ハーネスをOSに喩えた11。Bediは、agentic softwareを「普通のソフトウェアにエージェントが入ったもの」と捉え、agent/data/security/interface/infrastructureをまとめて設計すべきだと主張する13

どの定義も完全な間違いではない。立場が違うだけである。読者に必要なのは、まず立場が「エージェント開発元」なのか「コーディングエージェント利用者」なのかを確認することだ。

ユーザーハーネスを切るもう一つの軸

この章が答える問い: ユーザーハーネスの内側はどう構造化されているか。

利用者側のハーネスは、もう一段だけ分解できる。Birgittaの軸を使うと、横軸はガイド/センサー、縦軸は計算的/推論的である1。ガイドは行動前に確率を上げる。センサーは行動後に検知して自己修正させる。

2×2
ガイド
行動前
センサー
行動後
計算的
決定論
LSP
CLI
codemod
linter
型チェック
ArchUnit / test
推論的
LLM判断
AGENTS.md
Skills
設計ドキュメント
AIコードレビュー
LLM-as-judge
設計レビューagent

CLAUDE.mdやSkillsを整えるだけだと、右上の推論的ガイドしか埋まらない。これは効果があるが、センサーがなければ失敗を見つけられない。計算的なガイドがなければ、いつもLLMの判断に頼ることになる。

ただし、全象限を埋めなければならない、という話でもない。構造違反が多いチームなら計算的センサーを先に置く。仕様の読み違いが多いなら推論的ガイドを整える。AIレビューが重いなら、先にlintや型チェックへ寄せる。

既存5層モデルとの対応

この章が答える問い: 3月の既存記事で示した5層モデルは、Birgittaの二層×2×2とどう関係するのか。

3月の5層モデル記事では、ハーネスを制約 / 情報 / 検証 / 回復 / レビューに分けた8。これは「何を制御するか」を見る軸である。一方、Birgittaのガイド/センサー軸は「いつ制御するか」を見る。

5層ガイド (前)センサー (後)
制約サンドボックス境界
権限・編集範囲
ほぼ存在しない
構造的に弾くためガイド側で完結
情報AGENTS.md / Skills
設計ドキュメント
Context Rot監視
古い文書の検知
検証型 / 契約 / スキーマ
受け入れ条件
lint / test / ArchUnit
CI品質ゲート
回復自己修正プロンプト
ロールバック方針
エラーメッセージ最適化
失敗ログの要約
レビューレビュー観点指示
重大度分類
AIレビューエージェント
LLM-as-judge

この表がこの記事の中心である。5層は何を制御するか、2×2はいつ・どう制御するかを示す。 軸が違うので、両者は重複しない。直交して補完する。

もう一つ見えることがある。5層を上から下に見ると、制約・情報は比較的決定論寄りで、回復・レビューは確率的でコストが高くなりやすい。つまり、下の層を増やす前に、上の層で構造的に潰せないかを確認した方がよい。

境界はグラデーションで動く

この章が答える問い: ビルダー/ユーザーの二項対立は、現場ではどう崩れているか。

二層モデルは便利だが、境界は固定ではない。Claude Agent SDKはClaude Codeのツール、エージェントループ、コンテキスト管理をライブラリとして使えるようにしている14。OpenAIのCodex SDKも、Codex CLIを支えるagent implementationを自社ワークフローへ組み込める15

ユーザーハーネスからビルダーハーネスまでのグラデーション左に既製のClaude Codeをそのまま使う形、中央にAgent SDKでオーケストレーションを自作する中間層、右にハーネス本体を自作する形が並ぶ。Claude Codeをそのまま使うAGENTS.md / HooksAgent SDKで自作Generator / Evaluator分離ハーネス本体を自作loop / tools / memory純粋ユーザー寄り中間層純粋ビルダー寄り決定論的ステップとエージェント自由を交互に置くほど、境界は中央へ寄る

この中間層では、純粋なビルダーハーネスでも純粋なユーザーハーネスでもない設計が増える。典型例は、GeneratorとEvaluatorを分ける構成、決定論的ステップとエージェント自由を交互に配置するパイプライン、SDKでツール承認やセッション管理を自前UIに接続する構成である。

Garry Tanの「Thin Harness, Fat Skills」は、この中間層を薄く保つ考え方として読める12。ハーネスは約200行程度の薄いCLIにし、知能はSkillsへ、実行は決定論的ツールへ寄せる。すべてをハーネスに詰め込まない、という設計判断である。

境界はさらに曖昧になる。SDKが増えるほど、利用者はビルダー側の部品を借りながら、自社専用のオーケストレーションを組めるようになる。

どこまで頓着するか

この章が答える問い: 結局、明日から何をすればいいか。

結論は、用語に頓着しすぎなくていい、である。必要なのは、自分のチームがどの地図で迷っているかを見つけることだ。

判断軸は3つで足りる。

  • 2×2のどの象限が手薄か
  • 5層のどの段階に投資余力があるか
  • ビルダーハーネスを書く必要が本当にあるか

大半のチームで、3つ目の答えはNoである。既製のClaude CodeやCodexを使い、外側にAGENTS.md、Skills、Hooks、MCP、lint/test、レビューを足せばよい。最小テンプレートはこれで足りる。

AGENTS.md
- 変更前に関連する設計文書を読む
- 変更後に `npm test``npm run lint` を実行する
- 失敗したら原因と次の一手を短く残す

ただし、「CLAUDE.mdを書いたらハーネスエンジニアリング」で止まるのは罠である。推論的ガイドだけでは、計算的センサーの実行ループ、検証ループ、効果計測が抜けやすい。失敗を検知しない仕組みは、失敗を学習しない。

用語の整理は地図にすぎない。地図を握ったら、自分のチームの地形に戻る。

関連記事



  1. Birgitta Böckeler, "Harness engineering for coding agent users", Martin Fowler, 2026年4月2日更新 https://martinfowler.com/articles/harness-engineering.html 

  2. Vivek Trivedy, "The Anatomy of an Agent Harness", LangChain, 2026年3月10日 https://www.langchain.com/blog/the-anatomy-of-an-agent-harness 

  3. Harrison Chase, "Your harness, your memory", LangChain, 2026年4月11日 https://www.langchain.com/blog/your-harness-your-memory 

  4. Ryan Lopopolo, "Harness engineering: leveraging Codex in an agent-first world", OpenAI, 2026年2月11日 https://openai.com/index/harness-engineering/ 

  5. Justin Young, "Effective harnesses for long-running agents", Anthropic, 2025年11月26日 https://www.anthropic.com/engineering/effective-harnesses-for-long-running-agents 

  6. Prithvi Rajasekaran, "Harness design for long-running application development", Anthropic, 2026年3月24日 https://www.anthropic.com/engineering/harness-design-long-running-apps 

  7. Mitchell Hashimoto, "My AI Adoption Journey" https://mitchellh.com/writing/my-ai-adoption-journey 

  8. SmartScope, "ハーネスエンジニアリングとは何か——実務では何を置くのか", 2026年3月 https://smartscope.blog/en/blog/harness-engineering-what-to-build/ 

  9. Leo Gao et al., "A framework for few-shot language model evaluation", Zenodo, 2021年9月2日 https://zenodo.org/records/5371629 

  10. Anisha Agarwal et al., "Copilot Evaluation Harness: Evaluating LLM-Guided Software Programming", arXiv, 2024年2月22日 https://arxiv.org/abs/2402.14261 

  11. Philipp Schmid, "The importance of Agent Harness in 2026", 2026年1月5日 https://www.philschmid.de/agent-harness-2026 

  12. Garry Tan, "Thin Harness, Fat Skills", GitHub, 2026年4月9日作成・4月11日更新 https://github.com/garrytan/gbrain/blob/master/docs/ethos/THIN_HARNESS_FAT_SKILLS.md 

  13. Ashpreet Bedi, "Systems Engineering", 2026年4月14日 https://www.ashpreetbedi.com/articles/systems-engineering 

  14. Anthropic, "Agent SDK overview", Claude Code Docs https://code.claude.com/docs/en/agent-sdk/overview 

  15. OpenAI, "Codex is now generally available", 2025年10月6日 https://openai.com/index/codex-now-generally-available/