ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

工业Agent落地实践:为什么“一任务一智能体”才是正确方向

工业Agent落地实践:为什么“一任务一智能体”才是正确方向 1. 工业Agent为什么要“拆场景”从一份官方报告说起“一任务一智能体”这六个字被写进官方报告在工业圈子里炸开的动静比很多人想象的要大。过去两年大家聊工业智能体聊的都是“一个大模型打通全厂”“一个Agent管所有设备”听起来很宏大但真正落到产线上十个项目有八个卡在最后一公里。官方报告把“一任务一智能体”作为方向提出来本质上是在给行业纠偏工业场景里通用型智能体的幻想该收一收了真正能跑起来的是那些把边界划得清清楚楚、只干一件事的专用智能体。我过去一年多参与过三个工业Agent的落地项目分别是设备预测性维护、质检报告自动生成、以及产线排产辅助决策。这三个项目有一个共同规律凡是试图让一个Agent同时处理多个任务的版本最后都因为上下文污染、工具调用冲突、责任边界模糊而失败反而是后来拆成“一个任务对应一个智能体”的架构稳定性和可维护性直接上了一个台阶。这不是技术能力的问题是工业场景的本质决定的。工业场景和消费场景最大的区别在于容错率极低因果链极长。你在手机上让一个智能体帮你订机票顺便推荐餐厅推荐错了顶多换个App但在工厂里一个智能体如果既负责监控炉温又负责调整进料速度一旦两个任务的上下文串了后果可能是整批产品报废甚至安全事故。所以“一任务一智能体”不是技术上的退步而是工程上的成熟——把复杂系统拆成一个个可独立验证、独立部署、独立回滚的最小单元。这篇文章适合三类人看一是正在做工业Agent选型和架构设计的工程师二是被“大而全”方案坑过的项目负责人三是想理解工业智能体落地逻辑的产品经理。我会从架构设计、核心细节、实操过程、问题排查四个层面把“一任务一智能体”这件事讲透包括我踩过的坑和总结出来的参数配置经验。2. 内容整体设计与思路拆解2.1 为什么“大而全”的工业Agent走不通先说说我最早踩的那个坑。2023年底我参与了一个钢铁厂的智能体项目目标是做一个“全流程生产助手”能回答工艺问题、能查设备状态、能生成日报、还能给排产建议。当时团队觉得既然大模型能力这么强一个Agent挂上十几个工具用路由分发不就行了结果上线两周就崩了。崩的原因很典型工具调用冲突。当操作员问“今天3号炉的能耗怎么样顺便看看明天该排什么料”时Agent需要同时调用能耗查询工具和排产工具。但能耗查询返回的是时序数据排产工具需要的是订单和库存数据两个工具的返回格式、时间粒度、甚至单位都不一样。Agent在拼接上下文时把能耗的“吨标煤”和排产的“吨”混在了一起给出的建议直接错了。更麻烦的是当能耗查询工具超时整个Agent的响应都卡住了排产功能也跟着不可用。这就是“大而全”架构的致命伤故障域没有隔离。一个工具出问题整个Agent瘫痪一个任务的上下文污染所有任务的输出都不可信。工业场景里每个任务的数据源、更新频率、精度要求、责任归属都不一样硬塞进一个Agent里就像让一个工人同时操作车床、焊枪和质检仪看着效率高实际全是隐患。2.2 “一任务一智能体”的架构逻辑“一任务一智能体”的核心思想很简单把工业流程拆成原子任务每个原子任务对应一个独立的智能体每个智能体只拥有完成该任务所需的最小工具集和最小上下文。这个思路借鉴了微服务架构的设计哲学但在工业场景里有更具体的含义。我后来在质检报告自动生成项目里重新设计了架构。整个流程拆成了四个原子任务数据采集与清洗、缺陷识别、报告模板填充、报告审核分发。每个任务一个智能体各自独立部署。数据采集Agent只负责从MES和质检设备拉数据输出标准化JSON缺陷识别Agent只负责调用视觉模型和规则引擎输出缺陷列表报告填充Agent只负责把缺陷列表映射到模板字段审核分发Agent只负责走审批流和邮件推送。这样拆的好处立竿见影。首先每个Agent的上下文窗口极小缺陷识别Agent的prompt里只有缺陷定义和阈值规则不需要知道报告模板长什么样推理速度快了3倍以上。其次故障隔离报告填充Agent挂了不影响缺陷识别产线质检照常进行只是报告晚几分钟生成。第三独立迭代后来我们要调整缺陷判定阈值只改了缺陷识别Agent的配置其他三个Agent完全不用动上线风险极低。2.3 拆场景的粒度怎么定拆场景最难的其实是粒度。拆得太粗又回到“大而全”的老路拆得太细Agent数量爆炸运维成本受不了。我总结了一个判断标准如果一个任务的输入输出可以被明确定义且不需要与其他任务共享中间状态就可以拆成一个独立Agent。具体来说我会问三个问题第一这个任务的数据源是不是独立的如果两个任务读的是同一张表、同一个接口那可以考虑合并。第二这个任务的失败会不会影响其他任务如果会必须拆开。第三这个任务的更新频率是不是和其他任务不一样如果一个是实时推理、一个是每天跑一次那必须拆开。在排产辅助决策项目里我把排产拆成了“订单优先级计算”“设备产能匹配”“物料齐套检查”三个Agent。订单优先级每天更新一次设备产能每班次更新物料齐套实时查询。三个任务的数据更新频率完全不同硬合在一起会导致Agent频繁重载上下文性能极差。拆开之后每个Agent按自己的节奏刷新整体响应时间从原来的12秒降到了3秒以内。注意拆场景不是目的而是手段。如果一个小型工厂只有一条产线、三个工序硬拆成十个Agent反而增加复杂度。我的经验是单个Agent的工具数量不要超过5个prompt长度不要超过2000 token超过这个阈值就应该考虑拆分。3. 核心细节解析与实操要点3.1 智能体的任务边界定义方法定义任务边界是“一任务一智能体”的第一步也是最容易出错的一步。我见过太多项目任务边界定义得模棱两可导致Agent之间互相“踢皮球”。比如“设备异常处理”这个任务到底包不包括异常根因分析如果包括那根因分析需要的历史数据、专家规则、相似案例检索是不是也要塞进这个Agent如果不包括那异常检测Agent输出“设备异常”之后谁来触发根因分析我的做法是用“输入-处理-输出”三元组来定义边界。每个Agent必须明确输入是什么格式、来自哪个系统处理逻辑是什么需要哪些工具和规则输出是什么格式、发给谁。以设备预测性维护为例我拆成了三个Agent振动监测Agent输入是振动传感器时序数据JSON采样率10kHz处理逻辑是FFT变换阈值判断输出是“正常/警告/异常”三态标签和特征频率。工具集只有FFT计算库和阈值配置表。温度趋势Agent输入是温度传感器数据JSON采样率1Hz处理逻辑是滑动窗口均值变化率计算输出是温度趋势标签。工具集只有统计计算库。维护建议Agent输入是前两个Agent的输出标签处理逻辑是规则引擎匹配维护手册输出是维护工单建议。工具集只有规则引擎和工单系统API。这三个Agent的边界非常清晰振动Agent不管温度温度Agent不管振动维护建议Agent不直接读传感器数据只读前两个Agent的标签。这样每个Agent的职责单一测试用例也好写——振动Agent只需要验证FFT计算和阈值判断是否正确不需要构造温度数据。3.2 工具集的最小化配置原则每个Agent的工具集要尽可能小这是“一任务一智能体”的核心纪律。我见过一个反例某团队给“能耗优化Agent”配了20多个工具包括电表查询、气表查询、水表查询、历史能耗对比、峰谷电价查询、设备启停控制、报表导出等等。结果Agent在推理时经常选错工具明明该查电表却调了气表因为两个工具的描述太相似了。我的原则是一个Agent的工具数量控制在3到5个且工具之间不能有功能重叠。如果确实需要更多工具说明任务还可以继续拆。比如能耗优化可以拆成“能耗数据采集Agent”只负责查各类表计和“优化建议Agent”只负责基于采集结果给建议。采集Agent的工具是电表、气表、水表查询优化Agent的工具是规则引擎和电价查询两者完全不重叠。工具描述也要写得极其精确。不要写“查询设备数据”要写“根据设备ID查询该设备最近24小时的电流值单位安培返回数组”。工具的参数定义要严格能用枚举就不用自由文本。比如设备ID参数最好从设备管理系统的接口动态拉取枚举值避免Agent瞎编一个不存在的设备ID。3.3 上下文隔离与状态管理“一任务一智能体”最大的技术挑战是上下文隔离。每个Agent有自己的对话历史、工具调用记录、中间推理结果这些状态不能互相污染。我早期用共享内存的方式管理状态结果两个Agent同时写同一个key数据直接乱了。后来改成了每个Agent独立的状态存储通过消息队列传递最终结果。具体实现上我用了一个轻量级的消息总线。每个Agent启动时订阅自己的输入主题处理完后把结果发布到输出主题。比如振动监测Agent订阅“sensor.vibration”主题处理完后把标签发布到“label.vibration”主题维护建议Agent订阅“label.vibration”和“label.temperature”两个主题等两个标签都到齐后触发推理。这样Agent之间完全解耦一个Agent重启不影响其他Agent。状态存储方面每个Agent的对话历史存在独立的Redis DB里key前缀带上Agent ID。工具调用的中间结果存在本地内存不跨Agent共享。如果某个任务确实需要跨Agent共享状态比如排产Agent需要知道当前设备状态那就通过消息总线传递一个轻量级的状态快照而不是让排产Agent直接去读设备Agent的数据库。提示上下文隔离不只是技术问题也是安全问题。工业场景里不同任务的数据敏感级别可能不同。质检数据可能涉及工艺参数排产数据可能涉及订单信息如果混在一个Agent的上下文里一旦发生prompt注入攻击泄露面会大很多。拆成独立Agent后每个Agent只接触自己需要的数据攻击面自然缩小。3.4 智能体之间的协作协议拆成多个Agent之后它们之间怎么协作我的经验是尽量用异步消息少用同步调用。同步调用会让Agent之间产生强依赖一个慢了全都慢。异步消息虽然增加了延迟但换来了系统的弹性和可观测性。协作协议我推荐用“事件-订阅”模式。每个Agent完成处理后发布一个事件事件里包含任务ID、时间戳、结果摘要、置信度。下游Agent订阅自己关心的事件收到后触发自己的处理逻辑。如果下游Agent需要更详细的数据可以通过事件里的任务ID去对象存储里拉取完整结果而不是把大块数据塞在消息里。对于需要多个Agent协同完成的任务比如“设备异常处理”我会引入一个轻量级的编排Agent。这个编排Agent不直接处理数据只负责监听各个监测Agent的事件当满足触发条件时比如振动异常且温度异常调用维护建议Agent。编排Agent的逻辑用状态机实现状态转换规则写死在配置里不依赖大模型推理保证确定性。4. 实操过程与核心环节实现4.1 从零搭建一个工业质检Agent的完整流程我拿质检报告自动生成这个项目来完整走一遍流程。背景是某汽车零部件厂每天需要生成200多份质检报告原来靠质检员手工填Excel平均每份耗时8分钟还经常填错。目标是做到自动生成、人工只审核。第一步任务拆解。我把整个流程拆成了四个原子任务数据采集、缺陷识别、报告填充、审核分发。每个任务对应一个Agent。第二步定义每个Agent的输入输出。数据采集Agent的输入是MES系统的工单号和质检设备的原始数据文件路径输出是标准化的JSON包含零件ID、检测时间、各项检测值。缺陷识别Agent的输入是标准化JSON输出是缺陷列表每个缺陷包含类型、位置、严重程度。报告填充Agent的输入是缺陷列表和报告模板ID输出是填充好的报告HTML。审核分发Agent的输入是报告HTML和审核人列表输出是审核任务和分发记录。第三步配置工具集。数据采集Agent的工具是MES API查询和文件读取缺陷识别Agent的工具是视觉模型API和规则引擎报告填充Agent的工具是模板引擎和字段映射表审核分发Agent的工具是审批流API和邮件服务。第四步编写每个Agent的prompt。这里有个关键技巧prompt里只写这个Agent需要知道的规则不要写其他Agent的规则。比如缺陷识别Agent的prompt里只写缺陷定义和判定阈值不写报告模板的字段名。报告填充Agent的prompt里只写字段映射关系不写缺陷判定逻辑。第五步部署和联调。每个Agent独立打包成Docker容器通过消息总线连接。联调时先单独测试每个Agent用mock数据验证输入输出格式然后两两联调比如数据采集Agent的输出直接喂给缺陷识别Agent最后全链路联调。第六步灰度上线。先选一条产线试运行人工审核所有自动生成的报告记录错误类型。运行一周后错误率从最初的15%降到了3%以下然后推广到全部产线。4.2 关键参数配置与计算过程在缺陷识别Agent里有一个关键参数是缺陷判定阈值。这个阈值不能拍脑袋定要用历史数据算。我用了三个月的质检记录统计每种缺陷的检测值分布然后取“正常样本的99.7%分位数”作为阈值。比如某个尺寸的检测值正常样本均值是10.02mm标准差是0.015mm那么阈值设为10.02 3×0.015 10.065mm。超过这个值就判定为尺寸偏大。这个计算过程看起来简单但实际做的时候要注意不同缺陷类型的分布可能不是正态的。比如毛刺缺陷的检测值往往是偏态的这时候用分位数比用标准差更稳健。我一般会先画直方图如果明显偏态就用95%分位数作为阈值。另一个关键参数是Agent的超时时间。工业场景里质检是流水线作业每个零件的检测时间不能超过产线节拍。假设产线节拍是30秒那么数据采集Agent的超时设为5秒缺陷识别Agent的超时设为10秒报告填充Agent的超时设为5秒审核分发Agent的超时设为3秒留出7秒的缓冲。超时后Agent返回“处理超时”状态由人工介入而不是无限等待。4.3 消息总线的选型与配置消息总线我试过三种方案RabbitMQ、Kafka、Redis Pub/Sub。最后选了RabbitMQ原因是工业场景的消息量不大但对可靠性要求极高。Kafka吞吐量高但运维复杂Redis Pub/Sub轻量但不保证消息不丢。RabbitMQ的持久化队列和确认机制刚好匹配需求。配置上每个Agent一个独立队列队列设置持久化消息设置TTL为1小时。消费者用手动确认模式Agent处理成功后才ack处理失败则nack并进入死信队列。死信队列的消息由运维人员定期检查分析失败原因。交换机的设计也有讲究。我用了一个topic类型的交换机路由键格式是“任务类型.结果类型”。比如振动监测Agent发布消息时路由键是“vibration.label”维护建议Agent绑定的路由键是“*.label”这样它能收到所有监测Agent的标签消息。如果以后要加新的监测类型只需要新增一个Agent发布“newtype.label”维护建议Agent不用改代码就能收到。4.4 监控与可观测性建设多Agent系统的监控比单体系统复杂得多。我建了三个层面的监控Agent层面监控每个Agent的QPS、延迟、错误率、token消耗消息层面监控队列深度、消息积压、死信数量业务层面监控端到端的任务完成率、人工介入率、报告准确率。Agent层面的监控用Prometheus Grafana每个Agent暴露一个/metrics接口记录请求数、延迟直方图、错误计数。消息层面用RabbitMQ自带的Management插件看队列深度和消息速率。业务层面用ELK收集每个任务的日志用Kibana做看板。有一个坑我踩过Agent的token消耗监控不能只看总量要看每个任务的消耗。有一次发现某个Agent的token消耗突然涨了5倍查了半天才发现是某个工具的返回结果里带了一个超长的错误堆栈Agent把整个堆栈都塞进了上下文。后来我在工具层加了一个截断逻辑返回结果超过2000字符就自动截断并记录截断事件。5. 常见问题与排查技巧实录5.1 Agent之间消息丢失或重复消费这是多Agent系统最常见的问题。消息丢失通常是因为消费者在处理完之前就ack了或者队列没有持久化。我的排查步骤是先看RabbitMQ的队列深度如果消息发出后队列深度没变化说明消息没到broker检查生产者的连接和交换机配置如果队列深度增加了但很快归零说明消费者ack了但处理失败检查消费者的异常日志。重复消费通常是因为消费者处理超时导致nack重入队列或者网络抖动导致ack丢失。我的解决方案是在消息体里加一个唯一任务ID消费者用Redis记录已处理的任务ID处理前先查重。Redis的key设置24小时过期避免无限增长。注意去重逻辑要放在业务处理之前而不是之后。我见过一个实现先处理再查重结果重复消息还是被处理了两次只是第二次的结果被丢弃了白白浪费了计算资源。5.2 某个Agent响应变慢拖垮全链路多Agent系统里一个Agent变慢会通过消息积压传导到全链路。我遇到过一次报告填充Agent因为模板引擎加载了一个超大模板响应时间从200ms涨到了8秒导致审核分发Agent的队列积压了上千条消息。排查方法是看每个Agent的P99延迟和队列深度。如果某个Agent的P99延迟突然上涨同时它的输出队列深度也在涨那基本可以定位到它。然后看这个Agent的日志找耗时最长的操作。那次是模板引擎每次请求都重新加载模板文件后来改成了启动时加载一次缓存在内存里响应时间降回了150ms。预防措施是给每个Agent设置熔断阈值。如果某个Agent的P99延迟超过阈值持续1分钟自动降级要么返回缓存结果要么跳过该Agent直接走人工流程。熔断用Hystrix或Resilience4j实现配置简单效果明显。5.3 工具调用参数错误导致Agent输出异常Agent调用工具时传错参数是高频问题。比如设备ID传成了工单号时间范围传成了未来时间。这类问题很难通过prompt完全避免因为大模型有时候就是会“幻觉”。我的做法是在工具层做参数校验。每个工具函数入口先校验参数格式和范围不合法直接返回错误信息而不是让工具内部报错。错误信息要写得对Agent友好比如“设备ID格式错误应为8位数字您传入的是‘WO20240501’”。Agent收到这个错误后会在下一轮推理中修正参数。另外我会在prompt里加一个参数示例表列出每个工具的参数名、类型、示例值。比如“设备ID字符串8位数字示例‘10001234’”。这个表比纯文字描述有效得多Agent的传参准确率从70%提升到了95%以上。5.4 常见问题速查表问题现象可能原因排查方法解决方案Agent无响应消息队列连接断开检查RabbitMQ连接状态和队列深度重启Agent检查网络和认证配置输出结果格式错误prompt中输出格式定义不清晰查看Agent原始输出和解析日志在prompt中加JSON schema示例加输出校验层工具调用超时下游系统响应慢或工具未设超时查看工具调用日志和下游系统监控设置工具级超时超时后返回降级结果Agent之间数据不一致共享状态未同步或消息乱序对比各Agent的输入输出时间戳用消息版本号或时间戳排序避免乱序处理token消耗异常增长上下文未清理或工具返回过长查看每个任务的token消耗明细加上下文窗口限制工具返回截断人工介入率突然升高某个Agent的判定阈值漂移对比历史判定结果和当前结果重新校准阈值加漂移检测告警5.5 独家避坑技巧第一个技巧给每个Agent写一个“健康检查”接口返回该Agent的当前状态、最近一次成功处理的时间、队列深度。运维人员可以通过一个统一的看板看到所有Agent的健康状况不用逐个登录服务器查日志。第二个技巧Agent的prompt要版本化管理。每次修改prompt都要记录版本号、修改内容、修改原因、测试结果。我见过一个项目prompt改了十几次最后不知道哪个版本效果最好只能凭感觉回滚。用Git管理prompt文件每次上线打tag回滚就是切分支的事。第三个技巧定期做“混沌测试”。故意杀掉一个Agent看系统能不能自动降级故意发一条格式错误的消息看Agent能不能优雅处理故意把消息队列断开看Agent能不能重连。这些测试在非高峰时段做能提前发现很多隐患。第四个技巧保留人工兜底通道。不管Agent多智能工业场景里永远要留一个人工处理的入口。我的做法是每个Agent的输出都带一个“置信度”字段低于阈值的自动转人工。人工处理的结果反馈回系统作为后续优化的训练数据。6. 工业Agent拆场景后的运维与迭代6.1 多Agent系统的部署策略拆成多个Agent之后部署方式也要跟着变。我推荐每个Agent独立容器化用Kubernetes编排。每个Agent一个Deployment配置独立的资源限制和健康检查。这样某个Agent需要扩容时不影响其他Agent某个Agent需要回滚时也不影响其他Agent。资源限制的配置有个经验值CPU限制设为平均使用量的2倍内存限制设为峰值使用量的1.5倍。工业场景的负载波动大留足余量避免OOM。健康检查用HTTP接口检查间隔10秒失败3次后重启容器。配置管理用ConfigMap每个Agent的配置独立一个ConfigMap。敏感配置比如API密钥用Secret。配置变更时滚动更新对应的Deployment不影响其他Agent。6.2 Agent的版本迭代与灰度发布多Agent系统的一个巨大优势是可以独立迭代。缺陷识别Agent要升级模型只需要重新构建这个Agent的镜像滚动更新它的Deployment其他三个Agent完全不受影响。灰度发布的策略是先更新一个实例观察10分钟看错误率和延迟有没有异常如果正常再更新50%的实例再观察10分钟最后全量更新。如果任何阶段出现异常立即回滚到上一个版本。版本兼容性要注意消息格式的变更要向后兼容。比如缺陷识别Agent的输出从v1升级到v2新增了一个字段那么维护建议Agent必须能同时处理v1和v2的消息。我的做法是消息里带一个schema版本号消费者根据版本号做不同的解析逻辑。等所有消费者都升级到支持v2后再停掉v1的解析逻辑。6.3 数据回流与持续优化工业Agent上线只是开始持续优化才是重头戏。我建了一个数据回流管道每个Agent的输入、输出、人工修正结果都自动落库。每周跑一次分析找出Agent判定与人工判定不一致的案例分析原因。常见的原因有三类一是阈值需要调整比如某个缺陷的判定阈值太严导致误报二是prompt需要优化比如某个工具的调用条件描述不清导致Agent选错工具三是工具本身需要改进比如某个查询接口返回的数据格式变了导致解析失败。优化后的效果要量化。我跟踪的指标包括准确率Agent判定与人工判定一致的比例、召回率Agent找出的缺陷占实际缺陷的比例、人工介入率需要人工处理的工单比例、端到端延迟从数据采集到报告生成的总时间。这四个指标每周更新一次画成趋势图直观看到优化效果。6.4 团队分工与协作模式多Agent系统的开发和运维需要不同的角色。我的团队配置是Agent开发工程师负责单个Agent的逻辑和prompt平台工程师负责消息总线、监控、部署业务专家负责定义任务边界和判定规则运维工程师负责日常巡检和故障处理。协作模式上我用接口契约来解耦。每个Agent的输入输出格式定义成JSON Schema放在共享的Git仓库里。Agent开发工程师修改Schema时要提PR通知上下游的工程师评审。评审通过后才能合并然后各自更新自己的Agent。这样避免了“我改了输出格式但没通知你”的经典问题。7. 从“一任务一智能体”看工业智能体的未来形态“一任务一智能体”被写进官方报告释放的信号很明确工业智能体正在从“炫技阶段”进入“工程阶段”。过去大家比的是谁的Agent能聊、能写诗、能回答脑筋急转弯现在比的是谁的Agent能稳定运行、能故障隔离、能独立迭代。这个转变对从业者的要求也变了——不再需要你懂多少大模型的奇技淫巧而是需要你懂工业流程、懂系统架构、懂运维。我个人的判断是未来工业智能体会形成三层结构底层是原子Agent每个只干一件事中间是编排层用状态机或工作流引擎把原子Agent串起来上层是交互层提供统一的入口给操作员。原子Agent的数量会很多但每个都很简单编排层会越来越复杂但逻辑是确定的交互层会越来越薄因为大部分任务都自动化了。这个结构的好处是可演进。今天你只有三个原子Agent明天可以加到十个后天可以换掉其中一个整个系统不会推倒重来。工业场景最怕的就是推倒重来因为产线不能停。所以“一任务一智能体”不只是一个技术方案更是一种面向演进的架构思维。我在实际项目里最深的一个体会是拆场景的过程其实就是重新理解业务的过程。当你被迫把一个模糊的“设备管理”拆成“振动监测”“温度趋势”“维护建议”时你会发现很多以前没想清楚的问题——振动和温度到底哪个先异常维护建议的触发条件是什么这些问题在“大而全”的架构里被掩盖了拆开之后反而逼着你把业务逻辑理清楚。所以拆场景不只是技术活更是业务梳理的契机。最后分享一个实用建议如果你正准备启动工业Agent项目先别急着写代码。拿一张白纸把业务流程画出来然后问自己——哪些步骤是独立的哪些步骤的失败会影响其他步骤哪些步骤的数据源不一样把这三个问题的答案整理出来你的Agent拆分方案就出来了。这个准备工作花两天能省掉后面两个月的返工。
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进