TypeAgent 是微软开源的示例代码项目,利用当前大语言模型(LLM)技术构建具备自然语言交互能力的个人代理架构,通过结合语言模型与传统软件组件,探索如何安全高效地完成任务。
操作:挖掘翻译模式,通过模式应用减少模型调用
记忆:从文本中构建本体结构
计划:采用“思维树”协作机制,实现人、程序与模型的协同
操作:应用程序定义离散类别,对操作集进行密集描述
记忆:紧凑语义结构适配注意力范围
计划:每个搜索树节点限定聚焦子问题
操作:由人类决策消除操作请求歧义
记忆:通过简单模型从文本提取逻辑结构
计划:优质模型、优势模型、语言模型、人类与程序协作扩展最佳优先搜索节点
结构化检索增强生成(Structured RAG)
作为代理记忆的基础方案,相比传统 RAG,在处理历史对话查询(如“我们讨论过哪些书籍?”“制作照片蒙太奇进行到哪一步了?”)时表现更优,目的是打造兼具人类对话自然度和超人精度记忆的代理系统。
动作-记忆-计划集成架构(AMP)
实现操作、记忆与计划的自然信息流整合,例如“周五下午2-3点添加匹克球比赛到日历”的操作会生成记忆,该记忆可作为未来“匹克球赛后安排1小时恢复时间”操作的参数。AMP 被应用于网页场景,通过创建支持网站通过 JavaScript 接口注册动作的浏览器扩展。
支持 Windows、WSL2、Linux(Ubuntu/Debian),macOS 支持即将推出。
需安装 Node.js 20+、pnpm 包管理器。
以 TypeScript 为例
# 克隆仓库
git clone https://github.com/microsoft/TypeAgent
cd TypeAgent/ts
# 安装依赖
pnpm i
# 构建项目
pnpm run build
TypeAgent Shell
基于 Electron 的图形化界面,支持语音交互
集成多代理协作、结构化记忆(Structured RAG)、缓存优化(TypeAgent Cache)
启动命令:pnpm run shell
TypeAgent CLI
控制台交互界面,提供丰富调试命令
启动交互式会话:pnpm run cli -- interactive
服务配置
需在项目根目录 .env
文件中配置服务密钥,示例配置:
# Azure OpenAI 配置示例
AZURE_OPENAI_API_KEY=your_key
AZURE_OPENAI_ENDPOINT=https://your-endpoint.openai.azure.com
AZURE_OPENAI_RESPONSE_FORMAT=1
# OpenAI 配置示例
OPENAI_API_KEY=your_key
OPENAI_ENDPOINT=https://api.openai.com/v1/chat/completions
OPENAI_MODEL=gpt-4o
代理类型 | 功能描述 | 技术栈 |
---|---|---|
音乐播放器 | 集成 Spotify API | TypeScript + Node.js |
日历/邮件管理 | 基于 Microsoft Graph | C# .NET |
浏览器扩展 | 网页动作注册 | JavaScript |
VS Code 插件 | 代码辅助操作 | TypeScript |
图片蒙太奇工具 | 图像合成处理 | Python + OpenCV |