AgentScope
面向开发者的多智能体应用开发框架
cs.MA-2402.14034
Python 3.10+
Apache-2.0 License
Docs: English | 中文
✨ 为什么选择 AgentScope?
浅显入门,精深致用。
- 对开发者透明:透明是 AgentScope 的首要原则。无论提示工程、API调用、智能体构建还是工作流程编排,坚持对开发者可见&可控。拒绝深度封装或隐式魔法。
- 实时介入:原生支持实时中断和自定义中断处理。
- 更智能化:支持智能体工具管理、智能体长期记忆控制和智能化RAG等。
- 模型无关:一次编程,适配所有模型。
- “乐高式”智能体构建:所有组件保持模块化且相互独立。
- 面向多智能体:专为多智能体设计,显式的消息传递和工作流编排,拒绝深度封装。
- 高度可定制:工具、提示、智能体、工作流、第三方库和可视化,AgentScope 支持&鼓励开发者进行定制。
AgentScope v1.0 新功能概览
模块 | 功能 | 文档 |
---|---|---|
model | 支持异步调用、推理模型、流式/非流式返回、工具API | Model |
tool | 支持异步/同步工具函数、流式/非流式返回、用户打断、后处理、分组工具管理、Meta Tool | Tool |
MCP | 支持 Streamable HTTP/SSE/StdIO 传输、有状态/无状态客户端、精细控制 | MCP |
agent | 支持异步执行、并行工具调用、实时介入、自动状态管理、长期记忆控制、钩子函数 | – |
tracing | 支持基于 OpenTelemetry 的追踪、连接第三方追踪平台 | Tracing |
memory | 支持长期记忆 | Memory |
session | 提供会话/应用级状态管理 | Session |
evaluation | 提供分布式和并行评估 | Evaluation |
formatter | 支持多Agent提示格式化与工具API、基于截断的格式化策略 | Prompt Formatter |
📢 新闻
💬 联系我们
钉钉
加入钉钉群与开发团队和其他用户交流
(二维码见原项目页面)
📑 目录
🚀 快速开始
💻 安装
AgentScope需要Python 3.10或更高版本。
🛠️ 从源码安装
# 从 GitHub 拉取源码
git clone -b main https://github.com/agentscope-ai/agentscope.git
# 以可编辑模式安装包
cd agentscope
pip install -e .
📦 从PyPi安装
pip install agentscope
📝 样例
👋 Hello AgentScope!
使用 AgentScope 显式地创建一个名为”Friday”的助手🤖,并与之对话。
from agentscope.agent import ReActAgent, UserAgent
from agentscope.model import DashScopeChatModel
from agentscope.formatter import DashScopeChatFormatter
from agentscope.memory import InMemoryMemory
from agentscope.tool import Toolkit, execute_python_code, execute_shell_command
import os, asyncio
async def main():
toolkit = Toolkit()
toolkit.register_tool_function(execute_python_code)
toolkit.register_tool_function(execute_shell_command)
agent = ReActAgent(
name="Friday",
sys_prompt="You're a helpful assistant named Friday.",
model=DashScopeChatModel(
model_name="qwen-max",
api_key=os.environ["DASHSCOPE_API_KEY"],
stream=True,
),
memory=InMemoryMemory(),
formatter=DashScopeChatFormatter(),
toolkit=toolkit,
)
user = UserAgent(name="user")
msg = None
while True:
msg = await agent(msg)
msg = await user(msg)
if msg.get_text_content() == "exit":
break
asyncio.run(main())
🎯 实时介入
在 ReActAgent
中原生支持实时介入功能,提供面向打断的记忆处理机制,将中断转换为智能体的可观察事件,让智能体能够无缝恢复对话。
(原内容包含演示动画,此处省略)
🛠️ 细粒度 MCP 控制
开发者能够以本地可调用函数的方式获得 MCP 工具,并以任意方式使用(例如直接调用、装备给智能体,或将其包装为更复杂的工具等)
from agentscope.mcp import HttpStatelessClient
from agentscope.tool import Toolkit
import os
async def fine_grained_mcp_control():
# 以高德MCP为例,初始化MCP客户端
client = HttpStatelessClient(
name="gaode_mcp",
transport="streamable_http",
url=f"https://mcp.amap.com/mcp?key={os.environ['GAODE_API_KEY']}",
)
# 将MCP工具获取为**本地可调用函数**,并在任何地方使用
func = await client.get_callable_function(func_name="maps_geo")
# 选项1:直接调用
await func(address="天安门广场", city="北京")
# 选项2:作为工具传递给智能体
toolkit = Toolkit()
toolkit.register_tool_function(func)
# ...
# 选项3:包装为更复杂的工具
# ...
🧑🤝🧑 多智能体对话
AgentScope 提供 MsgHub
和多种 pipeline 来简化多智能体对话的构建,提供高效的消息路由和无缝信息共享
from agentscope.pipeline import MsgHub, sequential_pipeline
from agentscope.message import Msg
import asyncio
async def multi_agent_conversation():
# 创建智能体
agent1 = ...
agent2 = ...
agent3 = ...
agent4 = ...
# 创建消息中心来管理多智能体对话
async with MsgHub(
participants=[agent1, agent2, agent3],
announcement=Msg("Host", "请介绍一下自己。", "assistant")
) as hub:
# 按顺序发言
await sequential_pipeline([agent1, agent2, agent3])
# 动态管理参与者
hub.add(agent4)
hub.delete(agent3)
await hub.broadcast(Msg("Host", "再见!", "assistant"))
asyncio.run(multi_agent_conversation())
💻 AgentScope Studio
使用以下命令安装并启动 AgentScope Studio,以追踪和可视化基于 AgentScope 构建的智能体应用。
npm install -g @agentscope/studio
as_studio
(原内容包含演示动画,此处省略)
📖 文档
教程
工作流
常见问题
任务指南
- 模型
- 提示格式化器
- 工具
- 记忆
- 长期记忆
- 智能体
- 管道(Pipeline)
- 状态/会话管理
- 智能体钩子函数
- MCP
- AgentScope Studio
- 追踪
- 智能体评测
- 嵌入(Embedding)
- Token计数
API
示例
⚖️ 许可
AgentScope 基于 Apache License 2.0发布。
📚 论文
如果我们的工作对您的研究或应用有帮助,请引用我们的论文。
- AgentScope 1.0: A Developer-Centric Framework for Building Agentic Applications
- AgentScope: A Flexible yet Robust Multi-Agent Platform
@article{agentscope_v1,
author = {
Dawei Gao,
Zitao Li,
Yuexiang Xie,
Weirui Kuang,
Liuyi Yao,
Bingchen Qian,
Zhijian Ma,
Yue Cui,
Haohao Luo,
Shen Li,
Lu Yi,
Yi Yu,
Shiqi He,
Zhiling Luo,
Wenmeng Zhou,
Zhicheng Zhang,
Xuguang He,
Ziqian Chen,
Weikai Liao,
Farruh Isakulovich Kushnazarov,
Yaliang Li,
Bolin Ding,
Jingren Zhou}
title = {AgentScope 1.0: A Developer-Centric Framework for Building Agentic Applications},
journal = {CoRR},
volume = {abs/2508.16279},
year = {2025},
}
@article{agentscope,
author = {
Dawei Gao,
Zitao Li,
Xuchen Pan,
Weirui Kuang,
Zhijian Ma,
Bingchen Qian,
Fei Wei,
Wenhao Zhang,
Yuexiang Xie,
Daoyuan Chen,
Liuyi Yao,
Hongyi Peng,
Zeyu Zhang,
Lin Zhu,
Chen Cheng,
Hongzhu Shi,
Yaliang Li,
Bolin Ding,
Jingren Zhou}
title = {AgentScope: A Flexible yet Robust Multi-Agent Platform},
journal = {CoRR},
volume = {abs/2402.14034},
year = {2024},
}
✨ 贡献者
感谢所有贡献者:
(原内容包含贡献者头像墙,此处省略)