关于 research
research 是面向需要通过网页资料调查问题者的工具辅助研究技能。它结合内置的 Tavily 命令行工具与分阶段方法,用于界定主题、发现术语和不同观点,并标注置信度来综合结果。
主要功能
- 01Tavily 命令行搜索
- 02主题与研究深度界定
- 03专业术语发现
- 04反方观点搜索
- 05带置信度标记的综合
适用场景
- 01为主题查找基础资料
- 02核查相反观点与局限
- 03研究近期新闻或金融主题
- 04综合研究结果以辅助决策
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ jwynia/ agent-skills --skill research安装后在 Claude Code 中输入/research确认已加载。
附带文件scripts/tavily-cli.ts
详细介绍
研究技能
借助 Tavily 集成进行工具辅助研究。利用 AI 优化的网页搜索,将基础问题转化为全面的搜索策略。
设置
此技能包含一个打包的 Tavily CLI 脚本,位于 scripts/tavily-cli.ts。
要求
- Deno - 从 https://deno.land 安装
- Tavily API Key - 在 https://tavily.com 获取(提供免费套餐)
配置
设置你的 API 密钥:
export TAVILY_API_KEY="your-key-here"
创建一个别名以便使用(添加到你的 shell 配置文件中):
# Adjust path to where this skill is installed
alias tavily='deno run --allow-net --allow-env /path/to/skills/research/scripts/tavily-cli.ts'
或直接运行:
deno run --allow-net --allow-env ./scripts/tavily-cli.ts "your query"
以下命令默认已配置别名 tavily。
快速参考
常用命令
# Basic search
tavily "your query"
# With AI answer summary
tavily "your query" --answer
# Deep search with more results
tavily "your query" --depth advanced --results 10 --answer
# News/recent content
tavily "your query" --topic news --time week
# Exclude familiar sources to find new perspectives
tavily "your query" --exclude wikipedia.org,reddit.com
阶段概览
| 阶段 | 类型 | 目的 |
|---|---|---|
| 0 | 手动 | 分析主题,设定范围 |
| 1 | Tavily | 发现专家术语 |
| 2 | Tavily | 基础搜索 |
| 3 | Tavily | 寻找不同观点 |
| 4 | 手动 | 综合研究发现 |
范围 → Tavily 深度
| 决策影响 | Tavily 设置 |
|---|---|
| 低,可逆 | --depth basic --results 3 |
| 中等 | --depth basic --results 5 --answer |
| 高,不可逆 | --depth advanced --results 10 --answer |
阶段 0:分析
目标:在搜索前梳理主题,避免搜索缺乏重点或范围不匹配。
范围校准
搜索前,评估决策影响:
| 决策类型 | 所需置信度 | 研究深度 |
|---|---|---|
| 可逆、影响较低 | 60-70% | 快速浏览(几分钟) |
| 可逆、影响中等 | 75-85% | 掌握基本知识 |
| 不可逆、影响中等 | 85-90% | 扎实理解 |
| 不可逆、影响较高 | 90-95% | 深入掌握 |
分析模板
# Research Analysis: [Topic]
## Core Concepts
- **Primary terms:** [Key terms requiring definition]
- **Terminology variants:** [Synonyms, jargon, historical terms]
- **Ambiguous terms:** [Terms with multiple meanings]
## Stakeholders
- **Primary actors:** [Who is directly involved?]
- **Affected groups:** [Who bears consequences?]
- **Opposing interests:** [Who benefits from different outcomes?]
## Temporal Scope
- **Historical origins:** [When did this begin?]
- **Key transitions:** [What changed and when?]
- **Current state:** [What's happening now?]
## Domains
- **Primary field:** [Main discipline]
- **Adjacent fields:** [Related disciplines]
## Controversies
- **Active debates:** [What's contested?]
- **Competing frameworks:** [Different ways of understanding]
阶段 0 检查清单
- 已确定主要术语
- 已列出潜在利益相关方
- 已评估决策影响
- 已确定适当的研究深度
阶段 1:词汇发现
目标:发现专家术语,以获取更深入的搜索结果。
词汇为何重要
- 外行术语 → 入门材料
- 专家术语 → 研究资料、细致分析
- 跨领域术语 → 连接不同研究领域
用于发现词汇的 Tavily 命令
| 发现需求 | 命令 |
|---|---|
| 专家术语 | tavily "[topic] terminology experts" --answer |
| 学术术语 | tavily "[topic] academic research terminology" --answer |
| 跨领域同义词 | tavily "[topic] also known as called" --answer |
| 历史术语 | tavily "[topic] history original term" --answer |
词汇发现流程
-
运行初步术语搜索:
tavily "[topic] terminology" --answer --results 5 -
从结果中记录:
- 专家术语(技术词汇)
- 外行术语(大众/入门用语)
- 跨领域对应词
-
更新词汇映射(见下方模板)
-
使用专家术语重新运行搜索:
tavily "[expert-term]" --answer -
比较结果质量——专家术语应能找到更深入的内容
词汇映射模板
## Core Terms
| Term | Domain | Depth Level |
|------|--------|-------------|
| [expert term] | [field] | Expert |
| [outsider term] | General | Introductory |
## Cross-Domain Synonyms
| Concept | Terms by Domain |
|---------|-----------------|
| [concept] | Field A: [term], Field B: [term] |
## Depth Indicators
| Level | Terms | What They Surface |
|-------|-------|-------------------|
| Introductory | [terms] | Overviews, explainers |
| Expert | [terms] | Research, nuanced analysis |
阶段 1 检查清单
- 已运行术语发现搜索
- 已区分专家术语和外行术语
- 已整理跨领域同义词
- 已创建词汇映射
阶段 2:基础搜索
目标:通过权威来源建立基础理解。
问题模式 → Tavily 命令
| 问题模式 | 策略 | 命令 |
|---|---|---|
| “什么是 X?” | 汇总权威观点 | tavily "[expert-term] definition" --answer --depth advanced |
| “我应该做 X 吗?” | 优缺点、替代方案 | tavily "[expert-term] pros cons comparison" --answer |
| “X 是真的吗?” | 证据、反面证据 | tavily "[claim] evidence research" --answer --depth advanced |
| “如何做 X?” | 分步指南、注意事项 | tavily "[expert-term] guide tutorial" --answer |
| 历史背景 | 起源与演变 | tavily "[topic] history origins development" --answer |
来源类型选择
| 来源类型 | 最适合 | Tavily 用法 |
|---|---|---|
| 学术/研究 | 机制、因果关系 | --depth advanced --results 10 |
| 实践者内容 | 运作方式、边缘情况 | --topic general --answer |
| 新闻/时事 | 最新进展 | --topic news --time week |
| 官方文档 | 技术规格、政策 | --include [official-domain] |
基础搜索流程
-
使用第 1 阶段的专家术语
-
执行基础查询:
# Definition/overview tavily "[expert-term] comprehensive overview" --answer --depth advanced # Key perspectives tavily "[expert-term] major approaches" --answer --results 7 -
针对发现的每个主要观点,查找 2-3 个权威来源:
tavily "[perspective-name] [expert-term]" --answer --results 5 -
在研究笔记中记录来源
第 2 阶段检查清单
- 使用了第 1 阶段的专家术语
- 搜索了基础概述
- 确定了 2-3 个主要观点
- 为每个观点找到了权威来源
- 记录了来源
第 3 阶段:反方观点搜索
目标:主动寻找相反观点,避免确认偏误。
反方观点为何重要
单一观点的研究:
- 所有来源都支持同一个观点
- 缺少反驳论据
- 存在陷入回音室的风险
用于搜索反方观点的 Tavily 命令
| 需求 | 命令 |
|---|---|
| 一般批评 | tavily "[topic] criticism problems" --answer |
| 相反观点 | tavily "[topic] skeptics critique" --answer |
| 替代方案 | tavily "[topic] alternatives instead of" --answer |
| 失败案例 | tavily "[topic] failures when wrong" --answer |
| 避免回音室 | tavily "[topic] debate" --exclude [familiar-sources] |
反方观点搜索流程
-
确定你当前的理解/倾向
-
搜索最有力的反驳论据:
tavily "[topic] strongest argument against" --answer --depth advanced -
排除已经看过的来源:
tavily "[topic]" --exclude [domains-already-searched] -
搜索失效模式:
tavily "[topic] when fails problems limitations" --answer -
在研究笔记中记录相反观点
第 3 阶段检查清单
- 确定了当前的理解/立场
- 搜索了最有力的反驳论据
- 使用了 --exclude 查找新来源
- 搜索了局限性/失败案例
- 记录了相反观点
第 4 阶段:综合
目标:综合研究结果,并明确标注置信度。
完成标准
最低可行标准(快速决策)
- 能够用自己的话定义核心概念
- 了解 2-3 个主要观点
- 为每个观点找到了权威来源
- 确定了已知的未知事项
工作性知识(大多数决策)
- 能够解释历史背景
- 理解利益相关方的立场
- 了解了反驳论据
- 查阅了多个领域的资料
深度专业知识(高风险事项)
- 将主张追溯到原始来源
- 能够评估相互竞争的证据
- 理解知识的局限性
边际收益递减信号
出现以下情况时停止:
- 新来源引用相同的基础著作(循环引用)
- 新搜索返回熟悉的内容(重复)
- 每小时新增内容少于前一小时(边际收益递减)
- 能够做出决策或采取行动(信息已足够)
置信度标记
| 等级 | 建议使用的措辞 |
|---|---|
| 已确定 | “X 是……”“X 的工作原理是……” |
| 有力证据 | “证据有力地表明……” |
| 中等证据 | “大多数来源报告……” |
| 有限证据 | “一项研究发现……” |
| 未知 | “未找到可靠信息……” |
综合模板
## Summary
[Direct answer to question]
## Confidence Level
[High/Medium/Low] - [Justification]
## Key Findings
1. [Finding with source type]
## Perspectives
| Perspective | Key Argument | Source Quality |
|-------------|--------------|----------------|
| [view] | [argument] | [assessment] |
## Counter-Evidence
- [What argues against the main conclusion]
## Caveats
- [What wasn't consulted]
- [What assumptions were made]
## For Deeper Investigation
[What would increase confidence]
第 4 阶段检查清单
- 达到了与风险等级相对应的完成标准
- 检查了边际收益递减信号
- 使用了置信度标记
- 完成了综合模板
- 保存了研究结果以供日后参考
Tavily 命令参考
基本用法
tavily "search query" [options]
选项
| 选项 | 说明 | 值 |
|---|---|---|
--answer | 包含 AI 生成的答案摘要 | 标志 |
--depth | 搜索深度 | basic(默认)、advanced |
--results | 结果数量 | 1-20(默认:5) |
--topic | 主题类别 | general(默认)、news、finance |
--time | 时间筛选 | day、week、month、year |
--include | 仅包含指定域名 | 逗号分隔 |
--exclude | 排除指定域名 | 逗号分隔 |
--raw | 包含原始页面内容 | 标志 |
--json | 以 JSON 格式输出 | 标志 |
场景 → 命令映射
| 研究场景 | 命令 |
|---|---|
| 快速概览 | tavily "query" --answer |
| 深入研究 | tavily "query" --depth advanced --results 10 --answer |
| 最新新闻 | tavily "query" --topic news --time week |
| 学术研究 | tavily "query" --depth advanced --include scholar.google.com,arxiv.org |
| 排除维基百科 | tavily "query" --exclude wikipedia.org |
| 获取新视角 | tavily "query" --exclude [already-seen-domains] |
| 金融数据 | tavily "query" --topic finance --answer |
| 用于分析的原始内容 | tavily "query" --raw --json |
诊断状态
使用这些状态来判断研究卡在何处,以及需要重访哪个阶段。
| 状态 | 症状 | 需要重访的阶段 |
|---|---|---|
| R0: 无分析 | 搜索时未对主题进行结构化梳理 | 阶段 0 |
| R1: 无术语 | 使用圈外术语,只找到表层内容 | 阶段 1 |
| R2: 单一视角 | 所有来源都支持同一种观点 | 阶段 3 |
| R3: 领域盲区 | 只在熟悉的领域中搜索 | 阶段 1(跨领域术语) |
| R4: 近因偏差 | 只找到近期来源 | 阶段 2(历史查询) |
| R5: 广而不深 | 打开许多标签页,却没有综合分析 | 阶段 4 |
| R6: 完成度不确定 | 不确定何时停止 | 阶段 4(完成标准) |
| R7: 已完成 | 能够解释主题、指出不确定之处并采取行动 | 完成 |
快速诊断
- 你能用专家术语解释这个主题吗?→ 如果不能,进入阶段 1
- 你找到相反观点了吗?→ 如果没有,进入阶段 3
- 你能说明自己的置信程度并给出理由吗?→ 如果不能,进入阶段 4
- 你的研究深度与风险程度相称吗?→ 如果不相称,进入阶段 0
反模式
| 模式 | 症状 | 修正方法 |
|---|---|---|
| 确认陷阱 | 搜索是为了确认,而非学习 | 阶段 3:搜索最有力的反驳论据 |
| 权威谬误 | 因来源声望而接受主张 | 评估证据,而非来源 |
| 近因陷阱 | 只找近期来源 | 阶段 2:查询历史背景 |
| 广度陷阱 | 打开 50 个标签页,却一个也没读 | 阶段 4:遵循 3 个来源规则,继续前先综合分析 |
| 单一来源 | 将一个来源作为最终答案 | 要求 3 个独立来源 |
| 行话盲区 | 遗漏其他领域的术语 | 阶段 1:学习跨领域词汇 |
| 无限兔子洞 | 忘记最初的目的 | 阶段 0:回到范围和风险 |
| 回音室 | 反复使用相同来源 | 阶段 3:使用 --exclude 标志 |
输出持久化
输出位置发现
开始任何其他工作之前:
- 检查项目中是否存在
context/output-config.md - 如果存在,查找此技能对应的条目
- 如果文件不存在,或没有此技能对应的条目,先询问用户:
- “本次研究会话的输出应保存在哪里?”
- 建议:
explorations/research/,或此项目中合适的位置
- 保存用户的偏好
保存内容
| 层级 | 内容 |
|---|---|
| 词汇映射 | 术语、领域、深度级别 |
| 来源 | URL、相关性分数、质量备注 |
| 综合分析 | 摘要、置信度、发现、注意事项 |
| 查询日志 | 成功或失败的 Tavily 命令 |
| 缺口 | 尚未解决的问题 |
文件命名
格式:{topic}-research-{date}.md
示例:competency-frameworks-research-2025-01-15.md
集成点
| 技能 | 关联 |
|---|---|
| doppelganger | 研究结果为决策提供依据;对研究发现应用 /truth-check |
| context-networks | 将研究发现存储在合适的网络节点中 |
| boundary-critique | 应用于遇到的建议和推荐 |
健康检查问题
研究期间,请自问:
- 我是在搜索以学习,还是在搜索以证实?
- 针对我当前观点,最有力的反方论据是什么?
- 我是否查阅过熟悉领域之外的资料?
- 我使用的是专家术语还是外行术语?
- 我的研究深度是否与风险相称?
- 我是否已存储所学内容,以便日后使用?
来源框架
源自:references/research-framework.md