microsoft/TypeAgent

Sample code that explores an architecture for using language models to build a personal agent that can work with application agents.

TypeAgent – 个人AI助手的示例

是什么

  • 由微软维护的开源示例,展示如何构建一个可通过自然语言与之对话的单一个人助手
  • 代码演示了如何使用结构化提示方法,将大语言模型(LLMs)与传统软件组件(动作、记忆、规划)相结合。

核心理念

原则 应用方式
将模型提炼为逻辑结构 动作以类型化模式(通过 TypeChat)表达;记忆以本体形式存储;规划采用“思维树”搜索,由LLM、质量模型和人类协作完成。
通过结构控制信息密度 动作契约是离散且高度描述的;记忆保持在紧密的语义结构中,适合LLM的注意力窗口;每个搜索节点聚焦于一个子问题。
通过结构实现协作 人类澄清模糊请求;简单解析器提取逻辑形式;多个模型(LLM、优势/质量模型)协作扩展最佳优先搜索树。

关键组件

  • TypeAgent Shell – 基于 Electron 的 UI,允许用户通过单一界面与多个注册的代理进行对话(支持语音)。
  • Dispatcher – 使用结构化提示,将用户的自然语言请求路由到最匹配意图的类型化契约代理。
  • KnowPro – 实现了结构化 RAG 记忆层:对话历史被索引为逻辑实体,支持精确查询,如“我们讨论过哪些书?”
  • Cache – 使用 LLM 驱动的结构化提示对动作翻译进行缓存,减少重复调用模型,降低延迟。
  • Agent SDK – 定义了代理必须实现的 TypeScript 接口,以接入调度器和外壳。

包含的示例代理(均基于相同架构)

  • 音乐播放器、聊天、网页浏览器、VS Code、列表管理器、日历、邮件、桌面自动化、图像编辑器、Markdown 编辑器、照片蒙太奇等。

如何尝试

  1. 按平台特定的设置文档(Windows、WSL2、Linux、macOS)安装 Node、Azure OpenAI 密钥等。
  2. 运行 TypeAgent Shellts/packages/shell)—— 你将获得一个支持语音的对话窗口。
  3. 与内置代理互动,或通过实现 SDK 并将代理注册到调度器来添加自定义代理(参见 Echo 教程)。

设计亮点

  • 结构化 RAG 用基于模式的索引取代传统的仅向量检索,显著提升对话事实的召回率。
  • 动作-记忆耦合 – 执行动作(例如“将一场匹克球比赛添加到我的日历”)会自动创建可被后续动作引用的记忆条目。
  • AMP 架构(动作-记忆-规划)将三者流程整合,实现无缝信息交换。

当前状态与限制

  • 处于早期阶段的示例代码,非生产就绪框架。
  • 仅在开发机上使用 Azure OpenAI 服务进行测试;仅支持英文评估。
  • 依赖精心设计的 JSON 模式;若模式未能捕捉用户意图,LLM 可能生成无效响应。
  • 无内置遥测功能;开发者需自行提供 API 密钥。

谁可能感兴趣

  • 探索如何结构化 LLM 驱动代理的研究人员或工程师。
  • 希望获得个人助手、动作调度器或记忆增强聊天机器人参考实现的开发者。
  • 对“结构化提示”模式感兴趣,以降低 LLM 成本并提高可靠性的团队。

微软计划的下一步

  • 发布可重用的内存和调度层库。
  • 提供可安装包和新代理的动态发现功能。

以上所有信息均直接来自仓库的 README;未推断任何额外功能。

相关

  • 项目
  • 项目
  • 项目
  • Dispatch
  • 项目