共计 2075 个字符,预计需要花费 6 分钟才能阅读完成。
低效提问 vs 优化提问对比
先看两个典型场景的对比效果:

低效提问示例
告诉我怎么写代码
响应特征:回答过于宽泛,可能返回 ” 首先学习编程基础 ” 等无具体帮助的内容
优化后提问
** 用 Python 写一个网页爬虫 **,要求:1. 使用 requests 和 BeautifulSoup 库
2. 爬取豆瓣电影 Top250 的电影名称
3. 处理反爬机制
4. 结果保存为 CSV 文件
响应特征:会给出完整可运行的代码示例,包含异常处理和文件存储逻辑
核心方法论拆解
1. 结构化指令(STAR 法则)
适用场景:需要复杂解决方案或分步骤指导时
错误示范:
帮我做一个用户管理系统
优化模板:
** 开发用户管理系统 **,要求:[S]ituation: 需要管理 10 万 + 用户的电商平台
[T]ask: 实现注册 / 登录 / 权限控制功能
[A]ction: 使用 Django 框架,包含:- JWT 认证
- 角色权限分组
- 密码加密存储
[R]esult: 输出完整项目结构和关键代码
预期响应:会提供完整的项目目录结构、推荐依赖包列表和核心视图代码
2. 上下文锚定技术
适用场景:多轮对话中维持主题一致性
错误示范:
(第二回合)上面说的那个函数再改改
优化模板:
** 继续优化之前讨论的爬虫代码 **(上下文:2023-05-20 对话中豆瓣爬虫):1. 增加 ** 随机 User-Agent** 功能
2. 添加 **IP 代理池 ** 支持
3. 异常处理中 ** 区分 HTTP 错误和解析错误 **
预期响应:会在原代码基础上精准添加新功能,保持变量命名一致性
3. 角色扮演模式
适用场景:需要特定领域专家视角时
错误示范:
解释一下区块链
优化模板:
** 作为资深密码学专家 **,请:1. 用比喻方式解释区块链工作原理
2. 对比 PoW 和 PoS 共识机制
3. 给出企业级应用的安全建议
预期响应:会使用 ” 数字账本 ” 等比喻,附带企业部署时的 TLS 配置建议
4. 渐进式追问技巧
适用场景:复杂问题分阶段解决
错误示范:
为什么我的机器学习模型不准?
优化模板:
** 诊断模型准确率问题 **,分三步:1. [数据阶段] 检查数据质量的方法有哪些?2. [特征阶段] 如何验证特征工程的有效性?3. [模型阶段] 超参数优化建议(当前使用随机森林)
预期响应:会逐步给出数据分布检查、特征重要性分析、GridSearchCV 示例
5. 错误修正话术
适用场景:AI 回答出现偏差时
错误示范:
不对,重来
优化模板:
** 修正请求 **:- 之前回答中「XXX」部分与最新文档不符(附参考链接)- 需要重点调整「YYY」实现方式
- 补充考虑「ZZZ」边界条件
预期响应:会引用你提供的文档版本重新生成答案,标注修改处
代码实战:Prompt 生成器
import json
def build_prompt(
task: str,
context: str = None,
role: str = None,
requirements: list = None,
examples: list = None
) -> str:
"""
构造结构化 prompt
:param task: 核心任务描述
:param context: 上下文锚点(对话 ID/ 日期):param role: 角色设定
:param requirements: 需求清单
:param examples: 示例输入输出
:return: 格式化后的 prompt
"""
prompt = []
if role:
prompt.append(f"作为{role},请:")
if context:
prompt.append(f"(上下文:{context})")
prompt.append(f"{task},要求:")
if requirements:
prompt.extend([f"{i+1}. {req}" for i, req in enumerate(requirements)])
if examples:
prompt.append("参考示例:")
prompt.append(json.dumps(examples, indent=2, ensure_ascii=False))
return "\n".join(prompt)
# 使用示例
print(build_prompt(
task="实现 JWT 认证中间件",
role="Node.js 安全专家",
requirements=[
"基于 Express 框架",
"支持 access/refresh 双 token",
"处理 token 过期自动续期"
],
examples=[{
"input": "Authorization 头缺失",
"output": "返回 401 状态码"
}]
))
生产环境建议
- 敏感信息过滤
- 使用正则表达式预处理提问(如剔除身份证 / 银行卡号)
-
对返回内容进行关键词扫描
-
对话日志分析
- 记录每个 prompt 的响应时间和 token 消耗
-
标记高质量问答对用于模板库
-
A/ B 测试策略
- 对关键任务准备 3 种提问版本
- 用命中率、响应长度等指标评估效果
- 定期优化 prompt 模板库
实践心得
经过两个月的持续优化,我们的客服机器人问答准确率从 43% 提升到 82%。最关键的经验是:先框架后细节 的提问逻辑,配合严格的上下文管理。建议新手从简单的 STAR 法则开始,逐步叠加角色设定等高级技巧,避免一次性提过于复杂的要求。
正文完
