fallback 会盖掉平台提示词:system、空数组和 systemAppend 的差别

system 没传,和传入 [],在 Tansr 里不是一回事。默认 fallback 下,没传才使用平台 systemPrompt;传入 [] 会得到没有业务段。systemAppend 两种情况下都还在,它不参与这次替换。

自己拼模型请求时,漏传系统提示词通常意味着「沿用默认」。这里的空数组是一次明确的业务段选择。SDK 接手选择和拼接;调用方仍要决定传不传 system。

六种组合

策略 system 平台已有角色时的业务段
fallback 未传 平台段
fallback 非空段 只有代码段
fallback [] 无业务段
prepend 未传 平台段
prepend 非空段 平台段然后代码段
prepend [] 平台段

session.applicationPrompt 只有策略和 P/S 来源,没有正文,也不统计 systemAppend。资料站明确写出的两处是:fallback 且显式 [] 时来源为 sdk;prepend 且平台段存在、SDK 为 [] 时来源为 platform。旧 bundle 没有策略时按 fallback。控制台里「SDK 传入时保留平台提示词」对应 prepend。

顺序固定为:选出的业务段,systemAppend,再是该入口实际注册的工具、Skills 或 MCP 指南。不要把平台正文再贴进 system,SDK 不去重。prepend 不强制模型服从,也不是工具权限。

省略 system、只加宿主说明的单轮形状如下。这是资料站中的调用形状,本文没有复跑。令牌由后端换发,Electron 放在主进程。

ts 复制代码
import { query } from "@tansr/sdk";

const token = process.env.TANSR_APP_USER_TOKEN;
if (!token) throw new Error("缺少短期 app_user 令牌");

const run = query({
  token,
  baseUrl: "https://api.tansr.com",
  prompt: "查询订单前,需要我提供什么信息?",
  systemAppend: [{ text: "输出纯文本,避免依赖网页交互控件。" }],
  tools: { builtin: [] },
});

平台段在下一轮开始前刷新,当前轮不换。刷新失败时不调用模型,事件种类是 application_prompt_refresh_failed。能力自 @tansr/sdk 0.13.0 起提供;runAgent 不拉取这套 bundle。真值表见应用系统提示词与 SDK 拼接策略。

相关推荐
Moment2 分钟前
AI 编程时代,聊聊我的 Mac mini 双屏桌面
前端·后端
AiMan13 分钟前
先确认能不能一次把Microsofat Copilot所有内容打包一个文件导出
前端
总要学点什么17 分钟前
第97篇:三维数据加载-城市建筑白模自定义着色器——让一条光带沿高度扫上去,快慢却由帧率说了算
前端·gis·webgl·cesium·着色器·空间分析·白模
上海懒图科技43 分钟前
工厂厂区电子地图定位导航:厂区人车精准定位,安全合规双保障
前端·arcgis·vue
西安小哥1 小时前
端侧跑大模型,真正的门槛不在参数量:一次 596 秒到 10 秒的压缩路径复盘
前端·人工智能
学长毕设1 小时前
基于SpringBoot的游乐园管理系统-附源码
java·spring boot·后端
橙序员小站1 小时前
Windows 安装包反复报错?一次排查补上了 5 个 CI 检查点
后端
陈随易1 小时前
Cloudflare 出钱,Vite 团队挑人,44 个维护者分 30 万美元
前端·后端·程序员
SimonKing2 小时前
震惊:怎么回事,opencode一轮对话耗尽免费额度
java·后端·程序员
恋猫de小郭2 小时前
Flutter THLC 的 WebView 滚动终于从 70 FPS 提升到 120 FPS
android·前端·flutter