共计 1558 个字符,预计需要花费 4 分钟才能阅读完成。
为什么提示词工程是 AI Agent 开发的核心
提示词 (Prompt) 是与 AI 模型对话的桥梁,就像给人类同事写工作邮件——表达越清晰,结果越理想。好的提示词能节省 30% 以上的调试时间,我在开发客服机器人时就深有体会:同样的 GPT-3.5 模型,优化提示词后准确率从 68% 提升到了 92%。

新手最常踩的 3 个坑
-
指令模糊
典型反例:” 写篇文章 ”
问题:没指定主题、长度、风格,结果可能跑偏成诗歌或菜谱 -
缺乏约束条件
典型反例:” 推荐旅游地 ”
问题:没预算限制时,AI 可能推荐私人飞机环游世界 -
忽视上下文连贯
典型反例:连续提问 ” 北京天气?上海天气?”
问题:AI 会当成两个独立问题,不会自动关联比较
优化对比实验
原始提示词:
“ 帮我写个 Python 爬虫 ”
→ 输出:无目标网站,代码包含已失效的 requests 用法
优化后提示词:
“ 用 Python 的 requests-html 库写爬虫,要求:
– 爬取豆瓣 Top250 电影名称和评分
– 处理反爬机制
– 结果存为 CSV”
→ 输出:可直接运行的完整脚本
Python 实战示例
import openai
from typing import List, Dict
# 基础提示词构造
def build_prompt(task: str, constraints: List[str]) -> str:
"""
构造结构化提示词
:param task: 核心任务描述
:param constraints: 约束条件列表
"""return f""" 请完成以下任务:{task}
要求:{'-' + '\n-'.join(constraints)}"""
# 多轮对话管理
class DialogueManager:
def __init__(self):
self.history: List[Dict] = []
def add_message(self, role: str, content: str):
"""记录对话上下文"""
self.history.append({"role": role, "content": content})
def get_response(self, max_tokens=500) -> str:
"""调用 OpenAI API 并保留历史"""
response = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=self.history,
temperature=0.7, # 控制创造性
max_tokens=max_tokens
)
return response.choices[0].message.content
# 使用示例
manager = DialogueManager()
manager.add_message("user", build_prompt(
"生成每周健身计划",
["针对办公室人群", "每次 30 分钟", "无需器械"]
))
print(manager.get_response())
生产环境必备技巧
- 敏感信息过滤
- 在 API 调用前用正则过滤用户输入:
r'(密码 | 账号 | 身份证)[::]?\s*([^\s]+)' -
对输出内容进行二次扫描
-
响应加速方案
- 设置合理的 max_tokens(通常 150-500)
-
对高频问题缓存标准回答
-
成本控制三板斧
- 监控 token 使用量:
usage.total_tokens - 简单任务用 text-davinci-003 替代 GPT-4
- 设置每分钟请求上限
进阶思考题
- 如何设计提示词让 AI 自动修正自己前一轮的错误回答?
- 当需要处理超长文档时,有哪些分块策略能保持上下文连贯?
- 怎样用 few-shot learning 提升专业领域(如法律咨询)的应答质量?
在实际项目中,我发现最有效的学习方式是:先复制成熟案例的提示词模板,再逐步调整适应自己的业务场景。建议从简单的天气查询机器人开始练习,慢慢过渡到复杂的多轮对话系统。
正文完
