一个"代码优先"的智能代理框架,用于无缝规划和执行数据分析任务,通过代码解释用户请求并协调各类插件以状态化方式执行任务。
一分钟了解#
TaskWeaver 是微软开发的代码优先型智能代理框架,专为复杂数据分析任务设计。它通过代码片段解释用户请求,并协调各种插件以状态化方式执行任务,特别适合处理高维表格数据等复杂数据结构。
核心价值:保留聊天历史和代码执行历史(包括内存数据),大大提升了代理框架的表达能力。
快速上手#
安装难度:中 - 需要Python 3.10+环境,默认使用Docker容器模式执行代码
# 创建conda环境(可选)
conda create -n taskweaver python=3.10
conda activate taskweaver
# 克隆仓库
git clone https://github.com/microsoft/TaskWeaver.git
cd TaskWeaver
# 安装依赖
pip install -r requirements.txt
适合我的场景吗?
- ✅ 复杂数据分析任务:能处理高维表格数据等复杂数据结构
- ✅ 需要状态保持的任务:维护聊天历史和代码执行历史
- ✅ 需要代码执行:可直接生成并执行Python代码
- ❌ 简单问答任务:过于复杂,不适合简单的问答场景
- ❌ 无编程知识:需要基本的Python和数据分析知识
核心能力#
1. 任务规划与分解 - 复杂任务分解#
- 自动将复杂任务分解为子任务并跟踪进度,支持任务反思与调整 实际价值:简化复杂工作流程,提高任务执行成功率
2. 代码执行与验证 - 安全执行代码#
- 在执行前验证生成代码,检测潜在问题并提供修复建议 实际价值:提高代码安全性,减少执行错误
3. 插件系统 - 扩展功能#
- 支持自定义算法封装为插件,可根据需要扩展功能 实际价值:灵活集成专业算法,满足特定业务需求
4. 角色系统 - 多代理协作#
- 支持多个代理作为不同角色协作完成复杂任务 实际价值:分布式任务处理,提高系统可扩展性
技术栈与集成#
开发语言:Python 主要依赖:
- Python 3.10+
- Docker(默认容器模式)
- LLM API(OpenAI/Azure或兼容服务)
- 可选:langchain, yfinance, statsmodels(示例用) 集成方式:CLI / Web UI / Library(作为库导入)
生态与扩展#
- 插件/扩展:支持自定义插件开发,可封装算法和功能模块
- 集成能力:可通过Web UI或库集成到现有项目中
维护状态#
- 开发活跃度:非常活跃,定期发布更新和功能增强
- 最近更新:2025年3月新增视觉输入支持,2025年1月新增Recepta角色
- 社区响应:活跃,通过GitHub Issues和Discord社区提供支持
文档与学习资源#
- 文档质量:全面
- 官方文档:TaskWeaver网站
- 示例代码:有(数据库异常检测、价格预测等示例)