Skip to content

Latest commit

 

History

History
491 lines (409 loc) · 23.9 KB

File metadata and controls

491 lines (409 loc) · 23.9 KB

English Homepage | Tutorial | Roadmap | FAQ

AgentScope Logo

AgentScope: Agent-Oriented Programming for Building LLM Applications

arxiv pypi pypi docs workstation license

modelscope%2Fagentscope | Trendshift

📢 新闻

  • [2025-11] AgentScope 开源 Alias-Agent 用于处理多样化的真实任务,以及 Data-Juicer Agent 用于自然语言驱动的数据处理。
  • [2025-11] AgentScope 通过集成 Trinity-RFT 实现对 Agentic RL 的支持。
  • [2025-11] AgentScope 集成 ReMe 增强长期记忆能力。
  • [2025-11] AgentScope 推出 agentscope-samples 样例库,并升级 agentscope-runtime 支持 Docker/K8s 部署和 VNC 驱动的图形化沙盒。
  • [2025-11] Contributing Guide 已更新,欢迎贡献到 AgentScope!
  • [2025-09] AgentScope 1.0 RAG 模块已上线!欢迎查看 文档样例
  • [2025-09] Voice agent 已上线!ReActAgent 已原生支持 Qwen-Omni 和 GPT-Audio 系列模型,欢迎查看 样例roadmap
  • [2025-09] 一个全新功能强大的 📋Plan 模块已经上线 AgentScope!查看文档了解更多详情。
  • [2025-09] AgentScope Runtime 现已开源!支持沙盒化工具执行的高效智能体部署,助力打造生产级AI应用。查看 GitHub 仓库
  • [2025-09] AgentScope Studio 现已开源!查看 GitHub 仓库
  • [2025-08] v1 版本 Tutorial 已上线!查看 tutorial 了解更多详情。
  • [2025-08] 🎉🎉 AgentScope v1现已发布!在完全拥抱异步执行的基础上提供许多新功能和改进。查看 changelog 了解详细变更。

✨ Why AgentScope?

浅显入门,精深致用。

AgentScope Framework

  • 对开发者透明: 透明是 AgentScope 的首要原则。无论提示工程、API调用、智能体构建还是工作流程编排,坚持对开发者可见&可控。拒绝深度封装或隐式魔法。
  • 实时介入: 原生支持实时中断和自定义中断处理。
  • 更智能化: 支持智能体工具管理智能体长期记忆控制和智能化RAG等。
  • 模型无关: 一次编程,适配所有模型。
  • “乐高式”智能体构建: 所有组件保持模块化相互独立
  • 面向多智能体:专为多智能体设计,显式的消息传递和工作流编排,拒绝深度封装。
  • 高度可定制: 工具、提示、智能体、工作流、第三方库和可视化,AgentScope 支持&鼓励开发者进行定制。

AgentScope v1.0 新功能概览:

模块 功能 文档
model 支持异步调用 Model
支持推理模型
支持流式/非流式返回
支持工具API
tool 支持异步/同步工具函数 Tool
支持工具函数流式/非流式返回
支持用户打断
支持工具函数的后处理
支持分组工具管理
支持智能体通过 Meta Tool 自主管理工具
MCP 支持 Streamable HTTP/SSE/StdIO 传输 MCP
支持有状态无状态两种模式的MCP客户端
支持客户端和函数级别的精细控制
agent 支持异步执行
支持并行工具调用
支持用户实时介入和自定义的中断处理
支持自动状态管理
允许智能体自主控制长期记忆
支持智能体钩子函数
tracing 支持基于 OpenTelemetry 的 LLM、工具、智能体和格式化器追踪 Tracing
支持连接到第三方追踪平台(如Arize-Phoenix、Langfuse)
memory 支持长期记忆 Memory
session 提供会话/应用级状态管理 Session
evaluation 提供分布式和并行评估 Evaluation
formatter 支持多Agent提示格式化与工具API Prompt Formatter
支持基于截断的格式化策略
plan 支持任务分解和计划制定 Plan
支持开发者手动设定计划
RAG 支持 agentic RAG RAG
支持多模态 RAG
...

💬 联系我们

欢迎加入我们的社区,获取最新的更新和支持!

Discord 钉钉

📑 Table of Contents

🚀 快速开始

💻 安装

AgentScope需要Python 3.10或更高版本。

🛠️ 从源码安装

# 从 GitHub 拉取源码
git clone -b main https://github.com/agentscope-ai/agentscope.git

# 以可编辑模式安装包
cd agentscope
pip install -e .

🔄 使用 uv 安装(推荐,安装更快)

uv 是一个用 Rust 编写的快速 Python 包安装程序和解析器。

# 克隆仓库
git clone -b main https://github.com/agentscope-ai/agentscope.git
cd agentscope

# 使用 uv 安装
uv pip install -e .

📦 从PyPi安装

pip install agentscope

或者使用 uv:

uv 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 中原生支持实时介入功能,提供面向打断的记忆处理机制,将中断转换为智能体的可观察事件,让智能体能够无缝恢复对话。

Realtime Steering Realtime Steering

🛠️ 细粒度 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

home projects runtime friday

📖 文档

🤝 贡献

我们欢迎并鼓励社区成员为 AgentScope 做出贡献!请参阅我们的 贡献指南 了解更多详情。

⚖️ 许可

AgentScope 基于 Apache License 2.0 发布。

📚 论文

如果我们的工作对您的研究或应用有帮助,请引用我们的论文。

@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},
}

✨ 贡献者

感谢所有贡献者: