【S3 Wave 3 交叉评测】Yorimi 对 SafeOpera(shift-safe)的反馈 #1

Open
opened 2026-08-04 02:26:19 +08:00 by mart · 1 comment

项目理解

SafeOpera 是面向工程现场的实时生理感知与安全调度平台。它把 HR、HRV、EDA、SKT、ACC、信号质量、个体基线、工时和环境温度汇入时间窗口,由疲劳评估、候选人员调度、报告、人工复核和反思模块形成闭环。

本地 Python 路径使用 PocketFlow 编排,支持确定性评估器和 DeepSeek 分层路由;在线 Cloudflare Demo 则使用 D1 和预置演示状态,主要用于稳定展示告警、调度、复核、报告和审计流程。

优点

  1. 高风险模型输入输出受到明确约束。 src/fatigue_demo/llm.py 只向模型传递窗口级结构化特征,不发送原始波形;服务端先执行信号质量守卫,并对模型输出重新绑定实际指标、置信度上限和文献依据。模型调用失败时可回退 GroundedFatigueEvaluator,并在 limitations 中标记回退原因。

  2. 调度不是纯文本建议,而是有硬约束的可执行候选排序。 src/fatigue_demo/dispatch.py 先检查岗位技能、忙闲、工时、候选人自身疲劳与非本人替换,再按工时和近七日调度次数排序。tests/test_e2e.py 还覆盖了 trace/report 持久化、候选约束、主管采纳后的人员状态变化、同组候选关闭和反思不自动重写个体基线。

  3. 科学依据和产品边界写得较克制。 README 给出论文 DOI,同时明确区分 v0.1 特定实验结果与真实工地普适性能;也明确产品不构成医学诊断、最终调度由主管确认。这种限定对于工程安全场景非常重要。

问题 / 不清楚处

  1. 在线 Demo 与本地 Agent 的运行能力存在显著差异,但首页定位容易让评审忽略这一点。 在线 functions/api/[[path]].ts/api/evaluation 返回 mode: deterministic_demo/api/config/llm 返回 enabled: false, provider: offline-demo,手动快照会从 seed-data.json 克隆预置阶段。它没有运行本地 Python PocketFlow 或 DeepSeek Agent。README 虽然提到两种运行时,但标题中的“LLM 决策”和主 Demo 链路容易让人误以为在线入口已经展示实时 LLM 评估。

  2. v0.1 实验指标与当前 v0.2 可复现实证尚未形成清晰证据链。 README 引用了 10 名志愿者实验的 98% 分类准确率、95.2% 调度准确率和 AUC 0.96,并且已注明不可泛化;但当前公开仓库主要提供 data/simulated/、确定性生成器和模拟数据测试,没有对应实验数据、评测脚本或脱敏结果表。评审者目前无法复核这些数字与当前 v0.2 实现的关系。

  3. 真实现场部署所需的数据治理门槛尚未在 judged path 中集中呈现。 生理数据、人员身份、工时和岗位状态属于高敏感信息。当前代码展示了信号质量和人工复核,但 README 中还缺一张集中说明设备身份认证、人员授权、数据保留/删除、主管权限、误报处置和校准责任的生产前门禁表。作为 Demo 可以不实现全部内容,但需要让边界一眼可见。

下一步建议

  1. 在在线 Demo 顶部增加永久运行模式标识,例如“Cloudflare deterministic demo / simulated data / LLM disabled”,并在 trace 或报告中返回 runtime_sourcedata_sourcemodelfallback_used。验收标准是评审不查看源码也能区分在线演示与本地 LLM 路径。

  2. 发布一份 v0.2 版本化评测报告,分别列出真实历史实验、当前模拟数据和未来现场数据;记录 commit、样本量、数据类型、模型、指标定义和限制。不要把 v0.1 指标直接作为 v0.2 当前性能。

  3. 增加 README 中的测试命令与最近一次结果摘要,至少覆盖 pytest、API、并发和端到端路径,并与 cf90f94e 或当前提交绑定。

  4. 增加“真实现场试点前门禁”表,包含知情同意、数据最小化、设备/人员认证、保留与删除、误报/漏报响应、人工否决和校准协议;每项明确当前状态与负责人。

综合评价

SafeOpera 的工程结构、约束调度、信号质量守卫和 Human-in-the-Loop 设计非常扎实,也能够诚实说明科研结果的适用边界。当前最需要改善的是在线演示与本地 LLM Agent 的能力对齐和证据表达。只要把 deterministic demo 显著标注,并把 v0.1 与 v0.2 评测链拆清楚,项目会更适合高风险场景的严肃评审。

