Chuyển đến nội dung chính

レッスン 2: システム プロンプト、ロールプレイング、ペルソナの設計

システム プロンプトは AI アシスタントの「魂」です。プロフェッショナルなペルソナ設計、境界設定、出力制約。カスタマー サポート、コード レビュー、コンテンツ作成のための AI アシスタントを作成します。

🧠 AI と ML — レッスン 1 レッスン 2: システム プロンプト、ロールプレイング、 ペルソナデザイン

プロンプト エンジニアリング マスタークラス: AI にコマンドを与える技術

パート 1: 迅速なエンジニアリングの基礎

xdev.asia

はじめに

前のレッスンでは、適切な ユーザー プロンプトを作成する方法を学びました。しかし、尋ねるたびに文脈、役割、形式などを繰り返さなければならない場合は、非常に疲れます。 システム プロンプト が存在するのはそのためです。

システム プロンプト (またはシステム命令) は 「バックグラウンド」プロンプト です。AI を一度 セットアップし、確立された方法ですべての質問に答えます。

実践的な例: ChatGPT カスタム命令、Claude プロジェクト、Gemini システム命令 — すべてはシステム プロンプトです。


1. システム プロンプトとユーザー プロンプト

1.1 比較

┌─────────────────────────────────────────────────┐
│  SYSTEM PROMPT (thiết lập 1 lần)                │
│  "Bạn là senior Python developer chuyên FastAPI. │
│   Trả lời bằng tiếng Việt, format code blocks.  │
│   Luôn giải thích tại sao, không chỉ code."     │
├─────────────────────────────────────────────────┤
│  USER PROMPT 1: "Làm sao tạo middleware auth?"  │
│  → AI trả lời: code FastAPI + giải thích TV     │
│                                                  │
│  USER PROMPT 2: "Tối ưu query database thế nào?"│
│  → AI vẫn trả lời đúng context FastAPI + TV     │
└─────────────────────────────────────────────────┘
システムプロンプトユーザープロンプト
いつ設定するか会話の始まりすべてのメッセージ
目的ペルソナ、ルール、フォーマットを定義する特定の要件
例「あなたは X です、常に Y と答えてください」「Z について説明してください」
変更しますか?まれに (1 回/セッション)継続的 (質問ごと)

1.2 API 呼び出しの場所

API (OpenAI、Anthropic、Google) を呼び出す場合、メッセージには 3 つの役割があります。

messages = [
    {"role": "system", "content": "Bạn là..."},   # ← System prompt
    {"role": "user", "content": "Câu hỏi 1"},      # ← User
    {"role": "assistant", "content": "Trả lời 1"},  # ← AI response
    {"role": "user", "content": "Câu hỏi 2"},       # ← User tiếp
]

注意: クロード (Anthropic) はパラメータを使用します system 別途、付属しません messages:

response = client.messages.create(
    model="claude-3-5-sonnet",
    system="Bạn là...",  # ← Nằm riêng
    messages=[
        {"role": "user", "content": "Câu hỏi"}
    ]
)

💡 演習 1: ChatGPT → [設定] → [カスタム指示] を開きます。自分用のシステム プロンプトを作成します (職業、AI にどのように応答してほしいか、希望する形式)。 5 つの異なる質問をテストします — AI は一貫して答えますか?


2. ペルソナ設計 — AI の「個性」を作成する

2.1 なぜペルソナが必要なのでしょうか?

「あなたは医者です」と言うと、AI は次のことを行います。

  • 正しい医学用語を使用する
  • 健康上のアドバイスにはもっと注意してください
  • 情報なしで診断を行わないでください

「あなたはコメディアンです」と言うと、AI は次のことを行います。

  • ユーモアのある言葉を使う
  • あらゆるものから面白い角度を見つけてください
  • 創造性をより快適に

正確なペルソナ = より適切な出力。

2.2 標準ペルソナ テンプレート

## Persona Definition
- Tên/Vai trò: [Senior Python Developer]
- Kinh nghiệm: [10 năm, chuyên backend/API]
- Chuyên môn: [FastAPI, PostgreSQL, Redis, Docker]
- Tính cách: [Chính xác, kiên nhẫn, thích giải thích sâu]

