CONCEPT — HARNESS ENGINEERING

ハーネスエンジニアリングとは

AI活用・自動化 sento.group 編集部 · · 約8分

ハーネスエンジニアリングの全体像を示す図。中央にAIモデルがあり、その周囲を五つの要素が囲む。上に指示・ルール(何を・どのように進めるか)、右に道具・ツール(何を使わせるか)、下に確認・センサー(結果を検証)、左に記録・メモリ(履歴を残す)、下の帯はガードレール(範囲を制限)。Agent=Model+Harnessという式が右に添えられている
図:ハーネスエンジニアリングの全体像。AIモデルの外側を設計することで、仕事の質を安定させます。

ハーネスエンジニアリングとは、AIモデルの外側に置く指示・道具・確認・記録の仕組みを設計して、AIエージェントの仕事の質を安定させることです。HashiCorp創業者のMitchell Hashimotoが2026年2月のブログ記事「My AI Adoption Journey」で「ハーネスを設計する(engineer the harness)」をAI活用の段階として挙げ、OpenAIのCodexチームやThoughtworksのBirgitta Böckelerも技術記事でこの概念を解説しています。さっきはうまくいったのに、今回は的外れな答えが返ってくる。文脈を見失って途中から見当違いになる。AIに任せたいのに、結果を毎回確かめないと不安——こうした「ばらつき」の原因は、AIモデルの賢さだけでなく、その周りの仕組みにもあります。

ハーネスエンジニアリングとは

ハーネスエンジニアリングは、AIエージェントにおいて「モデル以外のすべて」を設計する考え方です。ハーネス(harness)は、もともと馬具や配線をまとめる束のこと。AIの文脈では、モデルを制御し支える外側の仕組み全体を指します。

ThoughtworksのBirgitta Böckelerは<a href="https://martinfowler.com/articles/harness-engineering.html">MartinFowler.comの記事</a>で「Agent = Model + Harness」という式を示しています。モデルが「何を考えるか」を担い、ハーネスが「何を見せるか」「何を使わせるか」「失敗したらどうするか」「どこまで許すか」「何を記録するか」を担います。

HashiCorp創業者のMitchell Hashimotoは、<a href="https://mitchellh.com/writing/my-ai-adoption-journey">自身のブログ</a>で「エージェントが間違えたら、二度とその間違いをしないよう環境を設計する」ことをharness engineeringと呼んでいます。具体的には、AGENTS.mdの更新や、自動テスト・スクリーンショット取得などの検証ツールを整えることを指します。

モデル単体の限界とハーネスが解決すること

AIモデルは単体で使うと、いくつかの失敗パターンを抱えています。ハーネスは、これらをモデルの外側から補います。

モデル単体の限界と、ハーネスで補う方法を示す表。左列がモデル単体の限界、右列がハーネスの補い方。1行目、入れる情報が多すぎて注意が散る→必要な情報だけを必要なときに渡す。2行目、同じ間違いを何度も繰り返す→自動テストやリンターで結果を検証する。3行目、完了と言うが抜け漏れがある→独立した評価者で出力を検証する。4行目、やり取りが長くなると文脈を見失う→進捗メモやセッション間の引き継ぎ設計。5行目、危険な操作を許可なく実行する→権限とガードレールで操作を制限。
図:モデル単体の限界を、ハーネスがどう補うか。右列がハーネスの役割です。
  • 情報過多:渡す情報が多すぎると、モデルの注意が散り、大事な指示を見落とす。→ 必要な情報だけを必要なタイミングで渡す設計(コンテキストエンジニアリング)で補う。
  • 繰り返し失敗:一度した間違いを何度も繰り返す。→ 変更後に自動でテストやリンターを走らせ、結果をモデルに返す(フィードバックループ)で補う。
  • 早期完了宣言:途中で「完成しました」と言うが、実際には抜け漏れがある。→ 独立した評価者(別のAIや人)で出力を検証する設計で補う。
  • 文脈の消失:やり取りが長くなると、途中の指示や決めたことを忘れる。→ 進捗メモやセッション間の引き継ぎを設計する(メモリ設計)で補う。
  • 危険な操作:ファイル削除やデータ更新を許可なく実行してしまう。→ 操作の範囲と許可を決め、超えたら止める(ガードレール)で補う。

