logo
开发者文档
搜索
保存与发布

保存与发布

这是使用 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(队列,默认)

排队的消息在消息边界合并——必须等当前这条回复完整结束,才把后续消息作为新的一轮处理。

  • 消息①抢到会话锁,立即处理并独立产出回复①。
  • 消息②③在①还在处理时到达,抢锁失败,进入队列排队。
  • 直到①处理完、释放锁,系统才自动补跑一轮,把队列里的②③一次性合并成一条回复。

消息②本身不会有单独的回复——这是最容易被误当成「丢消息」的一点。

QUEUE 模式:排队消息在本轮结束后合并成一条回复

APPEND(追加)

追加的消息不必等本轮结束,在下一次请求模型时就被吸收进正在进行的这一轮。

  • 消息②在①还在运行时到达,不入队、不等①结束,只标记为「待吸收」。
  • 引擎跑到下一次循环、向模型发起请求时,就把②的内容一并带上。

合并发生在循环边界,比 QUEUE 更早:不会新建消息,也不会多出回复,客户看到的仍是被「追加」影响过的那条回复①。适合运行中实时补充、纠偏。

APPEND 模式:追加消息在下一次循环请求时被吸收进当前这一轮

多模态连发:轮间连发的消息若带有图片、文件、音频等多模态内容,合并处理时也会一并提交给模型响应——前提是所选模型支持对应的多模态输入能力,并已在输入设置里开启该类别。

单条排队 / 追加消息的正文上限为 8192 字符。