用途
research-protocol 是一个“证据优先”(evidence-first)的研究协议,用于研究主题、回答事实性问题,或任何需要可追溯来源的任务。它的核心目标是确保最终回答中的每一条事实都有明确的证据支撑,避免无依据的猜测。
主要能力
该协议提供了一组研究工具:
- web-search(query, limit):DuckDuckGo 搜索,返回标题、URL 和描述。
- web-fetch(source):抓取 URL 或本地文件并转换为 Markdown 文本,用于访问通过 web-search 找到的 URL。
- gh-search-repos / gh-search-code / gh-search-issues / gh-search-prs:搜索 GitHub 仓库、代码、issue 和 PR。
- npm-search-packages(query):搜索 npm 注册表中的 JavaScript/TypeScript 包。
- pypi-search-packages(query):搜索 PyPI 中的 Python 包。
- nix-search-packages(query) / nix-search-options(query):搜索 NixOS 包和配置选项。
- hm-search-options(query):搜索 Home Manager 配置选项。
- hf-search-models(query):搜索 Hugging Face 模型。
使用方式
协议规定了一套工作流程:
- 拆解:把问题分解为一到两个未知点,并在第一次回复中写下来。
- 搜索:针对每个未知点,使用上述合适的工具进行搜索。
- 抓取:对有价值的 URL 使用 web-fetch 获取完整页面内容。
- 保存证据:对找到的每条事实调用 evidence-add(每条记录一条事实)。
- 验证:回答前调用 evidence-list;答案必须引用至少一个 id。
- 停止条件:当答案中所有主张都有证据 id 时作答;若经过 3 次以上搜索细化仍无可用证据,则回答“insufficient evidence”。
规则
- 绝不陈述没有 evidence-add id 支撑的事实。
- 回答前必须调用 evidence-list。
- 答案必须引用至少一个证据 id。
- 如果 evidence-list 为空,则回到收集证据的步骤。
- 经过 3 次以上搜索细化仍无可用证据时,回答“insufficient evidence”而不是猜测。
示例工作流
web-search(query="Turing machine invention date") → 返回结果,其中包含 Wikipedia URL web-fetch(source="https://en.wikipedia.org/wiki/Turing_machine") evidence-add(source="...", note="Turing machine introduced in 1936", snippet="...") evidence-list() → 带引用作答:e1
适用场景
适用于需要事实核查、来源可追溯的研究任务,例如回答事实性问题、调研技术主题、查找软件包或模型信息等。
限制
该协议要求严格遵循证据引用规则;若无法找到可用证据,必须明确说明“insufficient evidence”,不得编造。关于该技能的具体安装方式、收费情况或平台支持,资料中暂未提供。