YAOTU INSIGHTS

多智能体框架如何提升企业破产预测与金融风控能力

多智能体框架如何提升企业破产预测与金融风控能力
1. 破产预测这场“战役”卡在了哪里先说个背景。去年我所在的团队接了一个坏账预警方向的内部项目目标很直接用公开数据提前识别有破产风险的公司。一开始我们走的是最常规的路子——拉财务报表、跑特征工程、上LightGBM/XGBoost调参调到吐。模型在训练集上的AUC一度冲到0.91看起来非常漂亮。但真正投入试运行之后问题一个接一个浮出来。最刺痛我的一个case是某家公司在财报暴雷前三个月其管理层在年度业绩说明会上的发言语气已经明显异常并且审计机构临时更换。这些信号我们的单一财务模型一个都没捕捉到。模型只盯着几个滞后指标等到数字彻底恶化的时候留给我们做决策的时间窗口已经基本关闭了。这个项目让我意识到一件事公司破产预测本质上不是一个“标准分类任务”而是一个“多信号、多视角、强时序”的综合研判任务。传统单一模型的问题在于它把复杂问题强行压扁成一张特征表。而财务数字本身有滞后性文本信息没法进模型行业周期、管理层变动、诉讼纠纷这些碎片化情报更是无从谈起。后来我偶然读到一篇讲多智能体框架的论文脑子里那根弦突然就绷起来了。破产预测这个场景天然就适合让多个各司其职的智能体协作——有的看财务基本面有的读公告研报有的推演时序趋势最后由一个仲裁角色综合各方观点。这跟一个真实的风控委员会开会做贷前审查逻辑几乎一模一样。这篇文章就记录了我从传统单一模型转向AI智能体协作方案的完整实操过程包括框架设计、各智能体的职责划分、数据流转机制、样本处理细节、实测效果以及踩坑记录。适合正在做企业风控、信用评估、财务预警但感觉遇到了天花板的朋友参考。2. 数据和样本多智能体方案的“地基”少一块砖都不行很多人一上来就兴奋地聊框架聊Agent角色。但我必须先把数据和样本处理放在第二章说清楚因为这块不扎实后面再精巧的智能体协作都是空中楼阁。2.1 样本不平衡破产公司是绝对的“稀有物种”破产预测最头疼的第一个问题就是样本极度不平衡。在任何一个经济周期里真正走向破产清算的公司占比都不高通常只有1%~3%。其余97%以上是正常经营甚至活得不错的公司。如果直接把原始比例喂给模型它只需要把所有样本都预测成“正常”准确率就能轻松达到97%。听起来很美实际上毫无意义。处理这个问题我没有用简单粗暴的过采样或欠采样而是采用了一种分层的策略。第一层在时间维度上做样本构造。对每一家样本公司我不仅在其破产前最后一份财报上打“危险”标签还会把破产前2~4个季度的数据也纳入训练用时间衰减加权的方式区分紧急程度。离破产时间越近权重越高。第二层对正常公司做数量控制。采用近邻欠采样法在特征空间中保留与破产样本构成邻居关系的正常样本远离边界的富余样本则通过聚类抽稀。这样既降低了样本比例失衡又不破坏特征空间的分布结构。第三层引入对抗验证Adversarial Validation来做样本集纯化。我训练了一个分类器用训练集和测试集作为标签不断识别两个集合之间分布差异明显的特征。如果某家公司财务状况波动极大其财务特征在时间序列上跳变异常这类样本先单独拎出来做特殊处理而不是直接混入训练集。痛点在于数据清洗阶段耗费的时间远超模型训练。我整理了一份清洗规则清单包含剔除报告期重复、剔除报表口径不一致新老会计准则混用、剔除关键字段缺失超过40%的样本。这步做完大约有12%的原始数据被判为质量不合格直接丢弃。2.2 时间切分与前置预判不能“偷看未来”做时序预测类的金融模型最容易被忽视但又最致命的问题是数据泄露。破产预测模型的训练期和预测期如果存在时间重叠模型实际上偷看了未来的信息测试指标会虚高得离谱。我在项目里严格执行了“时间墙”策略。具体做法是以2022年1月1日为硬切分线此前所有数据作为训练集此后数据作为验证集。构造训练样本时任何一家公司的样本特征都不能包含切分线之后的信息。这意味着批处理某个季度的财报数据时特征只取自该季度及之前的指标绝不允许混入同期后发布的修正数据。这部分踩过的一个重要细节是“幸存者偏差”。我们很容易只保留至今仍在正常经营的公司作为正常样本却把那些2020年就已经破产、但破产前数年数据依然有效的公司整段删除。这样做会让模型学到的“正常模式”过于理想化。我的处理是保留这些公司在破产前3年的历史数据将其标记为正常样本但在破产节点后的数据不再进入特征窗口。这个操作虽然数据量增加了约8%但显著提升了模型在真实场景下的区分度。2.3 特征来源的扩展不只盯着三张报表传统模型最爱用的是资产负债表、利润表和现金流量表里的几百个财务指标。多智能体方案的一个优势在于它可以接纳更丰富的数据形态而这些数据在传统的扁平特征表中很难被有效利用。我在实践中主要增加了三类异构特征一是文本类特征。包括上市公司定期报告中的“管理层讨论与分析”章节、业绩说明会的会议纪要、审计报告意见段、重大诉讼公告等。这些非结构化文本通过预训练语言模型如FinBERT、BERT-base-Chinese变体转换成文本向量再抽取出情感倾向、不确定性表达、风险词频等指标。二是产业链特征。公司所处上下游行业的价格波动、库存变化、核心供应商经营状况等。比如一家中游制造企业如果其上游原材料价格剧烈波动且应收账款周转天数连续三个季度恶化这就是一个很强的预警信号。三是治理与合规特征。审计机构是否发生变更、是否出现非标审计意见、大股东质押比例、高管离职频率、诉讼纠纷数量变化等。这类数据的获取渠道比较琐碎需要做大量的数据映射和标准化但效果在后续实测中非常显著。现在回头总结数据这块的投入产出比是最高的。框架再完善数据灌进去的是污水出来的也只会是更复杂的污水。3. 四名“虚拟分析师”智能体角色划分与职责边界数据地基打完后我开始设计多智能体协作框架。我的方案没有追求花哨的复杂拓扑而是根据破产预测的实际研判流程设定了四个核心角色。每个角色都可以理解为一个拥有独立上下文和判断逻辑的智能体它们各自负责一个领域最终由仲裁角色汇总。3.1 财务基本面智能体用杜邦分析做解剖第一个角色是财务基本面智能体它负责从财务数据中抠出公司的盈利质量、偿债能力、营运效率、现金流健康度。这个智能体接到的输入是一整套标准化财务数据集输出的是一份多维度风险评分报告。我给它配置了三个核心工具杜邦分析拆解模块、Z-score破产判别模块、以及一个基于LSTM的财务特征时序趋势模块。杜邦分析模块的核心是把ROE逐层拆解为销售净利率、总资产周转率和权益乘数帮助定位公司的盈利能力下滑究竟是来自定价能力下降、资产使用效率恶化还是杠杆水平过高。Z-score模型的输入变量包括营运资本/总资产、留存收益/总资产、息税前利润/总资产、股权市值/总负债账面值、销售收入/总资产。当Z值低于1.8时进入高风险警戒区。虽然这个模型上世纪六十年代就提出了但在如今依然是很好的判断锚点。时序趋势模块则负责捕捉关键财务指标在过去8个季度的走势形态。这个模块输出的不是单一数值而是一系列趋势标签比如“营收连续三个季度加速下滑”“毛利率中枢稳步下移”“经营性现金流恶化的同时投资性支出异常扩张”。三个模块的结果最终会被拼接成一个144维的财务健康特征向量再通过一个轻量级分类器转换为风险概率输出。这个角色的最大价值是让财务分析的逻辑链条清晰可见而不是像传统模型那样给个黑盒分数就完了。3.2 文本情报智能体从字里行间闻出异常第二个角色是文本情报智能体负责处理所有非结构化信息。这是传统模型的盲区也是多智能体方案最占优势的地方。我在实现这个智能体时设计了一条完整的文本处理流水线原始语料清洗、段落级别信息抽取、情感与不确定性计算、风险主题分类。语料来源覆盖了四类上市公司年报中的“管理层讨论与分析”、业绩说明会录音转写文本、审计机构出具的审计报告意见部分、公司公告及新闻舆情数据。管理层讨论与分析是这份语料里价值最高但也是最难处理的。有大量公司在文字层面刻意使用模糊措辞、复杂句式甚至通过冗长的表述来掩盖业绩恶化的事实。比如某家公司在描述营收下滑时写的是“受到宏观环境波动及行业周期性调整影响公司本期整体经营成果未达到预期目标”翻译成人话其实就是“收入崩了”。为了应对这种文字粉饰我给文本情报智能体增加了两个特殊维度。一个是“风险话题聚类”将文本中涉及“偿债困难”“诉讼败诉”“供应商断供”“核心人员离职”“审计范围受限”等方面的表述自动聚类并输出各话题的提及频率和强度。另一个是“措辞模糊度计算”利用预训练模型计算文本中模糊限定词如“可能”“预计”“或”“尚存不确定性”的比例与历史同期同行业文本做对比。当模糊度显著偏离行业基线时触发预警。实际测试下来文本情报智能体在捕捉早期风险信号方面的灵敏度比财务基本面智能体高出2~3个季度的时间提前量。这也从侧面验证了一个直觉资本市场上的危机从来不是一夜之间发生的语言上早就露出了破绽。3.3 时序推演智能体把“快死了”和“还能拖”区分开第三个角色是时序推演智能体它关注的不是公司当前的状态而是在未来6~12个月内的动态演化路径。这个智能体的输入是一套多变量时序数据包括财务季频数据、股价日频数据、行业景气月度指数、宏观利率周度数据等。我采用的是TimeSeriesTransformer架构先对每个时间序列进行独立编码再通过交叉注意力机制捕捉变量之间的动态依赖关系。在这个角色的训练目标上我做了特别的设计。它不是为了直接输出“是否破产”的二分类结果而是预测各个风险指标在未来N个季度内的发生概率。比如“发生债务违约的概率”“触发ST的概率”“实际控制人变更的概率”等。通过这种多任务目标设计时序推演智能体被迫学会区分两种高风险公司一类是已经病入膏肓、下个报告期就会暴雷的“急症型”另一类是症状持续恶化但尚有一段时间窗口可以采取措施的“慢性型”。这两类公司虽然在当前时点的静态特征上可能相似但后续演化路径完全不同对决策的含义也截然不同。时序推演智能体的输出是一个向量化的危险演化曲线。我会将各时间节点上的风险概率连成一条折线方便后续仲裁智能体做趋势判断。在实践中这种曲线表达比单一概率分数直观得多也便于风控团队向业务部门解释预警理由。3.4 决策仲裁智能体谁的声音更可信怎么加权最后一个角色是决策仲裁智能体也是整个框架里最考验设计水平的一环。它的任务是把前三个智能体的输出综合成一个最终的风险等级和一份可解释的决策报告。仲裁智能体参考了混合专家模型MoE的门控网络机制但它在我的方案里做了一处关键改进不再是简单地学一组静态权重去加权三个子模型而是根据当前样本的状态动态调整各智能体的发言权。具体来说仲裁智能体内部有一个预先训练好的元学习器输入是三个子模型的输出置信度、样本自身的特征质量指标以及当时的外部环境特征行业景气情况、宏观信贷环境等输出是一个三元组权重系数对三个智能体的风险评分做加权求和。这个设计的初衷是应对不同场景下的“专家权威性差异”。比如在一家以技术研发为主、财务数据相对轻资产的科创类公司上文本情报智能体的判断往往比财务基本面智能体更灵敏而在重资产制造业公司上财务报表里反映出来的酸碱度差异会更有说服力。静态权重无法适配这种动态变化所以一定要让仲裁智能体学会“看人下菜”。另外仲裁智能体还必须做两件事一是冲突识别。当三个智能体给出的风险等级差异超过预设阈值时不要急着融合而是先进入回环验证流程触发重采样和复检。二是理由生成。最终输出格式包括综合风险概率、风险等级标签低/中/高/极高、以及触发该等级判断的顶层因素列表做到每个判断都能追溯根源。4. 协作机制信息怎么传、对抗校验怎么做、谁说了算角色分工弄清楚了下一步最关键的问题是这些智能体之间到底怎么协作很多人把多智能体理解成“几个模型各自跑自己的最后拼一个平均分”那是大错特错。真正的协作在于信息传递、观点碰撞和交叉验证这部分我单独用一个章节来讲。4.1 双向信息流设计每个智能体既输出也输入我的框架里信息流不是单向的“底层模型→顶层仲裁”而是存在横向的双向流通。举一个例子财务基本面智能体在计算偿债能力指标时最初的输入只有资产负债表数据。但在后续迭代中我让它接收文本情报智能体输出的“诉讼败诉风险”标签作为附加输入。诉讼败诉意味着或有负债可能转化为真实负债这个信息如果只在文本智能体内部消耗掉财务分析就会缺少一块关键拼图。同样时序推演智能体的预测结果也会回流给文本情报智能体。如果时序推演显示某公司未来两个季度偿债指标将快速恶化文本情报智能体会针对性地去搜索近期公告中关于再融资、债务展期、资产出售相关的表述形成双向印证。这个双向信息流机制的实现并不复杂本质上是在每个智能体的输入特征里额外拼接其他智能体的输出向量。但它的效果非常显著尤其是在降低误判率上。当我做消融实验时去掉双向信息流后综合模型在验证集上的F1分数下降了约7个百分点这个数字说明了信息交叉的价值。4.2 对抗性辩论让智能体互相“挑刺”多智能体框架另一个让我觉得很出彩的机制是对抗性辩论。简单来说就是让仲裁智能体在最终拍板前先审查各子智能体的结论是否存在逻辑矛盾如果有就发起一轮“辩论”。辩论流程是这样的仲裁智能体发现问题A比如财务基本面智能体给出了“低风险”评级但文本情报智能体发现在过去一个月内该公司被卷入三起大额诉讼且审计机构已提出疑虑。仲裁智能体不直接否决任何一方而是把两个智能体的原始依据提取出来通过一个论证生成模块组织成“正方观点”和“反方观点”再送交一个独立的校验智能体重新评估。校验智能体并不重新分析原始数据而是检查两方观点的推理路径是否存在缺陷。它关注的点包括财务分析所依赖的报表是否已经被审计标记为“无法表示意见”文本情报中的风险词句是否只是泛泛而谈还是具体到了金额与时间点时序推演模型中预测曲线的置信区间是否宽到已经失去了参考意义经过对抗性辩论原本身上的“脏数据”和“噪声信号”会在交叉印证中被清除掉。我统计过在整个验证集上约有18%的样本触发过辩论流程其中约四成在辩论后修正了最终风险等级。这个比例相当可观说明在关键样本上多个视角的碰撞确实能发现单模型看来下的错误结论。4.3 分级裁定机制谁在什么时候有一票否决权虽然设计了辩论机制但真实世界里不可能所有争议都靠辩论解决还要有一套清晰的裁定规则。我在框架里设置了三层裁定机制。第一层是常规融合。各智能体的风险评分加权求和权重由仲裁智能体动态生成。此层处理的是低冲突样本也就是各子模型之间分歧不大的情况。第二层是加权修正融合。当某一智能体的输入数据质量被判定为低时例如关键财务报表缺失、文本资料覆盖度过低它在仲裁时的权重会被自动下调其他智能体权重等比放大。这一层处理的是数据不完整的情况。第三层是全票否决制。当财务基本面智能体的Z-score指标降到“极度危险”区间或者文本情报智能体检测到“审计机构拒绝发表意见”“实际控制人失联”这类客观上即为重大负面事件的信号时无需等待融合输出直接进入最高风险等级。这套三层裁定规则的设计是在“模型灵活性”和“规则确定性”之间取得平衡。多智能体协作需要灵活性但在涉及硬性风险点的问题上规则必须拥有最终发言权。否则模型再精巧也难以通过外部审计。5. 实测效果从混淆矩阵到业务决策的真实差异框架跑通后最重要的环节是验证。我不光要回答“模型准不准”还要回答“这个方案比传统方案好在哪”。以下数据均来自项目内部测试测试区间为2022年全年与训练期存在2019年1月至2021年12月的时间切分。5.1 离线评估不只比准确率要比召回率和提前量单一模型的选择上我用的是优化到位的LightGBM特征集包含约200个财务指标和基本文本情感分数。多智能体方案则按前面章节描述的四角色协作框架构建。先看常规分类指标模型方案AUC精确率召回率F1单一LightGBM仅财务特征0.9120.7420.6180.675单一LightGBM财务文本特征0.9280.7650.6620.710多智能体协作框架0.9530.8110.7430.776面看AUC只提升了约4个百分点但真正的差异体现在召回率上。表格里单一模型在破产样本上仅能召回61.8%意味着每100家最终破产的公司有38家被漏掉。多智能体方案将这个漏报率压缩到25.7%。在信贷风控这个场景里漏掉一个坏客户可能造成的损失远超十个误伤好客户的代价因此这个提升是弥足珍贵的。更有意义的对比是“预警提前量”。我统计了两个方案在“正确命中破产样本”的情况下从发出高风险预警到公司实际暴雷的时间间隔中位数。单一模型的中位数为88天多智能体方案为126天。多出这38天足够企业完成不少应对动作比如削减敞口、重估抵押物、提前协商重组条款。在资金密集型的信贷场景里这个时间窗口的意义难以用金额简单衡量。5.2 案例分析文本情报智能体立功的经典场景具体案例更有说服力。测试集中有一家做环保设备制造的公司行业景气度尚可财务数据表面上也看不出特别大的异常资产负债率68%流动比率1.2经营性现金流虽然偏弱但尚为正值。如果按单一财务模型评估通常会被归入中等风险。但文本情报智能体在分析其年报“管理层讨论与分析”时发现两个值得警惕的细节。一是管理层在描述新签订单时用语从过去清晰的“已签订单金额”变成了模糊的“在手订单储备充足”二是公司连续两次更换了负责公司账款催收的高管并且年报中对此事只字未提。时序推演智能体随后发现公司应收账款周转天数从86天跳升至134天同时公司在银行端的短期借款出现连续三个季度的展期记录。虽然展期本身不算违约但结合文本情报的模糊信号综合风险被抬升到“危险”等级。三个月后这家公司发布公告称因下游客户资金链断裂公司计提了大额坏账准备净利润由盈转亏。这时候回去看财务指标流动比率的恶化才刚刚开始在最新报表中体现。如果等报表出来再行动预警窗口至少损失了两个月。5.3 对比那些误报案例多智能体并非万能当然多智能体方案也不是没有代价。它在提升召回率的同时也会带来更多误报。测试集中多智能体方案的假阳性率比单一模型高出约2.1个百分点。我拆解了这些误报案例发现大部分来自文本情报智能体的“过度敏感”。它抓到了某个负面新闻关键词或者某句模糊表述后在辩论环节没有等其他智能体充分反驳就推动了风险等级上调。后来我的改进是在文本情报智能体的输出层增加了置信度阈值控制只有当风险话题聚类的强度超过预设基线时才允许触发高风险信号传播。加了这层控制后假阳性率回落到与单一模型几乎持平的水平。所以多智能体协作不是“把所有信号都放进来”这么简单重点在于如何设计联动规则和信息可信度门槛。信息丰富度提升的同时必须配套更精细的信号门槛管理否则会被误报淹没。6. 落地部署时踩过的坑与应对方案框架在测试集上表现不错但真正推到实际业务中依然遇到了不少问题。这一章集中盘点我踩过的坑以及对应的解决方案给准备做类似项目的团队提个醒。6.1 概率校准0.85分不代表85%的破产概率多智能体框架输出的综合风险概率不是概率本身。我最初以为风险评分0.85就是“这家公司有85%概率破产”后来在复盘时才发现这是完全错误的解读。各类模型在训练过程中为了追求分类精度输出的概率会普遍存在系统性偏差。我在验证置信度时发现模型输出0.7~0.8分区间内的样本其实际破产发生率只有32%左右输出0.9分以上的样本实际发生率也仅为61%。这个偏差来自于训练样本中破产样本的比例设定以及损失函数中样本权重的预设。为了解决这个问题我在最终输出层之前增加了一个概率校准模块采用Isotonic回归保序回归对原始分数做映射。校准之后0.9分样本的实际破产发生率提升到了84%业务部门才敢放心推导出“极高风险”的处置建议。6.2 智能体的“幻觉”问题让它给出依据但别让它编依据大语言模型在文本情报智能体中的使用带来了一个特有的风险幻觉。模型可能基于长期记忆里某个公开信息在与当前样本无关的语境下生成看似合理的判断依据。我遇到过最典型的一个case是文本情报智能体在一家房地产公司的公告分析中引用了“公司拟联合开发某大型文旅项目”的信息但这段引文在仔细核对后发现是模型把这家公司与其关联公司的一则历史公告内容混淆了。虽然这部分内容没有直接影响最终风险等级但它动摇了团队对输出依据可信度的信任。应对措施有三步。第一步给文本情报智能体接入可靠的知识检索通道所有分析必须引用当前查询窗口内的真实文档原文禁止凭记忆补充。第二步输出依据时强制附带来源字段包括文件名、段落编号、原文片段。第三步增加一层基于规则的事实核对器对输出中的实体名称、金额、时间与原始文档进行一致性检查。经过这三步处理后幻觉问题基本被堵住了。6.3 可解释性业务部门要的不是“黑盒分数”破产预测最终要服务的是真实业务决策而业务部门的同事不会因为“模型说风险高”就直接采纳。他们需要知道风险高在哪里依据是什么这些依据是否可信传统机器学习模型可以通过SHAP值给出特征重要性排序但对于非技术背景的业务人员来说这依然不够直观。多智能体方案在这方面反而有天然优势因为每个智能体输出时都带了解释文本。我额外做了一层“报告翻译器”把所有技术性输出转换为业务人员能理解的语言。例如财务基本面智能体的输出是“流动比率1.1资产负债率72%经营性现金流为负”业务报告上的表述被翻译为“该公司短期偿债压力较大现金生成能力不足存在依赖外部输血续命的风险”。这个翻译步骤听起来不复杂但在实际部署中非常加分。它直接影响业务团队能否把模型输出落到决策流程上可信度也是这么一步步建立起来的。6.4 推理成本与模型更新频率多智能体方案相对传统单一模型推理成本上升了一个量级。文本情报智能体在每次分析时需要处理大量文档并且对抗性辩论流程偶尔会触发多轮论证生成导致单次推理耗时从传统模型的毫秒级飙升到几秒甚至几十秒。我在部署时做了两级缓存策略。一级是样本级缓存对同一家公司在同一季度内的预计算结果设置24小时有效期重复查询直接命中缓存。二级是文本向量缓存原始语料经编码后存入向量库后续新增查询时只需编码增量部分。设置缓存后推理耗时下降约60%基本满足业务侧的响应时间要求。模型更新频率方面定时为每个子智能体分别触发重训练更新而不是整个框架一起更新。财务基本面智能体每季度更新一次文本情报智能体每两周微调一次时序推演智能体每月更新一次。每个子智能体独立版本化仲裁智能体则按需做全量调优避免因为单一子模型的变动导致整体行为失控。7. 写在最后几个花钱也买不来的经验总结如果现在有人问我从单一模型转向AI智能体协作做破产预测最大的收获是什么我会说不是那个最高的AUC数字也不是多出来的38天预警窗口而是我对“模型为什么这样判断”这件事终于有了清楚的理解。多智能体协作方案的另一个微妙优势在于它逼迫你把业务知识以角色分工和规则的形式显性化。一开始做框架设计时我们需要梳理大量关于财务分析、文本分析、时序推演的领域知识这个过程很痛苦很多问题在我过去用单一模型时根本不会思考。但这种显性化沉淀下来的业务逻辑本身就是团队的核心资产就算以后模型架构变了这套研判框架依然可以复用。操作层面上给准备动手的朋友三条建议第一不要在第一时间追求复杂拓扑。我们最初的框架草图设计了七个智能体后来砍到四个才真正跑通。智能体越多协同的复杂度和冲突处理的难度呈指数级上升。先做减法把框架跑通再逐步扩展。第二对抗性辩论机制一定要趁早加入。很多人以为这是锦上添花的附加功能实际上它是保证整体判断可信度的关键环节。你把辩论机制拿掉多智能体协作框架立刻就退化成“多模型加权打分”效果会明显下降。第三数据质量审查需要在任何模型工作之前就做扎实。我在项目里反复体会到的多智能体带来的信息丰富度越高脏数据的危害就被放得越大。一个错误的财务指标可能会被文本情报智能体引证成支持其结论的佐证在辩论环节越辩越乱。所以数据清洗的优先级永远要排在模型调优之前。这个项目的经验后期我会继续整理成系列内容把财务智能体、文本情报智能体的具体实现细节分别拿出来单独写。如果大家在实际搭建多智能体协作框架时遇到了问题欢迎一起交流。