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?

andrej-karpathy-skillsのCLAUDE.mdに足したい、Claude Codeの安全運用ルール3選

0
Last updated at Posted at 2026-05-26

ChatGPT Image May 26, 2026, 11_57_51 PM.png

はじめに

前回の記事では、Claude Codeをより安全に使うために andrej-karpathy-skillsCLAUDE.md から学べる考え方を整理しました。

andrej-karpathy-skillsCLAUDE.md は、Claude Codeにありがちな以下のような問題を抑えるうえで参考になります。

  • 実装前に考えずにコードを書き始める
  • 必要以上に複雑な実装をする
  • 関係ないコードまで触る
  • 成功条件が曖昧なまま作業を進める

実際、andrej-karpathy-skillsCLAUDE.md では、Think Before CodingSimplicity FirstSurgical ChangesGoal-Driven Execution という4つの観点で、Claude Codeのコーディング時の行動指針が整理されています1

ただ、実務でClaude Codeを使うなら、もう少し踏み込んだ安全運用ルールもあったほうがよさそうだと感じました。

そこで今回は、centminmod/my-claude-code-setupCLAUDE.md テンプレートを参考に、andrej-karpathy-skillsCLAUDE.md に追記するとよさそうなルールを3つに絞って整理します。

前提:andrej-karpathy-skillsのCLAUDE.mdは「行動原則」として優れている

andrej-karpathy-skills の CLAUDE.md では、主に次の4つの観点が整理されています。

  • Think Before Coding
  • Simplicity First
  • Surgical Changes
  • Goal-Driven Execution

要約すると、こんな方針です。

- 実装前に前提を明示する
- 不明点があれば勝手に決めずに確認する
- 必要最小限のコードで解決する
- 単発用途のために過剰な抽象化をしない
- 関係ないコードやコメントを改善しない
- 変更した行は、ユーザーの依頼と直接結びついているべき
- 成功条件を検証可能な形にする

これはClaude Codeを使ううえで重要です。

特に既存コードベースでは、Claude Codeが気を利かせて「ついでに整理しました」「周辺コードも改善しました」と動くと、レビューコストが上がります。

その意味で、andrej-karpathy-skillsCLAUDE.md は、Claude Codeに対して慎重に、最小限に、目的に沿って動くという基本姿勢を与えるものとして有効です。

ただし、実務では「安全運用ルール」も追加したい

一方で、実務利用ではこんなリスクもあります。

  • 読んでいないコードについて推測で説明する
  • テストやビルドを実行していないのに完了扱いにする
  • 勝手に commitpush をする
  • resetrebase のようなGit操作を行う
  • 不要なファイル削除を行う
  • force-pushgit reset --hard のような破壊的操作を行う

これらは、単に「最小限の変更をする」というルールだけでは防ぎきれません。

そこで参考になるのが、centminmod/my-claude-code-setupCLAUDE.md テンプレートです。

このリポジトリでは、Claude Code向けに以下のような観点が整理されています。

  • Investigation & Accuracy
  • Scope Discipline
  • Verification & Safety
  • Efficiency & tools

特に CLAUDE-template-2.md では、「読んでいないコードを推測しない」「利用箇所を ripgrep で調べる」「完了前に要件を再確認し、テストやlintを実行し、検証できなかったことを明示する」「破壊的操作は事前確認する」といった実務向けのルールが整理されています2

これは andrej-karpathy-skills の思想と相性が良いです。

andrej-karpathy-skills が「Claude Codeの実装姿勢」を整えるものだとすれば、my-claude-code-setup は「実務で事故を起こさないための運用ルール」を補強するものとして使えます。

追記したい安全運用ルール3選

ここから、andrej-karpathy-skillsCLAUDE.md に追加するとよさそうなルールを3つ紹介します。

1. 読んでいないコードについて推測しない

まず追加したいのは、これです。

- Never speculate about code you have not read.

日本語にすると、こうなります。

- 読んでいないコードについて推測しない

Claude Codeは、文脈からそれらしい説明を生成するのが得意です。

しかし、既存コードベースでは「それらしい説明」よりも「実際に確認した内容」のほうが重要です。

たとえば、次のような回答は危険です。

この処理はおそらく ViewModel 側で状態管理していると思われます。
たぶんこの関数はAPIレスポンスを整形するためのものです。
通常であれば、このファイルがエントリーポイントになっているはずです。

一見自然ですが、実際にコードを読んでいない場合はただの推測です。

Claude Codeに既存コードを触らせるなら、まず関連ファイルを読み、必要に応じて rg で利用箇所を確認してから判断してほしいです。

たとえば、こんな行動を促すイメージです。

rg "TargetClassName"
rg "targetFunction"
rg "targetProperty"

また、ファイル名がわかっている場合は、先にそのファイルを読むべきです。