ハーネスの構成要素:コンテキスト・ツール・ガードレール・フック

ハーネスは、いくつかの役割に分けて設計できます。ここでは基本の四つを紹介します。

  • コンテキスト:モデルに何を見せるか。システムプロンプト、ルールファイル、参照するドキュメント、過去のやり取り。必要最小限の、質の高い情報を選ぶことが肝です。
  • ツール:モデルに何をさせるか。ファイルの読み書き、検索、外部APIの呼び出しなど。どのツールを使わせるか、使うときに許可を求めるかを設計します。
  • ガードレール:モデルの行動をどう制限するか。削除や上書きなど破壊的な操作を禁止する、特定のフォルダ外には書き込めない、などのルール。
  • フック:モデルの動作の前後に自動で走らせる処理。ファイルを保存したらフォーマッターをかける、作業が終わったらテストを回す、などの設計。

これらを組み合わせて、「この作業ではこのルールを読ませ、このツールだけ使わせ、終わったらこのチェックを走らせる」という一連の流れをつくります。最初は「最低限の指示ファイル」と「変更後のテスト自動実行」から始めます。

ガイドとセンサー:事前の指示と事後の確認

ThoughtworksのBirgitta Böckelerは、<a href="https://martinfowler.com/articles/harness-engineering.html">MartinFowler.comの記事</a>でハーネスの制御を「ガイド(feedforward)」と「センサー(feedback)」の二つに分けて整理しています。

  • ガイド(事前の制御):モデルが動く前に、問題を防ぐための仕組み。ルールファイルや指示文、コーディング規約のドキュメント。最初から良い結果が出る確率を高めます。
  • センサー(事後の制御):モデルが動いた後に、問題を検出して直させる仕組み。テスト、リンター、AIによるレビュー。間違いを見つけて修正のフィードバックを返します。

どちらか片方では足りません。ガイドだけだと本当にルールが効いているか分からず、センサーだけだと同じ間違いを繰り返します。両方をセットで設計することで、品質が安定します。

センサーのうち、テストやリンターは高速で安価なので、変更のたびに回せます。AIによるレビューはコストがかかるので、作業完了時など適切なタイミングで使います。この使い分けも設計のうちです。

生成と評価の分離

Anthropicの<a href="https://www.anthropic.com/engineering/harness-design-long-running-apps">技術ブログ</a>では、長時間のエージェント実験の知見として、生成するAIと評価するAIを分ける設計を紹介しています。

同じAIに「作って」と「確認して」を頼むと、自分の出力を甘く評価しがちです。別のエージェントに評価だけを任せると、懐疑的に検証できます。コストは増えますが、タスクがモデルの能力の境界にある場合は、品質が大きく変わります。

中小企業では、AIの下書きを別の人かツールで確かめる手順を1つ入れるところから始めます。AIが出した下書きを、別の視点で検証するステップを入れるだけでも効果があります。

始め方:最小限の指示ファイルと確認ループから

ハーネスエンジニアリングは、最初から完璧に作り込む必要はありません。まずは小さく始め、使いながら育てます。

  • 指示ファイルを一つ書く:プロジェクトの概要、守ってほしいルール、禁止事項を短くまとめます。説明文より「ルールへのポインタ」として機能させます。
  • 変更後のテストを自動で走らせる:ファイルを保存したら自動でテストを実行し、結果をAIに返す設計。フック機能を使うか、手動で「テストを回して」と頼むだけでも始められます。
  • エージェントが困ったら、ルールを足す:エージェントが同じ間違いを繰り返したら、それを防ぐルールを指示ファイルに追記します。一度で完成させず、往復で育てる発想です。

