最近、AIの話で「ハーネス」という言葉をよく見かけます。
調べてみたら、自分が毎日Claude CodeとCodexでやっていることが、まさにこれでした。
意味と、自分の場合の例を書いてみます。
ハーネスって、犬のお散歩のやつ?
もとはそういう、つないで方向をつける道具。AIの話だと、AIのまわりに置くしくみのことだよ。
ハーネスとは?AIのまわりに置くしくみ
ハーネスは、AIエージェント(自分で作業を進めるAI)が、ちゃんと作業を進められるように、まわりに置くしくみのことです。
英語の「harness」は、馬具や、体につける引き具のこと。
AIそのものを賢くするんじゃなくて、まわりを整えて走らせる、という考え方です。
たとえば、こんなものが入ります。
- 守ってほしいルールを書いたファイル(Claude CodeならCLAUDE.md)
- 前の作業を引き継ぐためのメモ
- 使っていい道具や、勝手にやってはいけないことの決まり
- 終わったかどうかを確かめるチェック
AnthropicはClaude Agent SDK(エージェントを作るための道具)のことも「agent harness」と呼んでいて、AIに道具を使わせたり、長い会話を整理したりする実行のしくみまで含めて言うこともあります。
このしくみを組み立てて、直していくことを「ハーネスエンジニアリング」と呼ぶこともあります。
ただ、言葉の範囲は人によって少し違っていて、まだはっきり決まってはいないようです。
どんなときに出てくる?
- Claude CodeやCodexなど、AIに作業を任せる話
- 「AIが前の会話を覚えていない」「勝手に終わったことにする」といった困りごとの対策
- CLAUDE.mdやhook(決まった操作の前後に処理を挟む機能)の設定の話
Anthropicの記事にも出てくる
Claudeを作っているAnthropicも、2025年11月26日に、長い作業をこなすエージェントのハーネスについての記事を出しています。
そこで書かれている困りごとは、こんな感じです。
- 新しい会話(セッション)は、前の会話の中身を覚えていない
- 途中まで作ったものを、記録しないまま会話が切れて、次の会話が推測で続きをやる
- すでにある成果を見て、まだ途中なのに「終わった」としてしまう
対策のひとつが、進み具合を書いておくファイル(記事ではclaude-progress.txt)でした。
会話の最初に、そのファイルと作業の履歴(git。ファイルの変更を記録しておく道具)を読んで、今どこまで進んでいるかをつかむ。
終わるときに、やったことをそのファイルに書き足す。
それ、どこかで見たことある気がする。
うちのHANDOFF.mdとほぼ同じ。読んで「あれ、これじゃん」ってなった。
自分はこう使ってます
引き継ぎのファイルを1つ置いている
このブログ、note、YouTubeは、ほとんどClaude CodeとCodexに作業してもらっています。
困ったのは、会話を新しくするたびに、AIが前の作業を覚えていないこと。
そして、説明する自分も、もう覚えていないことでした。
なので、2026年9月21日から、引き継ぎ用のファイル(HANDOFF.md)を1つ置いています。
- 作業の終わりに、AIに「やったこと」「予約したもの」「次にやること」を書いてもらう
- 次の会話では、AIが最初にそれを読む
- 「最初に読んで」は、Claude CodeならCLAUDE.md、CodexならAGENTS.mdに書いてある
記録は、10月30日の時点で373回分になりました。
Claude CodeとCodexの両方が同じファイルを読み書きするので、途中でAIを替えても続きから始められます。
「済んだこと」と「残り」を分けて書いてもらうようにしてから、AIが「終わったと思い込む」ことも減りました。
Anthropicの記事に出てくる困りごとと、ほとんど同じです。
文章で足りないところは、機械で止めている
ルールを文章で書いても、AIはときどき飛ばします。
なので、公開の前のチェックだけは、Claude Codeのhookで止めるようにしました(9月24日から)。
チェックが済んだ印のファイルがないと、記事を作るコマンドや、動画をアップするコマンドが動きません。
(Claude Codeの機能なので、Codexで作業するときは止まりません)
最初から、ぜんぶ考えて作ったの?
ぜんぜん。やらかすたびに1個ずつ足しただけ。あとから名前がついてた感じ。
ハーネスで困った例
- ルールを書いておいたのに、AIが体験談に、やっていない行動を足していた → Claude Codeが嘘をつく?体験談に、やっていない行動が足されていた
- Claude CodeとCodexでルールのファイルが2つに分かれて、片方だけ古くなった → AGENTS.mdとCLAUDE.mdを共通にする方法
迷ったときの確認ポイント
- 同じことを、会話のたびに説明していないか(していたら、ファイルに書いて読ませる)
- 「終わった」「済んだ」を、AIの返事だけで信じていないか(済と残りを分けて記録する)
- 大事なチェックを、文章のお願いだけにしていないか(飛ばされたら困るものは、hookなどで止める)
- 同じミスが2回起きていないか(起きたら、ルールに書き足す)
あわせて知っておきたい用語
自分が使っている引き継ぎのファイルや、公開前に止めるhookは、ひな形にしてnoteにまとめています。
AIに毎日の発信を任せるためのハーネス(note)