💭
反省会でプロンプトを改善する手法
どうもClaudeCode管理おじさんです。
ここ数年で、かなりAIさんとのコミュニケーションに慣れてきたとは思っているのですが、それでもやっぱりプロンプトの書き方がまずいのか思ったコードを書いてもらえない事が多々あります。
AIに「反省会」をやってもらう為の作成
という課題を感じつつ、途中からもう自分でコード書く方が早いのではと思いつつ、「ごめんね、ちょっと違うんだよね。こっちのコード見てみて?」「あれ docs/ai 確認してなく無い?」「ほら修正したらlint実行するの忘れてるよ」と何度もやりとりを繰り返しコードを完成させました。
また後ほど振り返りをする前提で、明らかに意図と違う場合もclaudeがコードを書き出すたびに常にコミットをしてもらいます。
反省会プロンプト
そして完成後の反省会に使ったプロンプトです。
まず前提として反省するのは指示を出している自分の方ですね。
https://github.com/xxx/xxx/pull/4602
の概要とリンクがあるissue、また各コミットの差分を確認してください。
何度も指示を繰り返し最終的に目的に近いコードが生成されました。
一度の指示で出来るだけ完成に近づけたいです
各コミットの差分からAIが理解できていなかった部分、誤解が生じた部分、
必要だったコンテクストなどを分析してください。
出力結果
📊 総括:効率化のためのベストプラクティス
🎯 最も重要な改善点
1. システム理解の深度不足
- project_v2とスキーマベースフォームシステムの複雑な相互作用
- GraphQL型生成の依存関係
2. 実装順序の最適化不足
- Fragment更新→型生成→実装の順序が不明確
- バックエンド連携タイミングの把握不足
3. コンテクスト収集の体系化不足
- docs/ai/ドキュメント未確認
- 既存パターンの調査不十分
🚀 次回から適用すべき改善策
指示時に必ず含める情報:
🎯 タスク概要: [具体的な機能要件]
🏗️ 対象システム: project_v2(スキーマベースフォーム使用)
🔧 技術要件: GraphQL Fragment更新必須、型生成必要
📁 関連ファイル: [事前に特定した影響範囲]
⚠️ 注意事項: [条件分岐、バリデーション等の特殊要件]
AIが最初に実行すべきアクション:
1. docs/ai/ドキュメント確認
2. 類似機能の既存実装調査
3. GraphQL Fragment構造確認
4. スキーマテンプレート影響範囲確認
5. 実装順序計画の作成
継続的な改善への取り組み
さらにここから
ありがとうございます。
分析結果を汎用的に使えるルールにまとめ
.claude/commands/issue_analysis.md
CLAUDE.md
docs/ai 内の該当ドキュメント
を修正してください
と、プロンプトの改善を依頼しました。
issue_analysis.md が チケット内容を確認して、実行計画を立てるためのプロンプトになっています。
issue_analysis -> 実行計画 -> コードの修正という流れを組んでいるので、次回の実行計画作成に反省が生きるはずです。
最終的には、この失敗パターンに陥ったら反省会をして大元のプロンプトを改善する。というフォードバックループが勝手に回ると良いかなと思っています。
という話でした、ここまで読んでくださりありがとうございます。
「ありがとうございます」は大事ですね。出力結果に影響のない無駄トークンかもしれませんが、これを書かなくなったら管理職として終わりです。今日もAIさんに感謝を込めて。
Discussion