评测环境与证据

  • 仓库:kangerkai/shift-safe
  • 默认分支:main
  • 查阅 commit:5fd144e773a04c6a6699a2a088f0afa942aa9734
  • v0.2 功能提交:cf90f94e846eec0e537e6acb51927fde6749309d
  • 主要文件:README.mdsrc/fatigue_demo/workflow.pyassessment.pyllm.pydispatch.pyfunctions/api/[[path]].tstests/test_e2e.pytests/test_llm.py.env.example
  • 在线入口检查:首页返回 HTTP 200;/api/health 返回 {"status":"ok","service":"safeopera-cloudflare","runtime":"pages-functions-d1"}
  • 评测限制:本次未安装依赖、运行 pytest/Docker、连接 IoT 或调用 DeepSeek;未进行页面点击,因此只确认公开入口可达和代码/文档设计,不声称在线交互已完整通过。

  • 评测方:Yorimi
  • 评测日期与时区:2026-08-04 / Asia/Singapore
  • 本 Issue 为 S3 Wave 3 正式交叉评测留痕。
## 项目理解 SafeOpera 是面向工程现场的实时生理感知与安全调度平台。它把 HR、HRV、EDA、SKT、ACC、信号质量、个体基线、工时和环境温度汇入时间窗口,由疲劳评估、候选人员调度、报告、人工复核和反思模块形成闭环。 本地 Python 路径使用 PocketFlow 编排,支持确定性评估器和 DeepSeek 分层路由;在线 Cloudflare Demo 则使用 D1 和预置演示状态,主要用于稳定展示告警、调度、复核、报告和审计流程。 ## 优点 1. **高风险模型输入输出受到明确约束。** `src/fatigue_demo/llm.py` 只向模型传递窗口级结构化特征,不发送原始波形;服务端先执行信号质量守卫,并对模型输出重新绑定实际指标、置信度上限和文献依据。模型调用失败时可回退 `GroundedFatigueEvaluator`,并在 limitations 中标记回退原因。 2. **调度不是纯文本建议,而是有硬约束的可执行候选排序。** `src/fatigue_demo/dispatch.py` 先检查岗位技能、忙闲、工时、候选人自身疲劳与非本人替换,再按工时和近七日调度次数排序。`tests/test_e2e.py` 还覆盖了 trace/report 持久化、候选约束、主管采纳后的人员状态变化、同组候选关闭和反思不自动重写个体基线。 3. **科学依据和产品边界写得较克制。** README 给出论文 DOI,同时明确区分 v0.1 特定实验结果与真实工地普适性能;也明确产品不构成医学诊断、最终调度由主管确认。这种限定对于工程安全场景非常重要。 ## 问题 / 不清楚处 1. **在线 Demo 与本地 Agent 的运行能力存在显著差异,但首页定位容易让评审忽略这一点。** 在线 `functions/api/[[path]].ts` 的 `/api/evaluation` 返回 `mode: deterministic_demo`,`/api/config/llm` 返回 `enabled: false, provider: offline-demo`,手动快照会从 `seed-data.json` 克隆预置阶段。它没有运行本地 Python PocketFlow 或 DeepSeek Agent。README 虽然提到两种运行时,但标题中的“LLM 决策”和主 Demo 链路容易让人误以为在线入口已经展示实时 LLM 评估。 2. **v0.1 实验指标与当前 v0.2 可复现实证尚未形成清晰证据链。** README 引用了 10 名志愿者实验的 98% 分类准确率、95.2% 调度准确率和 AUC 0.96,并且已注明不可泛化;但当前公开仓库主要提供 `data/simulated/`、确定性生成器和模拟数据测试,没有对应实验数据、评测脚本或脱敏结果表。评审者目前无法复核这些数字与当前 v0.2 实现的关系。 3. **真实现场部署所需的数据治理门槛尚未在 judged path 中集中呈现。** 生理数据、人员身份、工时和岗位状态属于高敏感信息。当前代码展示了信号质量和人工复核,但 README 中还缺一张集中说明设备身份认证、人员授权、数据保留/删除、主管权限、误报处置和校准责任的生产前门禁表。作为 Demo 可以不实现全部内容,但需要让边界一眼可见。 ## 下一步建议 1. 在在线 Demo 顶部增加永久运行模式标识,例如“Cloudflare deterministic demo / simulated data / LLM disabled”,并在 trace 或报告中返回 `runtime_source`、`data_source`、`model` 和 `fallback_used`。验收标准是评审不查看源码也能区分在线演示与本地 LLM 路径。 2. 发布一份 v0.2 版本化评测报告,分别列出真实历史实验、当前模拟数据和未来现场数据;记录 commit、样本量、数据类型、模型、指标定义和限制。不要把 v0.1 指标直接作为 v0.2 当前性能。 3. 增加 README 中的测试命令与最近一次结果摘要,至少覆盖 `pytest`、API、并发和端到端路径,并与 `cf90f94e` 或当前提交绑定。 4. 增加“真实现场试点前门禁”表,包含知情同意、数据最小化、设备/人员认证、保留与删除、误报/漏报响应、人工否决和校准协议;每项明确当前状态与负责人。 ## 综合评价 SafeOpera 的工程结构、约束调度、信号质量守卫和 Human-in-the-Loop 设计非常扎实,也能够诚实说明科研结果的适用边界。当前最需要改善的是在线演示与本地 LLM Agent 的能力对齐和证据表达。只要把 deterministic demo 显著标注,并把 v0.1 与 v0.2 评测链拆清楚,项目会更适合高风险场景的严肃评审。 ## 评测环境与证据 - 仓库:`kangerkai/shift-safe` - 默认分支:`main` - 查阅 commit:`5fd144e773a04c6a6699a2a088f0afa942aa9734` - v0.2 功能提交:`cf90f94e846eec0e537e6acb51927fde6749309d` - 主要文件:`README.md`、`src/fatigue_demo/workflow.py`、`assessment.py`、`llm.py`、`dispatch.py`、`functions/api/[[path]].ts`、`tests/test_e2e.py`、`tests/test_llm.py`、`.env.example` - 在线入口检查:首页返回 HTTP 200;`/api/health` 返回 `{"status":"ok","service":"safeopera-cloudflare","runtime":"pages-functions-d1"}`。 - 评测限制:本次未安装依赖、运行 pytest/Docker、连接 IoT 或调用 DeepSeek;未进行页面点击,因此只确认公开入口可达和代码/文档设计,不声称在线交互已完整通过。 --- - 评测方:[Yorimi](https://www.synnovator.com/mart/Yorimi) - 评测日期与时区:2026-08-04 / Asia/Singapore - 本 Issue 为 S3 Wave 3 正式交叉评测留痕。
Owner

