chore(sync): zsy_developcc 全量同步至 qyqy_develop(W26 口径)

- 分支内容对齐 qyqy_develop b6ec3aa,树完全一致(同步后 git diff 为空)
- 覆盖本轮全部交付:客服 Agent 重构(安全路由 / 五出口 / 记忆与画像 / RAG 全链路)
  + 开发文档 62 份编号体系(D1.1 v1.17 索引)
  + 新增 D2.10-客服Agent端到端答辩文档-2026-09-21.html
- 基线:e239eb7(2026-09-17 品牌口径统一快照),本提交为其直接后继
This commit is contained in:
张胜宇
2026-09-21 21:26:30 +08:00
parent e239eb778b
commit 9675df8453
330 changed files with 111939 additions and 8681 deletions
+9
View File
@@ -25,12 +25,18 @@ class ConversationTurn(BaseModel):
只保留角色与正文:模型用它解析指代("那它风险高吗"里的"它"指哪只基金),
不需要意图、置信度这类内部字段——把内部字段一并喂给模型既增加噪声,
也扩大了"模型看到不该看的东西"的面。
`subject` 是 `E-05` 的**显式主题声明**:由产生这轮回答的出口声明(产品 /
类目 / 条款名),读侧直接取用,不再从回答正文反解。默认为空串——存量消息
(本次改动之前落库的行)没有该字段,读侧会回落到原来的文本反解,因此
老数据与既有用例的行为一字不变。
"""
model_config = ConfigDict(frozen=True)
role: Literal["user", "assistant"]
content: str
subject: str = ""
class AgentRequest(BaseModel):
@@ -148,6 +154,9 @@ class CoreResult(BaseModel):
clarification_required: bool = False
transfer_required: bool = False
transfer_reason: str | None = None
# `E-05`:本轮答复在说哪个主语(出口声明,不是读侧反解)。
# 落库进消息的 `tool_calls` JSON 列,下一轮作为 `ConversationTurn.subject` 读回。
topic: str | None = None
class AgentResult(BaseModel):