Memory Research
Research an external subject, synthesize what you find, and create a structured Basic Memory entity — with the user's approval.
When to Use
Explicit triggers:
- - "Research [subject]"
- "Look up [subject]"
- "What do you know about [subject]?"
- "Evaluate [subject]"
Implicit triggers (also activate this skill):
- - A bare name: "Terraform"
- A URL: "https://example.com"
- A name with context: "Acme Corp — saw them at the conference"
Workflow
Step 1: Web Research
Search for current information across multiple sources. Aim for 3-5 searches to build a well-rounded picture:
CODEBLOCK0
What to gather by entity type:
| Entity Type | Key Information |
|---|
| Organization | What they do, products/services, stage (startup/growth/public), funding, leadership, headquarters, employee count, notable partnerships or contracts |
| Person |
Current role, organization, background, expertise, notable work, public presence |
|
Technology | What it does, who maintains it, maturity, ecosystem, alternatives, adoption |
|
Topic/Domain | Definition, current state, key players, trends, relevance to user's context |
Step 2: Check Existing Knowledge
Before proposing a new entity, search Basic Memory:
CODEBLOCK1
Try name variations — full name, abbreviation, acronym, domain name.
If the entity already exists:
- - Report what you found in Basic Memory alongside your web research
- Offer to update the existing note with new information
- Use
edit_note to append new observations or update outdated ones
If the entity doesn't exist, proceed to evaluation.
Step 3: Evaluate and Summarize
Present your findings in a structured summary. Include all relevant information organized by section:
CODEBLOCK2
Evaluation Guidelines
Use hedging language. Web research is a snapshot, not ground truth:
- - "Appears to be", "Based on public information", "Estimated"
- "As of [date]", "According to [source]"
- Never state funding amounts, employee counts, or revenue as exact unless citing a primary source
Don't fabricate. If information isn't available, say so:
- - "Leadership information not publicly available"
- "Funding details not disclosed"
Let the user define relevance. Don't impose a fixed evaluation framework. Instead, highlight facts and let the user draw conclusions. If the user has a specific evaluation rubric (strategic fit, buy/partner/compete, etc.), they'll tell you — apply it when asked.
Step 4: Propose Entity Creation
After presenting the summary, ask for approval:
CODEBLOCK3
If the user provided context with their request ("saw them at the conference"), include that context in the proposed entity.
Step 5: Create the Entity
After approval, create a structured note. Adapt the template to the entity type:
Organization
CODEBLOCK4
Person
CODEBLOCK5
Technology
CODEBLOCK6
Adapt these templates freely. The key elements are: note_type/tags parameters, an overview, structured details, observations with categories, and relations.
Step 6: Store Source Context
If the user provided context with their request, capture it in the entity:
CODEBLOCK7
This context is often the most valuable part — it's the user's relationship to the entity, which web research can't provide.
Guidelines
- - Always web search. Don't rely on training data alone. Research should reflect current, verifiable information.
- Search Basic Memory first. Check for existing entities before creating new ones. Update rather than duplicate.
- Hedge uncertain information. Use qualifiers for estimates, unverified claims, and inferred details.
- Store source URLs. Include the URLs you consulted, either in observations or a Sources section. This enables the user to verify and dig deeper.
- Get approval before creating. Present your findings and let the user decide whether to create the entity and what to include.
- Capture user context. If the user told you why they're researching (met at a conference, evaluating as a vendor, etc.), that context belongs in the entity.
- Don't over-research. 3-5 web searches is usually enough. The goal is a useful knowledge graph entry, not an exhaustive report.
- Link to existing knowledge. Relate the new entity to things already in the knowledge graph. Connections compound value.
记忆研究
研究外部主题,综合发现,并在用户批准后创建结构化的基本记忆实体。
何时使用
显式触发词:
- - 研究 [主题]
- 查找 [主题]
- 你知道关于 [主题] 的什么信息?
- 评估 [主题]
隐式触发词(也会激活此技能):
- - 单纯名称:Terraform
- URL:https://example.com
- 带上下文的名称:Acme Corp — 在会议上见过他们
工作流程
第一步:网络研究
跨多个来源搜索最新信息。目标进行3-5次搜索以构建全面图景:
[主题名称] 网站
[主题名称] 概述
[主题名称] 新闻 [当前年份]
[主题名称] [相关领域关键词]
按实体类型收集的信息:
| 实体类型 | 关键信息 |
|---|
| 组织 | 业务内容、产品/服务、阶段(初创/成长/上市)、融资、领导层、总部、员工数量、重要合作伙伴或合同 |
| 人物 |
当前职位、所属组织、背景、专长、重要作品、公众形象 |
|
技术 | 功能、维护方、成熟度、生态系统、替代方案、采用情况 |
|
主题/领域 | 定义、当前状态、关键参与者、趋势、与用户背景的相关性 |
第二步:检查现有知识
在提议创建新实体前,先搜索基本记忆:
python
search_notes(query=Acme Corp)
search_notes(query=acme)
尝试名称变体——全称、缩写、首字母缩略词、域名。
如果实体已存在:
- - 报告你在基本记忆中的发现,同时附上网络研究结果
- 提供用新信息更新现有笔记的选项
- 使用 edit_note 追加新观察或更新过时信息
如果实体不存在,则进入评估阶段。
第三步:评估与总结
以结构化摘要形式呈现发现。按章节组织所有相关信息:
markdown
[主题名称]
类型: [组织 / 人物 / 技术 / 主题]
摘要: [2-4句话:这是什么、为何重要、关键区分性事实]
关键细节:
- - [按实体类型相关的内容组织]
- [组织的阶段、融资、领导层]
- [人物的职位、专长、隶属关系]
- [技术的成熟度、生态系统、替代方案]
相关性: [这对用户为何重要——与其工作、领域或兴趣的关联。
若无明显关联:未识别到具体关联。]
来源:
评估指南
使用模糊措辞。 网络研究是快照,并非绝对真相:
- - 似乎是、基于公开信息、估计
- 截至 [日期]、根据 [来源]
- 除非引用一手来源,否则切勿将融资金额、员工数量或收入表述为精确数字
不要编造。 如果信息不可用,如实说明:
让用户定义相关性。 不要强加固定的评估框架。相反,突出事实,让用户自行得出结论。如果用户有特定的评估标准(战略契合度、购买/合作/竞争等),他们会告诉你——在被要求时应用。
第四步:提议创建实体
呈现摘要后,请求批准:
为 [主题] 创建基本记忆实体?
位置:[建议文件夹]/[实体名称].md
类型:[实体类型]
[是 / 否 / 修改]
如果用户在其请求中提供了上下文(在会议上见过他们),将该上下文包含在提议的实体中。
第五步:创建实体
批准后,创建结构化笔记。根据实体类型调整模板:
组织
python
write_note(
title=Acme Corp,
directory=organizations,
note_type=organization,
tags=[organization, relevant-tags],
content=# Acme Corp
概述
[研究得出的2-3句描述]
产品与服务
背景
阶段: [初创 / 成长 / 上市]
总部: [地点]
员工: [估计值,模糊措辞]
领导层: [如找到的关键人物]
成立时间: [如找到的年份]
观察
- - [相关性] 该实体在用户背景中为何重要
- [来源] 于YYYY-MM-DD研究
- [研究结果中的其他观察]
关联
)
人物
python
write_note(
title=张三,
directory=people,
note_type=person,
tags=[person, relevant-tags],
content=# 张三
概述
[当前职位和所属组织。简要背景。]
背景
职位: [在组织中的头衔]
专长: [关键领域]
重要成就: [如找到的出版物、演讲、项目]
观察
- - [职位] 在组织的头衔
- [专长] 关键技术或领域专长
- [来源] 于YYYY-MM-DD研究
关联
)
技术
python
write_note(
title=技术名称,
directory=concepts,
note_type=concept,
tags=[concept, technology, relevant-tags],
content=# 技术名称
概述
[它是什么以及解决什么问题]
关键细节
维护方: [组织或社区]
成熟度: [实验性 / 稳定 / 成熟]
许可协议: [如适用]
替代方案: [可比较的工具或方法]
观察
- - [定义] 该技术一句话说明功能
- [成熟度] 当前状态和采用水平
- [来源] 于YYYY-MM-DD研究
关联
)
可自由调整这些模板。关键要素包括:note_type/tags参数、概述、结构化细节、带分类的观察以及关联。
第六步:存储来源上下文
如果用户在其请求中提供了上下文,将其捕获到实体中:
python
用户说:Acme Corp — 上周在会议上看了他们的演示
edit_note(
identifier=Acme Corp,
operation=append,
section=Observations,
content=- [context] 在会议上看了他们的演示,2026年2月17日那周
)
此上下文通常是最有价值的部分——它是用户与实体的关系,网络研究无法提供。
指南
- - 始终进行网络搜索。 不要仅依赖训练数据。研究应反映当前、可验证的信息。
- 先搜索基本记忆。 在创建新实体前检查已有实体。更新而非重复。
- 对不确定信息使用模糊措辞。 对估计值、未经验证的主张和推断的细节使用限定词。
- 存储来源URL。 在观察或来源部分包含你查阅的URL。这使用户能够验证和深入探究。
- 创建前获取批准。 呈现你的发现,让用户决定是否创建实体以及包含什么内容。
- 捕获用户上下文。 如果用户告诉你他们研究的原因(在会议上遇到、评估供应商等),该上下文应属于实体。
- 不要过度研究。 3-5次网络搜索通常足够。目标是创建有用的知识图谱条目,而非详尽报告。
- 链接到现有知识。 将新实体与知识图谱中已有的内容关联起来。连接产生复合价值。