This repository has been archived on 2026-08-07. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
kb-skills/.planning/phases/13-llm/13-03-PLAN.md
T

144 lines
5.1 KiB
Markdown

---
phase: 13
plan: 03
type: tdd
wave: 1
depends_on: []
files_modified:
- kb_workflow/srt/semantic_engine.py
- tests/test_semantic_engine.py
autonomous: true
requirements:
- COMP-01
- COMP-02
- COMP-03
must_haves:
truths:
- "分段不会在句子中间截断内容"
- "分段不会破坏论点的完整性(如前提-结论结构)"
- "并列结构(首先、其次、最后)不会被错误拆分"
artifacts:
- path: "kb_workflow/srt/semantic_engine.py"
provides: "内容完整性保护 Prompt 指令"
contains: "SEGMENTATION_PROMPT"
- path: "tests/test_semantic_engine.py"
provides: "内容完整性测试"
min_lines: 80
key_links:
- from: "SEGMENTATION_PROMPT"
to: "LLM 输出分段"
via: "Prompt 中的完整性约束指令"
pattern: "不要在句子中间截断.*保持论点完整性"
---
<objective>
实现内容完整性保护功能
目的:通过 Prompt 约束确保分段不破坏句子和论点完整性
输出:SEGMENTATION_PROMPT 中的完整性保护指令
</objective>
<execution_context>
@/home/starmen1265/.claude/get-shit-done/workflows/execute-plan.md
@/home/starmen1265/.claude/get-shit-done/templates/summary.md
</execution_context>
<context>
@.planning/phases/13-llm/13-CONTEXT.md
@.planning/phases/13-llm/13-RESEARCH.md
# User Decision (Locked)
- **句边界保护**: 纯 Prompt 约束 — 在 Prompt 中明确指令「不要在句子中间截断」,依赖 LLM 理解,不进行代码后处理
- **论点完整性**: 一般性指令 — Prompt 中给出「保持论点完整性」的一般性指令,不提供具体示例或标记词识别
- **并列结构**: 不特别指定 — 对「首先/其次/最后」等并列结构不给出特殊处理,让 LLM 根据整体语义自然判断
</context>
<feature>
<name>内容完整性保护</name>
<files>kb_workflow/srt/semantic_engine.py, tests/test_semantic_engine.py</files>
<behavior>
Prompt 约束(用户决策:纯 Prompt,无代码后处理):
- 「不要在句子中间截断」
- 「分段边界应放在自然停顿处(句号。、问号?、感叹号!、省略号……等标点符号后)」
- 「保持论点完整性,不要在前提-结论结构中间截断」
- 对并列结构不特别指定(让 LLM 自然判断)
测试验证:
- 分段边界在标点符号后
- 论点结构完整(前提-结论不被拆分)
- 并列结构保持完整
</behavior>
<implementation>
在 SEGMENTATION_PROMPT 中添加完整性保护指令:
1. 明确句边界要求(列举所有中文句末标点)
2. 添加论点完整性指令
3. 不添加并列结构特殊处理(按用户决策)
测试:
1. test_sentence_boundary_protection() - 验证句边界保护
2. test_argument_completeness() - 验证论点完整性
</implementation>
</feature>
<tasks>
<task type="auto" tdd="true">
<name>Task 1: 添加内容完整性保护指令</name>
<files>kb_workflow/srt/semantic_engine.py, tests/test_semantic_engine.py</files>
<behavior>
RED 阶段 - 测试预期行为:
- test_sentence_boundary_protection: 分段边界在标点符号后
- test_argument_completeness: 论点结构完整
GREEN 阶段 - 实现功能:
- SEGMENTATION_PROMPT 添加句边界指令
- SEGMENTATION_PROMPT 添加论点完整性指令
- 不添加并列结构特殊处理(遵守用户决策)
REFACTOR 阶段 - 优化代码:
- 优化指令措辞(更清晰明确)
</behavior>
<action>
更新 SEGMENTATION_PROMPT,添加完整性保护指令:
```python
【分段要求】
...
4. **重要**:保持句子完整性,分段边界应放在自然停顿处(句号。、问号?、感叹号!、省略号……等标点符号后)
5. 保持论点完整性,不要在前提-结论结构中间截断
```
注意:不添加并列结构特殊处理(遵守用户决策:让 LLM 自然判断)
测试使用包含以下场景的字幕:
- 句子中间不应截断(如「机器学习是...」不应被拆开)
- 论点完整性(如「因此...所以...」不应被拆开)
- 并列结构(如「首先...其次...最后...」应保持完整)
</action>
<verify>
<automated>pytest tests/test_semantic_engine.py::test_sentence_boundary_protection -x</automated>
</verify>
<done>
- SEGMENTATION_PROMPT 包含句边界保护指令
- SEGMENTATION_PROMPT 包含论点完整性指令
- 不包含并列结构特殊处理(遵守用户决策)
- 测试验证完整性保护效果
</done>
</task>
</tasks>
<verification>
- pytest tests/test_semantic_engine.py -v 相关测试通过
- Prompt 指令清晰明确
- 不包含并列结构特殊处理(符合用户决策)
</verification>
<success_criteria>
1. SEGMENTATION_PROMPT 包含句边界保护指令(列举所有标点符号)
2. SEGMENTATION_PROMPT 包含论点完整性指令
3. 测试验证完整性保护效果
</success_criteria>
<output>
After completion, create `.planning/phases/13-llm/13-03-SUMMARY.md`
</output>