External Research Skill 是一套强制性的外部研究方法论,用于在规划与实现阶段收集外部知识。它要求所有外部知识必须来自权威来源、经过验证、带有版本信息并被正确引用。
【为什么需要外部研究】 文档指出大语言模型存在知识截止,且可能虚构 API 细节、使用已弃用模式或错误的版本行为。仅依赖模型记忆处理技术实现细节是危险且不可接受的。常见失败模式包括:过时 API(如在 React 18 中使用 componentWillMount)、版本不匹配(在 0.95 项目中假设 FastAPI 0.100+ 语法)、虚构方法(臆造不存在的 .toJSON())、安全漏洞(使用过时认证模式)、错误默认值以及遗漏破坏性变更。
通过外部研究可以:直接从官方来源获取当前准确信息、在写代码前验证版本兼容性、发现模型记忆不知道的破坏性变更、查找安全公告与最佳实践、从官方文档定位可用代码示例、确保 API 签名与类型参数正确。
【研究能力】 环境通常提供三类能力,工具名因平台而异:
- Web 搜索:用于发现官方文档、更新日志、破坏性变更、安全公告、RFC、教程与最佳实践。建议使用具体查询、包含版本号与当前年份、搜索破坏性变更与安全公告、通过 domain 参数优先官方来源。文档强调时间感知搜索,例如使用 "FastAPI JWT authentication 2026" 而非不带年份的查询,并提示可使用 scripts/get_current_time.py --tips 获取查询示例。
- URL 抓取:用于读取搜索发现的文档页、规范、指南与参考资料。建议始终阅读官方文档而非搜索片段,提取准确 API 签名而非改写版本,注意警告、注意事项与边界情况,并确认文档版本与目标版本一致。需提取的内容包括:精确函数/方法签名与类型、必填与可选参数、默认值、返回类型、可抛出的异常类型、代码示例及版本相关说明。
- 文档 API(如 context7 MCP):用于深度、版本感知的框架、SDK 与 API 知识。可用工具包括 mcp_context7_resolve-library-id(将库名解析为 Context7 兼容 ID)与 mcp_context7_query-docs(查询指定库文档)。建议先解析库 ID,再使用具体详细查询并说明目标版本。库 ID 格式为 /org/project 或 /org/project/version,示例:/vercel/next.js、/fastapi/fastapi、/facebook/react、/expressjs/express。
【研究方法】 第一步:识别需要研究的内容——所有外部库/包及其确切版本、将使用的具体功能或 API、库之间的集成、安全敏感操作(认证、加密等)。 第二步:系统化研究——对每个外部依赖,解析库 ID、查询官方文档、补充搜索、阅读并验证文档。文档给出 FastAPI 研究示例的具体调用顺序。 第三步:记录发现——必须包含来源 URL(尽量带章节锚点)、文档适用版本号、与实现相关的关键发现、从官方来源提取的代码示例、文档中提到的警告与注意事项。
【不得依赖模型记忆的领域】 库 API、函数签名、版本兼容性、安全实践、框架行为、默认值、错误处理、配置选项、环境变量、数据库模式。
【验证清单】 发现验证:所有外部 API 与库经 web 搜索发现、定位官方文档 URL、识别版本特定文档。内容验证:所有引用文档页面经 URL 抓取阅读、准确提取 API 签名、记录代码示例。框架验证:适用时用 context7 MCP 验证框架/SDK 行为、确认版本特定模式、识别框架特有陷阱。准确性验证:明确声明依赖版本号、计划中不含未记录或假设行为、所有外部知识均有引用、适用时研究安全影响。
【引用格式】 标准格式包含:文档标题与链接、版本、关键内容、为何需要、来源工具(如 search_web → read_url_content 或 context7 MCP)。版本上下文应明确,如 "FastAPI v0.110 OAuth2PasswordBearer"、"React 18.2 useEffect cleanup"、"Next.js 14.1 App Router server actions"。
【常见场景】 使用外部库实现新功能、升级依赖、安全敏感代码、调试/错误研究。每个场景给出搜索、解析、查询、阅读文档的具体步骤。
【与规划阶段集成】 在规划阶段使用该技能时,规划第 3 阶段应利用全部三类工具;计划中的所有文档链接应通过这些工具获取;不得假设 API 细节而必须验证;实施计划应包含所有外部知识的引用;验证命令应将研究验证作为 Level 0。
【质量保证】 良好研究的标志:提及具体版本号、直接链接官方文档、提取精确 API 签名、引用官方代码示例、记录警告与注意事项、交叉引用多个来源、清晰引用轨迹。不足研究的标志:模糊表述(如"根据文档")、未指定版本号、改写 API 签名、无直接文档链接、未经核实的假设行为、单一来源、未引用代码示例。
【总结】 外部研究不是可选项,而是产出可靠、可维护、安全代码的强制要求。三类工具协同工作:发现(search_web)→ 验证(read_url_content)→ 深度上下文(context7 MCP)。始终研究、始终引用、始终验证、绝不假设。