TypeAgent 是微软开源的示例代码项目,利用当前大语言模型(LLM)技术构建具备自然语言交互能力的个人代理架构,通过结合语言模型与传统软件组件,探索如何安全高效地完成任务。

将模型提炼为逻辑结构

操作:挖掘翻译模式,通过模式应用减少模型调用

记忆:从文本中构建本体结构

计划:采用“思维树”协作机制,实现人、程序与模型的协同

利用结构控制信息密度

操作:应用程序定义离散类别,对操作集进行密集描述

记忆:紧凑语义结构适配注意力范围

计划:每个搜索树节点限定聚焦子问题

借助结构促进协作

操作:由人类决策消除操作请求歧义

记忆:通过简单模型从文本提取逻辑结构

计划:优质模型、优势模型、语言模型、人类与程序协作扩展最佳优先搜索节点

技术架构

结构化检索增强生成(Structured RAG)

作为代理记忆的基础方案,相比传统 RAG,在处理历史对话查询(如“我们讨论过哪些书籍?”“制作照片蒙太奇进行到哪一步了?”)时表现更优,目的是打造兼具人类对话自然度和超人精度记忆的代理系统。

动作-记忆-计划集成架构(AMP)

实现操作、记忆与计划的自然信息流整合,例如“周五下午2-3点添加匹克球比赛到日历”的操作会生成记忆,该记忆可作为未来“匹克球赛后安排1小时恢复时间”操作的参数。AMP 被应用于网页场景,通过创建支持网站通过 JavaScript 接口注册动作的浏览器扩展。

TypeAgent快速上手指南

支持 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