Claude Code Docs読んでみた

※ サムネは妻が書いたファンアート
Claude Code Docs読んでみた
Docsを読むきっかけ
自分は昨年末から何となく使っていました。 エンジニアとしてDocs読めよっていう意見は真っ当ですが、 「わからんかったらClaudeに聞く」をしているのであまり読む必要性を感じていなかったんですよね。 ※ 実際この姿勢はClaude Codeに触れ始める上では正解と今でも思っている。変化が激しすぎて書籍はすぐ陳腐化するので
なのですが最近ClaudeCode”にも”詳しい優秀な同僚と話す機会があり、 ちゃんとClaudeのことを理解しているっぽく、 自分もちゃんと体系的に勉強しないとなーとDocsを読んでみることにしました
正直、自分にありがちな誰かが読むためというより自分用のメモです
今日から初めて触ります!という人には以下のページおすすめです
前述した通り、ClaudeのことはClaudeに聞く。とにかく触ったほうが早いとは思います
読んでみて
結局わからず知りたいこと
- 最適な実行環境(Windowsのコマンドプロンプト、VSCodeターミナル、VSCode拡張機能…結局WSL使うのがいい気もしている)
まじで意見をくれ。特にWindows環境での正解がないように感じる。
自分の場合
VSCodeの拡張機能でClaudeCodeを動かしています 自分のディレクトリ構成はこんな感じです。
~/Claude/
├── .claude/
├── CLAUDE.md
├── PJ1
│ ├── .claude/
│ ├── CLAUDE.md
│ ├── .....
├── PJ2
│ ├── .claude/
│ ├── CLAUDE.md
│ ├── .....
面倒なので~/Claude/でVSCodeを起動してClaudeCodeも起動してしまう。
するとPJxのCLAUDE.mdは読んでくれない可能性があるようです。 ルートのCLAUDE.mdに読み込ませるよう指示することもできるのだけど、コンテキストが汚れるのでやりたくないな
結局VSCodeをPJごとに別ウィンドウで立ち上げればOKなのですが面倒くさい
VSCodeの拡張機能を使うな、 ターミナルで起動するのがよいという意見もあると思うけど、VSCodeのターミナルでもコマンドプロンプトでも、 PowerShellでもClaudeCodeの日本語入力の挙動控えめに言ってゴミでは?
知らなかった概念
- 各PJフォルダにClaude.mdを置いていても、そのフォルダでClaudeを起動しないと明記しない限り読み込まれないこと
- skillsの説明は設定しない限り起動時に読み込まれること(内容は必要があってから)。読み込み有無は設定できるのでトークン削減したかったら無効にするといい
- SkillsとSubagentとAgentTeamは大分違うこと。自分は混同していた。。。
- Skillsは人間が手動でもClaudeが自動でも実行できる。
- SubagentsはAgent(Claude本体)が自動で呼び出す。なのでdescriptionにどんな場面で使うべきか必ず記載する
- SubagentはClaudeが並行調査とかさせるときに呼び出すけど、AgentTeamではないのでSubagent同士が会話はしない
- AgentTeamではSubagent同士が会話しながら仕事を進めることができる
- ここらをまとめていい感じにやりたい→ハーネスエンジニアリング
- Cluadeが思考中でも、とりまEsc2回押しでキャンセルしていいこと。
- わいはClaudeに気を遣って一回答え出すまで待つことあるけど、トークンの無駄らしい(/rewindも使える)
- Memory.mdは読み込まれる行数が決まっている
- MEMORY.md(インデックス)→ 200行で切り捨て。1エントリ1行、150文字以内に収める
微妙に知ってた概念
- Claude.mdは階層構造。セキュリティルールとか組織が守るべきものをトップ階層に置くのが一般的
- ハーネスエンジニアリング。。。実際に試してみたのでこれは別記事に
知らなかったコマンド類
- (VSCode拡張のみ?)@でファイルで参照できる。これ便利やで
- /init・・・Claude.mdの生成。既存の場合はClaude.mdの改善提案してくれる
- /agents・・・subagentの編集や追加ができる。追加はClaudeがやってくれる。 まあ結局ClaudeにSubagentも作ってもらうので使わないんだけどね
微妙に知ってたけど使っていなかったコマンド類
- /effort・・・細かく思考能力を切り替えられる
- /rename・・・セッションの名前変えられる(Claudeの方がわいより命名うまい説は大分ある)
- /memory・・・何が勝手に記憶されているのか確認できる
- /permission・・・Claudeが使えるコマンドの権限を変更できるよ
説明したいこと
skillsはただのmd
※Skill.mdに本体が記載されていて、スクリプトとかも置くことできるが基本md
パーミッションはAlways Allow押下すると自動追加されている
デフォルトでは、Claude Code はシステムを変更する可能性のあるアクション (ファイル書き込み、Bash コマンド、MCP ツールなど)の許可をリクエストします。 これは安全ですが、面倒です。10 回目の承認後、あなたは本当にレビューしていません。 クリックしているだけです。これらの中断を減らすには 3 つの方法があります。
草。わかってんじゃんていう感じ。安全のためのコマンド許可を形骸化させると意味ないよね
settings.jsonに書き込むのと/permissionでの追加は本質的には同じ 前述の通り「Always allow」を押したコマンドは自動追加されるので、 自分のは整理されておらずsettings.jsonがひどい状態だった。定期的にClaudeに整理してもらうのが良いかも PJごとに作られているんだけど、重複が多いので良い感じにマージしてもらうと良いかもね
人類の敗北1:
ありがとう。けど結局Claudeに編集してもらうほうが楽だわ、よろしく
まあ僕ごときが操作してもミスるだけなんでClaudeにやってもらった方がましなのは真実
SubAgentはAgent(Claude本体)が自動で呼び出すもの
skillsとの違いはClaudeが自動実行するか、手動実行が可能な点 あとSkillsはClaudeの本体で実行されるが、subagentは別のコンテキストウィンドウで実行される
以下の項目を/agentsから設定することができる
---
name: エージェント名
description: いつ使うかの説明(Claudeがここを読んで使うかどうか判断する)
model: claude-haiku-4-5-20251001 # 省略可。軽いタスクはHaikuが速い
tools:
# 使えるツールを絞る(省略=全部使える)
- Read
- Glob
- Grep
---
Subagentはコンテキストウィンドウが別なので本当に社員に任せるイメージが正しいと思う モデルを個別に設定できるので、社員のグレードも設定することができる
AgentTeam
使用時に特定のSubagentを言及すると、そいつを使ってくれる。
初期設定は無効になっている
CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1
元ネタを見てもらいたいがSubAgentsは単にメインタスクを分割して、 子分が一人で頑張った結果をメインのClaudeがもらう感じ AgentTeamは子分たちが話し合うことができる
なので前者はトークンコストは低いけど、後者は高くなる。
人類の敗北2:
このPJでsubagentを作るならどんなのが良いと思う?
まあ僕ごときが提案しても変な方向に行くだけなのでClaudeに…
3を作ってみようかな。作り方を教えてくれ。1回自分で設定してみたい。 あとでClaudeにレビューしてもらうんで心配しないで
Claudeはお前が一番心配だと思ってそう
ハーネスエンジニアリング(最近流行り)
AgentTeamはClaudeがいい感じにSubagentを使ってくれるけど、 結局ハーネスエンジニアリングが良いとなる。
詳しい人が聞いたら怒るかもしれないけど、 フローやゲートを設定して自己改善ループを明示的に回させるのがハーネスエンジニアリング
矛盾した感覚を持っていて、
- Claude本体のAgentが勝手にループを回してくれるようにすればいいじゃんという感覚
- こっちでちゃんと回してやった方がいいじゃんという感覚
※ everything-claude-code ハーネスエンジニアリングのベストプラクティス的存在らしい。自分はお遊びなのでここまで高尚なものはいらなそう
ということで試してみた
これいいな。賢い人たちがやっていることにはちゃんと意味があるのです
- 責任区分がしっかりしているので、突っ込む相手がわかる
- 意図しない挙動をしていたらそいつのmdを直接書き換えてやればいい
- PMが要件定義のSubagentに指示→Codexにレビューさせる→PMが取捨選択→要件定義Subagemtが再度要件作成のループを勝手に回し始めるのは便利。
- PMがClaudeなので、適当にCodexを嗜めてくれるから快適
よくないところ
- 知っていたがいつもの3倍くらいコンテキストを食っている
- いつもより時間がかかる
- CodexとClaudeが喧嘩を始める
