Learn how Gen AI 学习笔记

第二节

Prompt 学习笔记:如何通过「加约束」让 AI 回答更有用

注:第一节为介绍 AI,因此略去


本节课的核心只有一句话:
好的 Prompt = 有角色 + 有上下文 + 有清晰约束

也就是 3C 原则:Context+constraints++Clarfy,也就是:背景+限制+清晰

下面我按本节课的课程结构,把内容拆开讲清楚。


Adding Constraints(为什么要加约束)

很多时候, AI 回答"太泛""不落地",问题往往不在 AI,而在 Prompt 太宽泛 。会让 AI 产生所谓的幻觉

Lesson(核心结论)

👉 Adding constraints improves relevance

加约束,能显著提升回答的相关性和可用性。


Basic Constraint(没有约束的 Prompt)

比如你想要,开车从SFO到NY,并且中间还想看看沿途的景点,这个时候你怎么提问呢?

Prompt:

How long by car from SFO to New York?

(从旧金山到纽约坐车需要多久?)

问题:

  • AI 只能给你一个纯时间估算

  • 对真实出行决策帮助不大


Improved Constraint(加了约束的 Prompt)

Improved Prompt:

List sightseeing spots en route by car, but include only those with ≤1 hour detour.

列出沿途适合自驾游的景点,但仅限绕行不超过1小时的景点。

变化点:

  • 不只是"多远"

  • 明确了:

    • 你是自驾

    • 你想顺路看景点

    • 绕路不能超过 1 小时

结果:

  • AI 给你的不再是"冷知识"

  • 而是可直接用于规划行程的建议


The 3C Prompting Formula(三要素公式)

这节课给了一个非常好记的公式:3C Prompting

1️⃣ Context(上下文)

告诉 AI:

  • 你是谁

  • 你在什么场景

  • 你要解决什么问题

示例:

You are a QA Engineer testing a banking app.


2️⃣ Constraints(约束)

告诉 AI:

  • 做什么

  • 不做什么

  • 关注重点

  • 忽略无关内容

示例:

  • 只关注安全问题

  • 只看 SQL 注入

  • 只看密码存储

3️⃣ Clarity(清晰度 / 输出要求)

明确:

  • 输出格式

  • 结构

  • 是否需要表格、列表、步骤

示例:

  • 用 bullet points

  • 标注行号

  • 不要长段落


📌 一句话总结 3C:

Context 决定方向,Constraints 限定范围,Clarity 决定可用性


QA Analogy:差 Prompt vs 好 Prompt

这一部分用 QA 的例子讲得非常直观。


❌ Poor Prompt(差的 Prompt)

Find bugs in my login code.

问题:

  • 没角色

  • 没重点

  • 没输出格式

  • AI 只能"随便说说"


✅ Better Prompt(好的 Prompt)

You are a QA Engineer reviewing my Python login code for security vulnerabilities.
你是一名质量保证工程师,正在审查我的Python登录代码是否存在安全漏洞。
Focus on SQL injection and password storage.
专注于SQL注入和密码存储。
Return bullet points with issue descriptions and line numbers.
返回带有问题描述和行号的要点列表。

为什么这个好?

它同时满足了:

  • 角色:QA Engineer

  • 任务:review login code

  • 约束:只看安全、只看两类问题

  • 输出:要点列表 + 行号


Lesson(重要结论)

Role definition + constraints + clarity = Actionable results

这句话非常重要,几乎可以当成 Prompt 编写的"公式"。


Refinement Steps(一步步优化 Prompt)

课程里给了一套Prompt 逐步精炼方法,非常适合日常工作。


Step 1:加角色

You are a QA Engineer working on an e-commerce site.


Step 2:明确功能范围

Write test cases for:

  • valid login

  • invalid login

  • forgot password


Step 3:加约束条件

Include at least 2 negative scenarios for each feature.
Cover browser compatibility (Chrome, Firefox).


Step 4:规定输出格式

Provide results in a table with columns:
Test Case ID | Title | Steps | Expected Result


Step 5:加优先级

Mark each test case with priority: High / Medium / Low.


Few-Shot Prompting(少样本示例法)

定义

Few-Shot Prompting

在提问前,先给 AI 看几个你想要的"示例答案"

AI 会自动模仿:

  • 结构

  • 风格

  • 粒度


通用模板

You are a QA Engineer.
Here are 2 example test cases in the format I want:

Example 1\], \[Example 2\]. Now create similar test cases for \[new scenario\].


QA 示例

  • Example 1:Valid login test case

    • 前置条件

    • 步骤

    • 预期结果

  • Example 2:Invalid login test case

    • 同样的结构

👉 然后让 AI:

完全相同的结构生成新的测试用例


总结

如果只记住三点就够了:

1️⃣ 不要直接提需求,要先定角色

2️⃣ 一定要加约束,否则 AI 只能泛泛而谈

3️⃣ 用格式 + 示例,能把 AI 输出变成"可直接用的交付物"

相关推荐
夏星印几秒前
学习吴恩达课程机器学习笔记
人工智能·笔记·学习·机器学习·ai
xuansec1 分钟前
PHP 反序列化漏洞学习笔记(CTF向总结)
笔记·学习·php
JicasdC123asd5 分钟前
快速跨阶段部分网络改进YOLOv26特征提取效率与梯度流动双重优化
人工智能·yolo·目标跟踪
Luna-player8 分钟前
第3章 Spring Boot的Web应用支持,个人学习笔记
前端·spring boot·学习
所 爱8 分钟前
【重磅更新】Cursor Pro 会员独享功能上线!支持 Claude 4.5,智能编码再升级!
人工智能
sheeta199812 分钟前
LeetCode 每日一题笔记 2025.03.20 3567.子矩阵的最小绝对差
笔记·leetcode·矩阵
weixin_4434785113 分钟前
flutter组件学习之卡片与列表
javascript·学习·flutter
Swift社区14 分钟前
AI 时代,应用入口正在消失
人工智能
free_7317 分钟前
超越“回答”,AI Agent迎来全链路安全治理挑战
人工智能·python·网络安全
召田最帅boy18 分钟前
SpringBoot实现AI智能评论审核与自动回复
人工智能·spring boot·后端·架构