0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

あなたのCLAUDE.mdは今どのレベル?──指示が「効く時」と「効かない時」を分けるL0–L7

0
Posted at

最先端AIを技術の中身まで読み解く「AIウォッチ」の深掘り記事です。題材は cleverhoods 氏の "Instruction systems capability ladder" という枠組み。一次情報(元記事)を当たって書いています。

CLAUDE.md(や AGENTS.md)に「テストを書いてからコミットして」と書いたのに、長いタスクの途中でしれっと無視された──そんな経験、ありませんか。短いタスクだと従うのに、込み入ってくると従わない。気まぐれに見えるこの挙動には、実はちゃんとした理由があります。

cleverhoods 氏が出した "Instruction systems capability ladder" という枠組みが、それを一本の物差しで説明してくれる。指示システム(=エージェントの harness)を L0 から L7 までの8段階に並べたものです。これが分かると、「うちの CLAUDE.md、なんでたまに効かないんだろう」という曖昧な悩みが、「今うちは L5 にいて、効かないのは当たり前。L6 に上がれば直る」という具体的な設計判断に変わります。

なお先に断っておくと、L0–L7 は公式規格ではなく この著者が提唱する一つのモデルです。ただ、後で見るように「なぜ効く/効かない」の説明力がとても高い。順番に見ていきます。

まず:エージェントの上限は、もうモデルの外側にある

ここ1年で何度も言われるようになった話から始めます。同じモデルでも、Claude Code や Codex の中で動かすと、ただのチャット画面より明らかに賢く振る舞う。 なぜか。

答えは「モデルの賢さ」ではなく、モデルを取り囲む外骨格= harness にあります。Sebastian Raschka は "Components of a Coding Agent" で、コーディングエージェントの強さの正体はツール使用・コンテキスト管理・記憶・権限・実行フィードバック・長時間セッションの継続性を引き受ける**足場(harness)**であって、単体の next-token 生成ではない、と整理しています。harness を「ちゃんと走る(実行)/走り続ける(状態)/安定して走る(ガバナンス)」の三層で捉える見方もありますが、言葉は違えど指しているものは同じです。

つまり競争の重心は 「どのモデルを選ぶか」から「どんな harness を組むか」へ移った。L0–L7 は、その harness を「どこまで作り込んだか」で測る目盛りなんです。

指示が効くかどうかは「どのチャンネルを通るか」で決まる

ここがこの枠組みの一番おいしいところ。著者は、指示が伝わる経路を3つのチャンネルに分けます。

  • ソフトチャンネル(soft channel):ルールがモデルのコンテキストウィンドウの中で注意を奪い合う。負荷が上がると薄まる(decay under load)。だから確率的にしか効かない
  • ハードチャンネル(hard channel):強制機構がコンテキストの外側で確定的に動く。長いタスクでも薄まらない。
  • セルフライティング・チャンネル(self-writing channel):エージェントが自分で指示を書く。ユーザーの合図ではなく、タスク完了を引き金にする。

CLAUDE.md のルールが「効いたり効かなかったり」するのは、それがソフトチャンネルに乗っているからです。注意の奪い合いに参加している以上、長文脈・高負荷では負ける。気まぐれなのではなく、仕組み上そうなる

L0–L7:harness 能力のラダー

3つのチャンネルを8段階に割り当てたのが、このラダーです。

名前 ざっくり中身 チャンネル
L0 System モデル+ベンダー注入の既定のみ ソフト
L1 Primer 単一のルート指示ファイル(入口が1つ) ソフト
L2 Composite user 設定と project 設定を分割 ソフト
L3 Scoped パスに紐づき条件付きで発火するルール ソフト
L4 Delegated スキル=エージェントが必要時に呼ぶ手順 ソフト
L5 Abstracted 隔離された文脈を持つサブエージェント ソフト
L6 Governed コンテキスト外の hook / gate / deny で強制 ハード
L7 Adaptive タスク完了後にエージェントが指示を自作 自己記述

多くのチームは L1〜L5 のどこかにいます。CLAUDE.md を整え、ルールをパスで分け、スキルを切り出し、サブエージェントに投げる──全部「良いこと」だけれど、L0〜L5 はすべて同じ物理法則の上で動いている。著者の言い方だと "run on the same physics"。つまりどこまで磨いても、最後はコンテキスト内の注意の奪い合いで、確率的に失敗しうる

2つの壁こそが、この枠組みの本質

ラダーには、ただの一段ではない2つの断層があります。

