从 smolagents 源码拆解:为何一个 Agent 实例只应服务一次运行
Mahmoud_Zalt · x · 2026-09-11
AI 架构师 Mahmoud Zalt 长文分析 Hugging Face smolagents 的 agents.py,论证一个核心工程规则:一个 agent 实例只应服务一次 run,除非共享状态被显式同步。
- MultiStepAgent.run() 构成 ReAct 状态机:记录任务、规划、请求模型动作、执行工具/代码、存储观察、循环直到产出最终答案或达到 maxsteps。
- 虽然 API 边界上 agent 像无状态聊天机器人,内部却持有可变状态:模型传输、AgentMemory 历史记录、PythonExecutor 执行后端各司其职。
- 可复用的 agent loop 同时也是一个可变的运行容器,这一事实决定了其安全并发模型与部署方式;并行工具执行时状态流向是关键风险点。
- 结论:把「编排」与「执行」分离,按单 run 所有权划清责任边界,才能安全地做并发与部署决策。
「编程与Agent」频道最新
- 128GB 笔记本本地跑 Qwen3.8 做 Agent 编码,思考 token 才是耗时瓶颈 — deepu105 · 2026-09-11
- Blacksmith CI 默认免费开启容器缓存,实测提速 25%-89% — DanielLockyer · 2026-09-11
- 开源 agent skill /first-reader:模拟真人读者逐段读你的草稿 — Saboo_Shubham_ · 2026-09-11
- 两人团队 2.5 个月:FetchSandbox 日跑 1200 次沙箱、装機 4200+ — Common_Dream9420 · 2026-09-11
- 开源 Agent Beacon 本地记录 AI Agent 运行时行为,统一 23+ 框架事件格式 — Scobleizer · 2026-09-11
- OpenAI 发布 1 小时 Codex 工作坊:从 agent 提示到自我改进循环 — nikola_mr64990 · 2026-09-11