木鸡 SteadyGame Alpha 冲刺第五天:规则对齐与导出下载联调
木鸡 SteadyGame Alpha 冲刺第五天:规则对齐与导出下载联调
| 作业信息 | 内容 |
|---|---|
| 这个作业属于哪个课程 | 202601 福大—软件工程实践—W班 |
| 这个作业要求在哪里 | 团队作业:站立式会议+α冲刺 |
| 这个作业的目标 | 记录 Day 5 八位成员在输入恢复、玩法规则、结果重试、排行榜及导出下载上的交付,核对计划与实际进度,整理下一轮联调安排。 |
| 其他参考文献 | 《构建之法》第 2、13 章;《SteadyGame Alpha 七天开发与协作计划》;项目 OpenAPI 契约;团队 Day 3、Day 4 冲刺随笔;SteadyGame 华为云仓库。 |
一、Day 5 站会与今日重点
日期:2026 年 10 月 27 日,冲刺第五天。
今天围绕两类问题整理进展:一类是输入和规则是否真正一致,包括模型加载失败后的恢复、小球计分公式、八段锦特征以及切水果轨迹;另一类是游戏结束后的数据如何被使用,包括明确保存、历史统计、公开选择、排行榜和导出下载。

图 1:Day 5 小组讨论现场,成员提供的原图已遮挡面部。
按七天开发计划,Day 5 应把数据业务和导出链路补齐。目前,玩法规则修正、固定输入验证、页面状态和部分真实接口已有证据;真实设备、三玩法结果到数据库的统一持久化、历史统计和榜单数据仍有联调缺口。当天材料按各自实际验证范围记录,不将页面演示或测试替身计作完整产品验收。
二、计划中的业务链路与本日实际进展
本日计划推进的链路为:
摄像头 / 模型加载与恢复
↓
PoseSnapshot → MotionMapper → 三种玩法
↓
冻结 GameResult → 统一结果提交
↓
用户明确同意保存 → 本人历史 / 统计 / 报告
↓
选择公开 → 匿名排行榜 / 撤回
↓
创建导出任务 → 后台生成 CSV / PDF → 本人鉴权下载
| 计划目标 | 本日已有交付 | 仍需完成的验收 |
|---|---|---|
| 输入异常后可以恢复 | 模型加载有限重试、超时、取消等待和迟到模型清理;CV 特征与质量门控有专项测试。 | 目标手机在弱网、后台切换、低光和遮挡条件下的实际表现。 |
| 玩法结果遵循同一规则 | 小球移除碰撞扣分及撞满出局;八段锦提供固定两式回放;切水果增加结果重试回归。 | 真实输入下的移动、计时、结果及保存统计联调。 |
| 排行榜与公开选择可用 | 页面完成参数校验、匿名样例、参与状态入口和错误提示。 | 服务端真实榜单、公开和撤回后数据变化。 |
| 导出任务能够生成并下载 | 后端已有同一任务的创建、成功查询和 CSV 下载响应;下载端完成身份、归属、过期等验证。 | 用真实已保存训练记录生成非空导出,补齐幂等冲突、失败状态和完整页面联调。 |
三、八位成员的工作进展
| 成员 | 从上次站会到现在 | 存在的问题或困难 | 到下次站会前的安排 | 心得体会 |
|---|---|---|---|---|
| 林晨 | 实现导出任务创建与查询、后台执行器、CSV/PDF 写出和到期处理;新建返回 202,任务写入 export_record。已有新任务从 pending 到 succeeded,再下载 CSV 的 Apifox 响应。 | 当前轮次使用进程内存储,新建训练尚未统一落入数据库;已下载 CSV 仅有表头。部分幂等和失败分支尚缺运行记录。 | 接通轮次与已保存记录,验证含数据的导出;补同键重放、异参冲突及失败状态。 | 导出需要追踪同一个任务 ID,从创建、生成到下载分别确认,才能定位问题发生在哪一段。 |
| 郑雯心 | 将模型加载抽成可配置流程,默认最多 2 次、间隔 500 ms,单次超时 20 秒;取消后停止等待和重试,迟到模型调用 close()。专项 10 项通过。 | SDK 本身没有可取消的加载接口,应用层取消不等于底层网络已中止;缺少目标手机操作记录。 | 补弱网、后台恢复、连续恢复和退出资源检查,记录手机型号、系统与浏览器版本。 | 加载失败不只需要提示,还要限制重试次数,并处理用户退出后才返回的资源。 |
| 王婉怡 | 完成托天、单举的腕部相对高度、肘角和肩宽特征,接入正式 MotionMapper;以真实 mapper 输出驱动已有阶段机,14 项专项测试通过。 | 像素角度与归一化高度使用不同单位;镜像不应交换解剖学左右;真实低光和遮挡仍待测。 | 与李想核对阶段配置、置信度及保持时间,推进真实相机输入和三玩法统一门控。 | 几何计算要明确坐标和单位;无效特征保留 null,比用 0 代替更利于下游判断。 |
| 林宇扬 | 将小球计分统一为 min(100, 命中数×10 + 终点50),移除障碍扣分及撞满出局规则,补计分、障碍和提前退出回归;相关变更已合入。 | 回放输出出现 targetsHit 7 / 5,关卡生成数与显示总数仍需同步;保存和统计未完成联调。 | 统一关卡计数和结果边界,与数据、页面负责人核对真实成绩提交与保存。 | 玩法扩展需要先核对接口能否表达;无法与服务端复算的扣分规则应及时收回。 |
| 林凯 | 整理采样时间、移动碰撞、恢复轨迹和结果保存统计的联调清单;补充 CSRF 刷新后复用原结果、第二次 403 停止重试两条回归;相关模块复核 82 项通过。 | 不同设备刷新率与采样间隔仍需实测;切水果网关和统计入口尚未接通,不能用模拟响应代替真实保存。 | 联调真实腕轨迹与共同时间模型;待网关和查询服务就绪后验证保存、历史及统计。 | 结果重试应复用冻结摘要;暂停恢复的首点只建立基线,避免旧轨迹造成误切。 |
| 李想 | 增加本地回放驱动和固定脚本,复用真实 BaduanjinGame,提供完整两式、提前退出及丢点脚本;3 项专项测试通过,完整回放为 7.2 秒、8 条尝试,score=null。 | 部分展示信息只能从 stageProgress 获取;固定脚本仍需与真实特征和设备输入联调。 | 推进健壮性、性能与设备验收,补阶段提示、失败原因和结果记录的联合检查。 | 可重复脚本让阶段、计时和结果问题能够脱离光线与现场设备单独复现。 |
| 孙田田 | 完成排行榜、排名同意和导出页面;查询校验三个必填参数,导出使用幂等键并区分五种任务状态;补真实 sessionId 上下文、切水果样例和移动端页面。 | 接口未提供“本人名次”字段;页面样例与真实服务状态需区分,页面和后端的材料采集时间也不同。 | 与后端对齐真实导出任务和保存上下文,收口页面四态、移动端及答辩演示流程。 | 页面需要把缺参、未就绪和失败讲清楚,样例状态也要显式标注。 |
| 刘婷婷 | 完善导出文件的登录与归属校验、任务状态、有效期、CSV/PDF 响应及文件路径安全;真实 Tomcat 随机端口专项验证通过,使用 H2 与测试夹具文件。 | 下载端验证与真实导出生成服务分开执行;测试数据库和夹具文件尚不能证明完整业务导出。 | 和林晨用真实任务及记录联合验证文件生成、下载、过期和归属,检查保存并发。 | 成功下载只是一个分支,未登录、他人资源、未就绪和过期也必须返回正确结果。 |
四、跨模块口径与交接
4.1 小球计分与结果边界
小球前端回到与服务端核对的公式:
score = min(100, targetsHit × 10 + (reachedEnd ? 50 : 0))
例如命中 2 个目标并到达终点应为 70 分。障碍保留接触记录,取消碰撞扣分和“撞满 3 次出局”的扩展逻辑;抵达终点、时长耗尽和提前退出继续作为结果边界。生成目标数与显示总数不一致的问题仍保留跟踪。
4.2 切水果的时间与重试
腕点采样时间、有效游戏时长和渲染频率需要分别记录。轨迹两端和水果位置应落在同一段有效时间内,双腕同帧经过同一水果只消费一次,每次命中计 10 分。暂停时清除轨迹,恢复首个有效点建立新起点。
本日新增回归沿用团队已有共享传输逻辑:首次 403 后刷新 CSRF,再用相同 sessionId 和相同结果摘要重试;第二次仍被拒绝则向调用方返回错误。没有在重试时重新结束游戏或重新计分。
4.3 八段锦特征与阶段机
王婉怡输出托天、单举所需的二维几何特征,李想的阶段机消费这些特征,按 ready → raise → hold → recover 推进。腕部高度用肩宽归一化,肘角使用源视频像素计算,显示镜像不交换左右特征字段。
固定样例中,低置信度输入使 features=null,保持累计被中断;恢复后需要重新满足连续保持时间。八段锦结果继续固定 score=null,不参加分数榜。固定骨骼与回放验证支持的是计算和阶段规则,真实体感体验留待设备联调。
4.4 排行榜、导出与下载
榜单查询携带 mode、levelCode、rulesVersion,仅小球和切水果参榜。计划要求记录已保存、已完成且用户明确选择公开;支持匿名展示和撤回。页面目前有参数校验和演示状态,真实数据入榜与撤回仍需后端联合验证。
导出链路则已取得两类独立证据:林晨提供真实导出任务的 Apifox 响应,刘婷婷提供真实 HTTP 下载端验证。页面包中“接口未实现”的截图来自较早的采集时点;后续导出服务已有新进展,本篇分别注明,避免把旧截图当成所有后端接口的最终状态。
| 环节 | 约定 | 本日证据 |
|---|---|---|
| 创建导出 | POST /exports 携带 Idempotency-Key,新建返回 202。 | 新任务返回 pending。 |
| 查询任务 | GET /exports/{id} 返回本人任务状态。 | 同一新任务查询返回 succeeded;另有旧任务 expired。 |
| 下载文件 | GET /exports/{id}/file 返回文件流及文件名。 | 同一新任务 CSV 下载 200,但当前只有表头。 |
| 异常下载 | 未就绪 409,过期 410,不存在或非本人 404,未登录 401。 | 下载专项在真实 HTTP 与 H2 测试环境中覆盖;不等于真实 MySQL 和完整产品联调。 |
五、最新运行展示
5.1 八段锦几何特征与保持恢复

