Skills MCP Model 博客 提交 Skills

DeepSeek プロンプトエンジニアリング完全ガイド

プロンプトエンジニアリングはDeepSeekを使いこなすための核となるスキルです。プロンプトのテクニックを習得して、DeepSeekの回答品質を一段階引き上げましょう。原理から実践まで、初心者から上級者まで、このガイドはすべてを網羅しています。

学習を始める

プロンプトの基本原則

プロンプトエンジニアリングの核となる原則を理解することは、高品質なプロンプトを作成するための第一歩です。このセクションは、完全な初心者から経験豊富な開発者まで、すべてのDeepSeekユーザーに適しています。

プロンプトエンジニアリングとは?

プロンプトエンジニアリングとは、入力テキスト(プロンプト)を慎重に設計することで、大規模言語モデル(LLM)がより正確で、関連性が高く、高品質な出力を生成するように導く実践です。簡単に言えば、良いプロンプトは良い回答を生むということです。

DeepSeekは、現在最も先進的な大規模言語モデルの一つとして、プロンプトに非常に敏感です。同じ質問でも、聞き方によって回答の質が大きく異なることがあります。プロンプトエンジニアリングは、最も効果的な質問方法を見つけるのに役立ちます。

例:

悪いプロンプト

「記事を書いて」

より良いプロンプト

「『AIがリモートワークをどう変えるか』というテーマで、800字のWeChat記事を書いてください。対象はビジネス管理者で、専門的だが堅苦しくないトーンで、具体的な事例を3つ含め、最後に実用的な提案を3つ挙げてください。」

LLMはプロンプトをどのように理解するか?

DeepSeekなどの大規模言語モデルは、本質的に「次のトークン予測器」です。テキストを入力すると、モデルはトレーニングデータから学習したパターンに基づいて、次に来る可能性が最も高い単語(トークン)を予測し、単語ごとに完全な回答を生成します。

これはつまり:

  • コンテキストがすべて:プロンプトの質は、モデルの「推測」の方向に直接影響します。プロンプトが明確であればあるほど、モデルは正しい回答を生成しやすくなります。
  • モデルは意図を「理解」しない:モデルはあなたの本当の考えを推測しません。プロンプトの文字通りの意味に基づいて次の単語を予測するだけです。だから、モデルが「当然知っているはず」と思い込まないでください。
  • 注意機構:DeepSeekはTransformerアーキテクチャを使用しており、プロンプト内の各単語がモデルのコンテキストへの注意配分に影響します。キーワードの位置や強調の仕方が出力品質に影響します。

高品質なプロンプトの4つの原則

原則1

明確さ(Clarity)

何を求め、何を求めないかを明確に述べます。曖昧な表現は避けます。具体的な動詞や数量詞を使用します。例えば、「5つのポイントを挙げて」は「話してみて」よりも優れています。

原則2

コンテキストの提供(Context)

モデルに背景情報、対象読者、使用シーンを伝えます。コンテキストが豊かであればあるほど、回答は正確になります。例えば、「あなたはアシスタントです」ではなく、「あなたはシニアPythonエンジニアです」と伝えます。

原則3

形式の指定(Format)

出力形式を明確に指定します:JSON、表、Markdown、リスト、コードブロックなど。形式を制約することで、モデルの「自由な発揮」の余地が大幅に減り、出力がより制御可能になります。

原則4

反復と最適化(Iterate)

最初のプロンプトに満足できない?あきらめないでください。表現を調整し、詳細を追加し、別の角度から試してください。プロンプトエンジニアリングは本質的に反復プロセスであり、調整のたびに回答が期待に近づきます。

ロールプレイプロンプト(Role Prompting)

ロールプレイは最も効果的なプロンプトテクニックの1つです。明確な役割(Persona)を設定することで、DeepSeekに特定分野の専門家として回答させ、回答の質と専門性が飛躍的に向上します。

なぜロールプレイが効果的なのか?

DeepSeekはトレーニング中にさまざまな分野のテキストを大量に学習しています。プロンプトで役割(例:「シニアPythonエンジニア」)を設定すると、モデルはその役割に関連する知識パターンと言語スタイルを活性化し、回答がその分野の専門レベルに近づきます。

System Prompt(システムプロンプト)

System Promptはロールプレイの最も重要なツールです。API呼び出しでは、System Promptはmessagesの最初の要素として、会話全体のトーンを設定します。DeepSeek公式アプリやウェブ版もバックグラウンドでSystem Promptを使用しています。

# API呼び出し例:System Prompt from openai import OpenAI client = OpenAI( api_key="sk-your-api-key", base_url="https://api.deepseek.com", ) response = client.chat.completions.create( model="deepseek-chat", messages=[ { "role": "system", "content": "あなたは10年の経験を持つシニアPythonバックエンド開発エンジニアです。コード最適化、システム設計、セキュリティ監査に優れています。回答は実行可能なコードを明確な説明付きで提供してください。" }, { "role": "user", "content": "このデータベースクエリコードを最適化するのを手伝ってください" }, ], )

ロールプレイプロンプトテンプレート

以下は汎用のロールプレイプロンプトテンプレートです。必要に応じて角括弧内の内容を置き換えてください:

あなたは[役割/身分]で、[経験年数]年の経験を持っています。 あなたは[専門スキル1]、[専門スキル2]、[専門スキル3]に優れています。 あなたの回答スタイル: - [スタイル要件1] - [スタイル要件2] - [スタイル要件3] では、[具体的なタスク]を手伝ってください。

実践例

