上級テクニック &
ハーネスエンジニアリング
同じ Claude Code でも、上手な人とそうでない人の差は「モデルの賢さ」ではなく 使い方の設計 にあります。上位1%のユーザーやエンジニアが実践している考え方を、公式の知見をもとにやさしく解説します。
1上位1%は何が違う?
結論:「コンテキスト(AIの記憶)の管理」と「ハーネス(足場)の設計」がうまい。この2つを意識するだけで、結果の安定感がまるで変わります。
記憶を手入れする
AIの作業机(コンテキスト)を散らかさず、こまめに整理する。
足場を組む
計画・検証・記録の「型」をAIの周りに用意してあげる。
小さく回す
一気にやらせず、小さく頼んで・確認して・また頼む。
2ハーネスエンジニアリングとは
「ハーネス(harness)」とは、AIモデルのまわりに組む足場のこと。具体的には、ツール・記憶(メモリ)・実行ループ・検証のしくみなど、モデル本体ではなくその外側の仕組みを指します。
flowchart TD A["やりたいこと(ゴール)"] --> B["計画する
plan モード"] B --> C["小さく実行する"] C --> D["検証する
テスト・差分確認"] D --> E{"OK?"} E -->|"はい"| F["記録する
gitコミット・CLAUDE.md更新"] E -->|"いいえ"| G["巻き戻す
Esc Esc"] G --> B F --> H["次の小さなゴールへ"] H --> B
👉 🔧 ハーネス実装ガイド(実践編)
3コンテキストエンジニアリング
いちばん大事な技術。コンテキスト(会話の記憶領域)が埋まると、AIの性能はだんだん落ちていきます。これが失敗の最大の原因です。
flowchart TD A["会話が長くなる
大きいファイルを読む"] --> B["コンテキストが埋まる"] B --> C["昔の指示を忘れ始める"] C --> D["回答の精度が落ちる"] D --> E["対策:整理する"] E --> F["/compact 要約圧縮"] E --> G["/clear まっさらに"] E --> H["重い読み込みは
サブエージェントへ逃がす"] F --> I["性能が回復"] G --> I H --> I
🧹コンテキストを手入れする道具
| やりたいこと | 使うもの | ひとこと |
|---|---|---|
| 今どれくらい埋まってる? | /context | まず状況を見る |
| 長くなったので要約して圧縮 | /compact | 大事な要点を残して軽くする(公式いわく整理の第一手段) |
| 別の作業に切り替え | /clear | 記憶を空に。CLAUDE.md は残る |
| このプロジェクトの常識を覚えさせる | CLAUDE.md / /memory | 毎回伝える手間が消える |
| 重い調査で机を汚したくない | サブエージェント | 子分に調べさせ、結果だけ受け取る |
4計画駆動(実行前に必ず計画)
上手な人は、いきなり「作って」と言いません。まず計画を立てさせて、方針を確認してから実行します。これだけで的外れな大改造を防げます。
- プランモードに入る
/plan(または Shift+Tab でモード切替)。AIは「こう進めます」という計画だけを出し、勝手に編集しません。 - 難所では深く考えさせる難しい設計やバグ調査は、プロンプトに
ultrathinkを添えると推論が最大になります(Option+T の拡張思考も同じ狙い)。 - 計画に納得してから実行気になる点は計画段階で直す。ここで方向を合わせるのが、やり直しを減らす最大のコツ。
5検証ループ(AIに「答え合わせ」をさせる)
AIは、自分の作業を確かめる手段を与えると、自分でミスに気づいて直せます。これが品質を一気に上げる秘訣です。
sequenceDiagram participant U as あなた participant C as ClaudeCode participant T as テスト/実行 U->>C: ①先にテストを書いて、と頼む C->>U: テスト作成(まだ失敗する状態) U->>C: ②このテストが通るように実装して C->>T: 実装してテストを実行 T-->>C: 失敗(赤) C->>C: 原因を見て自分で修正 C->>T: もう一度実行 T-->>C: 成功(緑) C-->>U: 完成。差分をどうぞ Note over U,C: 人は /diff で最終確認(セーブは自動)
テスト駆動
先にテストを書かせ、それが通るまで直させる。
スクショ駆動
画面を Cmd+V で貼って「この見た目に近づけて」。
差分必読
/diff で必ず人間が確認。違ったら Esc+Esc。
公開前点検
/security-review で脆弱性チェック。
6サブエージェント・オーケストレーション
大きな仕事は、子分(サブエージェント)に分担させると速くて、机(コンテキスト)も汚れません。親が司令塔になり、子分が並列で調べたり作ったりします。
flowchart TD P["親:司令塔
計画とまとめ役"] --> A["子分A
コードを調査"] P --> B["子分B
テストを作成"] P --> C["子分C
ドキュメントを確認"] A --> R["結果を集約"] B --> R C --> R R --> P P --> D["親が統合して仕上げ"]
| 使うもの | 役割 |
|---|---|
/agents / --agents | サブエージェントの設定・指定 |
CLAUDE_CODE_SUBAGENT_MODEL | 子分は安いモデルにしてコスト削減(親は賢いモデルのまま) |
--teammate-mode | 複数エージェントの並列の動き方を制御(auto / in-process / tmux) |
CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS | チーム編成の実験的機能を有効化 |
7自動化・ヘッドレス & フック
人がいなくても動く「自動化」も上級者の武器です。-p を使えば、Claude Code をスクリプトや CI/CD に組み込めます。
claude -p --bare --output-format json --json-schema "$(cat schema.json)" \ --max-budget-usd 0.50 --allowedTools "Read,Bash(grep *)" "このログからエラー件数を数えて"
各フラグの意味
-p=非対話、--bare=軽量起動、--output-format json=機械が読める形、--json-schema=形を固定、--max-budget-usd=使いすぎ防止、--allowedTools=道具を限定(安全装置)。
フック(hooks)
/hooks で、保存時に自動整形・コミット前にチェックなど「決まった動き」を自動化。ガードレールにもなる。
flowchart TD A["入力データ
ログ・CSVなど"] --> B["claude -p
(非対話で処理)"] B --> C["JSONで結果を出力"] C --> D["次の処理へ
スクリプト・通知・保存"]
8CLAUDE.md を育てる(メモリ設計)
CLAUDE.md は、プロジェクトの「取扱説明書」。ここにルールやよく使うコマンド、注意点を書いておくと、Claudeが毎回それを踏まえて動いてくれます。上級者は、これを少しずつ育てていきます。
- 最初に作る
/initで雛形を生成。プロジェクトの概要や約束ごとを書く。 - 気づきを足していく「またこれを説明した」と思ったら CLAUDE.md に追記。
/memoryで管理できる。 - 短く・的確に長すぎるとコンテキストを圧迫。本当に効くルールだけを簡潔に。
9上位1%の実践チェックリスト
今日から真似できる「上手な人の習慣」をまとめました。全部を一度にやらなくてOK。1つずつ取り入れましょう。
小さく頼む
大きな1回より、小さな複数回。確認しながら進む。
計画を先に
実装前に /plan。難所は ultrathink。
記憶を手入れ
埋まったら /compact、切替は /clear。
セーブは自動
チェックポイントは自動保存。ダメなら Esc+Esc や /rewind で巻き戻す。
検証させる
テストやスクショで答え合わせ。/diff 必読。
使い分ける
軽い作業は Haiku・Sonnet や /effort low、難所だけ重く。/fast は割高な高速Opusで急ぎ専用。
分担する
大きい調査は子分(サブエージェント)に逃がす。
CLAUDE.md を育てる
気づきを書きためて、AIを賢く使う。