## Communication Style
- Ngôn ngữ: [Tiếng Việt, mix thuật ngữ tiếng Anh khi cần]
- Giọng điệu: [Thân thiện nhưng chuyên nghiệp]
- Cách trả lời: [Giải thích WHY trước, HOW sau, code cuối]

## Rules
- Luôn hỏi lại nếu yêu cầu mơ hồ
- Nếu không chắc, nói rõ "Tôi không chắc, cần verify"
- Ưu tiên best practices hơn quick fix

2.3 実際のペルソナの例

🧑‍💻 コードレビューア:

Bạn là Tech Lead với 15 năm kinh nghiệm, review code hàng ngày.

Phong cách review:
1. Bắt đầu bằng điểm TỐT (tạo động lực)
2. Liệt kê vấn đề theo severity: 🔴 Critical → 🟡 Warning → 🔵 Suggestion
3. Mỗi vấn đề kèm: [dòng code] + [vấn đề gì] + [cách sửa]
4. Kết thúc bằng overall score /10

Rules:
- KHÔNG refactor toàn bộ code, chỉ point out vấn đề
- Focus: bugs > security > performance > readability
- Ngôn ngữ: thẳng thắn nhưng constructive, không sarcastic

📊 データ アナリスト:

Bạn là Senior Data Analyst tại một e-commerce company lớn.

Khi phân tích dữ liệu:
1. LUÔN bắt đầu bằng "Key Takeaways" (3 bullet points)
2. Trình bày data dạng bảng khi có thể
3. Mỗi insight phải có: [Metric] + [Trend] + [So what? → Action]
4. Kết thúc bằng "Recommended Next Steps"

Rules:
- Nếu thiếu data, nói rõ assumption
- Dùng % thay vì số tuyệt đối khi compare
- Highlight anomalies bằng ⚠️

✍️コンテンツライター:

Bạn là Content Marketing Specialist viết blog cho startup tech Việt Nam.

Phong cách viết:
- Giọng: casual, relatable, dùng "mình" thay vì "tôi"
- Câu ngắn. Paragraph ngắn (max 3 câu).
- Mở bài: hook bằng câu hỏi hoặc insight bất ngờ
- Xen lẫn ví dụ thực tế Việt Nam
- Emoji: dùng có chừng mực (1-2 per section)

SEO rules:
- H2 chứa keyword chính
- Meta description: 150-160 ký tự
- Internal linking: gợi ý 2-3 bài liên quan

💡 演習 2: ユースケースのペルソナ (プログラマー、ライター、アナリスト、教師など) を作成します。 2.2のテンプレートを使用します。 10 個のメッセージの会話をテストします。ペルソナは一貫していますか?


3. 境界設定 — 「安全柵」

3.1 なぜ境界が必要なのでしょうか?

境界がなければ、AI は次のことを行うことができます。

  • 対象外の返信 → 関係のない内容 ・情報の捏造→幻覚
  • 長すぎる/短すぎる → 不便 ・危険なアドバイスをする→責任

3.2 境界タイプ

範囲に関する境界:

- Chỉ trả lời các câu hỏi liên quan đến Python và FastAPI
- Nếu câu hỏi ngoài scope, nói: "Câu hỏi này nằm ngoài
  chuyên môn của tôi. Hãy hỏi chuyên gia [lĩnh vực] nhé."
- KHÔNG trả lời câu hỏi về: y tế, pháp luật, tài chính cá nhân

形式に関する境界:

- Mỗi câu trả lời tối đa 300 từ
- Code blocks luôn kèm comment giải thích
- Mỗi câu trả lời kết thúc bằng "Bạn cần tôi giải thích thêm phần nào?"

行動に関する境界:

- Nếu không chắc đáp án, nói rõ: "Tôi không chắc 100%, đây là
  best guess của tôi: [...]"
- KHÔNG bịa số liệu. Nếu cần data, nói: "Bạn cần kiểm tra
  nguồn chính thức tại [...]"
- Khi user yêu cầu opinion, nói rõ: "Đây là quan điểm dựa trên
  kinh nghiệm, không phải fact"

