feat(skills): 渐进披露接线(L2)—— 清单投影 + 命中才展开 + 工具面只收不放
- 清单只给 name+description(+when-to-use),单条 ≤1536 字符 + 全局条数上限,超限如实标 truncated - 命中才把正文作为一条消息注入:跨回合保留、按内容指纹缓存不重复读盘、注入 ≤16 KiB 标 .truncated - invocation 三态与清单逐格对齐(model-only 清单不含 description;user-only 清单有但模型不可调) - 激活轮的工具面 = allowed-tools ∩ 安全闸 ∩ 注册表 再减 disallowed-tools(owner 也看不见未允许的工具) - 激活状态进程内按会话(不落库);注入量已界化(压缩器估值未含,超我文件面) 裁定(DECISIONS #3/#4/#5):删掉 paths 启发式(只认显式挂载);多技能并集;收缩作用域=激活的那个回合。
This commit is contained in:
1 parent
2e1c3ed3fd
commit
6475eb875d
10 files changed
+1448
-3
No files matched your search
@@ -175,6 +175,10 @@ func (l *Loop) assembleContext(ctx context.Context, messages []model.Message, ro
|
||||
leading = append(leading, decl)
|
||||
}
|
||||
out := append(leading, view...)
|
||||
// 技能面(design/09 §6.3):清单投影 + 命中才展开的正文 + 已激活正文的跨回合
|
||||
// 保留。它排在 transformContext **之前**,使投影钩子看到的就是模型将看到的
|
||||
// 最终形态;未接技能面(SetSkillFace 未调用)时逐字返回入参。
|
||||
out = l.assembleSkillFace(ctx, out, round)
|
||||
if l.transformContext != nil {
|
||||
out = l.transformContext(ctx, out, round)
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user