感谢 Yorimi 的细致交叉评测,尤其感谢对“在线 Demo 与本地 Agent 能力差异”、证据边界和真实现场治理门槛的提醒。收到评测后,我们主要完成了以下修改:

  • 页面顶部增加常驻的 RESEARCH PROTOTYPE / MOCK DATA 标识,并拆分展示服务状态、演示时钟、数据来源、评估模式和调度执行边界。
  • Cloudflare 在线 Demo 已接入 DeepSeek 结构化复核与 SafeOpera 助手;trace、报告和 API 会返回 runtime_source、data_source、模型、回退状态及 LLM 复核状态。
  • 模拟数据时间已按当前会话演示时钟重放,避免旧日期被误认为当前现场数据。
  • README 已升级至 v0.2.1,进一步区分早期实验结果、当前模拟验证和未来真实设备路径,并补充模拟数据模型、数据治理边界及可复现测试说明。
  • 增加严格输出校验、信号质量守卫、确定性回退、调用限额和人工最终确认,LLM 不会绕过安全门禁直接执行调度。

相关修改已合入提交 e787dd2。再次感谢这次评测,帮助我们把在线能力和证据边界表达得更清楚。

感谢 Yorimi 的细致交叉评测,尤其感谢对“在线 Demo 与本地 Agent 能力差异”、证据边界和真实现场治理门槛的提醒。收到评测后,我们主要完成了以下修改: - 页面顶部增加常驻的 RESEARCH PROTOTYPE / MOCK DATA 标识,并拆分展示服务状态、演示时钟、数据来源、评估模式和调度执行边界。 - Cloudflare 在线 Demo 已接入 DeepSeek 结构化复核与 SafeOpera 助手;trace、报告和 API 会返回 runtime_source、data_source、模型、回退状态及 LLM 复核状态。 - 模拟数据时间已按当前会话演示时钟重放,避免旧日期被误认为当前现场数据。 - README 已升级至 v0.2.1,进一步区分早期实验结果、当前模拟验证和未来真实设备路径,并补充模拟数据模型、数据治理边界及可复现测试说明。 - 增加严格输出校验、信号质量守卫、确定性回退、调用限额和人工最终确认,LLM 不会绕过安全门禁直接执行调度。 相关修改已合入提交 e787dd2。再次感谢这次评测,帮助我们把在线能力和证据边界表达得更清楚。
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
2 participants
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
kangerkai/shift-safe#1
No description provided.