
一次解决多智能体看不见也管不住的难题AgentScope 2.0 从本地脚本到上线服务的完整实战【免费下载链接】agentscopeBuild and run agents you can see, understand and trust.项目地址: https://gitcode.com/GitHub_Trending/ag/agentscope你让智能体帮你清理工作区它顺手把构建产物也删了——而你当时根本没注意到。多智能体开发常见的坑不在模型推理而在你既看不见它的过程也拦不住它的动作。AgentScope 2.0 把推理、工具调用、协作全程变成可流式消费的事件流再配上权限引擎和沙箱工作区让你拿到的是一套看得见的、管得住的多智能体框架。它是智能体运行环境不是编排引擎先说结论AgentScope 2.0 不拿固化的流程模板去框模型而是信任大模型自身的推理和工具调用能力——它更像一套行车环境路、仪表盘、护栏而不是帮你画好的路线图。框架分两层按需取用模块你拿到什么适合场景SDK 层Agent/Toolkit/ModelReAct 智能体、内置 Bash/Read/Write/Grep 工具、OpenAI、Anthropic、Gemini、DashScope、DeepSeek、Moonshot、xAI、Ollama 等统一模型接口代码里组装任意智能体事件系统reply_stream全程事件流前端渲染、日志落盘、过程回放权限引擎PermissionEngine对每次工具调用做ALLOW/DENY/ASK三档判定人在环、生产风控WorkspaceLocal / Docker / E2B / K8s / Daytona 等沙箱后端代码执行安全中间件回复、推理、行动、模型调用、权限等环节的钩子接 Tracing、长期记忆、RAGAgent ServiceFastAPI 后端 现成 Web UI多租户多会话直接上线先跑起来官方 GoalPipeline 示例的最短路径不先讲原理先让你看到第一个真实结果一个执行者写代码、一个审查者验收不过就打回直到通过。完整可跑的官方示例在 examples/pipeline/goal/goal_pipeline.py下面按它的最小形态拆。1. 装环境。要求 Python 3.11。git clone https://gitcode.com/GitHub_Trending/ag/agentscope cd agentscope uv pip install -e .装源码而不是 PyPI 包方便你边读 src/agentscope/ 边跑。2. 建一个单智能体开终端控制台。为什么这么做launch_console会替你把输入、工具调用确认、CtrlC 中断全处理掉先确认单智能体能正常跑通再谈协作。from agentscope.agent import Agent from agentscope.model import DashScopeChatModel from agentscope.credential import DashScopeCredential from agentscope.tool import Toolkit, Bash, Grep, Read, Write from agentscope.console import launch_console agent Agent( nameFriday, system_promptYou are a helpful assistant., modelDashScopeChatModel( credentialDashScopeCredential(api_keysk-...), modelqwen3.7-max, ), toolkitToolkit(tools[Bash(), Grep(), Read(), Write()]), ) await launch_console(agent)3. 让两个智能体共用一个工作区。为什么审查者必须判断磁盘上真实写下的东西而不是执行者声称写了什么——共用LocalWorkspace是这条协作链成立的前提。from agentscope.state import AgentState from agentscope.permission import PermissionContext, PermissionMode from agentscope.workspace import LocalWorkspace async with LocalWorkspace(workdirworkspace) as ws: tools await ws.list_tools() executor Agent( nameExecutor, system_promptYoure a programmer named Executor., modelmodel, # 第 2 步的模型实例 toolkitToolkit(toolstools), offloaderws, stateAgentState(permission_contextPermissionContext( modePermissionMode.BYPASS)), ) verifier Agent(...) # 同样构造换成 Verifier注意verifier就是普通Agent不是特殊类它和执行者用的是同一套工具。4. 套上 GoalPipeline 并启动。为什么审查不过时驳回意见会原样回传给执行者循环上限由max_iters控制目标则是这条流水线第一次被要求做什么换个任务审查标准自动跟着换。from agentscope.pipeline import GoalPipeline pipe GoalPipeline(executorexecutor, verifierverifier, max_iters10) await launch_console(agentpipe) 两个智能体的事件流会在终端里交替滚动谁在推理、调了哪个工具、结果是什么全程可见让智能体自己决定下一步批量工具调用、结构化输出与中断恢复结论你只给它一个 ReAct 循环加一套工具规划由它自己做。批量行动模型一轮里发出多个工具调用时框架会分组后顺序或并发执行而不是傻等一个个跑完实现在 src/agentscope/agent/_agent.py。结构化输出reply接受structured_schema参数直接拿回符合 Pydantic 模型的结构省去解析自由文本。class Plan(BaseModel): steps: list[str] msg await agent.reply(user_msg, structured_schemaPlan)可中断可恢复reply_stream是事件生成器UserConfirmResultEvent、UserInterruptEvent这类事件可以直接作为输入喂回去智能体从断点继续而不是从头重跑。⚠️容易踩错别用 if-else for 循环自己复刻 ReAct。你想控制的是流程的骨架那就用GoalPipeline这类 pipeline 表达每一步的开放决策留给模型。给每次工具调用装一道权限闸ALLOW、DENY、ASK 三档判定结论权限不是事后补丁而是引擎内置的一环——每次工具执行请求都要过一道判定。PermissionEngine基于PermissionContext模式 规则集工作规则行为分三档ALLOW放行、DENY拦截、ASK暂停等人确认。模式从松到紧有DEFAULT、ACCEPT_EDITS、EXPLORE、BYPASS几档比如ACCEPT_EDITS自动放行工作目录内的文件读写。from agentscope.permission import ( PermissionEngine, PermissionContext, PermissionMode, PermissionRule, PermissionBehavior, ) context PermissionContext(modePermissionMode.ACCEPT_EDITS) engine PermissionEngine(context) engine.add_rule(PermissionRule( tool_nameBash, rule_contentgit:*, behaviorPermissionBehavior.ALLOW, ))一个容易忽略的点规则匹配的语义是按工具类型分的——Bash 对命令做子串/前缀通配所以写git:*文件类工具Read/Write对路径做 glob 匹配如src/**。另外别被BYPASS完全吓到Bash对敏感文件/目录即使命中 BYPASS 也会强制询问见 src/agentscope/tool/_builtin/_bash.py。⚠️容易踩错模式语法写错了规则会静默失效护栏形同虚设。上线前用一条你确定会触发的规则做冒烟测试。智能体全程可回放reply_stream 事件流与中间件钩子结论在这里过程不可见基本不成立因为一切皆是事件。智能体不是一口气吐给你最终答案reply_stream持续产出细粒度事件模型调用开始/结束、文本增量、思考块、工具调用块、工具结果增量、多模态内容……完整的类型清单见 src/agentscope/event/_event.pyModelCallStartEvent、ToolCallDeltaEvent、RequireUserConfirmEvent等。你自己的前端或日志系统直接消费这条流from agentscope.event import RequireUserConfirmEvent async for event in agent.reply_stream(inputsuser_msg): if isinstance(event, RequireUserConfirmEvent): # 事件流在此暂停确认后把 # UserConfirmResultEvent 喂回 reply_stream 即可 pass生产级观测还有两层仓库内置 OpenTelemetry 兼容的 Tracing 模块src/agentscope/middleware/_tracing/挂上后每个智能体操作都能进 Jaeger/Zipkinsrc/agentscope/middleware/ 下的可组合中间件则在回复、推理、行动、权限检查等环节提供钩子想在哪一步埋点就在哪一步挂不用改核心逻辑。⚠️容易踩错只把最终msg落盘、不落事件流。真出故障时你会重新变回只有答案没有过程的状态——事件流才是可回放的现场。从本地脚本到多租户线上服务启动 Agent Service 的最短路径结论个人脚本到此为止要上线改一个文件就行。要起的组件只有三个Redis存储后端、FastAPI 后端examples/agent_service/main.pypython main.py起在 8000 端口、Web UIexamples/web_ui/pnpm install pnpm dev前端指到http://localhost:8000。完整示例装的是agentscope[full]全家桶。定制入口就是main.py里的create_app(...)——存储、工作区管理器、MCP、IM 渠道、子智能体模板全是参数app create_app( storageRedisStorage(hostlocalhost, port6379), workspace_managerLocalWorkspaceManager(basedirworkspaces), channels[DingTalkChannel, DiscordChannel, FeishuChannel], ) uvicorn.run(main:app, host0.0.0.0, port8000)开箱能力包括多租户多会话隔离、智能体团队leader 派活给 worker、飞书/Discord/钉钉渠道、RAG 知识库、MCP 与技能市场、SQL/NoSQL 持久化和后台任务卸载。上线前逐项核对这 6 个位置BYPASS 开在沙箱外。错因把 BYPASS 当成少点几次确认的便利开关在本地开发环境也打开了。正确做法BYPASS 只给受控 workspace 里的智能体用本地机器上用DEFAULT或ACCEPT_EDITS加显式规则。规则模式语法配错。错因用 glob 习惯去写 Bash 规则。正确做法记住分工具语义——Bash 是git:*这种前缀/子串通配Write/Read 是路径 glob上线前做一条会触发的冒烟规则。用 if-else 复刻编排。错因把流程每一步都写死在代码里模型沦为念稿的。正确做法固定逻辑交给GoalPipeline开放部分交给模型推理。长任务阻塞事件流。错因一个跑 20 分钟的工具调用把前端卡死。正确做法给Agent传offloader如LocalWorkspace耗时调用卸载到后台结果回来再唤醒智能体继续。恢复执行时自己记账。错因在外部代码里维护现在轮到哪个智能体。正确做法恢复事件UserConfirmResultEvent等自带挂起现场的标识直接照用喂回reply_stream即可。Python 版本不达标。错因3.9 环境里安装失败却去怀疑网络或依赖。正确做法requires-python是3.11先升环境再排查。两条路径的下一步地图新手半天能走完跑通 examples/pipeline/goal/goal_pipeline.py把终端里的事件流看完整改 examples/console/main.py 玩控制台它演示了工作区技能与AgenticMemoryMiddleware长期记忆换一家模型厂商确认统一接口——DashScopeChatModel换成AnthropicChatModel、OllamaChatModel等只是换导入。进阶按需要深入权限规则 Tracing 中间件源码在 src/agentscope/middleware/_tracing/ 与 src/agentscope/permission/把工作区从 Local 切到 Docker / E2B / K8s / Daytona 沙箱全部实现集中在 src/agentscope/app/workspace_manager/用 examples/agent_service/ 起多租户服务需要记忆与知识库时再看 examples/long_term_memory/ 和 examples/rag/。方向盘始终在模型手里AgentScope 递给你的是一条不丢帧的行车记录仪和一道可以逐条拧紧的护栏——这两样装好了这车才敢真正上路。【免费下载链接】agentscopeBuild and run agents you can see, understand and trust.项目地址: https://gitcode.com/GitHub_Trending/ag/agentscope创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考