做智能制造系统时,曾遇到一个棘手问题:单智能体既要处理设备数据采集,又要做故障预测和 AGV 调度,结果内存占满、响应延迟超 5 秒。后来拆成 3 个协作智能体,各司其职又动态配合,延迟直接降到 200ms 以内 —— 这就是多智能体协作的实战价值。

作为开发人员,我们更关心 “怎么搭架构”“用哪个框架”“如何避坑”。本文结合 3 个工业级项目经验,从技术落地角度拆解 Agentic AI 多智能体系统的开发全流程,包含可直接复用的代码片段、框架选型对比和资源优化技巧,帮你少走弯路。
一、先搞懂:自主智能体的 “开发三要素”
要做多智能体协作,先得摸清单个智能体的核心组件 —— 这是后续协作的基础。OpenAI 提出的 “规划 - 记忆 - 工具” 三模块,在开发中可直接落地为代码架构。
1.1 规划系统:让智能体 “会拆任务”
规划的核心是把 “优化工厂能耗” 这类模糊目标,拆成 “采集设备功率→分析高耗设备→调整运行参数” 的可执行步骤。开发中常用两种方案:
方案 1:基于 ReAct 框架的轻量化规划(适合中小任务)
用 LLM 生成 “思考 - 行动” 序列,比如用 GPT-4o-mini 做设备调度规划,关键代码如下:
| from openai import OpenAI client = OpenAI(api_key="your-key") def react_planner(goal, history=[]): # 1. 思考:分析当前目标和历史,确定下一步动作 thought_prompt = f""" 目标:{goal} 已完成动作:{history} 请思考:下一步需要做什么?(用1句话说明) """ thought = client.chat.completions.create( model="gpt-4o-mini", messages=[{"role": "user", "content": thought_prompt}] ).choices[0].message.content # 2. 行动:生成具体执行指令(如调用设备API) action_prompt = f""" 思考:{thought} 请生成行动指令:格式为["动作类型(如call_api/analyze_data)", "参数"] 示例:["call_api", {"url": "http://device/power", "method": "GET"}] """ action = eval(client.chat.completions.create( model="gpt-4o-mini", messages=[{"role": "user", "content": action_prompt}] ).choices[0].message.content)
return {"thought": thought, "action": action} # 测试:规划“降低机床A能耗” goal = "将机床A的能耗从15kW降至12kW" first_step = react_planner(goal) print(first_step) # 输出示例: # { # "thought": "需要先获取机床A当前的功率数据和运行参数", # "action": ["call_api", {"url": "http://device/machineA", "method": "GET"}] # } |
方案 2:LLM+PDDL 专业规划(适合复杂任务)
当任务涉及多约束(如 “AGV 调度不能冲突 + 优先运输紧急物料”),可把自然语言转成规划领域定义语言(PDDL),调用专业规划器(如 Fast Downward)。开发要点:
- 用 LLM 生成 PDDL 文件(避免手动写语法);
- 规划器输出结果后,再用 LLM 转成代码可执行的指令。
1.2 记忆系统:让智能体 “记事儿”
开发中最容易踩的坑是 “内存爆炸”—— 如果把所有历史数据都塞 LLM 上下文,token 会超限制。正确做法是分层存储:
| 记忆类型 |
存储方式 |
开发实操 |
| 短期记忆 |
LLM 上下文窗口 |
只存当前任务的最近 10 步动作 + 结果,用列表维护 |
| 长期记忆 |
向量数据库(如 Milvus) |

最低0.47元/天 解锁文章
840

被折叠的 条评论
为什么被折叠?



