name: research-messages-search description: 搜索对话历史以获取研究背景 - 讨论过的论文、分析的引用、做出的发现或探索的问题。
研究消息搜索
从您的对话历史中查找过去的研究对话、论文讨论和分析。
快速开始:寻找研究线索
最常见用途:查找您讨论特定论文、主题或研究问题的时间。
标准开场
用户:“我们什么时候讨论了Transformer架构?”
助手:“让我搜索我们的对话历史,查找关于Transformer的讨论。
我将使用混合搜索(语义+关键词)来查找最相关的消息。”
然后执行搜索:
npx tsx [SKILL_DIR]/scripts/search-messages.ts --query "transformer architectures" --limit 10
呈现结果:
助手:“找到了8个关于Transformer的对话:
最相关的:
- 2025年12月15日:分析了《Attention Is All You Need》论文
- 2025年12月18日:讨论了Transformer记忆机制
- 2026年1月3日:比较了Transformer与Mamba架构
需要我展开其中任何一个以查看完整上下文吗?”
诊断:他们在寻找什么?
通过2个问题来理解搜索需求:
问题1:什么类型?
助手:“您是在寻找:
A) 我们讨论过的特定论文?
B) 某个研究主题的分析?
C) 查询的发现结果?
D) 我们构建的引用网络?
E) 其他内容?”
问题2:时间范围?
助手:“时间范围:
A) 最近(上周)
B) 本月
C) 特定日期/期间
D) 任何时间(完整历史)”
根据答案进行路由:
类型A(论文)+ 最近 → 论文标题搜索,过去7天
类型B(主题)+ 任何时间 → 语义搜索,全部历史
类型C(发现)+ 本月 → 关键词“discovery”,当前月
类型D(引用)+ 特定 → 日期限定搜索
对话模式
模式1:查找论文讨论
触发条件:用户询问特定论文
用户:“我们关于BERT论文说了什么?”
助手:“让我搜索BERT讨论。”
[运行搜索,关键词“BERT paper”,关注标题/作者]
助手:“找到了3个对话:
- 11月20日:BERT论文初步分析
- 11月22日:比较BERT与RoBERTa
- 12月1日:使用BERT进行情感分析
11月20日的对话包含主要分析。想查看吗?”
[如果是,使用“线索+展开”策略]
模式2:查找主题讨论
触发条件:用户询问研究主题/概念
用户:“我们什么时候讨论了引用网络?”
助手:“正在搜索关于引用网络的讨论...”
[运行语义搜索,--mode vector 用于概念匹配]
助手:“找到了5个关于引用网络的对话:
最相关的:
- 1月5日:为ML论文构建了引用图
- 1月8日:使用PageRank分析了有影响力的论文
- 1月10日:讨论了引用中的闭环
这些跨越了多个对话。需要完整的讨论串吗?”
[如果是,围绕首次出现展开并按时间顺序跟进]
模式3:查找发现结果
触发条件:用户询问从发现中找到的论文
用户:“我们找到了哪些关于状态空间模型的论文?”
助手:“正在搜索关于状态空间模型的发现...”
[使用“discovery state space models” + 关键词模式搜索]
助手:“找到了2个发现会话:
- 12月28日:从ArXiv发现了15篇SSM论文
- 1月4日:找到了Mamba论文及其变体
12月28日的会话包含完整的论文列表。显示那个吗?”
模式4:线索 + 展开策略
触发条件:用户希望围绕特定发现获得完整上下文
助手:“找到了线索!来自12月15日下午2:30的消息。
正在获取该消息周围的上下文...”
[使用 --before 和 --after 运行 get-messages]
助手:“这是完整的对话(前10条 + 后10条消息):
[显示对话串]
这是完整的上下文。需要更多吗?”
快速参考卡片
卡片1:搜索模式
何时使用每种模式:
| 模式 | 使用时机 | 示例 |
|---|---|---|
hybrid (默认) |
通用搜索 | “transformer discussions” |
vector |
概念/语义搜索 | “papers about memory” |
fts |
精确短语搜索 | “Attention Is All You Need” |
默认使用混合搜索,除非用户需要精确匹配或纯语义搜索。
卡片2:时间过滤器
常见时间模式:
# 上周
--start-date "2026-01-06" --end-date "2026-01-13"
# 特定月份
--start-date "2025-12-01" --end-date "2025-12-31"
# 特定日期之后
--start-date "2025-11-01"
# 特定日期之前
--end-date "2025-10-31"
专业提示:日期使用ISO格式 YYYY-MM-DD。
卡片3:研究特定查询
有效的研究搜索词:
- 论文标题:使用引号进行精确匹配
- 作者:包含“et al”或全名
- 主题:使用技术术语,而非口语
- 引用:包含“citation”或“references”
- 发现:包含“discovered”或“found papers”
- 分析:包含“analyzed”或“compared”
示例:
“Attention Is All You Need” → 精确论文
transformer memory mechanisms → 主题讨论
Vaswani et al → 作者搜索
citation network analysis → 分析类型
discovered mamba papers → 发现结果
卡片4:线索 + 展开模式
获取完整上下文的两步策略:
步骤1:找到线索
npx tsx [SKILL_DIR]/scripts/search-messages.ts \
--query "您的搜索词" \
--limit 5
步骤2:围绕它展开
# 获取之前的上下文
npx tsx [SKILL_DIR]/scripts/get-messages.ts \
--before "来自搜索的消息ID" \
--limit 10
# 获取之后的上下文
npx tsx [SKILL_DIR]/scripts/get-messages.ts \
--after "来自搜索的消息ID" \
--order asc \
--limit 10
优化模式
优化1:结果太多
症状:搜索返回50+条消息,信息过载
解决方法:缩小搜索范围
助手:“该搜索返回了太多结果。让我们缩小范围:
选项A:添加时间过滤器(大概是什么时候?)
选项B:添加特定术语(有什么独特的词吗?)
选项C:使用精确短语(用引号括起来)
哪种方式有帮助?”
优化2:未找到结果
症状:搜索返回0个结果
解决方法:扩大范围并诊断
助手:“该搜索没有结果。让我们排查一下:
1. 尝试语义搜索(概念 vs 精确词):
--mode vector
2. 尝试更宽泛的术语:
'transformer' 而不是 'transformer architecture'
3. 搜索所有助手(如果是多助手设置):
--all-agents
我们应该尝试哪种?”
优化3:错误的上下文
症状:找到了消息但不是正确的对话
解决方法:正确展开
助手:“这不是您想要的对话。让我:
1. 检查其他搜索结果(我们还有4个)
2. 展开更多上下文(20条消息而不是10条)
3. 优化搜索词(那个对话有什么独特之处?)
哪种方法?”
优化4:需要跨会话上下文
症状:主题在多个会话中讨论过
解决方法:按排序搜索,按时间顺序呈现
助手:“这个主题跨越了多个对话。这是时间线:
会话1(12月5日):初步讨论
会话2(12月8日):后续分析
会话3(12月12日):最终结论
想按顺序查看所有三个,还是只看最相关的?”
故障排除
| 问题 | 快速解决方法 |
|---|---|
| 搜索太慢 | 将 --limit 减少到5 |
| 未找到结果 | 使用 --mode vector 进行语义搜索 |
| 结果太多 | 使用 --start-date 添加日期范围 |
| 错误的消息 | 使用引号中的精确短语 |
| 需要更多上下文 | 使用 get-messages.ts 配合 --before/–after |
| 想要完整对话串 | 围绕线索展开前后消息 |
| 多助手搜索 | 添加 --all-agents 标志 |
| 需要特定日期 | 使用 --start-date 和 --end-date(同一天) |
| 结果不相关 | 切换到 --mode fts 进行精确关键词搜索 |
高级:跨助手研究搜索
使用场景:查找哪个助手讨论了某个主题
助手:“正在跨所有助手搜索关于Transformer的讨论...”
[使用 --all-agents 标志运行]
助手:“在3个助手中找到了讨论:
- 助手A(首席工程师):技术分析
- 助手B(文献综述):论文摘要
- 助手C(研究助理):发现结果
您想探索哪个助手的上下文?”
结果包含 agent_id - 与 finding-agents 技能一起使用以获取助手详细信息。
总结:助手的思维模型
核心工作流程:
- 理解用户在寻找什么(论文、主题、发现等)
- 选择搜索模式(默认混合,概念用向量,精确用全文)
- 使用适当的过滤器运行搜索
- 呈现带有上下文的主要结果
- 如果需要,围绕线索展开
- 如果结果不准确,进行优化
关键原则:
- 默认使用混合搜索(最佳平衡)
- 概念搜索使用语义(向量)
- 特定短语/标题使用精确(全文)
- 始终提供展开以获取完整上下文
- 呈现带有时间戳和消息类型的结果
- 如果结果太多,帮助用户缩小范围
- 如果没有结果,帮助用户扩大范围
成功标准:用户找到他们正在寻找的研究对话,并获得他们需要的完整上下文。