最終更新:2025年11月29日|Context Engineering、効果的なプロンプトの原則を反映

概要

AIに効果的な指示を与えることは、Human-AI協調開発の基本スキルです。このページでは、プロンプト設計(AIへの指示の作り方)の基礎原則を解説します。

Context Engineering(コンテキストエンジニアリング)

2025年後半、Karpathy自身が提唱した概念:

"Context Engineering: the delicate art and science of filling the context window with just the right information for the next step"

AIに「適切な情報」を「適切な量」提供することが、良い結果を得る鍵です。

効果的なプロンプトの原則

原則1: 具体的であること

曖昧な指示は曖昧な結果を生みます。具体的な要件、制約、期待する出力形式を明示しましょう。

❌ 悪い例

ログイン機能を作って

✓ 良い例

Python (Flask) でログイン機能を実装してください。 要件: - メールアドレスとパスワードで認証 - パスワードはbcryptでハッシュ化 - ログイン試行は5回まで、超えたら15分ロック - セッション管理にはFlask-Loginを使用 既存のUserモデル: class User(db.Model): id = db.Column(db.Integer, primary_key=True) email = db.Column(db.String(120), unique=True) password_hash = db.Column(db.String(128))

原則2: コンテキストを提供すること

AIはプロジェクトの背景を知りません。関連情報を明示的に提供しましょう。

提供すべきコンテキスト:

  • プロジェクトの目的・背景
  • 使用技術・フレームワーク・バージョン
  • コーディング規約・命名規則
  • 関連する既存コード
  • 制約条件(パフォーマンス、セキュリティ等)
  • 期待する出力形式

原則3: 段階的に依頼すること

大きなタスクを一度に依頼すると、品質が低下します。小さなステップに分割しましょう。

❌ 悪い例

ECサイトを作って

✓ 良い例(段階的アプローチ)

ステップ1: 「商品一覧を表示するコンポーネントを作成」

ステップ2: (レビュー後)「カートに追加する機能を追加」

ステップ3: (レビュー後)「カート内容を表示するコンポーネントを作成」

...

原則4: 役割・視点を指定すること

AIに特定の役割や視点を与えると、より適切な回答が得られます。

✓ 例

あなたはセキュリティの専門家です。 以下のコードのセキュリティ脆弱性を指摘してください: [コード]

よくある失敗パターン

❌ 失敗1: 曖昧すぎる依頼

いい感じに直して

→ 「何を」「どのように」直すのか不明。AIは推測するしかない。

❌ 失敗2: コンテキスト不足

エラーを修正して

→ 何のエラーか、どのコードか、何を期待しているのか不明。

❌ 失敗3: 一度に大量の要求

ユーザー管理、商品管理、注文管理、決済、通知機能を全部作って

→ 品質低下、レビュー困難、修正も困難。

❌ 失敗4: 矛盾する指示

シンプルだけど高機能で、軽量だけど堅牢で...

→ トレードオフを明確にせず、AIを混乱させる。

プロンプト設計チェックリスト

依頼前に確認

  • 何を作りたいか具体的に説明したか?
  • 使用技術・バージョンを明記したか?
  • 制約条件を明記したか?
  • 関連する既存コードを提供したか?
  • 期待する出力形式を指定したか?
  • タスクが大きすぎないか?分割すべきか?

実践的なテンプレート

汎用テンプレート

【背景】 [プロジェクトの目的、現在の状況] 【使用技術】 [言語、フレームワーク、バージョン] 【今回の依頼】 [具体的に何をしてほしいか] 【制約・要件】 - [制約1] - [制約2] 【関連コード】 [必要に応じて既存コードを添付] 【期待する出力】 [形式、内容の指定]

注意点

参考文献

次へ

効果的なプロンプト設計(詳細)

コンテキスト提供技法

← 目次へ戻る