我是一个粉刷匠2 3小时前
阿里通义实验室开源框架,为何把提示词全摊开给你看?
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_keji1.html

 

用 LangChain 或 AutoGen 搭过智能体的人,换到 AgentScope 会有种奇怪的感觉:中间层怎么这么少。这是一个开源 Python 框架,用来构建能推理、能调用工具、能记住上下文、还能互相协作的大模型智能体。它的取向很明确——透明优先于魔法,每一条提示词、每一条消息、每一次工具调用,你都能看见,也能改。

项目来自阿里巴巴通义实验室。2025 年 8 月的一篇 arXiv 论文描述了它的 1.0 版本,围绕异步执行、以及智能体与环境之间基于工具的交互做了重构。目前它也有 Java 版本,但这里只谈 Python。

上手门槛不高:需要 Python 3.10 或更新版本,从 PyPI 安装即可,pip install agentscope,想要可选附加组件就用 pip install "agentscope [ full ] "。

第一个智能体怎么跑起来

一段脚本就能在 OpenAI 模型上搭出一个 ReAct 智能体,给它配一个工具,然后在终端里开一个对话循环,输入 exit 退出。核心组件各司其职:模型和格式化器负责与模型提供方对话,内存保存上下文,工具箱暴露函数,智能体负责跑循环。

问它五个数的平均值,就能看到整个循环怎么工作:智能体对请求做推理,决定调用 execute_python_code,读取结果,然后回复。每一步都打印到控制台,发给了模型什么、模型返回了什么,一目了然。

换一家模型提供方,只需要改模型和格式化器两处。官方快速上手用的是 DashScopeChatModel 配 DashScopeChatFormatter;本地模型走 Ollama,也有自己的一对组合。

工具就是带类型标注的普通函数

写一个工具不需要继承什么基类。一个带类型提示和文档字符串的普通 Python 函数就够了,工具箱会读取这两样东西,构建出模型看到的 JSON schema ——所以写得清楚的文档字符串,实际上就是你提示词的一部分。函数返回一个 ToolResponse,里面装着内容块。

工具可以是同步的,也可以是异步的,能流式返回部分结果,在模型一次请求多个工具时还能并行执行。工具箱支持分组,任务变化时,智能体可以整组开关工具。

代码库之外的工具,AgentScope 支持模型上下文协议(MCP)。创建一个 MCP 客户端,比如面向可流式 HTTP 服务的 HttpStatelessClient,注册到工具箱上,它的工具就会和本地函数一起出现在智能体面前。

多智能体靠两件事

一是管道,决定轮次顺序;二是消息中枢,决定谁听到什么。

sequential_pipeline:消息依次穿过多个智能体,每个的输出成为下一个的输入。起草、审阅、编辑按固定顺序走,就是这种用法。

fanout_pipeline:同一条消息发给多个智能体,收集各自的回复。

MsgHub:一个共享房间,每个参与者的回复自动写进其他人的记忆,群聊、辩论、投票不用手工接线。房间开着的时候,参与者可以随时增删。

因为智能体本质上就是一个你能调用的对象,剩下的编排交给普通 Python 控制流就行。一个循环、一个 if、或者 asyncio.gather,往往就够了。

继续往下建之前的几条提醒

每个会话一个智能体实例。智能体和工具箱都持有状态,不要跨并发用户共享同一个实例,每个会话新建一个。

把文档字符串当提示词写。工具描述含糊,是智能体选错工具或传错参数最常见的原因。

用钩子,别急着写子类。ReActAgent 在推理和行动步骤周围暴露了钩子,适合做日志、护栏和指标。

下游系统要字段而不是散文时,直接要结构化输出。传一个 Pydantic 模型,智能体返回的就是校验过的数据。

看着它跑。AgentScope Studio 提供消息和工具调用的可视化追踪,一旦涉及多个智能体,这比读控制台日志强得多。

AgentScope 的基础一个下午就能过完:消息承载内容,模型和格式化器对接提供方,内存保存上下文,工具箱暴露函数,智能体跑循环;管道和 MsgHub 把这套东西扩展到智能体团队。建议的路径是先跑上面那个单 ReAct 智能体,再从自己的工作里加一个真实工具,然后试一个双智能体审阅管道——生产级智能体应用需要的大部分东西,这条路径都覆盖到了。

智客推

智客推

ZAKER 智客推 GEO | AI 时代的品牌认知解决方案

一起剪

一起剪

ZAKER旗下免费视频剪辑工具

相关标签

python java 阿里巴巴 开源
相关文章
打开 ZAKER 参与讨论