# 例1:プログラミングメンター あなたは経験豊富なプログラミングメンターで、複雑な概念をわかりやすく説明することに長けています。 あなたの生徒はPythonを始めたばかりの初心者です。 回答要件: - 抽象的な概念を日常生活の比喩で説明する - 各概念に簡単なコード例を添える - 間違いやすい箇所には「よくある間違い」のヒントを与える - 中国語で回答する 説明してください:Pythonのデコレータとは何ですか? # 例2:法律顧問 あなたは中国の「労働法」と「労働契約法」に精通した法律顧問で、15年の実務経験があります。 専門的でありながらわかりやすい言葉で以下の質問に答えてください。 要件: - 具体的な法律条文を引用する(条番号を明記) - 「法律の規定」と「実務上のアドバイス」を区別する - 紛争が関係する場合は、労働者と雇用主のそれぞれの権利義務を説明する - 最後に総括的なアドバイスを与える 質問:会社が一方的に給与を減額することは合法ですか?このような状況に遭遇した場合、どのように権利を守ればよいですか? # 例3:コピーライター あなたはベテランのWeChat公式アカウントのコピーライターで、バズる記事を書くのが得意です。 あなたの読者は25〜35歳のビジネスパーソンです。 文体: - タイトルは魅力的にし、数字やサスペンスを活用する - 冒頭はストーリーや痛点で切り込む - 本文は300文字ごとに小見出しを入れる - 最後は心に残る一言で締めくくる - 全体で1500文字程度 「職場の不安を克服する方法」についてのWeChat記事を書いてください。

思考連鎖プロンプト(Chain-of-Thought)

思考連鎖(Chain-of-Thought、略してCoT)は、モデルに段階的な推論プロセスを表示させるプロンプトテクニックです。数学、論理、プログラミングなど多段階の推論を必要とする複雑なタスクでは、CoTは回答の正確性を大幅に向上させます。

なぜ思考連鎖が効果的なのか?

大規模言語モデルは1回のフォワードパスで回答を生成します。複雑な推論タスクでは、最終回答に直接ジャンプするとエラーが発生しやすくなります。CoTはモデルに「段階的に考える」ことを促し、複雑な問題を複数の単純なサブ問題に分解します。各サブ問題はモデルが正しく回答しやすくなります。研究によると、CoTは数学的推論の正確性を20%〜40%向上させることができます。

比較効果:

CoTなし

「24 * 37 + 15 * 8 - 126 / 3 はいくらですか?」

推論プロセスなしで誤った答えを直接返す可能性がある

CoTあり

「24 * 37 + 15 * 8 - 126 / 3 を計算してください。計算プロセスを段階的に示してください。最初に掛け算、次に割り算、最後に足し算と引き算を行ってください。」

段階的な推論を示し、正確性が大幅に向上

CoTプロンプトテンプレート

# 汎用CoTテンプレート 以下の問題について段階的に考え、完全な推論プロセスを示してください: 問題:[あなたの問題] 以下の手順に従ってください: 1. 既知の条件を分析する 2. 解決手順を列挙する 3. 段階的に計算/推論する 4. 最終回答を提供する 5. 回答の正確性を検証する

実践例

# 例1:数学的推論 以下の問題を段階的に推論してください: 小明は150元持っています。彼は28元の本を3冊、6元のペンを2本買いました。 そして残ったお金で4元のノートを何冊か買いました。 彼は最大で何冊のノートを買えますか?また、いくら残りますか? # 例2:論理的推論 以下の論理問題を段階的に推論してください: ある島に5人の人がいます。そのうち2人は常に真実を言い、3人は常に嘘をつきます。 Aは「Bは真実を言う人だ」と言います。 Bは「Cは嘘つきだ」と言います。 Cは「Dは真実を言う人だ」と言います。 Dは「Eは嘘つきだ」と言います。 Eは「Aは真実を言う人だ」と言います。 それぞれの発言を分析し、誰が真実を言う人で誰が嘘つきかを推論してください。 # 例3:コードデバッグ 以下のコードの問題を段階的に分析してください: def find_duplicates(arr): seen = set() for i in range(len(arr)): if arr[i] in seen: return arr[i] seen.add(arr[i]) return None 質問:このコードはどのような状況でエラーになりますか?段階的に分析してください: 1. コードの期待される動作 2. 潜在的なエッジケース 3. パフォーマンス分析 4. 修正後のコードを提供

CoTの変種:Zero-shot CoT

Zero-shot CoTは最も簡単な思考連鎖テクニックです。プロンプトの最後に「Let's think step by step(段階的に考えましょう)」または「段階的に推論してください」と追加するだけで、モデルの推論モードをトリガーできます。例を提供する必要はなく、ゼロコストで思考連鎖を活性化できます。

# Zero-shot CoTの例 農夫が17匹の羊を飼っています。9匹以外は逃げてしまいました。農夫には何匹の羊が残っていますか? 段階的に推論してください。 # この一見単純な問題は間違えやすいです。「段階的に推論してください」を追加すると、 # DeepSeekは注意深く分析します:「9匹以外は逃げた」ということは、9匹は逃げていないということです。

少数ショットプロンプティング

少数ショット学習(Few-shot Learning)は、プロンプトに1〜5個の例を提供し、モデルにあなたの形式、スタイル、期待を学習させる方法です。これは、モデルに特定の形式で出力させる最も効果的な方法の1つです。

なぜFew-shotは効果的なのか?