图 2:固定骨骼驱动实际映射器和阶段机。样例肩宽为 128 像素,左右腕高于肩均为 0.75 个肩宽,肘角为 180°;四阶段依次完成。

图 3:刻意降低腕点置信度后,输入被拒绝,先前的保持累计清零;恢复有效输入后重新计时。
5.2 两式固定回放


图 4 与动图:固定脚本运行真实玩法模块,两式共 7.2 秒、8 条阶段尝试,结果不计分。该素材用于阶段回归和演示。
5.3 小球计分与切水果恢复

图 5:小球公式相关回归证据。原始材料的累计测试总数存在版本差异,本篇不将不同运行批次相加。

图 6:共享 API 客户端配合网络替身验证“提交—刷新—原摘要重试”,不是实际后端写入记录。

图 7:固定输入复核暂停期间冻结、恢复首点不误切及后续新轨迹可正常命中。
5.4 排行榜与导出页面

图 8:切水果榜单使用页面样例数据,展示排序、玩法切换和匿名信息;真实榜单尚需服务端联调。


图 9、图 10:页面任务状态演示分别展示已生成和已过期。下载可用性随状态变化,演示任务不作为真实导出成功的证据。
5.5 同一真实导出任务的接口过程



图 11—13:同一任务 f5c5d30c-6e11-436b-9faa-909de28612a8 在 Apifox 中依次创建、查询成功并下载。CSV 只有表头,说明文件链路已有响应,包含训练数据的业务导出仍待验证。

