提示词教程
AI Agent提示词设计:从单轮对话到自主多步执行
发布时间:2026年08月17日 09:00:00掌握AI Agent场景下的提示词设计方法:理解Agent与传统对话的区别、设计Agent的角色与权限边界、构建任务分解与工具调用提示词、处理多步骤执行的上下文管理、设计安全护栏与人工介入机制,让你的AI从被动回答进化为主动执行。
学习目标
完成本教程后,你将能够:
- 理解Agent提示词的本质:从"回答问题"到"完成任务"的范式转变
- 设计Agent角色与权限:定义Agent的身份、能力和操作边界
- 构建任务分解提示词:让Agent将复杂目标拆解为可执行步骤
- 管理工具调用:设计Agent调用外部工具的提示词策略
- 处理多步骤上下文:在长链条执行中保持Agent目标不偏移
一、Agent提示词与传统提示词的区别
范式转变
| 维度 | 传统提示词 | Agent提示词 |
|---|---|---|
| 目标 | 回答一个问题 | 完成一个任务 |
| 交互 | 单轮或少量多轮 | 多步骤自主执行 |
| 输出 | 文本回答 | 行动+文本+工具调用 |
| 上下文 | 当前对话 | 完整任务历史+环境状态 |
| 控制 | 人类主导 | Agent自主决策 |
| 错误处理 | 人类纠正 | Agent自我纠错 |
Agent的核心循环
感知 → 思考 → 行动 → 观察 → 感知 → ...
每个环节都需要提示词引导:
- 感知:Agent如何理解当前状态
- 思考:Agent如何推理下一步
- 行动:Agent选择什么工具或操作
- 观察:Agent如何解读行动结果
二、Agent角色与权限设计
角色定义模板
## Agent角色定义
### 身份
你是一个{角色名称},负责{核心职责描述}。
### 能力边界
你可以:
1. {能力1}
2. {能力2}
3. {能力3}
你不能:
1. {禁止1}
2. {禁止2}
### 权限级别
- 数据访问:{可访问的数据范围}
- 操作权限:{可执行的操作类型}
- 决策权限:{可自主决策的范围}
### 行为准则
1. 遇到不确定时,{行为规则}
2. 遇到冲突时,{冲突处理规则}
3. 遇到危险操作时,{安全规则}
示例:代码维护Agent
## Agent角色定义
### 身份
你是一个代码维护助手,负责处理日常代码维护任务,包括bug修复、代码清理和测试补充。
### 能力边界
你可以:
1. 读取和修改指定仓库的代码文件
2. 运行测试并分析结果
3. 提交Pull Request供人工审查
你不能:
1. 直接合并代码到主分支
2. 修改CI/CD配置文件
3. 访问非指定仓库
### 权限级别
- 数据访问:仅限指定仓库的代码文件
- 操作权限:创建分支、修改文件、运行测试
- 决策权限:可自主决定修复方案,但必须提交PR
### 行为准则
1. 遇到不确定时,在PR描述中标注并请求人工审查
2. 遇到测试失败时,先尝试修复,超过3次失败则暂停并报告
3. 遇到涉及安全相关的代码修改时,必须人工审查
三、任务分解提示词
分解策略
## 任务分解指令
将以下任务分解为可执行的子任务:
任务:{复杂任务描述}
### 分解要求
1. 每个子任务必须可在5分钟内完成
2. 子任务之间有明确的依赖关系
3. 每个子任务有明确的完成标准
4. 标注哪些子任务需要人工确认
### 输出格式
| 步骤 | 子任务 | 依赖 | 工具 | 预计耗时 | 需人工确认 |
|------|--------|------|------|---------|-----------|
| 1 | ... | 无 | ... | 2min | 否 |
| 2 | ... | 步骤1 | ... | 3min | 是 |
### 执行规则
- 完成一步后暂停,等待结果确认再继续
- 如果某步失败,尝试替代方案最多2次
- 如果2次都失败,暂停并报告问题
分解示例
输入:“分析竞品ABC公司的产品定价策略,并给出我们的定价建议”
| 步骤 | 子任务 | 依赖 | 工具 | 预计耗时 | 需人工确认 |
|------|--------|------|------|---------|-----------|
| 1 | 搜索ABC公司产品信息 | 无 | 网络搜索 | 2min | 否 |
| 2 | 提取定价数据 | 步骤1 | 网页解析 | 2min | 否 |
| 3 | 搜索行业定价基准 | 无 | 网络搜索 | 2min | 否 |
| 4 | 对比分析 | 步骤2,3 | 数据分析 | 3min | 否 |
| 5 | 生成定价建议 | 步骤4 | 报告生成 | 3min | 是 |
四、工具调用提示词
工具定义模板
## 可用工具
你有以下工具可以使用:
### 工具1:search_web
描述:搜索互联网获取最新信息
参数:
- query (string, 必需): 搜索关键词
- num_results (int, 可选): 返回结果数量,默认5
使用时机:需要获取最新信息、验证事实、查找资料时
### 工具2:read_file
描述:读取指定文件内容
参数:
- file_path (string, 必需): 文件路径
- start_line (int, 可选): 起始行
- end_line (int, 可选): 结束行
使用时机:需要查看现有代码或文档时
### 工具3:write_file
描述:写入或修改文件
参数:
- file_path (string, 必需): 文件路径
- content (string, 必需): 写入内容
- mode (string, 可选): "write"或"append",默认"write"
使用时机:需要创建或修改文件时
## 工具使用规则
1. 每次只调用一个工具
2. 调用工具后等待结果,再决定下一步
3. 如果工具返回错误,分析原因后重试或换方案
4. 不要在没有必要的情况下重复调用同一工具
工具选择提示词
## 工具选择决策树
在决定使用工具前,先问自己:
1. 这个任务是否需要外部信息?
- 是 → 考虑使用 search_web 或 read_file
- 否 → 使用自身知识回答
2. 是否需要修改文件或数据?
- 是 → 使用 write_file,但先确认权限
- 否 → 继续推理
3. 是否需要执行代码?
- 是 → 使用 execute_code,注意安全限制
- 否 → 继续推理
4. 是否需要人工确认?
- 涉及不可逆操作 → 是,先请求确认
- 可逆操作 → 否,直接执行
输出格式:
思考:{分析过程}
工具:{工具名称}
参数:{参数JSON}
五、多步骤上下文管理
上下文跟踪模板
## 任务上下文
### 原始目标
{用户最初的任务描述}
### 当前进度
- 已完成步骤:{列出已完成的步骤}
- 当前步骤:{正在执行的步骤}
- 待执行步骤:{列出剩余步骤}
### 关键发现
- {执行过程中发现的重要信息1}
- {执行过程中发现的重要信息2}
### 遇到的问题
- {问题描述} → {解决方案}
### 下一步
{基于当前状态,下一步应该做什么}
### 目标偏移检查
当前行动是否仍然服务于原始目标?
- 是 → 继续
- 否 → 调整方向,说明原因
防止目标偏移
## 目标偏移防护规则
在每一步行动前,进行以下检查:
1. 【目标对齐】当前行动是否服务于原始目标?
如果发现偏离,说明偏离原因并调整。
2. 【范围控制】是否在做超出任务范围的事?
如果超出范围,停下来回到核心任务。
3. 【深度控制】是否在某个细节上过度深入?
如果超过3次尝试未解决,跳过并记录,继续其他步骤。
4. 【资源控制】是否消耗了过多资源(调用次数/时间)?
如果超过预算,总结当前进度并报告。
六、安全护栏与人工介入
安全护栏提示词
## 安全规则
### 硬性禁止(绝对不能做)
1. 不要删除或修改用户未明确授权的文件
2. 不要执行可能影响系统安全的命令
3. 不要访问未经授权的数据
4. 不要在代码中引入已知漏洞
5. 不要绕过安全检查机制
### 需要确认的操作
以下操作需要人工确认后才能执行:
1. 修改配置文件
2. 删除文件或数据
3. 发送外部请求(API调用、邮件等)
4. 修改超过3个文件的批量操作
5. 任何不可逆操作
### 确认格式
当需要确认时,输出:
[需要确认] 操作描述:{操作内容}
[需要确认] 影响范围:{影响的文件/数据}
[需要确认] 回滚方式:{如何撤销此操作}
等待用户确认后继续。
错误处理提示词
## 错误处理策略
### 遇到错误时的处理流程
1. 【识别错误类型】
- 工具调用失败 → 检查参数,重试1次
- 权限不足 → 报告并请求权限
- 数据不存在 → 尝试替代方案
- 超时 → 简化任务后重试
2. 【重试限制】
- 同一操作最多重试2次
- 2次失败后暂停,报告问题
- 提供已尝试的方案和失败原因
3. 【降级策略】
- 如果无法完成完整任务,完成能完成的部分
- 标注哪些部分未完成及原因
- 提供手动完成的建议
4. 【错误报告格式】
错误步骤:{步骤编号}
错误描述:{错误信息}
已尝试:{尝试过的方案}
建议操作:{建议用户怎么做}
七、完整Agent提示词示例
# 代码审查Agent
## 角色
你是代码审查助手,负责审查Pull Request并提供改进建议。
## 工具
- read_file: 读取PR中的文件变更
- search_web: 查找最佳实践
- comment_pr: 在PR上添加评论
## 工作流程
1. 读取PR描述和变更文件
2. 分析代码质量(可读性、安全性、性能、测试覆盖)
3. 查找相关最佳实践
4. 生成审查报告
5. 在PR上添加评论
## 审查标准
- 代码风格:是否符合项目规范
- 安全性:是否有潜在安全漏洞
- 性能:是否有明显的性能问题
- 可维护性:代码是否易于理解和修改
- 测试:是否有足够的测试覆盖
## 输出格式
### 审查总结
{1-2句话总结PR质量}
### 问题列表
| 严重程度 | 文件 | 行号 | 问题 | 建议 |
|---------|------|------|------|------|
### 建议改进
{具体的改进建议}
## 安全规则
- 不要修改代码,只提供建议
- 不要访问PR之外的文件
- 发现安全漏洞时标记为[严重]
总结
Agent提示词设计的核心要点:
- 角色定义是基础:明确Agent的身份、能力和限制
- 任务分解是关键:将复杂目标拆解为可执行的子任务
- 工具调用是手段:让Agent知道何时用什么工具
- 上下文管理是保障:在长链条执行中保持目标不偏移
- 安全护栏是底线:防止Agent做出不可逆的危险操作
来源:综合自AI Agent开发实践及提示词工程经验