1.3 KiB
1.3 KiB
search-engine-widget(子模块规范)
子模块名称
search-engine-widget(WIDGET 搜索器:Beam Search)
目标描述
在 WIDGET 场景实现确定性 Beam Search:
- 每一行扩展时只保留 TopK partial layouts(beam)
- 每步扩展断点数 M 受控(更强裁剪)
- 支持 width unknown / approx mode
- 最终选择 pos==N 的最优解;无解走
overflow-fallback
输入/输出定义
输入
tokens: Token[]breakpoints: Breakpoint[]availableWidth: number(可为常量 profile)maxLines: numbercontext: 'WIDGET'measure: { widthMode: 'MEASURE' | 'APPROX' }config: { beamK: number; expandM: number }
输出
bestLayout: { breaks: number[]; lines: string[]; wrappedText: string; meta?: { breaks: number[]; scoreTopTerms?: ... } }
验收标准(可验证)
- 确定性:beam 扩展、剪枝、排序规则固定;同输入同输出
- 性能约束生效:
- beamK 默认 5
- 每步扩展 M 默认不超过 12
- 宽度不可用降级一致:
- 进入 approx mode 时 meta 标记
reason=WIDTH_UNKNOWN - 搜索仍可运行并输出可解释结果
- 进入 approx mode 时 meta 标记
依赖与关联
- 依赖:
core-contract、width-measurement、breakpoint-candidates、scoring-tiebreak、overflow-fallback - 被依赖:
integration、golden-tests