一次只选一个
两个技能得分相同也不并列:系统消息里只会出现一条技能的引导正文。两份规程同时注入会相互冲突——一份要求只给思路,另一份要求直接给结论,模型只能择一执行,输出不可预测。限定至多一个,把这种不确定性在路由阶段消除。
提示词与技能都进入系统消息,但职责不同:提示词定义「助手是谁」(角色设定,来自会话选定的智能体),技能定义「这一题按什么规程引导」。路由负责在请求到达时,于该智能体绑定的技能里选出至多一个。
路由不调用模型,也不做语义匹配,而是一次基于词法命中(lexical matching)的确定性计分。候选集只有该智能体绑定且已启用的技能——未绑定或已停用的技能不参与,即使它的适用条件命中了提问。在候选集里,把适用条件按分隔符切分为若干关键词,逐个判断是否为提问的子串,命中一个词得一分,取最高分的一条。零分即不选技能。同分时保留遍历中更靠前的一条——技能按编号升序返回,因此同分实际取编号较小者。
Equation、提问里写 equation 仍会命中;分隔符支持中英文逗号、顿号、分号与竖线。两个技能得分相同也不并列:系统消息里只会出现一条技能的引导正文。两份规程同时注入会相互冲突——一份要求只给思路,另一份要求直接给结论,模型只能择一执行,输出不可预测。限定至多一个,把这种不确定性在路由阶段消除。
系统消息由服务端逐段拼装,顺序固定,只放角色、技能与约束;检索到的资料进用户消息。学生提问也在用户消息里,与资料同一条。
[1] 对应。| 配置项 | 作用范围 | 谁能改 |
|---|---|---|
| 智能体提示词 | 规定这个助手的角色与口吻,一个智能体一份 | 教师 |
| 智能体绑定 | 决定能用哪些技能、能查哪些材料 | 教师 |
| 技能说明 | 规定某一类题怎么引导,只在该技能被选中时生效 | 教师 |
| 资料范围 | 命中技能后,检索结果再按标题含该学科过滤一次 | 教师 |
| 提问 | 只影响本次检索与路由,不改任何配置 | 学生 |