feat(llm): 整章重写预检澄清 spec + 教条 clarify_rewrite(WFW-9 M2)
镜像 clarify_refine(仅 name/prompt 不同,复用 ClarifyDecision,不新增 schema): 新增 clarify_rewrite_spec(analyst 档、reads=()/writes=() 只读,不变量 #2/#3)+ 章级 教条 prompts/clarify_rewrite.md(segment→整章:判作者章级重写意见是否含糊)。注册进 SPECS/SCHEMA_CATALOG,自检数量 24→25,__init__ 导出,金标准仅新增 1 条哈希无漂移。
This commit is contained in:
@@ -32,6 +32,7 @@ __all__ = [
|
||||
"character_gen_spec",
|
||||
"characterization_spec",
|
||||
"clarify_refine_spec",
|
||||
"clarify_rewrite_spec",
|
||||
"continue_spec",
|
||||
"continuity_spec",
|
||||
"de_ai_spec",
|
||||
@@ -339,6 +340,20 @@ clarify_refine_spec = AgentSpec(
|
||||
scope="builtin",
|
||||
)
|
||||
|
||||
# ---- clarify_rewrite(整章重写预检澄清;分析档;纯只读 writes=(),WFW-9 M2 路线A 两阶段)----
|
||||
# 镜像 clarify_refine:仅 name/prompt 不同,复用 ClarifyDecision(不新增 schema)。判「作者
|
||||
# 这条章级重写意见清不清楚」,含糊则反问 1 问,清楚则确认放行;整章重写仍走既有 rewrite SSE 端点。
|
||||
clarify_rewrite_spec = AgentSpec(
|
||||
name="clarify_rewrite",
|
||||
tier="analyst", # 不变量 #2:整章含糊判别 + 反问构造用分析档,不写 model
|
||||
system_prompt=load_prompt("clarify_rewrite"),
|
||||
input_schema=None, # 注入材料为序列化文本(章级意见 + 当前章草稿摘录),非结构化入参
|
||||
output_schema=SCHEMA_CATALOG["clarify_rewrite"],
|
||||
reads=(), # 只判本章意见是否含糊;材料经端点序列化注入,不直读库
|
||||
writes=(), # 只读——只产问题/确认语,不改正文、不写库(不变量 #3)
|
||||
scope="builtin",
|
||||
)
|
||||
|
||||
|
||||
# 集中注册表:name → spec(同一实例,兼容期 *_spec 与 SPECS[name] 为同对象,不变量)
|
||||
# MappingProxyType:只读视图,运行时 `SPECS[x] = ...` / `del SPECS[x]` 抛 TypeError
|
||||
@@ -370,9 +385,10 @@ _SPECS_BY_NAME: dict[str, AgentSpec] = {
|
||||
teardown_spec,
|
||||
project_plan_spec,
|
||||
clarify_refine_spec,
|
||||
clarify_rewrite_spec,
|
||||
)
|
||||
}
|
||||
assert len(_SPECS_BY_NAME) == 24, "SPECS name 冲突或缺失" # 唯一性 + 数量自检(import 期)
|
||||
assert len(_SPECS_BY_NAME) == 25, "SPECS name 冲突或缺失" # 唯一性 + 数量自检(import 期)
|
||||
SPECS: Final[Mapping[str, AgentSpec]] = MappingProxyType(_SPECS_BY_NAME)
|
||||
|
||||
# 四审受信保留名 —— 独立显式白名单(安全边界锚在此,不依附派生集合)
|
||||
|
||||
Reference in New Issue
Block a user