コンテンツにスキップ

効果的なコミュニケーション

具体的なコンテキストを提供する

Section titled “具体的なコンテキストを提供する”

Claude に効果的に指示を伝えるには、具体的なコンテキストが重要です。

改善前改善後
「foo.py にテストを追加」「foo.py にユーザーがログアウト状態のエッジケースをカバーするテストを追加」
「APIがなぜ変?」「ExecutionFactory の git 履歴を確認して設計経緯を説明して」
「カレンダーウィジェット追加」「HotDogWidget.tsx をベースに同じパターンでカレンダーウィジェットを実装」

コンテキストに含めるべき情報

Section titled “コンテキストに含めるべき情報”
  1. 目的: 何を達成したいか
  2. 制約: 守るべきルール、使うべきパターン
  3. 参照: 参考にすべきファイルやドキュメント
  4. 期待結果: 成功の判断基準

Claude Code は様々な形式のコンテンツを理解できます。

@src/auth/login.ts を参照して、同じパターンで logout 機能を実装して

特定のファイルを直接参照することで、Claude が正確なコンテキストを得られます。

この画像のデザインを実装して
[スクリーンショットをペースト]

UI デザインやエラー画面などの視覚情報を共有できます。

https://example.com/api-docs を参照して、このAPIを呼び出す関数を作成して

外部ドキュメントを直接参照させることができます。

Terminal window
cat error.log | claude "このエラーの原因を分析して"

ファイル内容やコマンド出力を直接渡せます。

Claude はコードベースについての質問に答えることができます。

「キャッシュシステムはどこで実装されている?」
「認証フローを図で説明して」
「この関数の呼び出し元をすべてリストして」
「なぜこのデザインパターンを使っているか説明して」
「まずコードベースを探索して、決済処理の全体像を把握してから説明して」

インタビュー形式での要件定義

Section titled “インタビュー形式での要件定義”

大きな機能を実装する前に、Claude にインタビューしてもらうと効果的です。

「ユーザー通知システムを実装したい。実装に必要な情報を質問して」

Claude は以下のような質問をします:

  • どんな種類の通知が必要か?
  • リアルタイム性はどの程度必要か?
  • 既存の通知システムはあるか?
  • どのチャネル(メール、SMS、プッシュ)を使うか?
  1. 要件の明確化 - 曖昧な部分が明らかになる
  2. 漏れの防止 - 考慮すべき点を網羅
  3. 共通理解 - Claude と認識を合わせられる
  • 具体的なコンテキストを提供する(目的、制約、参照、期待結果)
  • リッチコンテンツを活用(@参照、画像、URL、パイプ)
  • コードベースへの質問で理解を深める
  • インタビュー形式で大きな機能の要件を明確化

Q1. プロンプトで効果的なのは?

Q2. コードベースの質問として適切なのは?

Q3. 大きな機能を実装する際の推奨アプローチは?