第1の壁:L5 → L6(確率 → 確定)

最初の断層はソフトチャンネルとハードチャンネルの境。著者の例がそのまま効きます。CLAUDE.md に書いたテストのルールは「従う時もある。従わない時もある(sometimes it follows, sometimes it doesn't)」。一方、テストが落ちたら git push を止める PreToolUse フックは、モデルが何を考えていようと関係なく実行される。長いタスクで薄まることもない。

ここが、私が以前書いた ClickHouse の運用記とまっすぐ繋がります。あの記事の核心は「速くて自動の"判定の壁"が、嘘をつくエージェントを信頼できるものに変える」でした。その「壁」こそ、この枠組みでいう L6=ハードチャンネルそのものなんですね。お願い(ソフト)ではなく、強制(ハード)。確率を確定に変える、最初で最大の一段です。

関連:AIは平気でウソをつく。なのにClickHouseは百万行のC++を回す ── L6 の「壁」が現場で何を変えたか、1年の運用記から。

第2の壁:L6 → L7(読む → 書く)

次の断層は**「人が書いた指示を読む」と「エージェントが指示を書く」の境**。

紛らわしいのが、いわゆる「メモリ機能」(ここでは L6.5 と呼ばれる)です。ユーザーが「これ覚えといて」と明示的に保存する。便利だけど、書いたのは人間で、読み出し時はまたソフトチャンネルに戻る。本当の L7 は、エージェント自身が「これは保存に値する軌跡だ」と、促されずに気づいて書くところまで行きます。

L7 はどんな姿か──Hermes Agent

著者が「今出版物で見られる最も明確な L7」として挙げるのが Hermes Agent です。Hermes は、次の4条件でスキル抽出を起動する、と記事は説明します。

  1. ツール呼び出し5回以上の成功タスク
  2. エラーからの復帰
  3. ユーザーによる訂正
  4. 新しいワークフローの発見

ポイントは、このうち3つは「保存すべき瞬間が起きたことを、エージェントしか知らない」という点。人間は気づけない。だからエージェント自身が書くしかない。

そして抽出された SKILL.md は、YAML フロントマター+「When to Use / Procedure / Pitfalls / Verification」という決まった型に落ちる。ここで一番好きな一言が出てきます。

Schema is the cheap version of supervision.
(スキーマは、監督の安上がりな代替物だ)

自由記述のメモは「エージェントの書く規律が緩むのと同じ速度で劣化する」。でも型を強制すれば、書く時点で規律が効く。構造そのものが、人間の監視の代わりに品質を担保する。──これ、L6 の「フックが確率を確定に変える」話の、セルフライティング版なんですよね。型=強制です。

個人的な見方

この枠組みの強みは、自分の harness を診断できることだと思います。読み終えたら一度やってみてください。

  • ルールを CLAUDE.md に書いてるだけ → だいたい L1〜L2
  • パスで出し分け、スキルも切ってる → L3〜L4
  • サブエージェントに投げてる → L5
  • ……でも、フックで強制している箇所はありますか? なければ、どれだけ磨いても天井は L5。「効いたり効かなかったり」は直りません。

そして大事なのは、全部を L7 まで上げる必要はないこと。L0〜L5 で十分な指示も山ほどある。問題は、確実に効いてほしい制約を、ソフトチャンネルに置きっぱなしにしていないか。「テストが通らなきゃ push させない」「本番ディレクトリは触らせない」──この手の"絶対に外れてほしくない"ものだけ、L6 のハードチャンネルに引き上げる。それが一番費用対効果の高い一手です。

ひとつ割り引くべき点も書いておきます。L0–L7 は著者一人の提唱モデルで、業界標準ではありません。レベルの線引き(特に L4 スキルと L5 サブエージェントの境)は道具立てによって曖昧になるし、L6.5 のような中間も現実には混ざります。それでも、「なぜ同じ指示が効いたり効かなかったりするのか」をこれほど一刀両断に説明する物差しを、私は他に知りません。

競争の重心がモデルから harness に移った、という話は何度も聞きます。でもその harness を「どのチャンネルに、どの制約を乗せるか」という解像度で語れる人は、まだ多くない。あなたの CLAUDE.md が今 L いくつかを言えるようになるだけで、次に作り込むべき場所が一段はっきりするはずです。

参考

一次情報を優先して列挙します。

関連(harness とは何か、の補助線として):


この記事は「AIウォッチ」にも掲載しています。最先端AIを技術の中身まで読み解いています。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?