149 lines
4.9 KiB
Markdown
149 lines
4.9 KiB
Markdown
---
|
|
phase: 13
|
|
plan: 05
|
|
type: tdd
|
|
wave: 1
|
|
depends_on: []
|
|
files_modified:
|
|
- kb_workflow/srt/semantic_engine.py
|
|
- tests/test_semantic_engine.py
|
|
autonomous: true
|
|
requirements:
|
|
- SENT-01
|
|
- SENT-02
|
|
- SENT-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: 60
|
|
key_links:
|
|
- from: "SEGMENTATION_PROMPT"
|
|
to: "LLM 分段决策"
|
|
via: "Prompt 中的句边界指令"
|
|
pattern: "句号.*问号.*感叹号.*省略号.*语义停顿"
|
|
---
|
|
|
|
<objective>
|
|
实现中文句边界检测功能
|
|
|
|
目的:让 LLM 在自然停顿处分段,保持中文内容的连贯性和可读性
|
|
输出: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 中说明「分段边界应放在自然停顿处(句号、问号、感叹号等标点符号后)」
|
|
- **句边界保护**: 纯 Prompt 约束 — 依赖 LLM 理解,不进行代码后处理
|
|
|
|
# Research Document
|
|
Common Pitfall 5: 中文句边界检测依赖标点符号
|
|
What goes wrong: Prompt 中只说「在句号后分段」,但中文还有问号、感叹号、省略号等
|
|
How to avoid: 列举所有常见中文句末标点
|
|
</context>
|
|
|
|
<feature>
|
|
<name>中文句边界检测</name>
|
|
<files>kb_workflow/srt/semantic_engine.py, tests/test_semantic_engine.py</files>
|
|
<behavior>
|
|
Prompt 设计(用户决策 + 研究文档):
|
|
- 列举所有常见中文句末标点(。?!……)
|
|
- 强调「自然停顿处」(语义停顿,不仅标点)
|
|
- 保持内容连贯性和可读性
|
|
|
|
测试验证:
|
|
- 分段边界在标点符号后
|
|
- 分段位置自然(不会在「等等!」或「真的?」中间截断)
|
|
- 保持中文内容的连贯性
|
|
</behavior>
|
|
<implementation>
|
|
在 SEGMENTATION_PROMPT 中更新句边界指令:
|
|
1. 列举所有中文句末标点(。?!……)
|
|
2. 强调「自然停顿处」和「语义停顿」
|
|
3. 说明「不仅依赖标点符号」
|
|
|
|
测试:
|
|
1. test_chinese_sentence_boundary() - 验证句边界检测
|
|
2. test_semantic_pause_detection() - 验证语义停顿检测
|
|
</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_chinese_sentence_boundary: 分段边界在标点符号后
|
|
- test_semantic_pause_detection: 基于语义停顿(不仅标点)
|
|
|
|
GREEN 阶段 - 实现功能:
|
|
- SEGMENTATION_PROMPT 列举所有中文句末标点
|
|
- 强调「自然停顿处」和「语义停顿」
|
|
- 说明「不仅依赖标点符号」
|
|
|
|
REFACTOR 阶段 - 优化代码:
|
|
- 优化指令措辞(更清晰明确)
|
|
</behavior>
|
|
<action>
|
|
更新 SEGMENTATION_PROMPT,优化句边界指令:
|
|
|
|
```python
|
|
【分段要求】
|
|
...
|
|
4. **重要**:保持句子完整性,分段边界应放在自然停顿处
|
|
- 包括:句号(。)后、问号(?)后、感叹号(!)后、省略号(……)后
|
|
- 基于语义停顿判断,不仅依赖标点符号
|
|
- 保持内容的连贯性和可读性
|
|
...
|
|
```
|
|
|
|
测试使用包含以下场景的中文字幕:
|
|
- 各种标点符号(。?!……)
|
|
- 语义停顿(即使没有标点)
|
|
- 连贯性验证(分段后内容自然流畅)
|
|
</action>
|
|
<verify>
|
|
<automated>pytest tests/test_semantic_engine.py::test_chinese_sentence_boundary -x</automated>
|
|
</verify>
|
|
<done>
|
|
- SEGMENTATION_PROMPT 列举所有中文句末标点
|
|
- 强调「自然停顿处」和「语义停顿」
|
|
- 说明「不仅依赖标点符号」
|
|
- 测试验证句边界检测效果
|
|
</done>
|
|
</task>
|
|
</tasks>
|
|
|
|
<verification>
|
|
- pytest tests/test_semantic_engine.py -v 相关测试通过
|
|
- Prompt 指令清晰明确
|
|
- 列举所有常见中文句末标点
|
|
</verification>
|
|
|
|
<success_criteria>
|
|
1. SEGMENTATION_PROMPT 列举所有中文句末标点(。?!……)
|
|
2. 强调「自然停顿处」和「语义停顿」
|
|
3. 说明「不仅依赖标点符号」
|
|
4. 测试验证句边界检测效果
|
|
</success_criteria>
|
|
|
|
<output>
|
|
After completion, create `.planning/phases/13-llm/13-05-SUMMARY.md`
|
|
</output>
|