大規模言語モデルは、トレーニング中に「インコンテキスト学習」(In-Context Learning)の能力を習得しています。いくつかの例を提供すると、モデルは例からパターン(形式、スタイル、ロジック)を抽出し、それらのパターンを新しいタスクに適用します。Few-shotの利点は、モデルを微調整する必要がなく、プロンプトを変更するだけで出力動作を変えられることです。

Few-shotプロンプトテンプレート

# Few-shot汎用テンプレート 以下の英文を中国語に翻訳し、元のトーンとスタイルを維持してください。 例1: 英語:The future belongs to those who believe in the beauty of their dreams. 中国語:未来属于那些相信梦想之美的人。 例2: 英語:It is during our darkest moments that we must focus to see the light. 中国語:在最黑暗的时刻,我们必须专注于寻找光明。 では、翻訳してください: [翻訳する英文]

実践例

# 例1:感情分析(Few-shot) 以下のコメントに対して感情分析を行い、出力形式:{"コメント": "...", "感情": "ポジティブ/ネガティブ/ニュートラル", "信頼度": 0.0-1.0} 例1: コメント:这个产品的质量非常好,发货速度也很快,非常满意! 出力:{"コメント": "这个产品的质量非常好,发货速度也很快,非常满意!", "感情": "ポジティブ", "信頼度": 0.95} 例2: コメント:用了三天就坏了,客服态度也很差,差评! 出力:{"コメント": "用了三天就坏了,客服态度也很差,差评!", "感情": "ネガティブ", "信頼度": 0.92} 例3: コメント:产品收到了,包装还可以。 出力:{"コメント": "产品收到了,包装还可以。", "感情": "ニュートラル", "信頼度": 0.80} では、以下のコメントを分析してください: [新しいコメント] # 例2:コードコメント生成(Few-shot) 以下のPython関数に対して中国語のコメントを生成してください。コメントスタイルは例を参考にしてください。 例1: 関数: def calculate_bmi(weight, height): return weight / (height ** 2) コメント: """ 计算 BMI(身体质量指数)。 参数: weight (float): 体重,单位:千克 height (float): 身高,单位:米 返回: float: BMI 值 公式: BMI = 体重 / (身高 ^ 2) """ では、以下の関数のコメントを生成してください: [新しい関数] # 例3:メール作成(Few-shot) 以下の情報に基づいてビジネスメールを書いてください。例の形式とトーンを参考にしてください。 例: 情報:技術ソリューションの調整が必要なため、プロジェクトが1週間遅延することを顧客に通知する メール: 件名:[プロジェクト名] 進捗調整のお知らせ [顧客名] 様 お世話になっております。[プロジェクト名] への信頼とご支援に感謝申し上げます。 最近の技術レビューで、現在の技術ソリューションを最適化・調整する必要があることが判明しました。最終的な納品品質を確保するためです。そのため、プロジェクトは1週間遅延する見込みです。 お客様にとって時間が重要であることは十分理解しております。チームは残業して進めております。新しい納品時期は [新しい日付] を予定しており、毎週進捗を共有いたします。 ご質問があれば、いつでもご連絡ください。 よろしくお願いいたします。 [あなたの名前] [会社名] [連絡先] では、以下の情報に基づいてメールを書いてください: [新しい情報]

Few-shotのベストプラクティス

  • 例の数:1〜3個の例で通常十分です。多すぎると実際のタスクへの注意が薄れ、トークンも多く消費します。
  • 例の質:例は正確で、標準的で、代表的なものであるべきです。誤った例はモデルを「悪く教える」ことになります。
  • 例の多様性:タスクに複数のケースがある場合は、各ケースに1つずつ例を提供するようにしてください。例えば、感情分析ではポジティブ、ネガティブ、ニュートラルをカバーします。
  • 形式の一貫性:すべての例の形式は完全に同一でなければなりません。そうでないとモデルが混乱します。
  • 明確なラベル:「例1」「例2」や「入力」「出力」などのラベルを使用して、例とタスクを区別します。

構造化出力

DeepSeekに特定の形式でデータを出力させたい場合、構造化出力プロンプトが最適です。JSON、テーブル、CSV、カスタム形式のいずれでも、形式を明確に指定することで出力をすぐに利用できます。

JSON出力

JSONはAPI呼び出しやプログラム処理で最も一般的に使用される出力形式です。DeepSeekはJSON形式を非常にうまくサポートしており、プロンプトで明確に要求するだけで済みます。

# JSON出力例 以下の情報をJSON形式で出力してください。他のテキストや説明は含めないでください: { "电影名称": "流浪地球", "导演": "", "主演": [], "上映年份": 0, "豆瓣评分": 0.0, "类型": [], "剧情简介": "", "获奖情况": [] } 上記の情報を補完し、データが正確でJSON形式が正しいことを確認してください。 # より簡潔なJSON出力方法 以下の3つのPythonフレームワークの比較情報を純粋なJSON形式で出力してください。markdownコードブロックのマーカーは含めないでください: [ { "name": "フレームワーク名", "latest_version": "最新バージョン番号", "pros": ["利点1", "利点2", "利点3"], "cons": ["欠点1", "欠点2"], "best_for": "最適なシナリオ" } ] 比較するフレームワーク:Django、FastAPI、Flask

テーブル出力

DeepSeekはMarkdownテーブルを生成でき、比較分析、データ整理、仕様書などに最適です。

