TaskWeaver logo

TaskWeaver

Free

A code-first agent framework for seamlessly planning and executing data analytics tasks. ![GitHub Repo stars](https://img.shields.io/github/stars/microsoft/TaskWeaver?style=social)

FreeFree tier
Type
Open Source
Company
Microsoft

About TaskWeaver

TaskWeaver is a code-first agent framework developed by Microsoft for seamlessly planning and executing data analytics tasks. It interprets user requests through code snippets and efficiently coordinates plugins in the form of functions to execute tasks in a stateful manner. Unlike traditional chat-based agents, TaskWeaver preserves both chat history and code execution history, including in-memory data like DataFrames, enabling rich data structure handling. Key capabilities include task decomposition and progress tracking for complex tasks, reflective execution for self-correction, support for various LLMs including local models, vision input for the Planner role, a reasoning role called Recepta, shared memory for inter-role communication, and dynamic experience selection. It can be run via Docker with a containerized code execution environment and integrates with AgentOps for monitoring.

Key Features

Code-first agent framework for data analytics
Task decomposition and progress tracking for complex tasks
Reflective execution for self-correction and adjustments
Rich data structure support (e.g., Pandas DataFrames) instead of plain strings
Stateful execution preserving chat history and in-memory data
Plugin architecture for custom algorithms and functions
Vision input support for the Planner role
Recepta role for enhanced reasoning
Shared memory for communication between roles
Static and dynamic experience selection

Pros & Cons

Pros
  • Code-first approach provides expressiveness and flexibility for data tasks
  • Stateful execution retains in-memory data, enabling iterative analysis
  • Reflective execution improves robustness and accuracy
  • Supports both cloud-based and local LLMs, reducing dependency on external APIs
  • Modular plugin design allows easy extension with custom functions
  • Active development with frequent updates and community contributions
  • Free and open-source (MIT license)
  • Docker support simplifies setup and deployment
Cons
  • Repository archived as read-only (future date noted), potentially limited future updates
  • Primarily focused on data analytics; may not suit general agent tasks
  • Requires Python environment and dependency management
  • Steeper learning curve for users unfamiliar with code-based agents
  • Documentation may still be evolving

Best For

Automated data analytics and reportingComplex data processing with high-dimensional tabular dataInteractive code generation and execution for data science tasksBuilding intelligent agents that combine LLMs with custom code pluginsResearch and experimentation with LLM-based planning and reflection

FAQ

What is TaskWeaver?
TaskWeaver is an open-source, code-first agent framework by Microsoft for planning and executing data analytics tasks. It interprets user requests as code snippets, coordinates plugins, and maintains stateful execution with chat and code history.
Is TaskWeaver free to use?
Yes, TaskWeaver is open-source and free to use. Its GitHub repository is available under the MIT license.
What are the key features of TaskWeaver?
Key features include task decomposition, reflective execution, rich data structure support (e.g., DataFrames), plugin architecture, stateful memory, vision input, reasoning role (Recepta), shared memory, and support for local LLMs.
Does TaskWeaver support local language models?
Yes, TaskWeaver has been optimized to support not-that-large language models served locally, reducing reliance on cloud APIs.
How can I run TaskWeaver?
TaskWeaver can be run using Python directly or via an all-in-one Docker image for easier setup. It defaults to container mode for code execution.
What programming languages does TaskWeaver support?
TaskWeaver uses Python for code snippets and plugins. It is designed to work with Python's rich ecosystem for data analytics.