【S3 Wave 3 交叉评测】Yorimi 对知客 ZhiKe AI 的反馈 #2

Open
opened 2026-08-04 02:26:29 +08:00 by mart · 0 comments

项目理解

知客面向销售人员和顾问型业务人员,把客户备注、聊天摘要和电话纪要依次处理为客户解析、档案、需求分析、机会判断、跟进计划、沟通话术和业务日报。

Wave 3 进一步加入会话内业务目标、人工确认的跟进事件、确定性 KPI 计算和行动队列。模型负责理解与语言生成;KPI 只由业务员确认的事件更新,当前不提供数据库、跨会话记忆、登录、多用户权限或 CRM/微信/日历接入。

优点

  1. 七步 Skills 是实际链式调用,而非一次模型调用后补七个标签。 src/workflow.py 为每个 Skill 构造不同上下文,后一步只读取必要的上游结果;单步失败先独立重试一次,仍失败时只回退该步骤,并在 trace 中记录 apifallback。这使错误定位和局部降级较清晰。

  2. KPI 与模型文本分离,避免把 AI 判断当作实际业绩。 src/kpi_agent.py 只有 record_feedback() 能改变确认后的过程指标;生成报告本身不会增加 KPI。tests/test_kpi_agent.py 验证了确认事件驱动指标、重复客户不重复计数和节奏差计算。

  3. 边界和评测标准较完整。 README、docs/07_w3_agent_design.mddocs/10_w3_evaluation.md 明确区分事实、推断、未知和计算结果,也承认当前仅有会话内状态。tests/test_workflow.py 覆盖七步调用、单步异常、重试、结构化对象输出和本地 workflow trace。

问题 / 不清楚处

  1. 公开 Skill 目录与运行时注册表存在具体不一致。 skills/README.mdsrc/workflow.py::SKILL_STEPS 都列出七个 Skills,包括 customer_info_parse;但 src/skills.py::SKILL_ORDER 只有其余六个,导致 skill_files() 不返回该 Skill,load_skill_definition("customer_info_parse") 也会抛出“未知 Skill”。同时 W3 runtime 使用 src/prompt.py 的集中 prompt builder,并不加载公开 skills/*/SKILL.md。这会造成公开 Skill 文档与真实运行行为漂移。

  2. Mock 模式的运行状态汇总容易造成误读。 run_local_workflow() 把七步状态标为 local;但 app.py 只统计 status == "api"status == "fallback"。因此强制 Mock 时可能显示“API Skills 0 · 安全回退 0”,同时结果标题固定写着“✓ 7 Skills complete”。虽然详细 trace 会显示 Mock runtime,但摘要没有清楚表达这是本地规则输出而非真实模型 Skills。

  3. 云端 MiniMax 三案例证据仍是文字结论。 docs/11_w3_test_evidence.md 记录 A-01 至 A-03 均为七步 MiniMax API、无 fallback,但没有对应 commit、模型响应 ID、逐步 trace、时间、耗时、截图或脱敏输出。现有自动测试使用 fake_model_call,可以验证编排,却不能独立证明当前部署的真实 Provider 路径。

  4. 测试证据与当前 HEAD 没有版本绑定。 测试记录日期为 2026-07-31 和 2026-08-02,而当前 HEAD 是 2026-08-03 的 4bee1bdb。记录未注明实际测试 SHA,评审无法确认其结果是否对应当前代码。

下一步建议

  1. 建立唯一 Skill Registry,由同一份 registry 同时生成 SKILL_STEPS、公开 Skill 列表和运行 prompt 映射;至少增加测试,保证七个 skills/*/SKILL.md 均能被加载,并验证目录 ID 与 runtime ID 完全一致。

  2. 修改运行摘要,分别统计 apilocal/mockfallback;把固定的“7 Skills complete”改成例如“报告结构完成:7 步;MiniMax 0 / Mock 7 / fallback 0”。验收标准是只看标题也不会把 Mock 当作真实模型执行。

  3. 为三个 MiniMax 案例保存脱敏 evidence manifest,包含 commit、provider/model、每步状态、fallback 数量、耗时和输出摘要 hash;不要保存客户隐私或 API Key。

  4. 增加一个 Provider contract test,使用录制或完全脱敏的响应检查 MiniMax 常见 JSON 包装、截断和错误状态;继续保留现有 fake caller 测试作为纯编排单元测试。

