前提
こちらでノープランでコードを書き始めた結果、エラーがなかなか解消できない状態に陥った。エラーを解析させるとClaude codeはPROプランなのですぐにToken Limitに達してしまい、エラー解消できず、修正もできず、なかなか作業が進まない。
Next.js の経験がほとんどないことと、コードが結構なぼリューになったことから、自己解決がかなり難しい状況。
そこで、Claudeの使い方を少し体系的に学ぶために下記の本を読むことにした。
「実践Claude Code入門―現場で活用するためのAIコーディングの思考法」
本全体を通して大きな学びになったのが、次の2点。
- スペック駆動開発
- コンテキスト運用の最適化
以下は、コンテキスト運用に関する読書メモ。
Claude Codeにおけるコンテキスト運用の考え方
Claude Codeは「賢くコードを書く」こと自体は得意だが、
- 前提が曖昧
- 文脈が積み上がりすぎている
- 目的が途中で変わっている
といった状態になると、急激にパフォーマンスが落ちる。
つまり、
問題はロジックではなくコンテキストの持たせ方というケースが多い。
そこで、本書では下記のようなアプローチが紹介されている。
CLAUDE.md の活用
役割
CLAUDE.md は、Claudeに共有するプロジェクト前提の集約ファイル。
- 設計方針
- 技術スタック
- 制約条件
- 曖昧にしたくない判断基準
をまとめておくことで、セッションをまたいでも一貫した判断をさせるための仕組み。
/init コマンド
/init を実行するだけでディレクトリ配下を読み取りCLAUDE.md を自動生成してくれる
完全に正しいとは限らないが、ノープランで進めるよりは圧倒的にマシな初期状態を作れる。
今回の反省点として、最初にこれを作っていなかったのは致命的だった。
サブエージェント
なぜ必要か
エラー調査やログ解析などをそのまま親エージェントで行うと、コンテキストが肥大化する。すると、本来維持したい目的や設計意図が埋もれる、という問題が起きる。
サブエージェントの考え方
- 特定タスク専用のエージェントを切り出す
- 重い作業はサブ側で完結させる
- 親には要点だけを返す
これにより、親エージェントの文脈汚染を防ぐことができる。
登録と利用
定義は ./claude/agents/ 配下
親エージェントが必要に応じて利用する設計
スラッシュコマンド(Commands)
何ができるか
スラッシュコマンドは、決まった作業手順を再利用するための仕組み。
例:
機能追加時の一連の流れ
- 修正 → ビルド → 確認 の手順
- 影響範囲チェック
登録方法と呼び出し
.claude/commands/ 配下に Markdown を配置
add-feature XXX のように実行
ノープランで指示を出していた自分にとっては、「思考の型を固定する」ための装置として使えそう。
スキル(Skills)
スラッシュコマンドとの違い
コマンド:作業の流れを定義
スキル:ツールの使い分け・判断基準を定義
例えば、
- どの調査でどのツールを使うか
- どの粒度でコードを読むか
といった知識を Claude に教えるイメージ。
登録方法
.claude/skills/ 配下に Markdown を配置
description に概要を書くことで、
会話の中で自動的に参照される
まだ実践前だが、
Next.jsのような慣れていない技術領域では特に効きそう。
まとめ(反省込み)
今回の詰まりを振り返ると、
- ノープラン
- スペックなし
- コンテキスト管理なし
という、失敗のフルコンボだった。
元々はバイブコーディングのように10分で気軽にサービスが作れるのかな、と軽い気持ちで挑んだのだが、ある程度長期的にちゃんと作ろうとすると、そこまで魔法のように作れるということはなく、作り手の頭の中にちゃんとしたイメージが必要であるという当たり前の事実を、学んだ。
Claude Codeは魔法の杖ではなく、前提・文脈・判断基準をきちんと与えて初めて力を発揮する。