news 2026/9/3 9:32:13

AgentScope ReAct 智能体教程:5分钟从零跑通会思考、会用工具的Agent

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
AgentScope ReAct 智能体教程:5分钟从零跑通会思考、会用工具的Agent

AgentScope ReAct 智能体教程:5分钟从零跑通会思考、会用工具的Agent

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

AgentScope 2.0 是一个多智能体开发框架,它的Agent类内置 ReAct(Reasoning and Acting,思考-行动)循环:模型自己决定调什么工具、看结果、再继续推理,直到给出结论。本文帮你把这样一个"会动手"的智能体跑起来,并讲清工具、记忆、模型三个组件怎么换。

  • 看懂 ReAct 循环在每一轮里到底流转了哪些东西
  • 用 10 行代码装配一个带文件工具、能终端交互的智能体
  • 学会换模型后端、挂跨会话长期记忆这两个最常见的扩展点

从一个真实任务说起

假设你接到一句话需求:"看看这个仓库里为什么有 3 个失败的测试,给出结论"。

用纯聊天模型做这事,它只能靠猜——它看不到你的文件,跑不了命令。ReAct 智能体的做法不一样:

  1. 读题,决定先列出测试文件
  2. 调用Glob工具拿到路径
  3. 调用Read看代码、用Bash跑一下复现
  4. 把报错和源码对上号,输出结论

整个过程是模型在循环里自己推进的,你不用写任何 if/else 编排逻辑。

原理速览:思考-行动循环

每一轮循环做四件事:把问题和已有结果交给模型 → 模型产出"思考"或"工具调用" → 框架执行工具并回填结果 → 判断是否已有最终答案,没有就再转一轮。

max_iters(默认 50)是硬保险丝,防止模型陷入无限循环。所有中间过程(思考增量、工具调用、工具输出)都以事件流对外暴露,所以前端能实时渲染,你也能随时 Ctrl+C 打断。

装环境,跑通第一个ReAct智能体

先装好包(要求 Python 3.11+):

git clone https://gitcode.com/GitHub_Trending/ag/agentscope cd agentscope uv pip install -e .

下面这段代码装配智能体并启动终端交互,保存为main.py即可运行:

import asyncio, os from agentscope.agent import Agent from agentscope.model import DashScopeChatModel from agentscope.credential import DashScopeCredential from agentscope.tool import Toolkit, Bash, Grep, Glob, Read, Write, Edit from agentscope.console import launch_console agent = Agent( name="Friday", system_prompt="You're a helpful assistant named Friday.", model=DashScopeChatModel( credential=DashScopeCredential(api_key=os.environ["DASHSCOPE_API_KEY"]), model="qwen3.6-plus", ), # 内置编码工具:跑命令、搜文件、读写代码 toolkit=Toolkit(tools=[Bash(), Grep(), Glob(), Read(), Write(), Edit()]), ) asyncio.run(launch_console(agent))

逐段看:

  • Agent(...)把模型、工具集、系统提示词三样东西绑到一起。工具集(Toolkit)是模型"手"的来源——注册了什么,它就能干什么。
  • Toolkit(tools=[...])里的BashGrepRead等都是内置工具类,不需要你写实现。
  • launch_console接管了交互细节:流式打印、工具调用确认、Ctrl+C 中断。想嵌进自己的程序,就直接调agent.reply_stream(msg)拿事件流。

运行前记得export DASHSCOPE_API_KEY=...,然后python main.py

能力扩展:换组件

换一个模型后端

想让智能体用 OpenAI 而不是 DashScope?只改model=参数即可,其余逻辑不动:

# 凭证和模型名换成你 OpenAI 的,其余代码不变 model=OpenAIChatModel( credential=OpenAICredential(api_key="sk-..."), model="gpt-4o", )

框架里 Anthropic、Gemini、DeepSeek、Ollama 等后端都是同一个接口,切后端不需要动循环代码。

给智能体装上跨会话记忆

单次对话的记忆存在上下文里,关掉就没了。挂一个中间件(middleware,不改源码、挂在循环上的钩子)就能沉淀长期事实:

from agentscope.middleware import AgenticMemoryMiddleware agent = Agent( # ... middlewares=[ AgenticMemoryMiddleware(workdir="./mem", backend=backend), ], )

效果是双通道:智能体可以主动调用记忆工具检索"上次聊过什么",中间件也会在每轮结束后把值得留的事实写进工作目录,下次启动接着用。完整跑法见 examples/long_term_memory/mem0/,里面有 Mem0 后端的对照演示。

常见坑与调优

  • 每次工具调用都弹确认,效率低:AgentScope 默认走权限(permission)检查,危险操作要人工点头。本地跑自己的环境时,调权限配置走放行模式;生产环境保持默认。这个交互长什么样,看 README.md 里的演示图。
  • 跑了 50 轮还没结论就停了:这是max_iters保险丝生效,不是 bug。任务确实大就调大它,任务写得模糊就先改问题本身。
  • 聊久了"忘了"前文:上下文 token 占用到上限 80% 时框架会自动把旧消息压缩成摘要,细节可能丢。要保细节,调低ContextConfigtrigger_ratio或给 Agent 传offloader,把压缩内容和超长工具输出挪出去存档。

收尾

一句话总结:AgentScope 的 ReAct 智能体把"思考-行动循环"做成了框架内置行为,你只负责注入工具、模型和记忆。

想继续往下走:

  • 循环本体的实现:src/agentscope/agent/_agent.py
  • 终端调试控制台:examples/console/
  • 长期记忆接入:examples/long_term_memory/

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

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/3 9:32:09

AI智能体判断力缺失:从论文被拒到Harness Engineering补短

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/3 9:31:40

51单片机实现科学计算器:从矩阵键盘到浮点运算

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/3 9:31:37

AI内容安全防护:从语义绕过多轮对话到工程实践

当AI聊天机器人能够提供制造生物武器的详细指导时,我们面临的不仅是技术伦理的边界问题,更是对AI安全机制的实战检验。最近的研究表明,某些前沿大模型在特定提问方式下确实会输出高危信息,这暴露了当前内容过滤系统的脆弱性。作为…

作者头像 李华
网站建设 2026/9/3 9:31:00

Harepacker逆向解析冒险岛WZ文件:从数据修改到游戏内容定制

简介:本资源是面向冒险岛资深玩家与游戏逆向研究者的WZ文件修改工具包,专为熟悉.NET开发环境、具备基础Windows平台调试能力的技术爱好者设计,用于解包、编辑与重打包冒险岛客户端核心WZ资源文件,实现地图、角色、物品等自定义内容…

作者头像 李华
网站建设 2026/9/3 9:30:20

化工模拟软件数据交换:Pro/II、Aspen与HTRI集成操作指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/3 9:29:47

光伏红外缺陷检测数据集:带温度标定的热斑目标检测

简介:本资源是面向新能源智能运维领域的红外热成像光伏板缺陷目标检测数据集,专为计算机视觉工程师、工业AI算法开发者及光伏行业技术研究人员设计,用于训练高精度YOLO系列模型识别电站级真实缺陷。数据集共1924个文件,含961张无人…

作者头像 李华