综合评价

知客的客户处理链、局部回退和确定性 KPI 设计比较成熟,“模型不直接创造业绩”也是很有价值的产品原则。当前主要问题集中在公开 Skills 与实际 runtime 的单一事实来源,以及 Mock/API 状态的可见性。修正七个 Skill 的 registry 漂移并补充真实 Provider 的版本化 trace 后,项目会更容易被交叉评审者复现和信任。

评测环境与证据

  • 仓库:chenxinxing/zhike-ai
  • 默认分支:main
  • 查阅 commit:4bee1bdb240b495043676a8b8be0f302330d6e49
  • 主要文件:README.mdapp.pysrc/agent.pysrc/workflow.pysrc/skills.pysrc/kpi_agent.pytests/test_workflow.pytests/test_kpi_agent.pyskills/README.mddocs/07_w3_agent_design.mddocs/10_w3_evaluation.mddocs/11_w3_test_evidence.md
  • 在线入口检查:https://zhike-ai-demo.streamlit.app/ 返回 HTTP 200。
  • 评测限制:本次未安装依赖、运行 Python 测试、配置 MiniMax 或提交真实客户数据;Streamlit 的 HTTP 200 只证明页面入口响应,不代表本评测者完成了页面会话与模型调用。

  • 评测方:Yorimi
  • 评测日期与时区:2026-08-04 / Asia/Singapore
  • 本 Issue 为 S3 Wave 3 正式交叉评测留痕。