图 14:刘婷婷的下载专项使用真实 Spring Boot/Tomcat、H2 和测试夹具文件验证 CSV/PDF、状态及访问边界,与上一组真实生成任务的证据范围分别记录。
六、测试结果与本日问题处理
| 模块或负责人 | 已提供的验证结果 | 验证范围 |
|---|---|---|
| 输入加载/郑雯心 | 模型加载专项 10 项通过;个人环境全量 358 项通过,类型检查和构建通过。 | 重试、取消、超时和迟到清理;材料未附目标手机实测。 |
| CV/王婉怡 | 几何 5 项、mapper/阶段集成 9 项通过;类型检查和构建通过。 | 固定骨骼、单位、镜像、退化输入和保持中断。个人全量报告曾保留 2 项 API 失败。 |
| 小球/林宇扬 | 计分公式、障碍不扣分和提前退出场景有签入及运行图。 | 原附件包含不同批次的 185、187、273 项统计,本篇不选取其一冒充统一总数。 |
| 切水果/林凯 | 6 个文件、82 项相关模块测试通过;切水果 API 累计 9 项。 | 新增两条 CSRF 专项回归;其余为现有规则与轨迹隔离复核。 |
| 八段锦回放/李想 | 回放专项 3 项通过,覆盖完整两式、提前退出和持续丢点。 | 本地固定输入,验证阶段和结果结构。 |
| 页面/孙田田 | 页面参数与状态专项 50 项通过,构建通过;后续整合版本曾记录 363/365。 | 页面样例、参数校验、五态及上下文;两项 API 失败来自共享测试适配。 |
| 导出生成/林晨 | 后端编译通过;真实任务有 202/200/200 响应截图,另有过期查询记录。 | 当前下载文件仅含表头;未提供完整幂等重放、冲突及所有失败状态记录。 |
| 下载/刘婷婷 | 一个真实 HTTP 专项通过;个人环境后端 47 项、前端 113 项通过。 | 账号、归属、文件状态和路径;测试使用 H2 及夹具文件。 |
这些结果来自不同分支、环境和采集时点,不能相加得到团队测试总数。晚间林凯在 b5f9619 对应集成范围中修正了共享测试适配问题,前端 368 项、后端 62 项及构建通过;这不代表所有其他 Day 5 分支均包含在同一版本中。
本日发现并处理的测试问题主要有:
- 共享客户端已经支持首次
CSRF_INVALID后刷新重试,切水果旧断言仍假设直接失败。本日补充成功重试与二次拒绝两条回归。 - 相机同意 API 的模拟 CSRF 令牌过短,改用符合共享校验要求的样例。
- 小球测试迁入团队目录后,静态和动态导入仍指向旧位置,已修正路径并重新运行。
原始日志中仍有需要后续处理的环境问题:下载专项的 JUnit 结果通过后出现日志库关闭异常;晚间 Maven 检查中导出调度器对 H2 测试表的查询也有缺字段日志。这些情况保留到后续回归,不因测试汇总显示通过而删除记录。
七、Issue 与代码签入
下表将任务内容、工作项和代码对应起来;是否合并、是否验收分别以平台记录为准。
| 成员 | 本日 Issue 内容 | 工作项 | 对应签入 |
|---|---|---|---|
| 林晨 | 导出任务创建、执行、CSV/PDF 生成及查询。 | #71204703 | 7976627、d8dcacc。 |
| 郑雯心 | 模型加载有限重试、超时取消及迟到模型释放。 | Day 5 专属工作项链接待补 | 65ae918、13afd94。 |
| 王婉怡 | 托天、单举特征及 mapper 到阶段机验证。 | #71204396 | 3832eaa、2f9f217、3a7021a、a5b38a6。 |
| 林宇扬 | 统一计分,移除额外扣分和出局规则。 | #71205161 | eb65fa6、70d8bcd,已合入 !20。 |
| 林凯 | 腕轨迹与数据联调清单,结果重试和共享测试适配。 | #71205182 | b5f9619,已推送;文档与测试改动。 |
| 李想 | 两式固定回放、阶段时间线与演示材料。 | #71204626 | a3606f9,已通过 c922164 合入。 |
| 孙田田 | 排行榜、排名同意、导出页面及结算上下文补漏。 | #71204866 | e908c9f、e5a11ff。 |
| 刘婷婷 | 导出文件鉴权、归属、有效期与路径安全。 | #71204667 | 6717894。 |
八、Day 5 燃尽进度

