refactor(consult): chat binds the method's truth boundaries, not the engine manual (BUG-1256 step 2)
The method block bound into every chat turn quoted most of SKILL.md (benchmark scores, CLI flags, oracle queues, file paths) plus the shared method, whose output contract asks for JSON verdicts, A/B/C/D confidence, audit tables, raw data and web verification - the opposite of the chat shape. Chat now quotes only the truth-boundary sections and adds CHAT_METHOD_BOUNDARIES for the limits from the dropped sections it still has to keep. SKILL.md and the shared method file are unchanged for reports and skill_read. Natal system prompt 55,242 -> 26,591 characters. DeepSeek A/B on public golden charts (flash 10 questions): input 24,560 -> 14,025 tokens, 37.8 -> 30.3 s, no regression in automatic checks or reading; a high-rigor request still says plainly that no external check was done. Full suite 4970 / fail 24, identical to b8385adb; build keeps / Static. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017eEAG8HD3mm8gsKXgk8uU8
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
6a372bc3a8
commit
c76fdda7ab
@@ -16809,3 +16809,17 @@
|
||||
- 防复发:测试锁人设关键句、读心三条、禁用断定句、受冲只给范围,且 `index.ts` 不再有「concisely」、voice 不再有「restate / 嘴有点毒 / 锋利」。
|
||||
- 相关记录:BUG-1070(被部分推翻)、BUG-1182(受冲口径保留)、BUG-1244(行动不强制)、BUG-1253。
|
||||
- 修复版本:staging `b8385adb`(2026-10-07 08:13 部署核对:health gitCommit=b8385adb、各项 ok,`/api/account` 401,`/login` 200;门禁 run 1750 validate 15 分钟一次通过)。真机未走,状态保持 fixed-pending-verify
|
||||
|
||||
## BUG-1256 | 普通对话系统提示 5.5 万字符:同一形状说 4 遍、方法书带进工程记录与冲突的输出合同
|
||||
|
||||
- 状态:fixed-pending-verify(分支 `codex/prompt-slim-20261007`;部署与真机前不标 resolved)
|
||||
- 首次发现 / 最近更新:2026-10-07 / 2026-10-07
|
||||
- 来源:产品问「提示词规则 2 万多字能不能优化」,Claude 实测体量后产品授权直接执行,并提供临时模型 key 做改前改后对比。
|
||||
- 影响面:本命对话与申报时段对话的系统提示(`mastra/index.ts`、`product-voice.ts` 合同、`consultation-thinking-plan.ts` 的 natal 标题规则、`skill-binding.ts` 的方法块)。不改证据卡、工具、领域清单、用户轮指令、模型与时钟。
|
||||
- 现象:本命系统提示 55,242 字符(约 2.2 万 token),每轮实际输入约 2.46 万 token。英文形状摘要在合同、index、natal 标题规则、skill 骨架里各一份;合同又逐条复述中文 ANSWER SHAPE;方法书摘录 1.74 万字符里多为引擎跑分、CLI 参数、oracle 队列、文件路径;共享方法(全谱调用合同 + 事件判定骨架)要求输出 JSON verdict、A/B/C/D 置信度、审计表、原始数据与联网验证,与聊天形状冲突;一批通用回答政策被放在「When reference_transparency is present」标题下。
|
||||
- 根因:形状与方法块分轮叠加,每轮只加不删;方法块按 SKILL.md 的整节标题摘取,SKILL.md 主要是引擎与报告手册。
|
||||
- 修复:第一步(去重、不改意思):形状摘要只留合同一份,删合同里复述中文形状的条目,通用政策挪到「Always」标题下。第二步:聊天方法块只摘 SKILL.md 的诚实边界几节(运行时路由正文、truth overlay、Ashtottari、P0/P1 观察层、三层验证法),不再绑定共享方法;被删章节里聊天仍要守的边界写成 `CHAT_METHOD_BOUNDARIES`(判断顺序、应期双大运同向、日期只引用卡上、未全部外部校准、不宣称第一、高严谨请求如实说明未做外部核验)。SKILL.md 与共享方法文件不动,报告与 skill_read 照用。
|
||||
- 验证:系统提示 55,242 → 26,591 字符;模型对比见 `docs/testing/prompt-slim-20261007-model-runs.md`(flash 10 题平均输入 24,560 → 14,025 token、耗时 37.8 → 30.3 s、思考 6,975 → 5,683 token,自动检查与人工通读无退化;高严谨请求如实说明未做外部核验)。全量 4970 项 fail 24,与 `b8385adb`(4969 / 24)逐条一致;tsc 0、lint 0 error;build `/` Static,首屏 gzip 不变。改断言 2 个文件(三栏写在测试里),新增 2 条。
|
||||
- 防复发:测试锁形状摘要只在合同出现、方法块不再含共享方法且小于 4,000 字符、方法块不含「强制工作流 / 五层硬约束 / MEVG / Transit Actionable Output」等章节、边界要点存在。
|
||||
- 相关记录:BUG-1253(清单原句被念给用户,同属「给模型分析用的文字进了说话层」)、BUG-1255。
|
||||
- 修复版本:待发布
|
||||
|
||||
@@ -429,3 +429,4 @@
|
||||
| —(直接执行,无任务书) | `PROGRESS-consult-readable-20261006.md` | **回答铺满一行、输出不抖、不念分析清单**(10-06 真机截图):答案正文去 `text-wrap: pretty`(WebKit 整段等长 + 逐字重排,BUG-1252);清单开头写明只用于分析、婚恋三层改生活说法、字段白话对照、括号最多两条(BUG-1253) | 已验收 | Claude 直接执行;真机清单 `docs/testing/consult-readable-20261006.md` 待产品 |
|
||||
| —(直接执行,无任务书) | —(记录在 BUG-1254) | **门禁偶发红:数据库测试排队等槽位超时**:46 个 fixture 文件抢 2 个槽位、固定等 5 分钟,排在后面的随机失败;改为槽位易手即续期、连续 10 分钟无进展才失败(BUG-1254) | 已验收 | Claude 直接执行;门禁实际效果待看 |
|
||||
| —(直接执行,无任务书) | —(记录在 BUG-1255) | **回答口吻改知心姐姐、放开读心**(10-07 产品决定):人设统一;读心守三条(先答再读、可能/多半一句、当事人要有依据且未受冲);删冲突的旧规矩。推翻 BUG-1070 读心部分 | 已验收 | Claude 直接执行;真机清单 `docs/testing/consult-voice-sister-20261007.md` 待产品 |
|
||||
| —(直接执行,无任务书) | —(记录在 BUG-1256) | **普通对话提示词减半**(10-07 产品授权 + 临时 key 对比):形状说明 4 份合 1、方法书只摘诚实边界、共享方法不再进聊天、边界要点改写补回;系统提示 55,242 → 26,591 字符,模型对比无退化 | 已验收 | Claude 直接执行;对比记录 `docs/testing/prompt-slim-20261007-model-runs.md` |
|
||||
|
||||
@@ -0,0 +1,47 @@
|
||||
# 模型对比 · 普通对话提示词精简(2026-10-07,BUG-1256)
|
||||
|
||||
对比对象:改前 = staging `b8385adb` 的提示词;改后 = 分支 `codex/prompt-slim-20261007`(去重 + 方法书精简)。
|
||||
|
||||
做法:用仓库里真实引擎的公开名人 golden 盘(Steve Jobs / Barack Obama / Elizabeth Taylor)构造工具结果,与线上同一套拼法(系统提示 + 用户轮指令 + 工具调用 + 工具结果)直连 DeepSeek API,`max_tokens` 与线上一致(24,576)。两边的问题、盘面、工具结果完全相同,只换系统提示。脚本在会话临时目录,不入库;回答原文不入库,下面只记数字和结论。
|
||||
|
||||
## 体量
|
||||
|
||||
| 项 | 改前 | 改后 |
|
||||
| --- | --- | --- |
|
||||
| 本命系统提示 | 55,242 字符(约 2.2 万 token) | 26,591 字符(约 1.06 万 token) |
|
||||
| 英文形状摘要出现次数 | 4 | 1 |
|
||||
| 方法书摘录 + 共享方法 | 25,872 字符 | 约 2,500 字符 |
|
||||
| 每轮实际输入(API 计量,含工具结果) | 平均 24,560 token | 平均 14,025 token(−43%) |
|
||||
|
||||
## deepseek-flash,10 题(事业 / 婚恋 / 财运 / 父母 / 子女 / 健康 / 学业 / 是非题 ×2 / 问时间)
|
||||
|
||||
| 指标 | 改前 | 改后 |
|
||||
| --- | --- | --- |
|
||||
| 平均耗时 | 37.8 s | 30.3 s(−20%) |
|
||||
| 平均思考 token | 6,975 | 5,683(−19%) |
|
||||
| 空回答 | 0(`max_tokens` 改为线上值后) | 0 |
|
||||
| 自动检查(标题、列表、加粗、清单层名、数宫法、自造词 / 音译、置信标签、断定读心、后台词、空话、语气词) | 全 0 | 全 0 |
|
||||
| 英文术语命中 | 1 题 | 1 题 |
|
||||
| 「确定性措辞」命中 | 0 | 1 题,人工看是误报(原句「不是哪一天一定会发生什么」) |
|
||||
| 是非题首句 | 「看情况」「不是」 | 「看情况」「不是」 |
|
||||
|
||||
人工通读 1、3、8 题两版:结构、分段、读心、括号依据一致;改后第 8 题主动说明「另一套推运没对上,所以不给具体某一天」(精简后补的边界要点生效)。
|
||||
|
||||
## 高严谨请求(第 11 题:「拉满三大引擎和外部案例验证,精确到月,说明核对过哪些外部资料」)
|
||||
|
||||
两版都如实说明未做外部核验。改后措辞更直白(「没有做外部引擎比对,没有联网核验,也没有拿真实案例回放校准……不假装做过」),并以两套推运未同向为由不给确定月份。耗时 42.3 s → 28.7 s。
|
||||
|
||||
## deepseek-v4-pro,抽 3 题
|
||||
|
||||
| 指标 | 改前 | 改后 |
|
||||
| --- | --- | --- |
|
||||
| 平均耗时 | 92.5 s | 33.6 s |
|
||||
| 平均思考 token | 11,644 | 3,588 |
|
||||
| 空回答 | 1(第 8 题思考 24,563 token 耗尽上限,181 s) | 1(第 7 题 4 s 返回空,重跑 3/3 正常,判为偶发) |
|
||||
|
||||
第 7 题再各跑:改后 3 次、改前 2 次,均正常作答,首句为「不是 / 看情况」。
|
||||
|
||||
## 结论与缺口
|
||||
|
||||
- 精简后体量减半,速度更快、思考更少,回答质量与诚实边界未见退化。
|
||||
- 样本小(flash 10 题 + 1 题、pro 3 题),只用 3 张公开名人盘;真机仍需按 `consult-voice-sister-20261007.md` 与 `consult-readable-20261006.md` 两份清单走。
|
||||
Reference in New Issue
Block a user