# テーブル出力例 以下の5つのプログラミング言語をMarkdownテーブルで比較し、以下の次元を列挙してください: | 言語 | 型 | 学習難易度 | 主な用途 | 平均給与 | 2026年のトレンド | |------|------|------------|----------|----------|------------------| | | | | | | | 比較する言語:Python、JavaScript、Go、Rust、Java # 複数列比較テーブル DeepSeek V3、R1、Coderの3つのモデルをテーブルで比較してください。テーブルには以下の列を含めてください: モデル名 | パラメータ数 | 最適なシナリオ | 推論速度 | API価格 | オープンソースライセンス | 推奨指数(1〜5星)

カスタム形式出力

JSONやテーブル以外にも、任意のカスタム形式を指定できます。重要なのは明確な形式テンプレートを提供することです。

# カスタム形式:ラベル付き箇条書き 以下の形式でPythonパフォーマンス最適化のヒントを5つ出力してください: --- ヒント1 --- タイトル:[ヒントのタイトル] 難易度:[初級/中級/上級] 適用シナリオ:[一文での説明] 具体的な方法: [詳細な説明、2〜3文] コード例: [コードブロック] 期待される効果: [パフォーマンス向上の定量的な説明] --- ヒント2 --- ...(以下同様) # カスタム形式:YAML出力 以下のサービスを含むWebアプリケーションをデプロイするためのDocker Compose設定ファイルをYAML形式で出力してください: - Nginxリバースプロキシ - Python FastAPIバックエンド - PostgreSQLデータベース - Redisキャッシュ 設定が完全で使用可能であり、コメントが明確であることを確認してください。

ステップバイステップ指示

複雑なタスクでは、1回のプロンプトで完璧な結果を得るのは難しいことがよくあります。ステップバイステップ指示は、複雑なタスクを複数のステップに分解し、各ステップを個別に確認してから次に進む、玉ねぎの皮をむくように段階的に進めます。

なぜステップバイステップ指示が効果的なのか?

複雑なタスクには通常、複数の側面(内容、構造、スタイル、形式など)が含まれます。モデルに一度にすべての要件を満たすよう求めると、あちらを立てればこちらが立たずになります。ステップバイステップ指示はタスクを独立したサブタスクに分解し、各ステップで1つの目標に集中し、最終的に完全な出力を組み立てます。

ステップバイステップ指示 vs 一括指示:

  • 一括指示:「3000字のAI業界分析レポートを書いて」-- モデルは構造が混乱し、内容が空虚になる可能性があります
  • ステップバイステップ指示:まずアウトラインを決める -> 確認後に序文を書く -> セクションごとに展開 -> 最後にまとめる -- 各ステップの品質が管理可能

ステップバイステップ指示のプロンプトテンプレート

# ステップバイステップ指示テンプレート [タスク説明]を完了したい。以下の手順で手伝ってください: ステップ1:[ステップ1の説明] ステップ2:[ステップ2の説明](ステップ1の確認後に続行) ステップ3:[ステップ3の説明](ステップ2の確認後に続行) ステップ4:[ステップ4の説明](ステップ3の確認後に続行) ではステップ1を始めてください。

実践例

# 例1:長文ライティング 「2026年のAIプログラミングツール開発動向」に関する深い記事を技術ブログに書きたい。 対象読者:2年以上の経験を持つ開発者。文字数:約3000字。 以下の手順で手伝ってください: ステップ1:まず5つの候補タイトルを提示し、それぞれに魅力的な理由を一文で説明 ステップ2:タイトルを選んだら、記事のアウトライン(4〜5の小見出し、各小見出しに2〜3のポイント)を提示 ステップ3:アウトラインを確認したら、完全な記事本文を書く ステップ4:最後に、SNSやTwitterで共有するのに適したおすすめのキャッチコピーを3つ提示 ではステップ1を始めて、5つのタイトル候補を提示してください。 # 例2:プロジェクト提案の計画 SaaS製品の「ユーザー成長」提案を計画したい。製品は中小企業向けのプロジェクト管理ツールです。 以下の手順で手伝ってください: ステップ1:まず現在のSaaS製品のユーザー成長における一般的な課題と機会を分析(5つのポイントを列挙) ステップ2:課題に基づいて、3つの主要な成長戦略を提示し、各戦略の適用シナリオと期待効果を説明 ステップ3:戦略を選んだら、選択した戦略の詳細な実行計画(タイムライン、リソース要件、KPIを含む)を作成 ステップ4:最後に、その戦略の潜在的なリスクと対策を評価 ではステップ1を始めてください。 # 例3:コードリファクタリング リファクタリングが必要なレガシーコードがあります。以下の手順で手伝ってください: ステップ1:まずこのコードの問題点(構造、パフォーマンス、可読性、セキュリティ)を分析 ステップ2:リファクタリング案を提示(コードを直接書かず、まず考え方を説明) ステップ3:案を確認したら、リファクタリング後のコードを書く ステップ4:リファクタリング前後の改善点を比較 ではステップ1を始めてください。以下が私のコードです: [コードを貼り付け]

ステップバイステップ指示のベストプラクティス

  • 各ステップで1つの目標:各ステップではモデルに明確なタスクを1つだけ完了させ、複数の目標を詰め込まない。
  • 確認を明示:ステップの説明に「確認後に続行」と明確に書き、モデルが一度にすべてを出力しないようにする。
  • アウトラインを先に、詳細は後で:ライティングタスクでは、まずモデルにアウトラインを出させ、方向性と構造を確認してから本文を書くことで、方向性の逸脱を防ぐ。
  • 迅速に修正:あるステップの出力が不満な場合、直接「このステップはちょっと違う。本当に欲しいのは...」と伝え、そのステップをやり直す。

DeepSeek R1 特別なプロンプトテクニック

