ハーネス(harness)
は、を包み、ツール・指示・・ループを与えるです。ともハーネスです。説明をここに集めました。
ひとことで
・への通常のは、を使わず即答する場合もを使います。プロンプトは実行を始める入力で、実行システム全体ではありません。の広い定義にはも含まれます。
- こんなふうに考えてみよう
- 厨房を思い浮かべましょう。小さな注文も厨房の作業環境を使います。
- 例
- Codexへの挨拶も、入力 → → 応答というハーネスのループを通ります。
- よくある間違い
- ハーネスの利用にツールや再試行は必須ではありません。入力と処理システムは役割が違います。
3つの出典が語るハーネス
1. Codex:入力がハーネスのエージェントループを始める
the Codex harness, which provides the core agent loop and execution logic that underlies all Codex experiences
OpenAI — Unrolling the Codex agent loop
は、CodexハーネスがすべてのCodex利用環境を支える中核のループと実行を提供すると説明しています。短い入力もこのループを始めます。図ではUSER INPUT(ユーザー入力)から INFERENCE(モデル推論)へ進み、AGENT RESPONSE(応答)で終わるか、(ツール呼び出し)の結果で再び推論します。即答もこのループを通るため、通常のプロンプトはすべてハーネスを使います。プロンプトはその開始を促す入力です。
「hello」の一言もハーネスを通ります
Codex に hello と一言だけ打ってみましょう。モデルはツールを一つも使わずに短くあいさつして終わります。そのため「今回はハーネスを使わなかった」と思いがちです。でも下の 4 つのステップをたどると、その短いやり取りもすでにエージェントループを一周しています。
-
hello を入力 あなた
-
プロンプトを組み立てる ハーネス
-
モデルの推論 モデル
-
返事を表示して終わり ハーネス
ツール呼び出しがあれば結果を加えてステップ 3 へ — hello は一周で終わります
-
hello を入力あなた
に hello と打ちます。これはユーザー入力にすぎず、まだ何も実行されていません。
-
プロンプトを組み立てるハーネス
ハーネスは hello だけを送るのではありません。システムの指示、(あれば)、モデルが呼べるツールの一覧、これまでの会話を付けて一つのプロンプトにまとめ、モデルに送ります。
-
モデルの推論モデル
モデルはプロンプトを読み、「あいさつにツールはいらない」と判断します。そして「こんにちは!何をお手伝いしましょうか?」のような返事だけを書きます。ツール呼び出しはありません。
-
返事を表示して終わりハーネス
ハーネスはモデルの出力にツール呼び出しがあるかを確かめます。ないので返事を画面に表示し、このを終えます。ツール呼び出しがあれば、ハーネスがツールを実行し、結果をプロンプトに加えてステップ 3 に戻っていたはずです。
2. Claude Code:行動する機能をハーネスが提供する
The tools, context management, and execution environment that turn a language model into a capable coding agent. Claude Code is the harness; Claude is the model inside it. The harness supplies file access, shell execution, permission gating, memory loading, and the loop that chains actions together.
Claude Code — Glossary: Agentic harness
は、をにするツール・・実行環境をハーネスと定義しています。Claude Codeがハーネスで、が内部のモデルです。ファイルアクセス、実行、確認、読み込み、行動をつなぐループはハーネスから提供されます。短い依頼も必要に応じてこれらを使うため、簡単なプロンプトもハーネスを使います。
3. LangChain:モデル以外の周辺システム全体
If you're not the model, you're the harness.
A harness is every piece of code, configuration, and execution logic that isn't the model itself. A raw model is not an agent. But it becomes one when a harness gives it things like state, tool execution, feedback loops, and enforceable constraints.
LangChain — The Anatomy of an Agent Harness
この記事の広い定義では、エージェントシステムでモデル自体を除く・設定・実行ロジックがハーネスです。状態、ツール実行、フィードバック、強制できる制約を与えるとモデルはエージェントになります。含まれるものは次の通りです。
- システムプロンプト。
- ツール・・とその説明。
- ・・の基盤。
- 生成・引き継ぎ・モデル選択の調整。
- コンテキスト・作業継続・を行うと。
モデルの知能を囲むシステムを設計する観点です。システムプロンプトは構成要素であり、ユーザープロンプトは処理される入力です。
モデルとハーネスは一緒に育ちます
モデルとハーネス設計は共に発展します。LangChainは、CodexやClaude Codeが後続学習で両者を使い、ファイル操作・bash・計画・サブエージェント作業を改善すると説明しています。有用な機能をハーネスに追加し、次のモデル学習に使う循環です。その環境で能力が向上する一方、ツールのロジック変更で性能が下がることもあります。
ハーネスの3つの姿
コーディングエージェントに組み込まれたハーネス、プロジェクトが自分で作るハーネス、良いハーネスを作る仕事 — 3つをタブで1つずつ見ます。
AIコースでも一緒に学ぶ
これは何?
組み込みハーネスとは、 や のようなの中で、 を包んでいるです。モデル自体はテキストを読んで書くだけです。はファイルを読む・を直す・コマンドを実行するといったツールをモデルに渡し、AGENTS.md や CLAUDE.md などの指示を加え、許可を求め、ループを回します。各ステップでモデルは、あなたに答えるか、ツールのを頼むかのどちらかをします。ツールの呼び出しなら、ハーネスがツールを実行し、その出力をに加えて、もう一度モデルに聞きます。これをモデルが最後のメッセージを出すまでくり返します。ハーネスはの管理もします。たとえば長い会話を短い要約にまとめます(compact)。
かんたんに言うと ひとりで料理し、味見をして、「おいしい」と言う料理人です。
しくみ
-
あなたが依頼を送る
-
モデルがツールを頼む
-
ハーネスが実行し、出力を返す
-
最後の答えまでくり返す
使い方
-
AGENTS.mdとCLAUDE.mdハーネスがこのプロジェクトの指示をプロンプトに入れてくれます。Codex は
AGENTS.mdを読み、Claude Code はCLAUDE.mdを読みます(AGENTS.mdも読めます)。 -
/compact会話が長くなりすぎたら、ハーネスが要約して作業を続けられるようにします。
-
とサンドボックス — Claude Code では
Shift+Tabで、 が聞かずにしてよいことを切り替えます。Codex では、サンドボックスがシェルツールの触れてよい範囲を決めます。 -
EscClaude Code で、いつでもループを止めて、を別の方向に導けます。
気をつけること
作業をするプログラムと、作業が終わったと判断するプログラムが同じです。だから git diff を読み、テストをもう一度実行して、自分で確かめましょう。Codex のサンドボックスが守るのは Codex 自身の shell ツールだけです。 のツールは、それぞれ自分で安全策を持つ必要があります。プロジェクトハーネス(プロジェクトがエージェントを呼ぶために自分で書く外側の実行プログラム)とは別のものです。
例
-
codex起動して依頼する — Codexが書いてテストする -
~/.codex/sessions/Codexが残すセッション記録
関連する用語
原文と公式ドキュメント
このページは用語をやさしい言葉で説明しています。基準は原文です。内容が違うときは原文に従ってください。
- この用語を原文で見るUnrolling the Codex agent loop OpenAI · 2026-10-24 に確認
- Anthropic — Claude Code docs: How Claude Code works — The agentic loop(新しいウィンドウで開きます)
- Anthropic — Claude Code docs: Glossary — Agentic harness(新しいウィンドウで開きます)
- OpenAI — Unlocking the Codex harness(新しいウィンドウで開きます)
- Anthropic — How Claude Code works(新しいウィンドウで開きます)
これは何?
プロジェクトは、一つのプロジェクトが自分のために書く小さな実行です。スクリプトや のスクリプトなどです。人がチャットに入力する代わりに、実行プログラムが codex exec や claude -p で や を非対話モードで呼び、作業を一つ渡します。は雇われた作業者のように働いて答えを返し、実行プログラムはその結果をプロジェクト自身のテストで確かめ、ログを残します。作業はエージェントがしますが、合格かどうかを決めるのはエージェントではなくプロジェクトです。それぞれの作業のの中では、エージェントのがいつも通り動きます。
かんたんに言うと 料理人が出すお皿を1枚ずつ味見し、重さを量り、帳面に書く検査係です。
しくみ
-
実行プログラムが次の作業を選ぶ
-
か claude -p を呼ぶ
-
プロジェクトのテストで確かめる
-
ログを保存してくり返す
使い方
-
codex exec "<task>"進み具合は stderr に、最後のメッセージだけが stdout に出るので、実行プログラムがかんたんに保存できます。
--jsonを加えるとイベントの の流れが得られます。 -
codex exec --sandbox workspace-writecodex execはふだんのサンドボックスで動きます。このオプションで、作業者がワークスペースのファイルを直せるようになります。 -
claude -p "<task>" --output-format json結果、セッション 、費用を で返し、成功なら 0、失敗なら 0 以外で終わります。
--bareを加えると、そのマシンのフック、、CLAUDE.md を読まないので、どこでも同じ実行になります。 -
harness/build-log.mdCookbook の例では、
harness/build/の下にフェーズごとの計画ファイルを一つ置き、各フェーズの確認をこのログに記録します。
気をつけること
実行プログラムはエージェントに本当の力を渡すので、必要なだけを与え、danger-full-access は切り離したーか の中だけで使いましょう。claude -p の実行では信頼のダイアログが出ず、Manual モードでは承認が必要な呼び出しは、何かが承認しない限り拒否されます。だから使ってよいツールを --allowedTools で並べましょう。プロジェクトハーネスは組み込みハーネスの代わりではなく、外側から包むものです。
例
-
bash harness.sh "<request>"どんな依頼も実行役に渡す -
codex exec --json --sandbox read-only実行役が呼ぶ作業者 -
bash harness.sh verify証拠と結果をもう一度検査する
関連する用語
原文と公式ドキュメント
このページは用語をやさしい言葉で説明しています。基準は原文です。内容が違うときは原文に従ってください。
- この用語を原文で見るCodex Docs — Non-interactive mode OpenAI · 2026-10-20 に確認
- OpenAI — Codex non-interactive mode — Basic usage(新しいウィンドウで開きます)
- Anthropic — Claude Code docs: Run Claude Code programmatically — Get structured output(新しいウィンドウで開きます)
- OpenAI — Iterating development workflows with Codex — Create harness and build phase files(新しいウィンドウで開きます)
- OpenAI — Harness engineering: leveraging Codex in an agent-first world(新しいウィンドウで開きます)
- Anthropic — Claude Code non-interactive mode (claude -p)(新しいウィンドウで開きます)
これは何?
ハーネスエンジニアリングは、 が でプロダクトを作った記事の中で、新しい種類のエンジニアリングの仕事につけた名前です。5 か月で、小さなチームが手で書いたゼロ行の社内ベータを出しました。約 100 万行、マージしたプルリクエストは約 1,500 件で、最初はエンジニア 3 人だけでした。ルールは「Humans steer. execute.」(人がかじを取り、エージェントが実行する)です。エンジニアの仕事は、コードを書くことから、環境を設計し、意図をはっきり伝え、Codex のエージェントが確かな仕事をできるようにフィードバックのループを作ることに移りました。エージェントが行きづまったとき、もっとがんばれとは言わず、どんな能力が足りないのか、それをエージェントにとってわかりやすく、守らせられる形にするにはどうするかを考えました。
かんたんに言うと 自分で料理する代わりに、台所とレシピと検査の仕方を設計することです。
しくみ
-
エージェントに短い地図を渡す
-
知識はすべてに置く
-
とテストでルールを守らせる
-
ずれを続けて片づける
使い方
-
AGENTS.md1,000 ページのマニュアルではなく、約 100 行の短い目次にして、整理された
docs/フォルダーを指します。 -
カスタムリンターと構造テスト — 決まった層や依存の向きのようなアーキテクチャのルールを守らせます。リントのが、エージェントに直し方を伝えます。
-
わかりやすいアプリ — どの でもアプリのコピーを起動でき、Codex は とログ・メトリクスで を読むので、をし、修正を確かめられます。
-
黄金の原則と片づけの作業 — バックグラウンドの Codex の作業がずれを探し、小さなリファクタリングのプルリクエストを開きます。技術的負債を少しずつ返すガベージコレクションのようなものです。
気をつけること
OpenAI は、この動きはそのリポジトリの構造とツールに大きく頼っていて、同じような投資なしにほかでもうまくいくと考えるべきではないと言っています。また、すべてをエージェントが作るシステムで、アーキテクチャのまとまりが何年も保てるかはまだわからないとも言っています。止める関門の少ない速いマージは、作業量の少ないチームでは無責任になると、記事自身が書いています。
例
-
AGENTS.mdドキュメントへの道を示す短い地図 -
docs/設計・計画・品質のメモをリポジトリに置く
関連する用語
原文と公式ドキュメント
このページは用語をやさしい言葉で説明しています。基準は原文です。内容が違うときは原文に従ってください。