图 15:蓝线沿用 Day 2—Day 4 博客中的 52 SP 样例基线,表示七天平均下降的理想参考;橙线是根据往期日报、本日材料和开发计划整理的回溯估算,不是 CodeArts 历史实测数据。Day 1 曾使用 87 SP 草案,与后续口径不同,本图没有把两者之差计作完成量。
| 时点 | 理想剩余 SP | 日报回溯估算剩余 SP | 进度解释 |
|---|---|---|---|
| D0 | 52.00 | 52 | 沿用后续日报比较尺度。 |
| D1·10/23 | 44.57 | 52 | 主要整理规范和答辩回应,未把业务开发算作已完成。 |
| D2·10/24 | 37.14 | 46 | 轮次、输入和玩法骨架建立,真实联调尚未完成。 |
| D3·10/25 | 29.71 | 38 | 校准、规则、结果入口和公共校验逐步具备证据。 |
| D4·10/26 | 22.29 | 30 | 基本链路、保存事务和异常处理推进,保留端到端缺口。 |
| D5·10/27 | 14.86 | 24 | 计分、特征回放、导出与下载有新增进展,真实数据和设备验证仍需投入。 |
本次将 Day 5 剩余量估为 24 SP,分别留给:真实输入与跨设备三玩法联调 6 SP、统一持久化 5 SP、历史统计报告 4 SP、公开与榜单真实数据 3 SP、含数据导出与异常验证 2 SP、综合回归和交付材料 4 SP。估点是根据材料进行的本次整理,需要团队按真实剩余工作继续复核,不代表平台已验收状态。
D6、D7 尚未发生,图中不预填完成量。当前估算曲线高于理想线,下一步先解决数据与设备联调,再完成候选版本和集中回归。
九、AI 技术员的本日工作
本日各模块使用 Codex、DeepSeek Harness 等代码助手,按成员提交的实际材料记录贡献,业务判断和验收仍由负责人确认。
| AI 角色 | 本日采用的辅助工作 | 人工核对与取舍 |
|---|---|---|
| AI 设计师 | 核对源视频像素、肩宽归一化、镜像语义、结果摘要与导出状态,协助整理跨模块联调清单。 | 成员核对正式契约、职责和参数;保留尚未确认的设备与数据边界。 |
| AI 程序员 | 辅助特征函数接入、回放脚本、模型加载恢复、导出执行器及页面状态实现,协助定位共享测试适配问题。 | 删除与契约冲突的碰撞扣分和出局规则;不凭空补“本人名次”;导出重试复用幂等键。 |
| AI 测试员 | 生成并运行几何退化、保持中断、CSRF 刷新、超时取消、下载归属和文件状态等用例。 | 通过数值断言、原始日志和真实请求核对;固定输入、H2 和真实设备分别记录,不合并为同一结论。 |
| AI 材料整理 | 汇总运行图、GIF、日志、Issue 与提交,整理每日博客与估算依据。 | 当天照片由成员提供;燃尽图标明回溯估算;没有测量的效率或准确率不填写百分比。 |
十、Day 5 复盘与 Day 6 安排
今天的变化主要在于把接口和规则中的不一致暴露出来并逐项处理。小球收回无法与服务端一致复算的扩展规则,CV 把正式特征接入实际消费链路,八段锦提供稳定回放,切水果补结果重试回归,页面和导出服务也开始分别积累可核对的运行证据。
从计划到实际仍有距离:下载接口返回文件、页面显示已生成、训练记录真正保存并进入统计,是不同的验收步骤。接下来按开发计划进入初版冻结前检查,优先完成:
- 合并并固定一个联合验收版本,统一配置、规则版本、构建和运行环境。
- 打通轮次、结果与数据库记录,验证三玩法提交、明确同意保存及本人历史统计。
- 用目标手机复测弱网、低光、遮挡、暂停恢复和连续退出重进,记录刷新率与采样间隔。
- 联调真实榜单公开与撤回,以及包含训练数据的 CSV/PDF 导出;补幂等和失败分支。
- 全员交叉执行自己模块以外的用例,修复后重新构建,为第 7 天集中验收保留固定候选版本。
后续燃尽进度继续依据剩余工作更新,未完成的联调与回归保留在任务中。
相关推荐
国央企在推动科技创新时,如何利用技术交易系统实现全流程闭环管理?.docx
国央企在推动科技创新时,如何利用技术交易系统实现全流程闭环管理?
高校技术转移办公室人员如何提升技术成果的推介效率?.docx
科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。
机械三维3D设计图-自动引孔锁螺丝设备.zip
机械三维3D设计图-自动引孔锁螺丝设备.zip
sogou-wubi-5.5f.zip
五笔输入法
智能体上下文工程:预算控制与结构化压缩的Python实现
【内容概要】 本资源是《智能体演化史》系列第四篇的配套代码,用 108 行 Python 实现一个会"收桌子"的上下文管理器。核心是两件事:一是设一个上下文预算,用 token 估算函数实时盯着;二是超预算时执行结构化压缩——把早期轮次压成一段结论式摘要,保留最近若干轮原文,并且对失败尝试和关键事实单独留档,不让它们被摘要吃掉。配套测算脚本给出三组可复算的数据:关键信息密度从第一轮的 100% 衰减到第 80 轮的 13%(腐烂的本质是稀释,不是撑爆,按当前增量要 213 轮才真的撞上 128K 窗口);跑 80 轮,不压缩累积 199 万 token,滚动摘要降到 37.1 万,直接截断只要 42.6 万但关键信息只留下 8%。这组数字说明:只盯着账单会选错策略。 【适用人群】 智能体已能跑通、但长任务开始"变傻"的开发者;负责长会话产品体验的工程师;需要在成本与准确率之间做取舍的架构师。 【使用场景及目标】 1) 给自己的智能体加一层可配置的上下文预算与压缩; 2) 用测算脚本对比三种策略的成本与保留率,做出有依据的选择; 3) 作为团队内部分享材料,解释"提示词工程"为何被上下文工程取代。 目标:让长任务不再越跑越糊涂,同时把 token 花在真正重要的信息上。 【其他说明】 需 pip install openai 并配置 OPENAI_API_KEY;预算值与保留轮数为常量,可按业务调整。测算脚本离线可跑,假设参数在文件内显式标注,便于改成你的真实口径。压缩会损失细节,涉及合规留痕的场景请关闭自动压缩或单独归档原文。


