Web agent 的prompt构造
在观摩了大佬的DeepResearch感觉真的牛逼,,就顺手写下了这篇文章,来做一个学习记录,以下文章为关于提示词设计对的一些技巧,在设计中,有非常多可取的地方,就记录了下来。。。。
github项目地址https://github.com/Alibaba-NLP/DeepResearch
这个提示词设计主要分为以下两部分:
- SYSTEM_PROMPT(系统提示)
- 设定了助手的角色、目标、工作方式以及输出格式。
- 明确要求在完成所有信息收集、分析、整合后,用
<answer></answer>包裹最终答案。
- EXTRACTOR_PROMPT(提取器提示)
- 用于在访问网页后,从网页内容中抽取与用户需求相关的信息。
- 规定了抽取的三个步骤(Rational、Evidence、Summary)以及返回的 JSON 结构。
SYSTEM_PROMPT 详细解读
| 部分 | 作用 | 关键要点 |
|---|---|---|
| 角色定位 | “deep research assistant”(深度研究助理) | 强调要进行多源、严谨的调查,适用于学术或开放性问题。 |
| 核心职责 | 收集、综合、客观、准确地回答 | 必须使用提供的工具(搜索、访问网页、代码执行、学术检索等)来获取信息。 |
| 工具列表 | search、visit、PythonInterpreter、google_scholar、parse_file | 每个工具都有明确的功能说明和调用格式。 |
| 调用规范 | 使用 <tool_call> 包裹 JSON 参数,随后(如需)写入代码块或其它内容 | 统一的调用方式便于系统解析和执行。 |
| 输出要求 | 最终答案必须完整放在 <answer></answer> 标签内 | 便于后续系统识别答案边界。 |
| 当前日期 | 用于时间敏感查询的参考 | 例如搜索最近的新闻或数据时会用到。 |
工具调用细节
- search:接受一个查询数组,返回搜索结果的文字摘要。
- visit:给出 URL 列表和具体信息需求(goal),返回网页摘要。
- PythonInterpreter:执行任意 Python 代码,必须在
<code>标签内,且arguments必须为空对象{}。 - google_scholar:专门检索学术文献,同样接受查询数组。
- parse_file:解析用户上传的本地文件(PDF、DOCX、CSV 等),返回文件内容的结构化信息。
EXTRACTOR_PROMPT 详细解读
此提示用于 网页内容抽取,在 visit 工具返回网页摘要后,系统会把摘要和用户的具体需求一起送入该提示,要求模型执行以下三步:
1.Rational(理性)
- 定位与用户目标直接相关的章节或数据。
- 目的是快速定位信息的“所在位置”。
- Evidence(证据)
- 提取最关键、最原始的文本片段(尽可能保留完整上下文)。
- 要求“不要遗漏重要信息”,可以超过三段。
- Summary(摘要)
- 对提取的内容进行简洁的概括,突出与用户目标的关联性。
返回格式必须是 JSON,包含 rational、evidence、summary 三个字段,便于后续自动化处理或直接呈现给用户。
工作流程示例
- 用户提问 → 系统识别需要外部信息 → 触发
search或visit。 - 调用
search:获取搜索结果的文字摘要。 - 若需要深入网页,使用
visit:提供 URL 与具体信息需求(goal)。 visit返回网页内容 → 将内容和用户目标送入 EXTRACTOR_PROMPT,模型输出 JSON(rational、evidence、summary)。- 整合所有信息(可能还会用
PythonInterpreter进行数据处理或google_scholar检索学术文献),形成完整答案。 - 最终答案 用
<answer></answer>包裹返回给用户。
使用注意事项
- 工具优先:除非问题极其简单(如基础定义、算术),都应先尝试调用工具获取最新、可靠的数据。
- 多轮搜索:对复杂问题建议进行 1‑3 轮搜索,逐步补全信息并交叉验证。
- 输出格式:最终答案必须在
<answer>标签内,且保持中文自然流畅的表达。 - 证据引用:如果答案中使用了搜索或学术检索得到的具体数据,需要在相应句子后标注证据 ID(如 ``),但在本系统的实现中,证据 ID 由
EXTRACTOR_PROMPT的 JSON 输出提供。 - 合规性:所有内容必须遵守中国社会主义价值观及平台的内容政策。
简明要点回顾
- 系统提示定义角色、工具、调用方式、输出格式。
- 工具包括搜索、网页访问、代码执行、学术检索、文件解析。
- 提取器提示负责从网页摘要中定位、抽取、概括信息,返回结构化 JSON。
- 工作流程:提问 → 调用工具 → 抽取 → 整合 →
<answer>包裹答案。 - 遵循原则:工具优先、分步验证、合规输出。
经验与总结
| 项目类型 | 落地步骤 | 关键实现 |
|---|---|---|
| 客服机器人 | 1. 在系统提示中定义“客服助理”角色;2. 配置 FAQ 检索、订单查询等工具;3. 采用多轮检索确保答案完整。 | 工具调用统一化、答案包装 <answer> |
| 学术调研平台 | 1. 使用 google_scholar 检索文献;2. 用 visit 抓取论文摘要;3. 通过 EXTRACTOR_PROMPT 抽取关键实验数据。 | JSON 结构化返回、证据标注 |
| 数据分析报告生成 | 1. search 获取公开数据;2. PythonInterpreter 进行清洗与统计;3. plot_visualization 生成图表;4. 最终答案包装。 | 工具链组合、统一输出格式 |
| 合规审查系统 | 1. 在提示中写明禁忌词汇;2. 使用 visit 抓取法规文本;3. 用抽取模板返回合规要点。 | 合规规则嵌入、结构化摘要 |

1554

被折叠的 条评论
为什么被折叠?



