Claude Code自体はモデルを学習しません。重みは1ミリも動かない。 それでも、毎日触っている人の出力は確実に良くなっていく。理由は単純で、ユーザーが手動でRLHFループを回しているからです。
最初に誤解を解いておきます。 Claude Codeは推論モデル + エージェント型ツール実行の組み合わせで動いています。検索はripgrepベースのファイル走査が中心で、ベクトル検索(RAG)は使っていません。モデル本体(Claude)の重みは一切更新されません。あなたがどれだけ命令を出しても、Anthropicのサーバー上にあるClaudeが賢くなることはない。 ところが、Claude Codeを毎日使っている私の出力品質は、3ヶ月前と比べて明らかに上がっています。同じテーマでも初稿のクオリティが違う。修正回数が減る。サムネの一発採用率が上がる。 なぜか。「学習主体」がモデルから人間(と環境)に移っているからです。 機械学習の世界には RLHF(人間のフィードバックによる強化学習)という手法があります。GPTもClaudeも、最終調整はこのRLHFで人間の好みを学習しています。 私がClaude Codeでやっていることは、構造的にRLHFそのものです。違うのは、重みを書き換える先がClaudeのパラメータではなく、CLAUDE.md・skills・memoryの3ファイルだという点。 これに気付いてから、Claude Code環境の設計が一気に変わりました。 Claude Code 知らないと損する40のワザ
機械学習システムは5つの要素で記述できます。モデル / 入力 / 出力 / 報酬 / 重み更新。これをClaude Code環境にそのまま当てはめると、設計の急所が一発で見えます。
| ML要素 | Claude Code実装 | 触れるか |
|---|---|---|
| モデル | Claude本体(Sonnet/Opus等) | 触れない(不変) |
| 入力 | プロンプト + CLAUDE.md + skills | 設計可 |
| 出力 | 記事・コード・判断・画像プロンプト | 観測対象 |
| 報酬 | アナリティクス・反応・自己評価 | 計測設計が肝 |
| 重み更新 | memory追記 / skills改修 / CLAUDE.md修正 | 手動で回す |
「触れない」のはモデルだけ。残り4要素は全てユーザー側の設計責任です。 ここを勘違いしている人が多い。「Claudeが賢くないから出力が悪い」のではなく、入力設計が雑か、報酬設計がないか、重み更新を回していないかのどれかです。 順番に分解します。
入力には2層あります。
揮発層(プロンプト): その場の指示。次のセッションには残らない 永続層(CLAUDE.md・skills・references): 全セッション共通の事前知識
機械学習で言えば、揮発層が「推論時の入力」、永続層が「常駐コンテキスト(事前学習データに相当する常時参照される知識)」です。永続層に何を入れるかが、出力の天井を決めます。
私のCLAUDE.mdは、グローバル(~/.claude/CLAUDE.md)とプロジェクト別(~/Documents/CLAUDE.md)の2階建て構造になっています。グローバルには出力スタイル・承認ルール・削除ルールを書く。プロジェクト別には案件固有のルールを書く。
skillsは50個以上あります。記事執筆・X投稿・図解・サムネ・請求書・スケジュール・スライド・ロゴ・ファクトチェック…全部スキル化してある。
ポイントは「揮発層に書いていることは永続層に上げる」という原則です。
3回同じ指示を書いたら、その瞬間にCLAUDE.mdかskillsに昇格させる。揮発層に書き続けるのは、機械学習で言えば「毎エポックで同じ訓練データを手で投入し直している」のと同じ。馬鹿げた話です。
出力は観測対象です。問題は、ほとんどの人が出力を計測していないこと。 「なんとなく良い」「なんとなく悪い」で評価していたら、報酬信号がノイズだらけになります。それは機械学習で言えば、ラベルが間違っている訓練データで学習させているのと同じ。出力は永遠に良くなりません。 私がClaude Code出力に対して計測している指標は4つ:
today-analytics スキルで日次集計、week-review スキルで週次レビューしています。数字を見ない週はゼロです。報酬は3層で取ります。 層1: 自動収集(数値)
today-analytics が毎日CSVを更新
層2: 直接フィードバック(人間)ここが最大の差別化ポイントです。
報酬信号を受け取った後、それを永続層に書き戻す。これが手動RLHFの本体です。
私がやっている重み更新は3種類:
memory追記: ~/.claude/projects/-Users-kawai/memory/MEMORY.md
~/.claude/skills/{skill-name}/SKILL.md具体例を1つ。
ある日、画像生成プロンプトを依頼したら、Claudeが「以下のプロンプトをご利用ください」というヘッダーと「このプロンプトは○○用に最適化されています」という説明文を付けてきた。私が欲しいのはコピペできるプロンプト本文だけ。説明は不要。
これが負の報酬信号です。
普通の人ならその場で「説明はいらない」と返して終わります。それでは次回も同じミスが起きる。揮発層に対する一時的な修正でしかないからです。
私がやったのは、MEMORY.md に1行追記:
画像プロンプトは本文のみ出力 — プロンプト文だけ出力。ヘッダー・説明・メタ情報不要。そのままコピペできる形式 この瞬間から、全プロジェクト・全セッションで同じミスが起きなくなりました。1回の負の報酬を、永続的な重み更新に変換したわけです。 これを週3〜5回やっている。1年で250回。出力が良くならないわけがない。
理由は3つあります。 理由1: 「Claudeが学習する」と勘違いしている モデルが学習しないことを知らないと、「同じ指示を繰り返せばそのうち覚える」と思ってしまう。これは永遠に起きません。 理由2: 永続層の存在を知らない / 使っていない CLAUDE.md・skills・memoryを使っていない人は、毎セッション「事前学習なし」のClaudeと話している状態です。当然出力品質は上がらない。 理由3: 報酬信号を計測していない 数字を見ていないから、何が良くて何が悪いかが曖昧。曖昧な信号からは曖昧な改善しか生まれない。 逆に言うと、この3つを潰せば誰でも出力品質を上げられます。モデル本体は触れなくても、入力設計と報酬設計と重み更新の3点で勝負が決まるからです。
ここまでの話を3原則に圧縮します。
原則1: 揮発層に書いたことは永続層に上げる
3回同じ指示を書いたら、その瞬間にCLAUDE.mdかskillsに昇格させる。例外なし。
原則2: 報酬信号を3層で受け取る
自動収集(数値)/ 直接フィードバック(人間)/ 事後評価(時間差)の3層。1層だけで判断しない。
原則3: 負の報酬は必ずmemoryに書き戻す
同じミスを2回したら、その場で MEMORY.md に1行追記。揮発的な修正で終わらせない。
この3原則を回すだけで、Claude Code環境は勝手に進化します。モデルは不変でも、システム全体は学習する。これが手動RLHFの本質です。
Claude Codeを「便利なAIツール」として使っているうちは、出力品質は頭打ちになります。
そうではなく、機械学習システムとして扱う。モデル不変・入力設計可・報酬計測必須・重み更新は手動。この5要素フレームで自分の環境を見直すと、改善ポイントが一発で見えます。
私がやっているのは、特殊な技術ではありません。誰でも今日から始められる。
最初の一歩は、~/.claude/CLAUDE.md を開いて、過去1週間で3回以上書いた指示を1行追記すること。それだけで、明日からの出力が変わります。
Claude Code 知らないと損する40のワザ
⬇️ 1on1で密に教えて欲しい方はこちらがオススメです。
⬇️ 法人研修をご希望の方はこちら
AI活用・キャリア戦略 個別相談
https://www.shoeisha.co.jp/book/detail/9784798193427
#AI #生成AI #AIエージェント #AI時代 #AI活用 #AI人材 #AI研修 #AIツール #Claude #ClaudeCode