fix(ai): AI越界生成——Prompt增加内容边界约束

- systemPrompt去掉'基于全局信息补充完善'诱导性措辞,改为明确【内容边界】警告
- systemPrompt明确告知AI:全局参考仅供理解上下文,updatedHtml只能包含目标区域本身内容
- promptText增加⚠️防越界指令:明确列出禁止混入的模块类型(术后情况、标本描述、病理结果、签名等)
This commit is contained in:
2026-04-19 04:26:16 +08:00
parent c7e7033e7d
commit a3cafcb672
5 changed files with 153 additions and 2 deletions

View File

@@ -0,0 +1,34 @@
# 需求分析
## 时间戳
2026-04-19 04:24
## 需求来源
用户在使用 AI 修改确认弹窗时发现两个问题:
1. diff 弹窗左侧原始版本的内容似乎不完整(或被截断)
2. diff 弹窗右侧 AI 提议版本混入了不该出现的内容(术后情况、标本描述、病理结果、手术者签名等)
## 问题分析
### 问题 1AI 越界生成其他模块内容
**现象**:右侧 AI 提议版本中出现了"手术后情况"、"切除标本描述"、"是否送病理检查"、"冰冻病理结果"、"手术者签名"等本不属于"手术步骤"区域的内容。
**根因**
1. `globalContextText` 包含了整个编辑器的纯文本AI 看到了全局所有内容
2. systemPrompt 第 3 点写着:`updatedHtml 必须生成完整、结构化的多段落内容,不要只改写现有段落,要基于全局信息补充完善`
3. AI 为了达成"补充完善"的指令,把全局上下文中看到的其他模块内容都塞进了 updatedHtml
### 问题 2左侧内容显示
**现象**左侧原始版本显示了多段内容1-3段但可能被截断。
**根因**
- 左侧 `currentHtml` 取自 `.ai-content` 的 innerHTML其内容取决于模板中 `.ai-content` 实际包含了多少段落
- 这不是代码层面的 Bug而是模板结构中 `.ai-content` 的包裹范围问题
## 解决方向
1. **Prompt 边界加固**:去掉"基于全局信息补充完善"这种容易被 AI 过度解读的措辞,改为明确的内容边界警告
2. **System Prompt 职责界定**:明确告知 AI"全局参考仅供理解上下文,严禁输出其他模块"
3. **Prompt 增加防越界指令**:在 promptText 中明确列出禁止混入的模块类型