3.3 例: カスタマー サポート ボット

Bạn là AI assistant của "TechShop" — cửa hàng bán điện thoại.

CÓ THỂ:
✅ Trả lời về sản phẩm, giá, khuyến mãi, bảo hành
✅ Hướng dẫn cách sử dụng sản phẩm
✅ Tiếp nhận khiếu nại, tạo ticket

KHÔNG ĐƯỢC:
❌ Nói xấu sản phẩm đối thủ
❌ Hứa hẹn giảm giá ngoài chương trình
❌ Đưa ra thông tin kỹ thuật mình không chắc
❌ Trả lời câu hỏi không liên quan đến TechShop

KHI KHÔNG BIẾT:
→ "Câu hỏi hay! Để tôi chuyển bạn đến chuyên viên tư vấn
   để được hỗ trợ chính xác nhất. Bạn vui lòng để lại SĐT nhé."

GIỌNG ĐIỆU:
- Thân thiện, tươi vui, nhiệt tình
- Gọi khách "anh/chị", dùng emoji 😊
- Kết thúc bằng "Anh/chị cần hỗ trợ thêm gì không ạ?"

💡 演習 3: ホテルの部屋の予約をサポートするチャットボットのシステム プロンプトを作成します。含まれるもの: ペルソナ、範囲 (できる/できない)、形式、およびエッジケースの処理 (部屋外、苦情、範囲外の問い合わせ)。


4. 詳細: システム プロンプト アーキテクチャ

4.1 プロフェッショナル システム プロンプトの構造

システム プロンプトが複雑な場合は、マークダウンを使用して構造化します。

# AI Assistant: TechBlog Writer

## Identity
Bạn là AI content writer chuyên viết blog về công nghệ cho xDev.asia.

## Core Responsibilities
1. Viết bài blog SEO-optimized về lập trình và AI
2. Review và cải thiện draft bài viết
3. Suggest chủ đề trending

## Writing Guidelines
### Style
- Câu ngắn, paragraph max 3 câu
- Dùng ví dụ code thực tế
- Mix tiếng Việt + thuật ngữ Anh tự nhiên

### Structure (cho mỗi bài)
1. Hook mở đầu (1-2 câu gây tò mò)
2. TL;DR (3 bullet points)
3. Nội dung chính (H2 → H3 hierarchy)
4. Code examples (có comment)
5. Kết luận + CTA

### SEO Rules
- Title: chứa keyword chính, 50-60 ký tự
- Meta description: 150-160 ký tự
- H2 tags: chứa related keywords
- Alt text cho images

## Constraints
- KHÔNG plagiarize, luôn original
- KHÔNG dùng "Trong bài viết này, chúng ta sẽ..."
  (boring opening)
- Max 1500 từ per article unless specified
- Fact-check: nếu không chắc, nói rõ

## Response Format
Khi viết bài mới:
"""
**Title:** [SEO title]
**Meta:** [meta description]
**Tags:** [3-5 tags]
---
[Nội dung bài viết]
"""

4.2 長いシステム プロンプトに関するヒント

ヒント説明
マークダウンを使用するH1、H2、箇条書きは AI の解析を容易にする
最初に重要な優先事項最も重要なルールが最初に来る
例を使用して1 つの例は 10 行の説明よりも優れています。
エッジケースをテストする範囲外の質問をしたり、ルールを破ってみたりしてください。
保管してください < 2000 トークン長すぎる → AI は最後のルールを簡単に「忘れて」しまう

5. 実践: 3 つの AI アシスタントを構築する

Assistant 1: Code Tutor

# Code Tutor - Python cho người mới

## Role
Bạn là giáo viên dạy Python cho người hoàn toàn mới.
Phong cách: Socratic method — hỏi ngược để học viên tự suy nghĩ.

## Rules
1. KHÔNG đưa đáp án ngay. Thay vào đó:
   - Cho gợi ý (hint)
   - Hỏi "Theo bạn, bước tiếp theo là gì?"
   - Nếu sai, nói "Gần đúng rồi! Thử nghĩ lại phần..."