CADDiのテックブログの記事「<a href="https://caddi.tech/start-harness-engineering-with-framework">ハーネスエンジニアリングは枠組みから始めよう</a>」で紹介されている「枠組みから始める」アプローチが参考になります。最初から内容を充実させなくても、「ここに追加すればいい」という場所が決まっているだけで、チームで更新しやすくなります。

AIの使い方を会社に残す:sento.groupの考え方

ハーネスを個人のPCで育てると、指示文もルールも履歴も、その人のアカウントに閉じます。担当者が変わると、同じ品質を再現できません。sento.groupでは、ハーネスの資産を会社に残す設計を重視しています。

個人のPCと会社の共有場所を比較する図。左の枠、個人のPCでは、指示文、AIの履歴、自作の自動化がそれぞれの担当者に閉じ、退職すると消える。右の枠、会社の共有場所では、共有の指示・ルール、実行ログ、確認手順、権限設定が一つの台帳にまとまり、次の担当者やAIがそのまま使える
図:ハーネスの資産を、個人に閉じるか、会社に残すか。残せば再現できます。
  • 共有の指示ファイル:よく効くプロンプトやルールを、共有のドキュメントや台帳に置きます。誰でも呼び出せ、誰でも更新提案できる形にします。
  • 実行ログ:AIに何を頼み、何が返り、人がどこを直したかを、共有の場所に残します。判断の理由が後から辿れるようになります。
  • 確認手順の台帳:どの業務にどのテストや確認を走らせるかを、一覧にします。担当者が変わっても同じ確認が回ります。
  • 権限の一覧:どのデータをどのAIに渡してよいか、誰が何を見られるかを決めて書きます。共有範囲が広がるほど、この線引きが必要です。

AIと一緒に仕事を進めること自体が記録になるよう設計します。たとえば、AIへの指示と結果を共有チャンネルに投げる、AIの出力を台帳に自動で書き込む、といった流れを作ります。使うほど会社の知識が増える向きに流れを変えるのが狙いです。

よくある質問

Q. ハーネスエンジニアリングとは何ですか?簡単に説明してください。

ハーネスエンジニアリングとは、AIモデルの外側に置く指示・道具・確認・記録の仕組みを設計して、AIエージェントの仕事の質を安定させることです。モデルが賢くなっても、見せる情報や手順を設計しないと、同じ作業で結果がばらつきます。

Q. ハーネスエンジニアリングとプロンプトエンジニアリングの違いは何ですか?

プロンプトエンジニアリングは、モデルへの指示文の書き方を工夫することです。ハーネスエンジニアリングは、指示文だけでなく、使えるツール、変更後の自動テスト、履歴の引き継ぎ、権限の制限など、モデルの外側全体を設計することです。プロンプトはハーネスの一部です。

Q. 中小企業でも必要ですか?

AIを仕事に使い始めたら必要になります。規模の大小より、「AIに任せた結果を誰が確認するか」「同じ作業で品質がばらつくか」「担当者が変わっても同じ結果を出せるか」という問題が起きているかで判断します。

Q. まず何から始めればいいですか?

最小限の指示ファイル(ルールと禁止事項を短くまとめたもの)を一つ作り、変更後にテストを走らせる仕組みを入れるところから始めます。エージェントが困ったらルールを足す、の往復で育てます。

Q. sento.groupではどんな支援ができますか?

AIの使い方を会社に残す設計、指示ファイルや確認手順の台帳づくり、どのデータをAIに渡してよいかの線引きまで支援します。AIエージェントの設計と、データ基盤・業務設計を一体で進める進め方を取っています。詳しくはAIエージェント導入支援をご覧ください。

AIエージェントの設計から、一緒に始める

指示文やルールを会社に残す設計、確認手順の台帳づくりまで支援します。

無料相談する