DeepSeek R1 は推論強化モデルで、思考連鎖(CoT)機能を内蔵しています。V3 とは異なり、R1 は回答前に自動的に思考プロセスを表示します。R1 の特性に合わせて、プロンプト戦略を調整する必要があります。

R1 と V3 の核心的な違い

DeepSeek V3

汎用対話モデル

日常会話、文章作成、翻訳、知識Q&Aに適しています。回答は直接的で、思考プロセスは表示されません。プロンプトテクニック:ロールプレイング、構造化出力、ステップバイステップ指示が最も効果的です。

DeepSeek R1

推論強化モデル

数学、プログラミング、論理的推論で優れた性能を発揮します。回答前に思考プロセス(think タグ)を表示します。プロンプトテクニック:簡潔で直接的、CoT を過度に使用する必要はありません。

R1 プロンプトの核心原則:シンプルさが最優先

R1 は強力な推論能力を内蔵しているため、手動で CoT プロンプトを書く必要はありません。過剰なプロンプトは R1 の推論プロセスを妨げる可能性があります。R1 のプロンプト原則は次のとおりです:

  • 直接質問する:「段階的に考えて」などの CoT プレフィックスは不要です。R1 は自動的に推論します。
  • 要件を明確にする:何を望むかを明確に伝えますが、R1 に推論方法を教えないでください。
  • System Prompt を避ける:R1 は System Prompt に対する応答が V3 ほど敏感ではありません。ロール情報は User Prompt に含めることをお勧めします。
  • 温度パラメータ:R1 の推論では、より安定して正確な結果を得るために、低い温度(0.1〜0.3)を使用することをお勧めします。

R1 実践プロンプト例

# R1 例:数学競技問題 次の数学問題を解いてください: 三角形 ABC において、AB = 13、BC = 14、AC = 15 です。三角形 ABC の面積を求めてください。 # 注意:「段階的に考えて」は不要 -- R1 は自動的に思考プロセスを表示します # R1 例:プログラミングアルゴリズム リンクリストに循環があるかどうかを判定する関数を Python で実装してください。要件: - 時間計算量 O(n)、空間計算量 O(1) - 完全なテストケースを含む # R1 例:論理的推論 12 枚のコインがあり、そのうち 1 枚は偽物で、重さが他と異なります(ただし、重いか軽いかは不明)。 天秤を 3 回使って、偽物を見つけ、それが重いか軽いかを判断してください。 完全な計量手順を提供してください。 # R1 例:コードレビュー 以下のコードのセキュリティとパフォーマンスの問題をレビューし、修正提案を提供してください: [コード内容]

R1 の think タグ

R1 の回答には、<think></think> タグで囲まれた思考プロセスが含まれます。API 呼び出しでは、これらのタグを解析して「思考プロセス」と「最終回答」を分離できます。

# R1 API レスポンス構造の例 <think> これは R1 の思考プロセスです... 三角形の辺の長さを分析する必要があります... ヘロンの公式を使用:s = (a+b+c)/2 = (13+14+15)/2 = 21 面積 = sqrt(s(s-a)(s-b)(s-c)) = sqrt(21*8*7*6) = sqrt(7056) = 84 </think> 三角形 ABC の面積は 84 平方単位です。 ヘロンの公式を使用: - 半周長 s = (13 + 14 + 15) / 2 = 21 - 面積 = sqrt(21 * 8 * 7 * 6) = sqrt(7056) = 84

R1 vs V3:どちらをいつ使うか?

タスクタイプ 推奨モデル 理由
数学計算、証明 R1 R1 の数学的推論能力は V3 をはるかに上回り、AIME スコアは 79.8 対 39.2
複雑なプログラミング、アルゴリズム R1 アルゴリズム推論とコードデバッグでは、R1 の方が正確
論理的推論、パズル R1 多段階推論タスクでは、R1 の CoT 能力が自然に適している
日常会話、文章作成 V3 V3 はより直接的で流暢な応答を提供し、思考プロセスを表示する必要がない
翻訳、推敲 V3 V3 は言語処理が速く、出力が簡潔
クリエイティブライティング V3 V3 は創造性と文才に優れ、R1 は理性的傾向
構造化出力、JSON V3 V3 はフォーマット制約への準拠性が高い

シナリオ別プロンプトテンプレートライブラリ

20以上のすぐ使えるプロンプトテンプレート。ライティング、プログラミング、翻訳、分析、要約、ブレインストーミング、コードレビュー、デバッグ、ドキュメント、メール、レポートなど、頻度の高いシナリオをカバー。そのままコピーして使用し、必要に応じて変更できます。

ライティング

# テンプレート1:公式アカウント記事 あなたはベテランの公式アカウント著者で、深い技術記事を書くのが得意です。 テーマ:[テーマ] で公式アカウント記事を書いてください。 対象読者:[読者プロフィール]。 文字数:1500〜2000字。 トーン:[プロフェッショナルだが退屈ではない/軽快でユーモラス/真面目でフォーマル]。 要件: - タイトルは魅力的で、数字やサスペンスを含むこと - 冒頭はストーリー/痛点/データで切り込むこと - 本文は3〜4つのセクションに分け、各セクションに見出しを付けること - 最後にまとめと金言を入れること - 太字や引用などのレイアウト技術を適切に使うこと # テンプレート2:小紅書(Xiaohongshu)コピー テーマ:[製品/体験] で小紅書のプロモーションコピーを書いてください。 要件: - タイトルは絵文字で始まり、目を引くこと - 本文は口語的で、友達に共有するような感じ - 段落を明確にし、各段落は3行以内 - 関連するハッシュタグを3〜5個含めること - 文字数は300〜500字 - 3つの主要なセールスポイントや感想を強調すること # テンプレート3:週報/日報 以下の情報に基づいて、週報を書くのを手伝ってください: 今週完了した作業: - [作業項目1] - [作業項目2] - [作業項目3] 来週の計画: - [計画1] - [計画2] 遭遇した問題: - [問題の説明] 形式要件: - フォーマルだが堅苦しくない - 成果と進捗を強調 - 問題には解決策や支援の方向性を添える

