欢迎光临
我们一直在努力

AgentScope 多智能体框架快速入门:如何用 5 分钟搭一个可控、不失忆、跑在沙箱里的 Agent

AgentScope 多智能体框架快速入门:如何用 5 分钟搭一个可控、不失忆、跑在沙箱里的 Agent

【免费下载链接】agentscope Build and run agents you can see, understand and trust. 【免费下载链接】agentscope 项目地址: https://gitcode.com/GitHub_Trending/ag/agentscope

AgentScope 是一个面向生产场景的多智能体框架,以 ReAct 推理-行动循环为内核,用统一入口 Agent 把工具执行的权限控制、上下文的自动压缩、工具的沙箱化工作区做成开箱即用的积木,解决真实 Agent 上线最容易翻车的两类工程问题:工具执行失控、长对话撑爆上下文。你只需要拼装,不用自己造轮子。

两个坑:失控,和失忆

先说结论:Agent 上生产的瓶颈往往不是模型,而是工程机制。 让 Agent 自主干活时,最常见的两种翻车方式是:

  • 失控:模型幻觉生成一条危险命令(比如误删目录),执行层没有拦截,只能靠 prompt 求它"别干坏事";
  • 失忆:对话越长 token 越多,上下文溢出,Agent 把前半程的发现忘光。

这两个问题靠更强的模型都解决不了——前者是控制问题,后者是容量问题。AgentScope 的对应手段是把拦截放在执行层(权限引擎)、把压缩放在上下文层(ContextConfig)、把工具关进沙箱(Workspace)。机制细节后面逐个拆,先把环境跑起来。

AgentScope 入门:5 分钟装好并跑通带工具的 Agent

