提示词教程

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提示词设计的核心要点:

  1. 角色定义是基础:明确Agent的身份、能力和限制
  2. 任务分解是关键:将复杂目标拆解为可执行的子任务
  3. 工具调用是手段:让Agent知道何时用什么工具
  4. 上下文管理是保障:在长链条执行中保持目标不偏移
  5. 安全护栏是底线:防止Agent做出不可逆的危险操作

来源:综合自AI Agent开发实践及提示词工程经验