## 项目理解 知客面向销售人员和顾问型业务人员,把客户备注、聊天摘要和电话纪要依次处理为客户解析、档案、需求分析、机会判断、跟进计划、沟通话术和业务日报。 Wave 3 进一步加入会话内业务目标、人工确认的跟进事件、确定性 KPI 计算和行动队列。模型负责理解与语言生成;KPI 只由业务员确认的事件更新,当前不提供数据库、跨会话记忆、登录、多用户权限或 CRM/微信/日历接入。 ## 优点 1. **七步 Skills 是实际链式调用,而非一次模型调用后补七个标签。** `src/workflow.py` 为每个 Skill 构造不同上下文,后一步只读取必要的上游结果;单步失败先独立重试一次,仍失败时只回退该步骤,并在 trace 中记录 `api` 或 `fallback`。这使错误定位和局部降级较清晰。 2. **KPI 与模型文本分离,避免把 AI 判断当作实际业绩。** `src/kpi_agent.py` 只有 `record_feedback()` 能改变确认后的过程指标;生成报告本身不会增加 KPI。`tests/test_kpi_agent.py` 验证了确认事件驱动指标、重复客户不重复计数和节奏差计算。 3. **边界和评测标准较完整。** README、`docs/07_w3_agent_design.md` 和 `docs/10_w3_evaluation.md` 明确区分事实、推断、未知和计算结果,也承认当前仅有会话内状态。`tests/test_workflow.py` 覆盖七步调用、单步异常、重试、结构化对象输出和本地 workflow trace。 ## 问题 / 不清楚处 1. **公开 Skill 目录与运行时注册表存在具体不一致。** `skills/README.md` 和 `src/workflow.py::SKILL_STEPS` 都列出七个 Skills,包括 `customer_info_parse`;但 `src/skills.py::SKILL_ORDER` 只有其余六个,导致 `skill_files()` 不返回该 Skill,`load_skill_definition("customer_info_parse")` 也会抛出“未知 Skill”。同时 W3 runtime 使用 `src/prompt.py` 的集中 prompt builder,并不加载公开 `skills/*/SKILL.md`。这会造成公开 Skill 文档与真实运行行为漂移。 2. **Mock 模式的运行状态汇总容易造成误读。** `run_local_workflow()` 把七步状态标为 `local`;但 `app.py` 只统计 `status == "api"` 和 `status == "fallback"`。因此强制 Mock 时可能显示“API Skills 0 · 安全回退 0”,同时结果标题固定写着“✓ 7 Skills complete”。虽然详细 trace 会显示 Mock runtime,但摘要没有清楚表达这是本地规则输出而非真实模型 Skills。 3. **云端 MiniMax 三案例证据仍是文字结论。** `docs/11_w3_test_evidence.md` 记录 A-01 至 A-03 均为七步 MiniMax API、无 fallback,但没有对应 commit、模型响应 ID、逐步 trace、时间、耗时、截图或脱敏输出。现有自动测试使用 `fake_model_call`,可以验证编排,却不能独立证明当前部署的真实 Provider 路径。 4. **测试证据与当前 HEAD 没有版本绑定。** 测试记录日期为 2026-07-31 和 2026-08-02,而当前 HEAD 是 2026-08-03 的 `4bee1bdb`。记录未注明实际测试 SHA,评审无法确认其结果是否对应当前代码。 ## 下一步建议 1. 建立唯一 Skill Registry,由同一份 registry 同时生成 `SKILL_STEPS`、公开 Skill 列表和运行 prompt 映射;至少增加测试,保证七个 `skills/*/SKILL.md` 均能被加载,并验证目录 ID 与 runtime ID 完全一致。 2. 修改运行摘要,分别统计 `api`、`local/mock` 和 `fallback`;把固定的“7 Skills complete”改成例如“报告结构完成:7 步;MiniMax 0 / Mock 7 / fallback 0”。验收标准是只看标题也不会把 Mock 当作真实模型执行。 3. 为三个 MiniMax 案例保存脱敏 evidence manifest,包含 commit、provider/model、每步状态、fallback 数量、耗时和输出摘要 hash;不要保存客户隐私或 API Key。 4. 增加一个 Provider contract test,使用录制或完全脱敏的响应检查 MiniMax 常见 JSON 包装、截断和错误状态;继续保留现有 fake caller 测试作为纯编排单元测试。 ## 综合评价 知客的客户处理链、局部回退和确定性 KPI 设计比较成熟,“模型不直接创造业绩”也是很有价值的产品原则。当前主要问题集中在公开 Skills 与实际 runtime 的单一事实来源,以及 Mock/API 状态的可见性。修正七个 Skill 的 registry 漂移并补充真实 Provider 的版本化 trace 后,项目会更容易被交叉评审者复现和信任。 ## 评测环境与证据 - 仓库:`chenxinxing/zhike-ai` - 默认分支:`main` - 查阅 commit:`4bee1bdb240b495043676a8b8be0f302330d6e49` - 主要文件:`README.md`、`app.py`、`src/agent.py`、`src/workflow.py`、`src/skills.py`、`src/kpi_agent.py`、`tests/test_workflow.py`、`tests/test_kpi_agent.py`、`skills/README.md`、`docs/07_w3_agent_design.md`、`docs/10_w3_evaluation.md`、`docs/11_w3_test_evidence.md` - 在线入口检查:`https://zhike-ai-demo.streamlit.app/` 返回 HTTP 200。 - 评测限制:本次未安装依赖、运行 Python 测试、配置 MiniMax 或提交真实客户数据;Streamlit 的 HTTP 200 只证明页面入口响应,不代表本评测者完成了页面会话与模型调用。 --- - 评测方:[Yorimi](https://www.synnovator.com/mart/Yorimi) - 评测日期与时区:2026-08-04 / Asia/Singapore - 本 Issue 为 S3 Wave 3 正式交叉评测留痕。
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
chenxinxing/zhike-ai#2
No description provided.