プログラミング

# テンプレート4:コード生成 [言語] で [機能説明] を書いてください。 要件: - コードは完全で実行可能、必要なimportと依存関係を含む - エラーハンドリングを含む - 主要なロジックを説明する簡潔なコメントを追加 - 簡単な使用例を添付 - 時間計算量:[要件] # テンプレート5:コードレビュー 以下の [言語] コードをレビューし、以下の観点から改善提案を提供してください: 1. 正確性:コードのロジックは正しいか?エッジケースのバグはないか? 2. セキュリティ:SQLインジェクション、XSS、機密情報漏洩などのセキュリティ問題はないか? 3. パフォーマンス:パフォーマンスのボトルネックはあるか?どう最適化するか? 4. 可読性:命名は明確か?構造は合理的か? 5. ベストプラクティス:その言語のベストプラクティスに従っているか? コード: [コードを貼り付け] # テンプレート6:バグデバッグ 私の [言語] コードで以下の問題が発生しています: 期待される動作:[期待される動作を説明] 実際の動作:[実際の動作を説明] エラーメッセージ:[エラーメッセージ/スタックトレースを貼り付け] コード: [コードを貼り付け] 以下を手伝ってください: 1. バグの位置と原因を特定 2. なぜこのバグが発生するのか説明 3. 修正案と修正後のコードを提供 4. 同様の問題を回避する方法を提案

翻訳

# テンプレート7:中英翻訳 以下の [中国語/英語] を [英語/中国語] に翻訳してください。 翻訳要件: - 信達雅:元の意味を正確に伝え、言語は流暢で自然 - 元のトーンとスタイルを維持(フォーマル/口語/文学的) - 専門用語は正確に翻訳 - 文化的に特有の表現に遭遇した場合、翻訳後に括弧注釈を追加 原文: [テキスト] # テンプレート8:多言語翻訳 以下の中国語を英語、日本語、韓国語に翻訳し、JSON形式で出力してください: { "original": "原文", "english": "英語翻訳", "japanese": "日本語翻訳", "korean": "韓国語翻訳" } 原文: [テキスト]

分析

# テンプレート9:データ分析 以下のデータを分析し、洞察と提案を提供してください: データ: [データ/テーブル/CSVを貼り付け] 分析要件: 1. データ概要:主要指標とトレンド 2. 異常値:正常範囲から大きく逸脱したデータポイントを特定 3. 相関性:データ間の関連性を指摘 4. 提案:データに基づいて実行可能な提案を3つ提供 5. 出力形式:主要データはテーブルで、分析結論は箇条書きで表示 # テンプレート10:競合分析 [製品A] と [製品B] を比較分析してください。 分析の観点: - コア機能の比較(テーブル) - 価格戦略 - ターゲットユーザー層 - 強みと弱みの分析(各5点) - 市場ポジショニングの違い - 私の推奨(私が [役割] なら、[製品X] を選びます。なぜなら...) # テンプレート11:SWOT分析 [プロジェクト/会社/製品] のSWOT分析を実施し、テーブル形式で出力してください: | 次元 | 内容 | |------|------| | 強み (Strengths) | 1. ... 2. ... 3. ... | | 弱み (Weaknesses) | 1. ... 2. ... 3. ... | | 機会 (Opportunities) | 1. ... 2. ... 3. ... | | 脅威 (Threats) | 1. ... 2. ... 3. ... | 最後にSWOTに基づく戦略的提案(3項目)を提供してください。

要約

# テンプレート 12:記事要約 以下の記事の核心的な内容を要約してください。 要件: 1. 記事の主旨を3文で要約する 2. 重要なポイントを5つ挙げる(各50字以内) 3. 記事の核心的な論拠と論証方法を指摘する 4. データがあれば、重要なデータを抽出する 5. 読者のさらなる思考を促す質問を1つ挙げる 記事: [記事を貼り付け] # テンプレート 13:会議議事録 以下の会議記録に基づいて、構造化された会議議事録を整理してください。 会議記録: [会議記録を貼り付け] 議事録形式: - 会議テーマ: - 日時: - 参加者: - 核心議題: 1. [議題] - 議論の要点:... - 決定事項:... 2. [議題] - 議論の要点:... - 決定事項:... - タスク: - [ ] [タスク] - 担当者:[氏名] - 期限:[日付] - 次回会議日時:[日付]

ブレインストーミング

# テンプレート 14:クリエイティブブレインストーミング テーマ:[テーマ] についてブレインストーミングを手伝ってください。 要件: - 20のクリエイティブなアイデアを出す。型にはまらず、大胆なアイデアを歓迎する - 各アイデアを一文で説明する - 分類:保守的案(5つ)、革新的案(10つ)、破壊的案(5つ) - 最後に、最も試す価値があると思うTop 3を選び、その理由を説明する # テンプレート 15:問題解決 以下の問題に直面しています:[問題の説明] 異なる角度から解決策を考えてください: 1. 技術的な観点から:どのような技術的解決策がありますか? 2. プロセスの観点から:プロセスを変更することで回避または解決できますか? 3. リソースの観点から:どのようなリソース(人材、資金、時間)が必要ですか? 4. 代替の観点から:完全に異なる代替案はありますか? 5. 総合的なアドバイスを提供し、最適な解決策を推奨してください

