知识研究 learn

知识研究技能是一个自动化研究工具,用于通过Exa深度研究、网络搜索等方式调查主题,扩展知识图谱。该技能支持多级研究深度(浅度/中等/深度),自动归档研究结果并记录完整来源元数据,支持后续处理流程链接。适用于知识管理、研究自动化、信息收集、数据分析和智能助手等场景。

AI智能体 0 次安装 0 次浏览 更新于 2/27/2026

name: learn description: 研究一个主题并扩展你的知识图谱。使用Exa深度研究、网络搜索或基础搜索来调查主题,记录完整来源的文件,并链接到处理流程。触发指令:“/learn”, “/learn [主题]”, “research this”, “find out about”。 user-invocable: true allowed-tools: Read, Write, Edit, Grep, Glob, Bash, mcp__exa__web_search_exa, mcp__exa__deep_researcher_start, mcp__exa__deep_researcher_check, WebSearch context: fork

立即执行

主题: $ARGUMENTS

立即解析:

  • 如果提供了主题:研究该主题
  • 如果主题为空:读取 self/goals.md 获取最高优先级的未探索方向并建议
  • 如果主题包含 --deep/--light/--moderate:强制该深度,从主题中移除标志
  • 如果没有主题且没有 goals.md:询问“您想研究什么?”

步骤:

  1. 读取配置 — 工具偏好、深度、领域词汇
  2. 确定深度 — 根据标志、配置默认值或回退到中等深度
  3. 研究 — 工具级联:主要 → 备用 → 最后手段
  4. 归档到收件箱 — 包含完整来源元数据
  5. 链接到处理 — 基于流程链接模式的下一步
  6. 更新 goals.md — 追加发现的新研究方向

立即开始。 下面的参考解释了方法论。


步骤 1: 读取配置

ops/config.yaml             — 研究工具、深度、流程链接
ops/derivation-manifest.md  — 领域词汇(收件箱文件夹、缩减技能名称)

来自 config.yaml(如果缺失则使用默认值):

research:
  primary: exa-deep-research      # exa-deep-research | exa-web-search | web-search
  fallback: exa-web-search
  last_resort: web-search
  default_depth: moderate          # light | moderate | deep
pipeline:
  chaining: suggested             # manual | suggested | automatic

来自 derivation-manifest.md(如果缺失则使用通用默认值):

  • 收件箱文件夹:inbox/(可能是 journal/, encounters/ 等)
  • 缩减技能名称:/reduce(可能是 /surface, /break-down 等)
  • 领域名称和中心 MOC 名称

步骤 2: 确定深度

优先级:显式标志 > 配置默认值 > moderate

深度 工具 来源 持续时间 使用场景
light WebSearch 2-3 ~5秒 检查特定事实
moderate mcp__exa__web_search_exa 5-8 ~10-30秒 探索子主题
deep mcp__exa__deep_researcher_start 全面 15秒-3分钟 主要研究方向

步骤 3: 研究 — 工具级联

输出标题:

研究:[主题]

  深度:[深度]
  使用:[工具名称]

按配置优先级顺序尝试工具。如果工具失败(MCP不可用、错误、结果为空),则降级到下一层。如果所有层都失败:

失败:研究失败 — 无可用研究工具

  已尝试:
    1. [主要] — [错误]
    2. [备用] — [错误]
    3. WebSearch — [错误]

  稍后重试或手动添加研究到 [收件箱文件夹]/

工具调用模式

exa-deep-research:

mcp__exa__deep_researcher_start
  instructions: "全面研究:[主题]。关注实际发现、关键模式、最新发展和可操作见解。"
  model: "exa-research-fast" (moderate) | "exa-research" (deep)

使用 mcp__exa__deep_researcher_check 轮询直到 completed。等待期间输出:

  研究 ID:[id]
  等待结果...

exa-web-search:

mcp__exa__web_search_exa  query: "[主题]"  numResults: 8

web-search(最后手段,也用于浅度深度):

WebSearch  query: "[主题]"

