为 Mastra 智能体推出 Knowledge

为你的智能体提供一个可搜索、读取和更新的知识库。

Paul Scanlon·

2026年11月4日

·

阅读时长 5 分钟

现在,你可以使用 Knowledge为公司范围内的上下文赋能你的智能体,它是一个以页面形式组织的文档、政策或决策的共享存储库。Knowledge 可直接与 signals,Mastra 的上下文工程原语。Signals 将正确的知识带入智能体的上下文,并在智能体运行期间保持其最新。智能体还可以使用工具,在其有权访问的范围内搜索、读取和写入 Knowledge。

Studio 中的 Knowledge 范围:智能体从其页面中获取答案,编码智能体将已固定的提案转化为拉取请求,并作为备注记录回页面。

LLMs 知道很多,但它们并非无所不知。当智能体被提问时,它们会退回到训练数据——而这些数据往往是错误的。真正的答案通常分散在多个系统中,或者只存在于某个人的脑海里:某个功能为何要以某种方式构建、适用哪项政策,或者团队已经尝试过什么。为智能体提供一个可供阅读和学习的知识库,能让它们更有能力理解和回答与你、你的业务或你的产品相关的具体问题。

你之前已经可以通过指令为智能体提供上下文, RAG, 技能,或者查询 API 和数据库的工具,但它们通常是只读的,而且当信息发生变化时,每个工具都需要人工干预才能更新。借助 Knowledge,智能体不仅能读取信息,还能更新信息,从而使其能够随时间学习和自我改进。

你可以 种子 Knowledge 使用你现有的文档,或通过使用 在 Mastra 平台上。Knowledge 导入器将在下个版本中推出,让你能更轻松地连接 Notion、Confluence、Linear、Zendesk 和 Fireflies 等数据源。开始使用 Knowledge 将信息存储为智能体可读取的具名 markdown 文档,称为页面。每个页面都位于一个 scope 中,由 scope 决定哪些组织、用户或对话拥有读/写权限。终端 note需要 或更高版本,已在 PR #28353 中添加。 创建一个 实例,并用 声明其 scope,这会设置三个 在 Mastra 平台上。Knowledge 导入器将在下个版本中推出,让你能更轻松地连接 Notion、Confluence、Linear、Zendesk 和 Fireflies 等数据源。

开始使用

Knowledge 将信息存储为智能体可读取的具名 markdown 文档,称为 页面。每个页面都位于一个 scope,它决定哪些组织、用户或对话拥有读/写权限。

终端
npm install @mastra/core@latest @mastra/server@latest @mastra/libsql@latest
注意:需要 @mastra/core@1.82.0 或更高版本,已在 PR #28353 中添加。 PR #28353.

创建一个 Knowledge 实例,并用以下内容声明其作用域: knowledgeMemoryScopes(),这会设置三个作用域:

  • org: 与组织中的所有人共享。
  • resource: 仅对单个用户可见。
  • thread: 仅限一个对话。

设置 tools: true 为智能体提供五个 知识工具:

  • knowledge_search 查找与查询匹配的页面和笔记。
  • knowledge_list 列出某个 scope 中的页面。
  • knowledge_read 读取一个页面。
  • knowledge_page 创建或编辑页面。
  • knowledge_note 向页面添加一条笔记。
src/mastra/knowledge/company-knowledge.ts
import { Knowledge, knowledgeMemoryScopes } from "@mastra/core/knowledge";
 
export const companyKnowledge = new Knowledge({
  id: "company-knowledge",
  scopes: { ...knowledgeMemoryScopes() },
  tools: true
});

给 Knowledge 实例,使用 knowledge 选项:

src/mastra/agents/company-agent.ts
import { Agent } from "@mastra/core/agent";
import { companyKnowledge } from "../knowledge/company-knowledge";
 
export const companyAgent = new Agent({
  id: "company-agent",
  name: "Company Agent",
  instructions: /* ... */,
  model: /* ... */,
  knowledge: companyKnowledge
});