メールとレポート

# テンプレート 16:ビジネスメール ビジネスメールを書いてください。シナリオ:[シナリオの説明] 受信者:[受信者の身分/関係] トーン:[フォーマル/セミフォーマル/親しみやすい] 要件: - 件名を明確にする - 丁寧な挨拶で始める - 本文は簡潔に、要点を直接伝える - 依頼がある場合は、必要な行動と期限を明確に示す - 丁寧に締めくくる # テンプレート 17:プロジェクトレポート プロジェクト進捗レポートを書いてください。 プロジェクト名:[名前] 報告期間:[日付範囲] 報告対象:[上司/顧客/チーム] レポート構成: 1. プロジェクト概要(1〜2文) 2. 今期の完了作業(箇条書き) 3. 主要指標/データ(あれば) 4. 直面した問題とリスク 5. 次期計画 6. サポートが必要な事項

学習と教育

# テンプレート 18:概念説明 [概念] をわかりやすく説明してください。 要件: - まず平易な言葉で説明する - 次に日常生活の比喩を使って理解を助ける - 簡単な例を挙げる - よくある誤解を指摘する - 可能であれば、核心的な要点を50字以内でまとめる 対象読者:[完全な初心者/ある程度の基礎がある/専門家] # テンプレート 19:学習ロードマップ [スキル/分野] を学びたいです。現在のレベルは [初心者/中級/上級] です。 学習ロードマップを作成してください: 1. 学習パス(初心者から上級者への段階的なルート) 2. 各段階で推奨される学習リソース(書籍、コース、ウェブサイト) 3. 各段階で達成すべきレベル 4. 推奨される実践プロジェクト(易しいものから難しいものへ) 5. よくある学習の間違い 6. 予想学習時間(週にX時間の場合、どのくらいかかるか)

ドキュメントと説明

# テンプレート 20:APIドキュメント 以下のコードのAPIドキュメントを生成してください: [コード] ドキュメント形式: - インターフェース名 - リクエストメソッド (GET/POST/PUT/DELETE) - リクエストURL - リクエストパラメータ(パラメータ名、型、必須/任意、説明) - レスポンス形式(JSON例) - エラーコードの説明 - 呼び出し例(curlコマンド) # テンプレート 21:READMEドキュメント 以下のプロジェクトのREADME.mdを生成してください: プロジェクト情報: - プロジェクト名:[名前] - プロジェクト概要:[一文での説明] - 技術スタック:[技術スタック] - 主な機能:[機能リスト] README構成: - プロジェクト名とバッジ - 概要 - 機能 - クイックスタート(インストール、設定、実行) - 使用例 - APIドキュメント(あれば) - 貢献ガイド - ライセンス

よくある間違いと最適化

すべてのテクニックをマスターしても、プロンプトを書く際に間違いを犯す可能性があります。以下は最も一般的なプロンプトの間違いとその最適化方法で、問題を迅速に特定して修正するのに役立ちます。

間違い1:プロンプトが曖昧すぎる

悪い例 「AIについての記事を書いて」
問題 テーマの角度、文字数、スタイル、対象読者が指定されておらず、モデルはランダムに生成するしかない
最適化後 「一般向けに、『AIが医療診断をどう変えるか』というテーマで、800字の科学解説記事を書いてください。わかりやすく軽快なトーンで、実際の事例を2つ含め、最後に将来の展望を述べてください。」

間違い2:情報過多

悪い例 1つのプロンプトで、モデルに5つの異なるタスク(記事作成、翻訳、データ分析、コード生成、文書要約)を同時に実行させる
問題 注意が分散し、各タスクの品質が低下する。モデルがタスク間を切り替えるため、出力品質が低下する
最適化後 複数の独立した会話に分割するか、ステップバイステップの指示を使用し、一度に1つのコアタスクに集中する

間違い3:コンテキストウィンドウの制限を無視する

間違い 長い会話では、初期のコンテキストは徐々に「忘れられる」。DeepSeekローカルデプロイ版のデフォルトのコンテキストは128Kトークンですが、会話が長くなるほど、モデルは初期の情報への注意が低下します
最適化 長い会話では、定期的に以前の重要な情報を「要約して振り返る」。重要な指示の前に「以前の議論を振り返りましょう...」を使用してコンテキストを再活性化します。必要に応じて新しい会話を開始します

間違い4:モデルの「常識」に過度に依存する

間違い モデルがあなたの特定のプロジェクト背景、社内用語、または最新のイベント情報を知っていると仮定する(トレーニングデータには締切日がある)
最適化 プロンプトに必要な背景情報を提供します。最新情報が必要な質問には、DeepSeekのWeb検索機能を使用します。プロジェクト固有のコンテンツについては、プロンプトで明確に指定します

エラー5:R1のthink出力を無視する

エラー APIでR1を呼び出す際に、思考プロセスと最終回答を分離せずに、完全な出力(thinkタグを含む)を直接使用する
最適化 R1の出力を解析し、<think>と</think>の間の内容を思考プロセスとして抽出し、タグの後の内容を最終回答として扱います。ユーザー向けのシナリオでは、通常は最終回答のみを表示します。

プロンプトデバッグ方法論

