项目文件夹

文件
2026-07-13 21:35:32 +08:00

7.5 KiB

name, description
name description
comprehensive-research-agent 确保在研究任务中通过多次工具调用实现彻底的验证、错误恢复和透明的推理

综合研究 Agent 最佳实践

本技能针对多步骤研究任务中常见的失败场景:未处理的工具错误、缺失的验证、不透明的推理以及过早得出结论。它提供了关于源验证、错误恢复和思考透明度的结构化协议,能显著提升研究质量和可靠性。

何时激活

  • 任务涉及使用 search、read_url 或 fetch 操作的网络研究
  • 任务需要从多个来源收集信息
  • 任务对完整性或验证有明确要求
  • 任务包含需要验证的文件操作(save、write、read
  • 任何涉及 3 次以上工具交互的研究或信息收集工作流

核心概念

  • 验证检查点:在阶段转换处进行显式验证步骤,确认工具输出、源相关性和信息完整性,然后再继续执行
  • 错误恢复协议:强制承认并处理工具失败,采用回退策略而非静默继续执行
  • 源可追溯性:清晰跟踪哪些源是实际检索到的,哪些是来自先验知识的引用,以防止幻觉
  • 实质性思考块:详细推理痕迹,记录每一步的见解、关联、空白和决策依据
  • 跨源验证:针对多个来源验证关键声明,并明确标注共识、矛盾和信息空白

应避免的模式

  • 静默工具失败:工具调用返回错误(404、超时、无效 URL),但 Agent 未加承认就继续执行,可能遗漏关键信息。务必记录失败并尝试恢复或记录该空白。
  • 模糊的完成声明Agent 声明"我已拥有足够的信息"或"研究已完成",而未说明学到了什么、哪些来源支持该声明、或存在哪些空白。应替换为具体的覆盖范围摘要。
  • 未经评估的源选择:Agent 未经评估相关性、可信度或时效性就直接读取搜索结果中的 URL。这会浪费工具调用在低质量来源上。务必在深入阅读前对来源进行排序和优先级划分。
  • 泛泛的思考块:思考内容仅包含下一步行动描述("现在我将搜索 X"),而不分析学到了什么、如何与目标相关联、或还有哪些问题。思考应具有实质性和反思性。
  • 验证方法错误:使用 list_directory 来验证文件创建可能因缓存问题产生假阴性。应始终使用 read_file 进行实际内容验证。
  • 未检索的引用:在最终报告中引用从未成功获取或阅读的来源(URL、论文标题)。应显式跟踪来源,禁止引用未检索的内容。
  • 冗余的工具调用:进行重复搜索或阅读来源,而不跟踪已获取的内容。应维护一个"已发现资源"跟踪器以避免重复。

推荐做法

  • 实施预读源评估:在阅读 URL 之前,按相关性、可信度、时效性和权威性对搜索结果排序。在思考块中记录选择依据。
  • 使用结构化思考块:每个思考块必须包含:(a) 从该来源/操作中学到了什么,(b) 它与研究目标的关联,(c) 发现的任何矛盾/空白,(d) 做出的策略决策。避免泛泛的下一步行动声明。
  • 添加强制性错误承认:当任何工具失败时,下一个思考块必须显式处理:说明失败类型,提出恢复策略(重试、替代来源或记录空白),并解释所选方案的理由。
  • 创建完成前验证清单:在宣布研究完成之前,验证:所有必需部分都有具体证据,所有来源均已成功检索,关键声明已交叉验证,空白已记录。
  • 实施跨源验证:从多个来源收集信息后,显式比较结果。标注各来源一致之处、矛盾之处以及仍未验证的内容。据此评估整体可信度。
  • 维护源跟踪表:在思考中创建一个简单表格,显示哪些 URL 已获取、哪些失败、哪些用于特定声明。切勿引用未检索的来源。
  • 使用 read_file 进行验证:确认文件写入时,使用 read_file 验证实际内容,而非 list_directory,后者可能因缓存问题导致假阴性。
  • 添加显式验证阶段:阅读来源后,写一段简短的综合摘要,确认其有用性,说明与研究目标的相关性,并在进入下一阶段前识别剩余空白。

指南

  1. 每次工具调用后,显式检查响应中的错误,并在下一个思考块中承认失败并说明恢复策略
  2. 在阅读 URL 之前,按相关性/可信度对来源排序并记录选择依据——绝不在未经评估的情况下阅读结果
  3. 思考块至少要有 3-5 个句子,并包含:学到了什么、与目标的关联、空白/矛盾以及后续步骤
  4. 创建完成前清单验证:所有需求已覆盖、来源已检索、声明已验证、空白已记录
  5. 维护源跟踪——仅引用已成功获取的 URL;禁止引用未检索的来源
  6. 撰写最终报告时,包含"限制与空白"部分,记录已尝试但失败或仍未验证的内容
  7. 使用 read_file(而非 list_directory)在保存操作后验证文件内容
  8. 尽可能对关键声明进行至少 2 个来源的交叉验证;显式标注共识或矛盾
  9. 跟踪已收集的信息以避免重复搜索——为多阶段研究实现"已发现资源"跟踪器
  10. 用具体的摘要替换模糊的"全面"声明:"已覆盖 Y 主题上的 X 个来源;缺少 Z 方面"

示例

  • 之前(反模式):"我搜索了上下文工程并找到了几个结果。现在我将阅读一些 URL,然后撰写报告。我已拥有足够的信息继续。"

之后(模式):"搜索返回了 15 个关于上下文工程的结果。评估相关性:Liu 等人(2024)在'中间迷失'现象方面似乎最具权威性;Anthropic 文档可能包含最新的上下文窗口规格;Patel(2023)涵盖了 RAG 最佳实践。将这三者列为最优先。先阅读最高优先级的结果。如果主要来源失败(URL 错误),将尝试备用搜索以找到正确的文档 URL,并在最终报告中注明该空白。"

  • 之前(反模式):工具返回了 Anthropic 上下文窗口 URL 的 404 错误。Agent 未加承认继续执行。后来引用"Claude 拥有 200K 上下文窗口"而未显示来源。最终报告引用了从未获取的 Google Research 论文。

之后(模式):工具返回了 Anthropic URL 的 404 错误。思考:"主要来源失败。回退方案:搜索替代的 Anthropic 文档 URL 或查找存档版本。如果不可用,仅从次要来源引用上下文窗口数据,并添加关于验证状态的免责声明。"然后:"交叉验证了 Claude 上下文窗口:Anthropic 博客(已成功读取)和两个开发者文档来源均一致认为是 200K。对该声明有把握。"源跟踪表显示:Anthropic URL(失败,使用了备用来源)、博客(成功)、开发者文档(成功)。


评分预期

包含多个工具(6 次以上)和多步骤推理链的复杂研究任务通常得分在 65-75 分 范围内。这并非提示词的局限,而是反映了:

  • 工具输出的固有变异性会影响推理路径
  • 多种有效方法会导致不同的中间分数
  • 长周期 Agent 执行的随机性

关注相对改进和模式消除,而非绝对分数。对于复杂任务而言,通过优化获得 5-10% 的提升已经意义重大。


技能元数据

生成日期2026-01-11 来源:推理轨迹优化器 优化迭代次数10 最佳得分72/100(第 4 次迭代) 最终得分70.0/100 得分提升67.6 → 70.0+3.6%