- If the user references a file, read it before answering or editing.

このルールを入れておくと、Claude Codeが推測ベースで進めるのを抑えやすくなります。

追記例

- Never speculate about code you have not read. Inspect the relevant files and search for usages before making claims.
- If the user references a file, read it before answering or editing.

2. 検証できない場合は、理由と手動確認手順を出す

次に追加したいのは、検証できなかった場合のルールです。

- If verification cannot be run, explain why and provide manual verification steps.

日本語にすると、こうなります。

- 検証を実行できない場合は、理由と手動確認手順を提示する

Claude Codeに実装を依頼した場合、理想はテストやビルドまで実行してもらうことです。

ただ、実務では常に検証できるとは限りません。

たとえば、こんなケースです。

- ローカルに必要な環境がない
- Xcodeや特定バージョンのSDKが必要
- 認証情報が必要
- 実機確認が必要
- 外部サービス連携が必要
- CI上でしか検証できない
- テストデータが手元にない

このときに困るのは、Claude Codeがあっさりこう終えてしまうことです。

実装しました。

本当に欲しいのは、次の3つです。

- 何を変更したのか
- 何を検証したのか
- 何が未検証なのか

特に未検証の項目がある場合は、人間が次に何を確認すべきかを明示してほしいです。

たとえば、こんな報告が理想です。

変更内容:
- ログイン状態の判定処理を修正しました。

検証済み:
- 関連するユニットテストを実行し、成功しました。

未検証:
- 実機でのLINEログイン導線は、認証情報がないため未確認です。

手動確認手順:
1. アプリを起動する
2. ログイン画面を開く
3. LINEログインボタンをタップする
4. 認証後、マイページに遷移することを確認する

ここまで書かれていれば、レビュー側も判断しやすくなります。

追記例

- If verification cannot be run, explain why and provide the closest reasonable manual verification steps.
- Before declaring completion, state what was changed, what was verified, and what remains unverified.

3. 勝手なGit操作や破壊的操作を禁止する

最後に、個人的に最も重要だと感じるのがこれです。

- Do not commit, push, reset, rebase, force-push, or delete files unless explicitly asked.

日本語にすると、こうなります。

- 明示的に依頼されていない限り、commit、push、reset、rebase、force-push、ファイル削除をしない

Claude Codeはコード編集だけでなく、ターミナル操作もできます。

そのため、ルールを明示しておかないと、状況によっては危険な操作が走る可能性があります。

特に注意したい操作はこのあたりです。

- git commit
- git push
- git reset
- git reset --hard
- git rebase
- git push --force
- git push --force-with-lease
- git branch -D
- rm
- rm -rf
- --no-verify

Claude Codeが常に勝手にこれらを実行する、という意味ではありません。
ただ、実務で使うなら「明示的に依頼されていない限りやらない」と書いておく価値は高いです。
特に resetrebaseforce-push、ファイル削除は、影響範囲が大きくなりやすいです。

my-claude-code-setupcore-rules.md でも、force push、hard reset、ファイルやブランチ削除、--no-verify のような破壊的操作は事前確認するルールとして整理されています3

追記例

- Do not commit, push, reset, rebase, force-push, delete files, or run destructive commands unless explicitly asked.
- Ask before hard-to-reverse actions such as deleting files or branches, force pushes, hard resets, or using --no-verify.

andrej-karpathy-skillsのCLAUDE.mdに追記するなら

実際に追記するなら、andrej-karpathy-skills の4章構成に続けて、第5章として追加するのが自然です。

## 5. Verification & Safety

Trust comes from inspection and verification, not guessing.

- Never speculate about code you have not read. Inspect the relevant files and search for usages before making claims.
- If the user references a file, read it before answering or editing.
- If verification cannot be run, explain why and provide the closest reasonable manual verification steps.
- Before declaring completion, re-check the original request and state what was changed, what was verified, and what remains unverified.
- Do not commit, push, reset, rebase, force-push, delete files, or run destructive commands unless explicitly asked.
- Ask before hard-to-reverse actions such as deleting files or branches, force pushes, hard resets, or using --no-verify.

ポイントは、andrej-karpathy-skills の思想を置き換えるのではなく、補強することです。

既存の4原則はそのまま活かします。

そのうえで、実務で事故になりやすい以下の3点を追加します。

- 推測で判断しない
- 検証できない場合は未検証として明示する
- 勝手なGit操作や破壊的操作をしない

グローバルCLAUDE.mdに追記する

前回の記事~/.claude/CLAUDE.md は作成済みの前提なので、今回は新規作成ではなく、既存ファイルへの追記だけを行います。

今回追記する対象は、グローバルの CLAUDE.md です。

~/.claude/CLAUDE.md

なお、以下のようなプロジェクト配下のファイルとは別物です。

./.claude/CLAUDE.md

