fix(writer): auto 模式语言 fallback 改用规则文档,修复日文文档被误判期望 zh
真实 ja 试运行暴露:auto 模式 fallback 误用 impact/data 源数据(含中文元素名 止损风控等 + 汉字标签无假名)→ 把日文文档误判为期望 zh → LLM 正常日文输出被 判违规 → 硬失败。修复:fallback 改用 write_rules/design_rules(RAG 自日文作成 说明书/记入规则检索,含假名可靠判 ja);加回归测试 test_generate_chapter_auto_with_ja_rules_but_chinese_source_data_enforces_ja。 修复后 ja 真实试运行成功(7章);zh 真实试运行成功(7章);425 passed / 99.15%
This commit is contained in:
@@ -137,11 +137,16 @@ class WriterAgent:
|
||||
self._chunk_source(context.structured_source) # 分块可用性验证(真实拼回留待后续)
|
||||
|
||||
# 步骤 A:推导本章期望输出语言(仅依赖 context,循环前置,稳定)
|
||||
v = context.to_vars()
|
||||
# fallback 用「规则文档」(write_rules/design_rules,RAG 自日文作成说明书/记入规则检索,
|
||||
# 含假名可判日文)。不能用 impact/data(源数据):样本含中文元素名(止损风控等)、
|
||||
# 影响标签为汉字无假名 → 会把日文文档误判为期望 zh(真实试运行暴露)。
|
||||
expected = resolve_expected_language(
|
||||
explicit=context.output_language,
|
||||
title=context.title,
|
||||
fallback_texts=[v.get("impact", "") or "", v.get("data", "") or ""],
|
||||
fallback_texts=[
|
||||
"\n".join(context.write_rules or []),
|
||||
"\n".join(context.design_rules or []),
|
||||
],
|
||||
)
|
||||
|
||||
last_err: Exception | None = None
|
||||
|
||||
Reference in New Issue
Block a user