034、子代理通信与结果融合:输出格式标准化、结构化传递与父代理的信息整合

034、子代理通信与结果融合:输出格式标准化、结构化传递与父代理的信息整合 034、子代理通信与结果融合:输出格式标准化、结构化传递与父代理的信息整合从一次诡异的JSON解析失败说起上周五晚上十一点,我在调试一个三层代理协作的流水线。父代理派了两个子代理去分别抓取GitHub Issues和Stack Overflow问答,然后合并成一份技术调研报告。子代理各自跑完,返回结果,父代理开始解析——然后炸了。错误信息很眼熟:JSONDecodeError: Expecting property name enclosed in double quotes。我以为是某个子代理返回了不规范的JSON,打开日志一看,两个子代理的输出格式完全不一样。一个返回了带注释的JSON(// 这是抓取结果),另一个直接返回了Markdown代码块包裹的JSON字符串。父代理的解析器只认纯JSON,结果两个都解析失败。更坑的是,父代理在解析失败后没有降级策略,直接抛异常终止了整个流程。两个子代理跑了三分钟的数据全白费了。这个问题的本质不是子代理能力不行,而是通信协议没定死。子代理和父代理之间没有约定“你给我的东西必须长什么样”。在工程化落地的场景里,这种松散耦合在原型阶段还能凑合,一旦进入生产环境,就是定时炸弹。输出格式标准化:别让子代理自由发挥子代理的输出格式,必须由父代理在任务下发时就明确指定。这不是限制子代理的创造力,而是给后续的解析逻辑一个确定的契约。我踩过最深的坑是让子代理“自由输出JSON”。子