保存与发布
保存与发布
这是使用 LoopAgent 最需要先理解的一条规则,也是最容易混淆的地方:「保存」只更新 Debug 版,「发布」才更新 Online 版。
核心规则
- 在设置页点保存(改模型、编辑身份提示、绑定知识库、加工具……)→ 只写入调试版→ 右侧调试聊天立即生效,可以马上验证。
- 但所有对外渠道(Open API、分享页、Widget、网站插件、Telegram、Slack、LiveChat、LiveDesk……)运行时用的是最近一次「发布」时冻结的配置快照。
不点「发布」,线上永远是旧配置。
loading...
flowchart LR
S[点击保存] --> DBG[ Debug 版]
DBG --> DC[Debug 对话立即生效]
P[点击发布] --> PROD[Online 版]
PROD --> CH[对外渠道生效]
常见问题:「我改了配置 / 身份提示,怎么线上没变?」——因为只保存了、没发布。要让改动生效到线上,必须再点一次发布 / Release。调试聊天正常 ≠ 线上正常。
如果一个 LoopAgent 从未发布过,对外渠道会直接报错、根本跑不起来。首次接入 API 或渠道前,务必先发布一次。
哪些改动随发布、哪些即时生效
不是所有东西都要「发布」才生效。区分清楚能少走弯路:
| 对象 | 何时生效 |
|---|---|
| 身份提示、循环上限、模型、各项能力的开关与绑定关系 | 随发布(属于智能体配置,进发布快照) |
| Agent 私有技能 | 随发布(与身份提示同逻辑) |
| 组织 / 平台技能 | 即时全局(保存即对所有引用它的智能体生效) |
| 知识库文档、关键事件数据、用户属性值 | 即时全局(属于运行期数据,不是配置) |
一句话:改配置要发布,改数据 / 组织级资源即时生效。
调试聊天
设置页右侧的调试聊天用于验证配置效果:
- 它读取的是调试版配置,保存后立刻生效,可反复调整、即时看到效果。
- 调试聊天是真实对话,同样会计费。
- 调试 / 预览态下不携带跨轮历史记忆(每次都是干净上下文),属正常现象。
连发消息会合并成一条回复
在智能体还在生成时又发消息,这些消息不会丢。系统会先抢一把会话锁:抢到的立即处理,没抢到的先排队或标记待吸收,最终合并成一条回复。所以「连发了好几条、只回了一条」是设计行为,不是丢消息。
连发消息有两种处理模式:QUEUE(队列) 与 APPEND(追加)。
QUEUE(队列,默认)
排队的消息在消息边界合并——必须等当前这条回复完整结束,才把后续消息作为新的一轮处理。
- 消息①抢到会话锁,立即处理并独立产出回复①。
- 消息②③在①还在处理时到达,抢锁失败,进入队列排队。
- 直到①处理完、释放锁,系统才自动补跑一轮,把队列里的②③一次性合并成一条回复。
消息②本身不会有单独的回复——这是最容易被误当成「丢消息」的一点。
APPEND(追加)
追加的消息不必等本轮结束,在下一次请求模型时就被吸收进正在进行的这一轮。
- 消息②在①还在运行时到达,不入队、不等①结束,只标记为「待吸收」。
- 引擎跑到下一次循环、向模型发起请求时,就把②的内容一并带上。
合并发生在循环边界,比 QUEUE 更早:不会新建消息,也不会多出回复,客户看到的仍是被「追加」影响过的那条回复①。适合运行中实时补充、纠偏。
多模态连发:轮间连发的消息若带有图片、文件、音频等多模态内容,合并处理时也会一并提交给模型响应——前提是所选模型支持对应的多模态输入能力,并已在输入设置里开启该类别。
单条排队 / 追加消息的正文上限为 8192 字符。
