ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

AgentScope 2.0 多智能体应用开发与部署实战指南

AgentScope 2.0 多智能体应用开发与部署实战指南 AgentScope 2.0 是一个面向多智能体应用开发与部署的开源框架核心价值在于把大模型调用、智能体编排、工具挂载和消息传递这几件原本需要手工拼接的事情收敛成一套统一的开发链路。第一次接触这个框架的人最常见的状态是能照着文档跑通一个 Hello Agent但不知道换一个业务场景时应该改哪里也不知道从本地脚本变成云端服务中间缺了多少配置。这篇文章按“环境搭建 - 智能体编排 - 工具调用 - 云端部署 - 问题排查”的顺序把一条完整的 Agent 应用生命周期讲清楚。读完以后你可以独立完成一个多智能体应用的本地开发、接口封装和云服务器部署。1. 先理解 AgentScope 2.0 解决的是哪一类问题1.1 多智能体应用中最容易混乱的三个环节一个多智能体应用表面上只是“多个大模型 Agent 互相聊天或配合干活”但落到代码层面至少要处理三件事。第一是模型接入。每个 Agent 背后都有一个大模型不同厂商的模型接口参数、调用方式、鉴权方式都不一样。如果每个 Agent 都直接写一次 SDK 调用项目很快就变成一堆难以维护的胶水代码。第二是消息传递。Agent 与 Agent 之间是通过消息协作的消息里要有发送者、接收者、内容、类型、时间等信息。业务复杂度上来以后消息丢失、重复、顺序错乱都会出现这不是普通函数调用能替代的。第三是工具调用。Agent 不能只生成文本它要能查天气、查数据库、调用外部接口。工具怎么注册、参数怎么校验、调用失败以后怎么反馈给模型继续处理这些都需要框架层面给出规范。AgentScope 2.0 把这几个环节抽象成 Agent、消息、工具、编排器、运行时等核心概念。写业务时你更多是在描述“哪些 Agent 参与、它们之间按什么规则流转、能使用哪些工具”而不是在重复处理底层细节。1.2 AgentScope 2.0 的核心概念在开始写代码前先建立一个最小概念清单。概念作用对应到业务Agent一个具备模型能力、系统提示词、工具列表的智能体单元客服机器人、数据分析助手、审核员MsgAgent 之间的消息载体包含名字、角色、内容等用户提问、Agent 返回结果、工具执行结果模型配置声明模型类型、模型名、API Key、参数决定每个 Agent 使用哪个大模型工具可被模型按需调用的函数需要明确的输入输出天气查询、订单查询、发邮件编排器控制多个 Agent 的执行顺序和消息流向先分析、再审核、最后汇总运行时负责消息分发、生命周期、日志和异常处理整个流程在哪里执行、如何监控这六个概念基本覆盖了一个多智能体应用的完整生命周期。后面每个章节都会围绕它们展开。1.3 你需要什么前置知识学习 AgentScope 2.0 不需要非常深的算法背景但有三项基础能力会直接影响学习效率。第一是 Python。框架本身是 Python 生态的至少需要会创建虚拟环境、安装依赖、写类和函数。第二是 JSON。工具参数、模型返回、消息内容基本都是 JSON 结构不会看 JSON 就很难排查问题。第三是 HTTP 和进程管理。云端部署阶段要用到 Web 服务、端口、进程守护这些知识。如果你的技术栈主要是 Java 或 Node.js也不用急着放弃。AgentScope 2.0 的 Agent 服务在部署后通常通过 HTTP API 对外提供Spring Boot 项目可以通过 REST 接口集成而不是直接 import Python 包。这一点会在云端部署章节再展开。注意不同版本之间 API 会有差异。下面示例基于 AgentScope 2.x 的常见开发方式落地前先以你实际安装版本的官方文档为准不要直接照抄所有方法名。2. 本地环境搭建从 Python 环境到第一个 Agent2.1 环境检查清单本地环境搭建的目标是能安装框架、能连接模型、能运行 Agent。开始之前先检查四件事。检查项推荐要求说明操作系统Windows 10/11、macOS、Linux三平台均可命令略有差异Python 版本3.10 或 3.11低于 3.9 或高于 3.12 时先确认兼容性pip最新版本旧版本安装依赖时容易出错网络能访问模型 API 和 PyPI国内环境建议配置镜像源推荐使用 conda 或 venv 创建独立环境。不要直接往系统 Python 里装否则后面切换项目时依赖冲突会非常痛苦。2.2 创建隔离环境并安装框架以 conda 为例执行下面的命令conda create -n agentscope2 python3.11 -y conda activate agentscope2 python --version pip install -U pip确认 Python 版本后安装 AgentScope 2.0pip install -U agentscope如果在国内网络环境下安装速度很慢可以临时使用镜像源pip install -U agentscope -i https://pypi.tuna.tsinghua.edu.cn/simple安装完成后用下面的命令确认版本并查看已安装的位置pip show agentscope pip list | grep agentscope这一步做完环境部分就完成了。注意不要跳过pip show它能同时确认“安装成功”和“安装的是哪个版本”。如果项目对 2.0 有版本要求这里就要和官方发布说明核对一遍。2.3 配置大模型AgentScope 2.0 需要连接一个真实的大模型服务才能运行。模型来源通常有两种一种是使用云厂商的模型 API另一种是本地部署开源模型后用 OpenAI 兼容接口接入。以 DashScope 模型为例推荐把 API Key 放到环境变量里而不是写死在代码中export DASHSCOPE_API_KEY你的_API_Key在 Python 中初始化import os import agentscope agentscope.init( model_configs[ { config_name: main_model, model_type: dashscope_chat, model_name: qwen-plus, api_key: os.environ[DASHSCOPE_API_KEY], } ] )如果使用的是 OpenAI 兼容接口model_type换成openai_chat并指定base_urlimport os import agentscope agentscope.init( model_configs[ { config_name: local_model, model_type: openai_chat, model_name: qwen2.5-7b-instruct, api_key: EMPTY, base_url: http://127.0.0.1:8000/v1, } ] )这里的关键是config_name。它相当于模型的别名后面创建 Agent 时通过这个别名引用模型。配置模型时最常见的错误是只改了模型名、API 类型不匹配导致启动不报错但一调用就返回认证失败。2.4 编写第一个最小 Agent模型配置好后写一个最小 Agentimport os from agentscope.agent import DialogAgent from agentscope.message import Msg import agentscope agentscope.init( model_configs[ { config_name: main_model, model_type: dashscope_chat, model_name: qwen-plus, api_key: os.environ[DASHSCOPE_API_KEY], } ] ) agent DialogAgent( nameassistant, sys_prompt你是一个简洁、准确的助手。, model_config_namemain_model, ) msg Msg(nameuser, content用一句话解释什么是智能体。, roleuser) reply agent(msg) print(reply.content)运行方式python first_agent.py正常输出是模型生成的回答文本。看到输出后环境搭建链路才算真正跑通。注意这里的DialogAgent是对话型 Agent 的常见封装如果你安装的版本目录结构有变化可以用下面的方式查看当前版本提供的类import agentscope print(dir(agentscope.agent))2.5 环境阶段最容易踩的坑问题现象常见原因处理建议ModuleNotFoundError包没安装或装到了别的环境重新激活环境pip show agentscope确认路径初始化不报错调用模型时 401API Key 没加载或类型不对检查环境变量和model_type是否匹配调用模型超时网络限制、模型服务地址错误先 curl 模型接口确认连通性代码里有 2.0 新方法但报 AttributeError本地版本过低或方法迁移查看官方升级文档按新 API 调整这里要特别强调一点不要一报错就去改代码。大多数环境问题在报错之前就已经埋下了检查顺序应该是Python 环境 - 依赖版本 - 模型配置 - 网络连通性。顺序反了排查效率会低很多。3. 智能体编排让多个 Agent 按规则分工协作3.1 为什么需要编排层单个 Agent 只能完成一次“用户输入 - 模型输出”的对话。真实业务里一个请求往往要经过多个角色数据分析 Agent 先查询数据审核 Agent 再检查合规最后汇总 Agent 生成报告。每一段逻辑如果都写在业务代码里Agent 之间的消息传递、顺序控制、异常恢复就会散落各处。编排层的作用就是把流程本身变成可以被描述、被复用、被监控的对象。AgentScope 2.0 的编排思路大致可以分为两类顺序流水线和群组协作。3.2 顺序流水线任务接力顺序流水线适合“前一个 Agent 的输出是后一个 Agent 的输入”这种场景。示例结构如下from agentscope.pipeline import SequentialPipeline pipeline SequentialPipeline( agents[ analyzer_agent, auditor_agent, reporter_agent, ] ) result pipeline( Msg(nameuser, content分析这份销售数据并输出一份合规报告。, roleuser) )这段代码描述的是请求先进入分析 Agent分析结果传给审核 Agent审核通过后进入汇总 Agent。每个 Agent 对消息的处理是独立的但流程顺序是固定的。写代码时最需要注意的是每个 Agent 的系统提示词里要说明它应该输出什么格式否则后一个 Agent 拿到上一步的大段文本时很容易解析失败。提示编排链路越长越要在每个 Agent 的系统提示词里明确输出格式。推荐使用 JSON 或固定标题结构这样下游 Agent 才能稳定消费。3.3 群组协作广播、讨论与汇聚流水线适合确定性流程群组协作适合需要多个 Agent 平行参与或互相讨论的场景。基本思路是把多个 Agent 放进同一个消息组消息在组内广播再根据业务规则决定如何收口。下面的伪代码展示群组协作需要哪些要素from agentscope.agent import Agent coder Agent(namecoder, sys_prompt你负责写代码。, ...) reviewer Agent(namereviewer, sys_prompt你负责代码审查。, ...) # 把两个 Agent 放进同一个协作组 # 消息在组内广播由编排逻辑决定何时停止 # 关键参数最大轮次、超时时间、结束条件群组协作比流水线复杂因为它需要处理“什么时候结束”这个问题。如果结束条件不清晰流程可能无限聊下去。实际项目中至少要在三个层面设置边界最大交流轮次、单轮超时时间、外部终止信号。这些都应该是可配置参数而不是写死在业务流程里。3.4 A2A 协作模式与协议化协作2.0 时代比较受关注的一个方向是 Agent 之间的协议化协作典型代表是 A2AAgent-to-Agent协议。简单说A2A 定义了一套标准化通信方式让不同框架、不同厂商实现的 Agent 也能互相发现和协作。如果项目需要跨团队、跨系统的 Agent 协作可以考虑按 A2A 协议封装自己的 Agent 服务。如果只是单一系统内的多个 Agent 协作直接用框架原生的消息机制就够了不用为了“协议化”而引入额外复杂度。判断标准只有一个是否存在跨系统、跨框架的 Agent 互相调用。3.5 编排阶段的调试手段编排跑不出来的原因很多时候不是代码语法问题而是消息流不符合预期。建议按以下方式观察import logging logging.basicConfig(levellogging.DEBUG)在消息进入下一个 Agent 之前打印消息的name、role和content片段。重点确认三个问题上一步的输出是否完整到达、格式是否是下一步能解析的样子、是否有多轮循环但始终没有满足结束条件。这三项检查完之后再去看 Agent 提示词里的指令冲突。4. 工具调用让 Agent 真正操作外部系统4.1 从“会说话”到“能干活”没有工具的 Agent 只能生成文本有了工具以后Agent 才能在对话中触发真实操作。工具调用的本质是模型根据用户请求判定应该调用哪个函数并生成符合函数签名要求的参数框架负责执行这个函数再把结果返回给模型让模型基于真实结果继续回答。无论用什么框架工具调用都要处理四个环节工具声明、参数生成、执行、结果回传。任何一个环节断了工具都会“看起来注册了但从来不生效”。4.2 注册一个自定义工具AgentScope 2.0 中自定义工具通常就是一个普通 Python 函数加上清晰的函数说明和类型注解。下面是一个示例def get_weather(city: str) - str: 查询指定城市的当前天气返回简洁天气描述。 Args: city: 城市名称例如“杭州”。 Returns: 包含气温和天气现象的字符串。 # 实际项目中应调用真实天气 API这里只做演示 return 晴25 摄氏度东北风 3 级 agent create_agent_with_tools( nameweather_agent, model_config_namemain_model, tools[get_weather], )函数名、docstring、参数注解三者都很重要。模型靠这些信息决定什么时候调用该函数、传什么参数。写工具时最常见的错误是参数没有类型注解或 docstring 写成“这个函数很厉害”。模型得不到有效信息自然不会选择调用它。create_agent_with_tools在实际项目中是对应版本提供的 Agent 构造函数方法名以你安装的版本为准。4.3 工具调用成功后要把结果回传给模型工具执行完成不等于流程结束。框架通常会先把工具结果包装成一条消息再交给 Agent 继续推理。在自定义编排时这一步尤其不能省略。你可以把工具结果理解为“模型看到的中间证据”模型只有读到证据才能生成有依据的最终回答。实际项目中推荐封装一个统一的工具执行入口统一记录工具名、入参、出参、耗时、错误信息。记录这些不是为了展示而是为了事后排查“为什么模型在某个场景下没有使用工具”。4.4 接入 MCP 工具MCPModel Context Protocol是目前比较常见的工具标准化方式。它的核心是把工具能力封装成 MCP ServerAgent 侧通过 MCP Client 发现和调用。这样工具可以独立于 Agent 工程开发也可以被多个 Agent 复用。在 AgentScope 2.0 项目中接入 MCP 工具大致分为三步确认当前版本是否提供 MCP 适配层或使用官方推荐的方式连接 MCP Server。启动本地或远程 MCP Server暴露工具列表。把 MCP 工具挂载到 Agent 上与普通自定义工具放在同一个工具列表里。MCP 与普通工具的主要区别在于普通工具是进程内函数MCP 工具是跨进程、跨网络的协议调用。因此接入 MCP 后网络连通性、鉴权和超时策略都要纳入考虑。本地开发时可以用本地 MCP Server部署到云端后再根据工具所在位置决定使用进程内函数还是 MCP 调用不必为了用 MCP 而把所有函数都改成远程服务。4.5 工具调用的高频问题问题现象常见原因处理建议模型从不调用工具函数说明不清晰、没挂到 Agent 上检查工具列表和 docstring简化参数数量调用工具但参数错误参数名与模型预期不一致使用更明确的参数名和枚举值工具执行报错后整个流程中断缺少异常兜底在工具执行入口捕获异常把错误信息返回给模型同一个工具在多个 Agent 中行为不一致依赖了外部状态保持工具幂等避免共享可变状态一个容易被忽略的点是工具报错时不要直接把原始堆栈抛给模型。折中做法是把错误归类成一句话比如“查询超时请稍后重试”或“参数 city 不合法”既保留信息又避免把内部实现细节暴露给模型。5. 云端部署把本地 Agent 变成可访问的服务5.1 部署目标拆分本地能跑通和云端能稳定服务中间还差几步。先把部署目标拆成四块接口化把 Agent 调用封装成 HTTP API供其他系统调用。环境迁移把本地 Python 环境变成云服务器上的可重复构建环境。进程管理保证服务崩溃后能自动重启。访问入口通过域名或 IP 对外提供访问并做好安全控制。以“封装成 HTTP API”为例使用 FastAPI 是常见选择。原因很直接FastAPI 对异步支持好Pydantic 能自动校验请求参数生成的接口文档方便联调。5.2 用 FastAPI 包装 Agent先准备一个最小服务文件# app/main.py from contextlib import asynccontextmanager import agentscope from fastapi import FastAPI from pydantic import BaseModel from agentscope.agent import DialogAgent from agentscope.message import Msg agent_holder {} def create_agent(): agentscope.init( model_configs[ { config_name: main_model, model_type: dashscope_chat, model_name: qwen-plus, api_key: ${DASHSCOPE_API_KEY}, } ] ) return DialogAgent( nameassistant, sys_prompt你是一个简洁、准确的助手。, model_config_namemain_model, ) asynccontextmanager async def lifespan(app: FastAPI): agent_holder[agent] create_agent() yield app FastAPI(lifespanlifespan) class ChatRequest(BaseModel): message: str class ChatResponse(BaseModel): reply: str app.post(/chat, response_modelChatResponse) def chat(req: ChatRequest): msg Msg(nameuser, contentreq.message, roleuser) reply agent_holder[agent](msg) return ChatResponse(replyreply.content) app.get(/health) def health(): return {status: ok}注意几个设计点Agent 放在启动阶段创建而不是每个请求都创建。否则每次请求都要重新初始化模型耗时和资源消耗都不划算。/health健康检查接口要保留。负载均衡和进程守护都依赖它判断服务是否存活。如果 Agent 有状态或需要会话记忆要在请求层设计 session 管理不能在全局单例里存所有会话否则内存会持续增长。这里的${DASHSCOPE_API_KEY}表示从运行环境读取密钥。如果你使用的是本地模型或 OpenAI 兼容接口把model_type和base_url按第 2 章的配置方式替换即可。启动前确认依赖pip install fastapi uvicorn pydantic agentscope本地验证uvicorn app.main:app --host 0.0.0.0 --port 8000 curl -X POST http://127.0.0.1:8000/chat \ -H Content-Type: application/json \ -d {message: 你好}返回 JSON 中出现reply字段说明接口封装成功。5.3 配置云端环境在云服务器上复现同样的环境推荐顺序如下sudo apt update sudo apt install -y python3.11 python3.11-venv python3.11 -m venv /opt/agentscope-app/venv source /opt/agentscope-app/venv/bin/activate pip install -U pip pip install -r requirements.txtrequirements.txt至少要包含固定版本agentscope2.x.x fastapi0.111.0 uvicorn0.30.1 pydantic2.7.0版本固定后云端和本地才能保持一致的运行行为。不要使用不带版本号的写法在云端重新安装否则某天依赖升级可能直接导致服务不可用。5.4 使用 systemd 守护服务推荐用 systemd 管理服务进程。它能让服务在服务器重启后自动拉起崩溃后自动重启日志统一输出到 journald。配置文件/etc/systemd/system/agentscope-app.service[Unit] DescriptionAgentScope App Service Afternetwork.target [Service] Useragentuser WorkingDirectory/opt/agentscope-app EnvironmentFile/etc/agentscope-app.env ExecStart/opt/agentscope-app/venv/bin/uvicorn app.main:app --host 127.0.0.1 --port 8000 Restartalways RestartSec5 [Install] WantedBymulti-user.target环境变量放单独文件比如/etc/agentscope-app.envDASHSCOPE_API_KEY你的_API_Key启动并设置开机自启sudo systemctl daemon-reload sudo systemctl enable agentscope-app sudo systemctl start agentscope-app sudo systemctl status agentscope-app日志查看sudo journalctl -u agentscope-app -f这里把 uvicorn 绑定在127.0.0.1:8000而不是直接暴露到公网。对外访问由 Nginx 反向代理完成承担 TLS 终止和基础访问控制。5.5 反向代理与端口放行Nginx 配置片段server { listen 80; server_name your-domain.example.com; location / { proxy_pass http://127.0.0.1:8000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_read_timeout 120s; } }proxy_read_timeout要按 Agent 响应耗时调整。大模型生成长文本时单次请求可能超过默认的 60 秒如果不加长用户侧会频繁看到超时。部署完成后还需要在云厂商的安全组或防火墙里放行对应端口。这一步经常被忽略本地 curl 完全正常但外部访问不通。排查顺序是服务是否监听、本机 curl 是否成功、云安全组是否放行、Nginx 配置是否生效。5.6 生产环境的额外保障云端能访问只是及格线。真正对外提供服务还要补齐下面这些内容保障项本地开发生产环境API Key环境变量即可密钥管理服务或加密环境文件日志控制台输出结构化日志 日志采集监控无健康检查、响应时间、错误率限流无按用户或 IP 限流回滚git revert 即可版本化发布 历史镜像保留会话状态内存外部存储并做好过期策略如果 Agent 服务会被 Spring Boot 等外部系统集成建议把接口协议固定下来发布前先和调用方确认字段含义。接口升级时保留旧字段兼容或使用版本化路径避免一次发布导致所有下游系统报错。6. 常见问题排查链路6.1 本地连不上模型服务现象初始化正常调用 Agent 时抛连接错误或超时。排查顺序确认模型配置里的model_type和base_url是否正确。用 curl 直接请求模型接口排除框架因素。检查 API Key 是否有效以及是否超过了模型服务的并发限制。查看完整错误堆栈区分是 DNS 解析失败、连接超时还是鉴权失败。如果是本地部署的模型服务还要确认模型服务本身是否已加载完成。很多本地推理服务在模型未加载完时接口返回的状态与就绪状态不同需要等待就绪后再启动 Agent 应用。6.2 工具没有被调用现象Agent 回答了问题内容但没有调用已注册工具。排查顺序确认工具确实传入了当前 Agent 的构造函数。检查函数 docstring 是否写清楚“什么时候该调用、参数怎么填”。简化参数数量。参数超过 5 个时模型出错的概率明显上升。开启详细日志观察模型返回内容里是否包含工具调用意图。如果日志里能看到模型生成了工具调用意图但框架没有执行问题大概率出在工具参数格式与框架预期不一致。这时候要去查看当前版本工具调用的数据结构确认是 arguments 字符串还是 JSON 对象。6.3 编排流程卡住或结果丢失现象多个 Agent 协作时流程长时间不结束或下游 Agent 收到的是空内容。排查顺序检查结束条件是否达到。最大轮次、超时时间都要明确。打印每条消息的name、role、content确认是否为空。检查下游 Agent 的提示词是否对“空输入”有兜底指令。确认是否存在 Agent 之间循环调用但没有收敛条件的场景。群组协作里“结束条件”是最容易被低估的问题。不要在代码里写死轮次就完事要把结束条件设计成可配置参数并让日志能清楚显示当前轮次和最近几条消息方便定位死循环。6.4 云端部署后外部访问不通现象服务器本机 curl 返回正常外部访问失败。排查顺序确认服务监听地址是0.0.0.0还是127.0.0.1。如果经过 Nginx 反向代理应用本身绑127.0.0.1是对的但要确认 Nginx 在监听公网地址。检查云安全组入方向规则是否放行了 Nginx 端口。检查系统防火墙如 ufw、firewalld 是否拦截。检查域名解析是否指向正确的服务器 IP。查看 Nginx 错误日志和 journald 日志确认请求是否真的到了 Nginx。这套排查顺序的本质是“逐层缩小范围”先确认进程在跑再确认本机可访问再确认网络层放行最后确认代理层。不要一开始就去改代码。7. 最佳实践、检查清单与扩展方向7.1 工程化建议把 Agent 项目当普通后端工程对待而不是当实验脚本。项目结构建议如下agentscope-app/ ├── app/ │ ├── main.py # FastAPI 入口 │ ├── agents.py # Agent 定义 │ ├── tools/ │ │ ├── __init__.py │ │ ├── weather.py # 自定义工具 │ │ └── mcp_client.py # MCP 工具接入 │ └── config.py # 读取环境变量 ├── config/ │ └── model_config.yaml # 模型配置文件 ├── requirements.txt ├── Dockerfile └── README.md模型配置、Agent 定义、工具实现分开。这样当模型升级或工具增加时不需要修改流程代码。Agent 的提示词统一放在常量或配置文件中管理避免散落在各类代码里。工具函数建议保持幂等。同一个入参在多次调用时结果一致这对模型重试非常友好。如果工具本身有副作用比如发邮件、扣款要在工具说明里明确提醒模型“执行后不可撤销”。7.2 可复用检查清单下面这份清单可以直接用于 Agent 应用发布前检查[ ] Python 版本与 requirements.txt 中依赖版本已固定[ ] API Key 不写死在代码中通过环境变量或密钥服务注入[ ] 模型配置的model_type、model_name、base_url与真实服务匹配[ ] 每个 Agent 都有明确的系统提示词和输出格式要求[ ] 编排流程设置了最大轮次、超时时间和结束条件[ ] 每个工具都有完整 docstring、参数类型注解和异常兜底[ ] MCP 工具的网络连通性和鉴权已验证[ ] HTTP 服务有/health健康检查接口[ ] 本地 curl 验证接口返回符合预期[ ] 云服务器上服务已设置开机自启和自动重启[ ] 安全组、防火墙、域名解析已放行[ ] Nginx 的proxy_read_timeout已按模型响应耗时调整[ ] 生产日志能定位每次请求对应的 Agent 执行链路[ ] 接口升级时已考虑与下游系统的字段兼容每一条都可以在实际故障中找到对应场景。发布前逐项跑一遍比出事后再翻日志稳定得多。7.3 进一步学习方向从这套流程往深走大致有三个方向。第一个方向是编排模式。现在只讲了流水线和群组协作实际项目中还有选路、重试、多分支合并等模式。可以结合自己的业务流程把编排规则从“写死在代码里”升级成“可配置的流程描述”。第二个方向是工具生态。尝试把数据库查询、搜索、办公软件操作封装成标准工具再接入 MCP Server。工具标准化以后跨项目复用的成本会明显下降。第三个方向是工程平台化。当一个团队里有多个 Agent 服务时会面临模型 Key 管理、Prompt 版本管理、调用审计、限流告警等问题。这些已经不是框架能单独解决的问题需要建设轻量的内部平台。对你来说最有价值的练习不是看更多文档而是把这条最小链路完整跑两遍第一遍在本地第二遍部署到云端。跑通以后把一个自己业务里真实存在的重复操作封装成工具让 Agent 帮你完成才算真正理解 AgentScope 2.0 的工程价值。
返回列表