在你的 Mastra 实例上注册该智能体和 Knowledge。Knowledge 存储在你配置的存储提供程序中,该提供程序会添加自己的 mastra_knowledge_* 首次使用 Knowledge 时所需的表:

  • mastra_knowledge_pages 保存每个页面的名称、描述和 markdown 正文。
  • mastra_knowledge_notes 保存添加到页面的笔记。
  • mastra_knowledge_mentions 记录页面之间的链接。
  • mastra_knowledge_pins 保存固定页面。
  • 更多表格用于跟踪作用域、访问权限和最近活动。
src/mastra/index.ts
import { Mastra } from "@mastra/core/mastra";
import { LibSQLStore } from "@mastra/libsql";
import { KNOWLEDGE_ROUTES } from "@mastra/server/server-adapter";
 
import { companyAgent } from "./agents/company-agent";
import { companyKnowledge } from "./knowledge/company-knowledge";
 
export const mastra = new Mastra({
  agents: { companyAgent },
  knowledge: { companyKnowledge },
  storage: new LibSQLStore({ id: "mastra-storage", url: "file:./mastra.db" }),
  server: { apiRoutes: [...KNOWLEDGE_ROUTES] }
});

KNOWLEDGE_ROUTES 在 Studio 中打开 Knowledge 页面,该页面会以树状结构显示每个 scope 和页面,旁边还有一张展示页面之间如何链接的图。参见 Studio 中的 Knowledge.

用法

每次调用都会传入其作用域:一个组织、一个用户(resource:),以及一个 thread。

对于一个问题,智能体会在全部三个 scope 中搜索并读取页面:

await companyAgent.generate("What's our refund window?", {
  scopes: [`org:${user.orgId}`, `resource:${user.id}`, `thread:${threadId}`]
});

对于更新,智能体会将页面写入与请求匹配的 scope。“Save that for the team”会写入 org:

await companyAgent.generate("Our refund window is 30 days. Save that for the team.", {
  scopes: [`org:${user.orgId}`, `resource:${user.id}`, `thread:${threadId}`]
});

播种知识

智能体只能根据 Knowledge 中的内容作答,因此你通常需要在它们开始工作之前先把内容准备好。有多种方式可以用你现有的内容填充 Knowledge,详见 加载你的内容.

更多信息及完整配置选项,请参见:

Knowledge 处于 alpha 阶段。其 API 可能随版本变化。

分享到 或 LinkedInPaul Scanlon技术产品营销经理Paul Scanlon在 Mastra 负责开发者教育与产品营销之间的工作。此前,他曾在 Neon 担任技术产品营销经理,并在 Gatsby 从事开发者关系工作,负责创建教育内容和开发者体验。Paul Scanlon 的所有文章 →更多关于 Memory所有文章博客2026年10月26日面向公司大脑的自托管工具Mastra Knowledge:为智能体提供持久的公司上下文。现已开放早期访问, 或 LinkedInPaul ScanlonPaul Scanlon技术产品营销经理

Paul Scanlon 在 Mastra 负责开发者教育与产品营销之间的工作。此前,他曾在 Neon 担任技术产品营销经理,并在 Gatsby 从事开发者关系工作,负责创建教育内容和开发者体验。

Paul Scanlon 的所有文章 →

更多关于 Memory

所有文章博客2026年10月26日

面向公司大脑的自托管工具

Mastra Knowledge:为智能体提供持久的公司上下文。现已与设计合作伙伴一起开放早期访问。

博客2026年9月29日

推出 Memory Hooks

监控智能体的记忆循环,或拦截它看到和存储的内容。

文章2026年8月4日

AI 智能体的长期记忆:它是什么以及如何构建

了解长期记忆对 AI 智能体意味着什么、为什么更大的上下文窗口仍不够用、哪些记忆类型至关重要,以及如何设计持久化检索。