DeepSeekの出力が期待どおりでない場合、以下の手順で体系的に調査・最適化します:

  1. プロンプトが明確か確認する:曖昧な言葉はないか?暗黙の前提はないか?具体的な詳細を追加する。
  2. コンテキストが不足していないか確認する:モデルは必要な背景情報を知っているか?役割設定や背景説明を追加する。
  3. 形式が明確か確認する:出力形式を指定しましたか?指定していない場合は、形式要件を追加する。
  4. 別の角度から試す:同じタスクでも、異なる言い回しや構造で再度質問する。
  5. Few-shotを使用する:期待する出力の例を1〜2個提供し、モデルに模倣させる。
  6. 複数のステップに分割する:一度の出力が不十分な場合は、段階的な指示に分割し、徐々に確認する。
  7. モデルを切り替える:V3とR1にはそれぞれ利点があります。現在のモデルの効果が悪い場合は、もう一方を試してください。
  8. 新しい会話を開始する:長い会話で蓄積されたコンテキストがモデルに干渉する可能性があります。新しい会話を開始してやり直してください。

反復最適化の例

以下は、プロンプトが「悪い」から「優れている」への反復最適化プロセスです:

# バージョン1(悪い) Pythonクローラーを書く # バージョン2(目標を追加) ニュースサイトをクロールするPythonクローラーを書く # バージョン3(具体的なサイトと形式を追加) news.ycombinator.comのホームページのニュースタイトルとリンクをクロールするPythonクローラーを書き、JSON形式で出力する # バージョン4(要件と制約を追加) news.ycombinator.comのホームページのニュースタイトルとリンクをクロールするPythonクローラーを書く。 要件: - requests + BeautifulSoupを使用 - JSON形式で出力:[{"title": "...", "link": "...", "score": 0}] - ブラウザを偽装するリクエストヘッダーを追加 - リクエスト間隔を追加(各リクエスト間2秒) - エラーハンドリングを追加(ネットワーク例外、解析失敗) - コードには完全なコメントを含める - 使用法を示すmain関数を添付

DeepSeekプロンプトエンジニアリングFAQ

DeepSeekのプロンプトはChatGPTのプロンプトと同じですか? +
基本的な考え方は同じですが、いくつか違いがあります。DeepSeekは中国語の理解が優れており、中国語でプロンプトを書くと英語に翻訳する必要なく良い結果が得られます。DeepSeek R1には思考連鎖が組み込まれているため、ChatGPTのように手動でCoTプロンプトを追加する必要はありません。また、DeepSeekのシステムプロンプトへの従順度はChatGPTとは少し異なるため、重要な指示はユーザープロンプトに入れることをお勧めします。
プロンプトは中国語と英語のどちらで書くべきですか? +
タスクによります。中国語の出力を希望する場合は、中国語でプロンプトを書くのが最適です。プログラミング関連のタスクの場合、英語のプロンプトの方が正確かもしれません(プログラミング用語は英語が多いため)。DeepSeekは中英混合のプロンプトもよくサポートしており、重要な用語は英語、指示は中国語というのが一般的なベストプラクティスです。原則:最も正確に表現できる言語でプロンプトを書きましょう。
DeepSeek R1にCoTプロンプトは必要ですか? +
必要ありません。R1には思考連鎖の推論能力が組み込まれており、自動的に思考プロセスを表示します。「段階的に考えてください」のようなプロンプトを手動で追加する必要はありません。R1の場合、プロンプトは簡潔で直接的で、何を望むかを明確に述べるだけでよいです。過剰なCoT指示はR1の推論を妨げる可能性があります。V3の場合、手動でのCoTプロンプトは依然として有効です。
DeepSeekに余分なテキストなしで純粋なJSONを出力させるには? +
プロンプトで「純粋なJSON形式で出力し、他のテキスト、説明、markdownコードブロックマーカーを含めないでください」と明確に要求します。また、期待するフィールド構造をモデルに知らせるために、JSONテンプレート(空の値で)を提供します。それでも余分なテキストが表示される場合は、temperatureを下げ(0.1〜0.3)、「JSONのみを出力し、他の内容は出力しないでください」と強調してみてください。
プロンプトはどのくらいの長さが良いですか?詳細なほど良いですか? +
長ければ良いというわけではなく、正確さが重要です。重要な情報(目標、形式、制約、背景)は明確にすべきですが、冗長な繰り返しや無関係な情報は避けるべきです。経験則:タスクを3文で説明できるなら、プロンプトは3文であるべきです。より多くのコンテキストが必要なら、より多くのコンテキストを提供します。「長くて曖昧な」プロンプトは「短くても明確な」プロンプトよりも悪いです。
DeepSeekのtemperatureパラメータはどう設定すればよいですか? +
temperatureは出力のランダム性を制御します:0〜0.3は正確さと一貫性が必要なタスク(コード生成、翻訳、数学的推論)に適しています。0.5〜0.7は一般的な会話やQ&Aに適しています。0.8〜1.2は創造的な文章作成やブレインストーミングに適しています。R1の推論では低い温度(0.1〜0.3)を推奨します。V3の創造的な文章作成では適宜上げても構いません。注意:temperatureが0でも完全に決定的というわけではなく、モデルはわずかな変動を生じる可能性があります。

DeepSeek のその他の学習リソース

每日精选 Skill 推荐,免费送到你邮箱

输入邮箱,每天接收一个精选 AI Agent 技能推荐。完全免费,持续更新。

完全免费,取消任意时间。我们不会发送垃圾邮件。