AIHero
    10 / 25为真正的工程师打造的 AI 技能 · 8 分钟阅读

    /research 技能

    从第一手资料中获取带引用的答案。

    Matt Pocock
    Matt Pocock
    下一页

    安装此技能

    npx skills@latest add mattpocock/skills --skill=research

    然后输入 /research 来调用它。

    本页内容

    它的作用

    research 通过阅读拥有答案的来源来回答问题,然后在仓库里留下一份带引用的 Markdown 文件。它只从 第一手资料 ——官方文档、源代码、规格说明、第一方 API——并把每条论断追回拥有它的来源,所以当 API 自己的文档可达时,它不会复述博客对 API 的描述。

    它不会在对话中回答你。输出是一个文件,写在仓库已经存放此类笔记的地方,每条论断都带链接。这正是要点:一份你可以回应、交给另一个智能体或扔掉的文档,而不是一个在 会话 结束。

    何时使用

    输入 /research,或这个 agent 当任务变成阅读跑腿时自动调用它。

    当下一步是 查明某事 来自工作目录之外——第三方 API 的行为、规格说明实际说了什么、版本声明是否成立——而你不想为了阅读卡住自己的主线。你需要什么决定用哪个技能:

    你需要什么何时使用
    一个决策正在等待的外部事实research
    一个在 with 你,通过审问追问审视
    一个写入 CONTEXT.md 和 ADRgrill-with-docs
    弄清楚一种方法在你的代码库里是否有效prototype
    大到一次会话装不下的计划wayfinder

    之间的分界线 research and grill-with-docs返回内容的上架寿命。研究产出的是短命资产——比如这个库的认证机制本周的表现。ADR 记录的是你要长期保留的决策。如果你产出的是决策而非事实,那你其实在 追问审视,不是研究。

    委派出去的跑腿活

    决定性的一招是阅读以 后台智能体。你继续工作;它跑出去,把每一条论断追到它的 第一手资料,写一个 Markdown 文件,然后汇报。研究是你委派出去的跑腿,而不是外包出去的思考——你得到一份可供审问、规划或设计的文档,最终决策仍由你做出。

    委托没有设防,后台智能体可以派生自己的进一步后台智能体。这是该技能记录最充分的粗糙之处。

    文件落在哪里由仓库决定,而不是技能:它匹配笔记已有的任何约定,如果没有就选一个合理的地方并告诉你。每次运行写一个文件。

    常见问题

    它派生了一个第二研究智能体——这是有意的吗?

    不。这是一个开放 bug, issue #530。该技能告诉调用者启动一个后台智能体,但没有限制智能体类型,所以它派生的智能体是 general-purpose 一个持有 Agent 工具和相同的指令——然后再次触发它们。一位报告者测量到单个研究任务大约花费 45 万 tokens 跨越三个重叠的运行,重复的那个半小时后完全在视野之外完成。它在 Claude Code 之外也能复现;同样的嵌套在 Codex 搭配 GPT-5.6-sol 时也被确认。没有已发布的修复。用户在自己的已安装副本上打了一个补丁,加了一行告诉已经是 子智能体 自己去做工作,这有帮助,但只是指令级而非结构级。调用后盯住后台任务列表,停掉重复的。

    相反的失败也存在:如果你自己的全局指令禁止智能体重新委托工作,后台智能体会礼貌地拒绝任务,技能悄悄什么都不做。

    文件应该放在哪里——而且我应该提交它吗?

    技能把文件放在仓库已有的笔记位置,除此之外没有更多主张。社区的意见相当一致:ADR 保留,研究文件不留。关于这个问题最尖锐的说法来自一条 Discord 线索:「ADR 留。其他完成后归档或删除。否则它变成工作的残骸,如果你已偏离规格/研究,还可能污染未来的仓库读取。」研究文件记录的是它写成那天的事实,所以过时的比没有更糟。总的来说,这些产物并不真正属于 git,也没有标准归宿——人们改用 Obsidian、单独的知识仓库或 issue 追踪器。

    什么算「高可信」第一手来源,由谁决定?

    这个 model 会的。该技能指明 kinds 符合资格的来源——官方文档、源代码、规格说明、第一方 API——而且没有白名单、没有领域门控、没有验证环节。这是技能刚被提出时最响亮的反对声,而且从未被公开回答过:「五个研究子智能体指向垃圾,只会更快给你五个自信的错误答案。你怎么把关什么算高可信来源?」你实际拥有的缓解措施是每条论断上的引用。跟两三个看看。如果它们落在某物的摘要而不是某物本身,这次运行就在它唯一的职责上失败了。

    后来的会话会复用之前运行发现的东西吗?

    不。没有什么会自动加载过去的研究文件;它就是一份躺在仓库里的文档,直到有人或技能指向它。这在早期就被提出,作为对设计的最强挑战——「价值在于 markdown 成为智能体日后重读的上下文,而不是获取本身。一份写一次就死的文件只是高级搜索」——而已发布的技能没有解决它。在实践中,文件靠被有意喂进下一步来值回票价:把它附到规格说明上,引用进 追问审视 会话,把 ticket 对着它。

    为什么不直接让智能体去读文档?

    可以,而一句说清这件事的两行提示词,正是这个技能取代的做法。技能比提示词多买来两样东西:它在后台运行,所以你的会话保持它的 context 干净,而第一手来源约束和带引用文件的输出每次都以相同方式产出,而不是取决于你碰巧怎么措辞。对照一个 运行框架自带的深度研究模式相比,区别在于产物与来源纪律,而不是搜索。如果两行提示词就能在小问题上拿到你需要的,就用两行提示词。

    它何时停止阅读?

    技能里没有停止标准,这表现为两个看似相反、实为同一缺口的抱怨:跑得过于深的智能体,和泛泛覆盖主题却漏掉那个关键具体细节的智能体。一位实践者说:「深度研究技能有时太深了。而让智能体研究通常导致漏掉关键细节。」范围由你把控。一个狭窄、可回答的问题——一个 API、一个行为、一个版本声明——返回的效果远好于「研究 X」。

    /wayfinder 创建了研究任务——这些要我自己解决吗?

    不,它现在为你触发它们。在 v1.1 之后未发布的改动中,制图会话会派生一个 /research 子智能体 每个研究任务,并行烧完它们,把发现捕获在一次性 research/<name> 带有一个 上下文指针 从任务中。研究任务是 wayfinder 每会话一个任务规则的唯一例外,因为它们是 AFK ——什么都不等你。那些分支有两个已知的坑:子智能体曾被看到从一个本不该合并的分支打开草稿 PR(issue #576),之后删除分支会破坏任务持有的上下文指针。

    做到以下就算成功

    • 你自己的会话继续运行。如果你坐在那里看它阅读,说明委托没有发生。
    • 恰好出现一个新的后台任务。第二个名字几乎相同的,就是嵌套 bug。
    • 出现一个新的 Markdown 文件,在仓库已用于笔记的文件夹里,智能体会告诉你路径。
    • 其中的每一条论断都带链接,随机跟两个就能落到官方文档、规格说明或真正的源文件上——而不是某人对它的转述。
    • 你可以仅凭文件做出卡住你的决策,无需自己回头查来源。

    在流程中的位置

    一个随时可调用的独立技能,滋养思维类技能,而不是待在构建链里。它的文件是可以带 into 流程: 追问审视 and grill-with-docs 在事实已经摆上桌面时问更尖锐的问题,并且 to-spec 可以对照它进行综合。 wayfinder 是唯一直接调用它的技能,用 /research 子智能体。整个地图,见 ask-matt.

    技能操作

    安装技能

    Live Skills.sh install count
    npx skills@latest add mattpocock/skills

    安装整套技能,然后在智能体中输入 /research 来调用它。

    用以下命令更新: npx skills updateSkills.sh