环境要求只有一条:Python 3.11+。 一条命令装包:uv pip install agentscope(或 pip install agentscope)。装完在终端执行 python -c "import agentscope; print(agentscope.__version__)",能打印版本号即就绪;想改源码做二次开发,clone 仓库(git clone https://gitcode.com/GitHub_Trending/ag/agentscope)后执行 uv pip install -e .。

跑通一个带工具的对话 Agent,只需要拼三样东西:模型、工具包、入口:

import asyncio, os
from agentscope.agent import Agent
from agentscope.console import launch_console
from agentscope.credential import DashScopeCredential
from agentscope.model import DashScopeChatModel
from agentscope.tool import Toolkit, Bash, Read, Grep, Write

agent = Agent(
name="Friday",
system_prompt="You are a helpful assistant.",
model=DashScopeChatModel(
credential=DashScopeCredential(api_key=os.environ["DASHSCOPE_API_KEY"]),
model="qwen3.7-max",
),
toolkit=Toolkit(tools=[Bash(), Read(), Grep(), Write()]),
)
asyncio.run(launch_console(agent))

  • Agent 是 2.0 的统一入口:内部是"推理 → 调工具 → 观察结果"的 ReAct 循环,一轮内多个工具调用支持批量顺序或并发执行。
  • 模型层同构:DashScopeChatModel 只填凭据和模型名;换 OpenAI、Anthropic、Gemini 等厂商只是换一个凭据类和模型类。
  • Toolkit 是工具白名单:不声明的工具 Agent 看不见;Bash、Read、Write、Grep 等内置工具直接 import 即可。
  • launch_console 在终端直接打开对话窗口:流式输出、工具调用确认、Ctrl+C 中断都已处理,设置好 DASHSCOPE_API_KEY 就能跑;更完整的终端 demo 见 examples/console/。

AgentScope 权限引擎怎么拦截危险命令

结论:每次工具调用先过权限引擎,引擎只有三种裁决——允许、拒绝、询问人。 源码在 src/agentscope/permission/,规则按工具类型匹配:Bash 规则按子串匹配命令,Read/Write 按 glob 匹配文件路径,可以写出"允许读、但写 /etc 下的任何路径都要问"这类细粒度规则。

为什么这么设计:模型幻觉不可杜绝,prompt 里写"不要生成危险命令"只是软约束;权限引擎是执行层的硬拦截,人随时能介入(HITL,人在回路)。

5 种权限模式:从逐次确认到全放开

内置模式定义在 src/agentscope/permission/_types.py:

  • DEFAULT:默认模式,逐次询问。唯一免确认的自动放行路径,是引擎自身认定的只读操作(如 Bash 的 ls、git status)。最安全。
  • ACCEPT_EDITS:工作目录内的读写自动放行(含目标路径全部落在工作目录内的 mkdir、rm、cp 等文件系统命令),适合人在旁快速迭代。
  • EXPLORE:只读模式。Read/Grep/Glob 和只读命令通过,一切修改被拒绝,适合让 Agent 先侦察代码、规划方案。
  • BYPASS:跳过全部权限检查,为沙箱环境设计。
  • DONT_ASK:把所有"询问"直接转成"拒绝",无人值守时默认安全。

AgentScope 权限控制 BYPASS 模式演示

BYPASS 什么时候能开

注意:BYPASS 不是"快速模式",是"我信任这个环境"模式。 它连 rm -rf / 警告、写 ~/.bashrc、命令注入模式这类安全询问也一并跳过,唯一剩下的护栏是你自己写的 deny/ask 规则。两条军规:只在容器、虚拟机这类隔离环境里开,不要开在裸机上;同时用 deny 规则把关键路径钉死(比如 ~/.ssh 下的路径一律拒绝)。无人值守运行如果还想留安全网,选 DONT_ASK 而不是 BYPASS。

AgentScope 上下文压缩的 80% 阈值怎么调 🗜️

结论:token 占用不需要手动管理,ContextConfig 在窗口占到 80% 时自动压缩,把旧对话重写为结构化摘要,Agent 基于摘要继续干活。

五段式结构化摘要怎么压

默认摘要模板固定五段:任务概述、当前状态、重要发现、下一步计划、需保留的上下文(用户偏好、领域细节、对用户做过的承诺)。为什么强制这个结构:压缩提示词要求摘要只用绝对路径和绝对时间,禁止"这个文件""刚才那个方案"这类相对指代——换一个新上下文窗口后,Agent 能直接凭摘要续跑,不用回头问。

还有两个配套机制:token 占到 60%(80% 阈值往前留的 20% 缓冲)时先提醒 Agent"压缩要来了",它可以主动整理;单个工具结果超过 5 万 token 上限会被截断,如果配置了 offloader,超大结果还会外移成文件,上下文里只留引用。

要调哪几个字段:trigger_ratio、compression_prompt、summary_template

都在 ContextConfig 里(见 src/agentscope/agent/_config.py):

  • trigger_ratio:压缩触发点,默认 0.8,上限 0.9——剩下的窗口必须留给压缩过程本身;
  • compression_prompt:给压缩模型的指令,决定"写什么";summary_template:接收摘要的模板。

注意:想让摘要保留领域黑话或团队约定,改这两个字段,而不是改系统提示词——系统提示词管日常行为,压缩提示词管"交接棒怎么交"。

AgentScope 工作区沙箱:工具怎么关进去 📦

结论:Bash、Read、Write、Grep 等内置工具不直接碰宿主机,全部绑定到 Workspace 上执行。 工作区就是给 Agent 的一个文件系统加命令环境,连工具清单都由它提供(await workspace.list_tools())。

为什么这么设计:工具的执行面和宿主隔离,Agent 的手脚被关在一个可整体替换的容器里,源码在 src/agentscope/workspace/。

后端切换:本地、Docker、E2B、K8s

同一份 Agent 代码,换后端只改一两行:

  • LocalWorkspace:直接在本地跑,开发调试用;
  • Docker:容器隔离,半生产场景;
  • E2B / K8s:云沙箱或集群调度,多租户、规模化部署用;
  • 另外还有 Daytona、bubblewrap 等后端可按需选用。

换后端等于换一整套受控的文件系统和命令环境,不只是"跑在哪"的区别。

跨会话持久的长期记忆

接上 AgenticMemoryMiddleware 后,工作区目录同时是长期记忆库:Agent 判断值得记住的事实会写成文件落在工作区里,下次会话还能读出来。再叠加前面提到的 offloader(压缩后的上下文、超大工具结果也写进工作区),工作区就成了"上下文、工具、记忆"三者的共同磁盘。完整接法见 examples/console/main.py。

进阶:AgentScope 的长跑任务、团队分工与互审返工

前面的机制让 Agent"安全、不失忆",下面三个玩法让它"干得久、会分活、能自检"。想看浏览器里的协作过程,可以直接起 Agent Service + Web UI(examples/agent_service/):

AgentScope Agent Service Web UI:创建智能体与管理会话

长跑任务:TaskCreate 和 TaskList 拆出计划

内置任务规划工具:TaskCreate、TaskList(还有 TaskGet、TaskUpdate)。让 Agent 把半小时级的跨文件改造拆成带状态的任务计划并随进度更新,配合上下文压缩,中途不会因溢出丢掉前半程的发现。

AgentScope 任务规划:智能体把复杂工作拆成可跟踪的计划并持续更新

团队分工:leader 动态生成 worker

Agent Service 的 team 工具让 leader 智能体按需动态生成 worker,拆任务、派活、验收,分工与消息流转在 Web UI 上全程可见。

AgentScope 多智能体团队协作:leader 智能体生成 worker 并分工完成任务

互审返工:GoalPipeline 的 executor + verifier

GoalPipeline 把两个 Agent 配对:executor 负责写,verifier 读同一工作区检查——验的是实际写进去的东西,不是 executor 口头声称的。不达标就打回原文返工,循环到过审为止,适合"生成的代码必须过独立验证才交付"的场景,完整示例在 examples/pipeline/goal/goal_pipeline.py。

一句话收尾:AgentScope 把控制、容量、隔离这三类生产级机制做成了现成积木,你只需要写"做什么",不用写"怎么防翻车"。 接下来可以:

  • examples/agent_service/:起 Agent Service + Web UI,在浏览器里跑多智能体协作
  • examples/pipeline/goal/:执行者-验证者流水线的完整代码
  • docs/:更新日志、changelog 与 roadmap

【免费下载链接】agentscope Build and run agents you can see, understand and trust. 【免费下载链接】agentscope 项目地址: https://gitcode.com/GitHub_Trending/ag/agentscope

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

赞(0)
未经允许不得转载:171主机测评 » AgentScope 多智能体框架快速入门:如何用 5 分钟搭一个可控、不失忆、跑在沙箱里的 Agent
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址