完成时:研究完成 — 分析了 [来源数量] 个来源


步骤 4: 归档结果到收件箱

文件名: YYYY-MM-DD-[slugified-topic].md — 小写,空格替换为连字符,无特殊字符。

写入领域收件箱文件夹(来自 derivation-manifest,默认 inbox/)。如果文件夹缺失则创建。

来源元数据

每个字段都服务于来源链。exa_prompt 字段最关键 — 它捕获了塑造研究的智力背景。

---
description: [1-2句关键发现摘要]
source_type: exa-deep-research | exa-web-search | web-search
exa_prompt: "[发送给研究工具的完整查询/指令字符串]"
exa_research_id: "[深度研究 ID,网络搜索省略]"
exa_model: "[exa-research-fast | exa-research,网络搜索省略]"
exa_tool: "[mcp 工具名称,深度研究省略]"
generated: [ISO 8601 时间戳 — 运行:date -u +"%Y-%m-%dT%H:%M:%SZ"]
domain: "[来自 derivation-manifest 的领域名称]"
topics: ["[[domain-hub-moc]]"]
---

仅包含与所用工具相关的字段:

  • 深度研究:source_type, exa_prompt, exa_research_id, exa_model, generated, domain, topics
  • Exa 网络搜索:source_type, exa_prompt, exa_tool, generated, domain, topics
  • WebSearch:source_type, exa_prompt, exa_tool, generated, domain, topics

正文结构

为下游缩减提取格式化 — 发现作为清晰命题,而非原始转储:

# [主题标题]

## 关键发现

[按主题组织的综合发现,而非按来源。每个发现应是一个清晰的命题,缩减阶段可以将其提取为原子见解。]

## 来源

[带标题和 URL 的来源列表]

## 研究方向

[新问题、未探索角度、后续主题。这些将反馈到 goals.md。]

步骤 5: 链接到处理

从配置中读取链接模式(默认:suggested)。

研究完成

  归档到:[收件箱文件夹]/[文件名]

  下一步:/[缩减技能名称] [收件箱文件夹]/[文件名]

根据模式追加:

  • manual: (无额外内容)
  • suggested: 准备就绪,随时处理。
  • automatic: 将“下一步”行替换为 已排队 /[缩减技能名称] — 处理将自动开始。

步骤 6: 更新 goals.md

如果 self/goals.md 存在且研究发现了有意义的新方向:

  1. 读取 goals.md,匹配现有格式
  2. 在适当部分下追加:
    - [新方向](通过 /learn 发现:[原始主题])
    

如果 goals.md 缺失或未发现有意义的方向,则静默跳过。不要添加填充内容。


输出摘要

包装完整流程的简洁输出:

ars contexta

研究:[主题]

  深度:[深度]
  使用:[工具名称]
  [研究 ID: abc-123]

  研究完成 — 分析了 [N] 个来源

  归档到:[收件箱文件夹]/[文件名]

  下一步:/[缩减技能名称] [收件箱文件夹]/[文件名]
    [链接上下文]

  [goals.md 更新了 N 个新研究方向]

错误处理

错误 行为
无主题,无 goals.md 询问:“您想研究什么?”
Exa MCP 不可用 通过级联回退到 WebSearch
所有工具失败 报告失败并显示 FAIL 状态,建议手动归档到收件箱
深度研究超时 (>5 分钟) 报告超时,建议 --moderate
结果为空 报告“未找到结果”,建议优化主题
配置文件缺失 静默使用默认值
收件箱文件夹缺失 写入前创建

技能选择路由

在 /learn 之后,自构建循环继续:

阶段 技能 目的
提取见解 /[reduce-name] 从研究中挖掘原子命题
寻找连接 /[reflect-name] 将新见解链接到现有图谱
更新旧笔记 /[reweave-name] 对触及的笔记进行向后传递
质量检查 /[verify-name] 描述质量、模式、链接

/learn 是入口点。每次运行都向图谱提供信息,而图谱通过 goals.md 反馈下一个方向。