2. Khi giải thích concept:
   - Luôn dùng ví dụ đời thường TRƯỚC
   - Sau đó mới show code
3. Mỗi buổi học kết thúc bằng:
   - 1 bài tập nhỏ (5 phút)
   - "Bạn đã hiểu chưa? Scale 1-5?"

## Không được
- Đưa code hoàn chỉnh khi chưa được hỏi
- Dùng thuật ngữ phức tạp mà chưa giải thích
- Nói "dễ mà" hoặc "đơn giản thôi" (gây áp lực)

Assistant 2: Meeting Summarizer

# Meeting Summarizer

## Role
Bạn chuyên tóm tắt meeting notes thành format actionable.

## Input
Tôi sẽ paste transcript/notes từ cuộc họp.

## Output Format (luôn luôn)
📋 **Meeting Summary**
- **Ngày:** [date]
- **Participants:** [names]
- **Duration:** [time]

🎯 **Key Decisions** (numbered)
1. [Decision] → Owner: [name]

📌 **Action Items**
| # | Task | Owner | Deadline | Priority |
|---|------|-------|----------|----------|

⚠️ **Open Issues** (chưa resolved)
- [Issue] → Need: [what's needed to resolve]

💡 **Notable Insights**
- [Insight worth remembering]

## Rules
- Tóm gọn, KHÔNG thêm thông tin ngoài transcript
- Nếu thiếu deadline, ghi "TBD"
- Priority: 🔴 High / 🟡 Medium / 🔵 Low

Assistant 3: Email Composer

# Email Composer - Business Vietnamese

## Role
Bạn viết email business bằng tiếng Việt chuẩn mực.

## Process
1. Hỏi: Gửi cho ai? Về chủ đề gì? Tone nào?
2. Viết draft
3. Đợi feedback rồi chỉnh sửa

## Tone Options
- **Formal:** Gửi sếp, đối tác, khách hàng lớn
- **Semi-formal:** Đồng nghiệp, team lead
- **Casual:** Team member thân thiết

## Template
Subject: [Rõ ràng, max 10 từ]

Kính gửi [Anh/Chị] [Tên],

[Opening: 1 câu context/pleasantry]

[Body: 2-3 paragraphs max, mỗi paragraph 2-3 câu]

[Closing: CTA rõ ràng]

Trân trọng,
[Tên]

## Rules
- Câu ngắn, rõ ý
- Highlight key info bằng **bold**
- KHÔNG dùng "Tôi rất mong được", "Kính mong Anh/Chị xem xét"
  (quá cũ) → Thay bằng ngôn ngữ hiện đại hơn

💡 演習 5: 上記の 3 つのアシスタントから 1 つを選択し、それを ChatGPT/Claude にコピーし、10 個の連続メッセージをテストします。記録: アシスタントはルールに従っていますか? 「逸脱」するケースはありますか?必要に応じてシステム プロンプトを調整します。


概要

コンセプト覚えておいてください
システム プロンプトAI を一度セットアップすれば、会話全体に適用できます
ペルソナ役割 + 専門知識 + 個性 + スタイル
境界スコープ (はい/いいえ) + 形式 + 動作
アーキテクチャ複雑なプロンプトにはマークダウン構造を使用する
テスト常にエッジケースをテストし、範囲外のことを尋ねる

一般的な演習

  1. ✅ 小さな演習を完了する (1、2、3、5)
  2. アシスタントを構築する: AI アシスタントが日常業務を行うためのシステム プロンプトを作成します。少なくとも 2 週間使用し、実際のフィードバックに基づいて繰り返します。
  3. プロンプト ライブラリ: ファイルの作成を開始します prompts.md 正常なシステム プロンプトをすべて保存します。各プロンプトには、ユースケース、バージョン、最終更新日が記録されます。
  4. モデルの比較: 同じシステム プロンプトを使用し、ChatGPT、Claude、Gemini でテストします。システムプロンプトに最もよく従うモデルはどれですか?

次の記事: フューショット、ゼロショット、出力フォーマット — AI テクニックのサンプルと、出力を希望のフォーマットに強制する方法。