今回の安全運用ルールは特定のプロジェクトに依存しないため、グローバルの ~/.claude/CLAUDE.md に追記します。

1. 追記前にバックアップを作成する

念のため、現在の CLAUDE.md をバックアップします。

cp ~/.claude/CLAUDE.md ~/.claude/CLAUDE.md.bak.$(date +%Y%m%d%H%M%S)

これで、以下のようなバックアップファイルができます。

~/.claude/CLAUDE.md.bak.20260526123045

日時部分は、実行した日時によって変わります。

2. 安全運用ルールを追記する

次に、以下のコマンドで ~/.claude/CLAUDE.md の末尾に追記します。

cat >> ~/.claude/CLAUDE.md <<'EOF'

## Additional Safety Rules

- Never speculate about code you have not read. Inspect the relevant files and search for usages before making claims.
- If verification cannot be run, explain why and provide the closest reasonable manual verification steps.
- Do not commit, push, reset, rebase, force-push, delete files, or run destructive commands unless explicitly asked.
EOF

ここで重要なのは、> ではなく >> を使っている点です。

cat > ~/.claude/CLAUDE.md

のように > を1つだけにすると、既存の内容が上書きされます

既存の CLAUDE.md に追記したい場合は、必ず >> を使います。

cat >> ~/.claude/CLAUDE.md

3. 追記できたか確認する

追記できたか確認します。

tail -n 20 ~/.claude/CLAUDE.md

以下のように Additional Safety Rules が表示されていれば追記完了です。

## Additional Safety Rules

- Never speculate about code you have not read. Inspect the relevant files and search for usages before making claims.
- If verification cannot be run, explain why and provide the closest reasonable manual verification steps.
- Do not commit, push, reset, rebase, force-push, delete files, or run destructive commands unless explicitly asked.

手動で編集する場合

コマンドで追記するのが不安な場合は、手動で編集しても問題ありません。

以下のコマンドで CLAUDE.md を開きます。

nano ~/.claude/CLAUDE.md

ファイルの末尾に、以下を貼り付けます。

## Additional Safety Rules

- Never speculate about code you have not read. Inspect the relevant files and search for usages before making claims.
- If verification cannot be run, explain why and provide the closest reasonable manual verification steps.
- Do not commit, push, reset, rebase, force-push, delete files, or run destructive commands unless explicitly asked.

保存する場合は、以下の順に操作します。

Ctrl + O
Enter
Ctrl + X

グローバルに書いてよいもの・書かないほうがよいもの

今回の3項目は、グローバルに書いて問題ない内容です。

どのプロジェクトでも有効だからです。

- 読んでいないコードについて推測しない
- 検証できない場合は理由と手動確認手順を出す
- 勝手なGit操作や破壊的操作をしない

一方で、以下のような内容はグローバルではなく、プロジェクトごとの CLAUDE.md に書いたほうがよいです。

- ビルドコマンド
- テストコマンド
- ディレクトリ構成
- ブランチ運用
- リリース手順
- API仕様
- 命名規則
- iOS / Web / Backend など特定技術に依存するルール

書き分けの目安

  • グローバル CLAUDE.md:プロジェクトを問わず守ってほしい行動原則
  • プロジェクトの CLAUDE.md:そのリポジトリ固有のルール

この分け方が安全です。

まとめ

andrej-karpathy-skillsCLAUDE.md は、Claude Codeを暴走させないための基本原則として参考になります。

特に以下の4つは、Claude Codeを使ううえで重要です。

- Think Before Coding
- Simplicity First
- Surgical Changes
- Goal-Driven Execution

実務で使う場合は、さらに安全運用ルールを補強すると安心です。

centminmod/my-claude-code-setup の考え方を取り入れるなら、特に以下の3つを追加する価値があります。

- Never speculate about code you have not read.
- If verification cannot be run, explain why and provide manual verification steps.
- Do not commit, push, reset, rebase, force-push, or delete files unless explicitly asked.

Claude Codeを便利に使うだけなら、機能やプラグインを増やす方向に目が行きがちです。

ただ、実務で安全に使うなら、能力を増やすだけでなく、やってはいけないことを明確にすることも重要です。

CLAUDE.md は、Claude Codeに対して

何をしてほしいか

だけでなく、

何を勝手にしてはいけないか

を伝えるための設定ファイルです。

andrej-karpathy-skills の思想をベースにしつつ、my-claude-code-setup のような公開テンプレートから安全運用ルールを補強することで、Claude Codeをより実務向けに使いやすくなるかと思います。

参考


推奨タグ

ClaudeCode
Claude
AI
CLAUDE.md
プロンプトエンジニアリング
  1. andrej-karpathy-skills / CLAUDE.md

  2. my-claude-code-setup / CLAUDE-template-2.md

  3. my-claude-code-setup / .claude/rules/core-rules.md

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?