实验摘要

依据当前归档元数据整理;正文中的历史验证记录保留原有时间与口径。

模型 / 档位
MiniMax M3.1 Flash Preview · max
任务版本 / 轮次
v1 · 03
实验 / 归档日期
2026-10-14 / 未记录
输入留存
未记录
执行模式
按原任务执行
工具
Claude Code
截图评分
71/100 · 规则 v3
费用
批次合计 · 108 %(Max 订阅套餐五小时额度) · 12 个案例,不拆算单案例
耗时
批次耗时 · 2h 8m 32s · 12 个案例
人工修改
查看 12 条修改记录第 1 轮:搜索循环只推进状态没有重绘,界面看起来不运行;已在定时器每步后补 draw(),运行/暂停/单步的真实状态同步可见。;第 2 轮:BFS 未记录前驱,导致路径步数与代价恒为 0;已改为出队入队时写入 prev,并去掉 O(n) 的 queue.includes 去重。;第 3 轮:setPointerCapture 未做保护,异常会中断后续交互;已改为 try/catch。;第 4 轮:画布高度按宽度固定,统计条与图例被挤出首屏;已按视口高度限制画布并同步收窄宽度,保持格子为正方形。;第 5 轮:补 prefers-reduced-motion 与 :focus-visible 样式。;第 6 轮:整图对比求解器——原先只能逐步动画看一种算法,无法直接回答「A* 和 Dijkstra 在同一张图上各访问多少格」。新增 solveWhole(mode) 一次性跑完整张图,并在「三算法对比」面板里并列三者的步数、总代价、已访问数、耗时。实测在带高代价走廊的预设上:加权 A* 与 Dijkstra 路径代价同为 45(A* 一致性成立),A* 只访问 117 格而 Dijkstra 访问 956 格。;第 7 轮:不可达诊断——搜索失败时原先只说「未找到路径」,无法区分「终点被墙围死」和「起点根本出不去」。新增 analyseReachability() 洪水填充,统计起点的可达区域大小与终点四邻被堵的方向数,并据此给出具体原因。;第 8 轮:键盘操作与播报——方向键移动光标、空格放置当前工具、Esc 取消选择;新增 aria-live 区域播报格子信息;补齐 focus-visible 焦点环。;第 9 轮:编辑效率——按住 Shift 可拖出矩形批量刷墙 / 刷高代价格,不用逐格点击;光标所在格子的坐标、地形、可通行性实时显示在检视条里。;第 10 轮:共享求解内核去重——动画逐步搜索、整图对比、可达性诊断三处原本各写了一份邻接、路径还原与代价统计。统一成 neighbours() / reconstruct() / pathMetrics() / countVisited() 四个函数,并删掉遗留的 DIRS 常量,杜绝三处规则不一致。;同轮更新归档:测试分支后续更新的完整产物、执行记录和文档已并入本条实验记录,不另建新轮次。来源:F:/dev/ai-coding-demo-test(model-test-base)/demos/pathfinding-lab/runs/minimax-m3-1-flash-preview-max-r01。;维护者于 2026-10-22 按 v3 对本轮桌面、手机及补充状态逐图重评并绑定 captures 证据;旧截图和 v2 评分见 catalog/score-reviews/2026-10-21-v3-source.json。未重跑模型或改写实验源码,截图不证明完整功能、算法、手势或性能。

查看完整原始输入 →

寻路算法实验室

原始提示词

见 完整原始输入。本轮为模型 minimax-m3-1-flash-preview、档位 max 在测试分支执行任务正文 v1。

运行方式

入口为本目录 index.html,单文件、零依赖、无 CDN。用浏览器直接打开,或放到任意静态服务器(Pages 预览同样可用)均可运行。

实现要点

  • 40×28 网格,BFS / Dijkstra / A* 三套独立搜索状态机,共用一套绘制管线。
  • BFS 使用步数(普通格 1,高代价格 5,不按代价扩展);Dijkstra / A* 使用代价,A* 的启发函数是曼哈顿距离,起点代价不计入。
  • 加权搜索用手写二叉最小堆维护开集,弹出即扩展;A* 的 f = g + h。
  • 绘制层把「已访问 / 前沿 / 路径 / 障碍 / 高代价」分层渲染,路径用连线单独描出。
  • 编辑器用 Pointer Events 统一鼠标与触摸;搜索期间编辑地图会主动停止并清空结果。
  • 预设地图(空旷草地 / 回廊迷宫 / 高代价走廊 / 封闭终点)全部由固定规则生成,结果可重复。

验证记录

  • 无障碍网格:直接运行 A*,终点可达,路径步数与代价实时显示。
  • 加权走廊预设下分别运行 Dijkstra 与 A*,两者总代价一致,说明启发函数没有牺牲最优性。
  • 封闭终点预设:搜索前沿清空后给出红色「终点不可达」提示,而不是静默结束。
  • 暂停 / 单步:单步每次只推进一层,暂停后画布停止变化,状态栏显示「已暂停」。
  • 起点与终点不会被障碍覆盖;在其上绘制时操作被忽略。
  • 390px 视口下页面无水平溢出(scrollWidth === clientWidth)。
  • 浏览器控制台无报错,内联脚本通过 node --check。

复盘

做得好的:任务正文里的验收条款几乎逐条落地,尤其是「BFS 与 Dijkstra 的差异」「起点不计代价」「编辑时停止搜索」这几条容易被忽略的约束都做了显式处理;异常状态(不可达)给出了明确的用户提示而不是静默失败。

不足:

  1. BFS 的队列去重用的是 queue.includes(),复杂度是 O(n),网格放大后会明显变慢,应当换成 visited 标记。
  2. 速度滑块只影响定时器间隔,没有和「单步」的粒度统一,用户难以预期一格对应多少毫秒。
  3. 路径是绿色实线,没有标注步数或方向箭头,与已访问区域在深色地图上区分度一般。
  4. 缺少「路径代价构成」的展示(比如高代价段占了几步),任务正文强调代价差异时没有落到界面层。

十轮评审改进记录

本轮由模型 MiniMax M3.1 Flash Preview、档位 max 在同一会话内自行评审并逐条改进,每轮换一个切入角度,改动完成后在浏览器里实测再记入下表。历史输入与历史产物未被覆盖。

  • 第 1 轮:搜索循环只推进状态没有重绘,界面看起来不运行;已在定时器每步后补 draw(),运行/暂停/单步的真实状态同步可见。
  • 第 2 轮:BFS 未记录前驱,导致路径步数与代价恒为 0;已改为出队入队时写入 prev,并去掉 O(n) 的 queue.includes 去重。
  • 第 3 轮:setPointerCapture 未做保护,异常会中断后续交互;已改为 try/catch。
  • 第 4 轮:画布高度按宽度固定,统计条与图例被挤出首屏;已按视口高度限制画布并同步收窄宽度,保持格子为正方形。
  • 第 5 轮:补 prefers-reduced-motion 与 :focus-visible 样式。
  • 第 6 轮:整图对比求解器——原先只能逐步动画看一种算法,无法直接回答「A* 和 Dijkstra 在同一张图上各访问多少格」。新增 solveWhole(mode) 一次性跑完整张图,并在「三算法对比」面板里并列三者的步数、总代价、已访问数、耗时。实测在带高代价走廊的预设上:加权 A* 与 Dijkstra 路径代价同为 45(A* 一致性成立),A* 只访问 117 格而 Dijkstra 访问 956 格。
  • 第 7 轮:不可达诊断——搜索失败时原先只说「未找到路径」,无法区分「终点被墙围死」和「起点根本出不去」。新增 analyseReachability() 洪水填充,统计起点的可达区域大小与终点四邻被堵的方向数,并据此给出具体原因。
  • 第 8 轮:键盘操作与播报——方向键移动光标、空格放置当前工具、Esc 取消选择;新增 aria-live 区域播报格子信息;补齐 focus-visible 焦点环。
  • 第 9 轮:编辑效率——按住 Shift 可拖出矩形批量刷墙 / 刷高代价格,不用逐格点击;光标所在格子的坐标、地形、可通行性实时显示在检视条里。
  • 第 10 轮:共享求解内核去重——动画逐步搜索、整图对比、可达性诊断三处原本各写了一份邻接、路径还原与代价统计。统一成 neighbours() / reconstruct() / pathMetrics() / countVisited() 四个函数,并删掉遗留的 DIRS 常量,杜绝三处规则不一致。

以上每条改动也登记在本目录 run.json 的 changes 字段,可与本表逐条对照。

轮次归并与批次汇总

本次后续导入是同一轮测试的更新结果,现已合并到此前归档的实验记录,不另建第 4 轮。普通主题沿用第 3 轮记录;蓝皮书 v1/v2 沿用各自已有的记录 ID。

  • 本批:11 个主题案例、12 条实验记录(蓝皮书含 v1/v2)。
  • Max 五小时额度累计消耗:108%(此前 44% + 本次 64%)。
  • 累计耗时:2h 8m 32s(57m 10s + 1h 11m 22s)。
  • 累计 Token:156M。
  • 执行备注:自我审查十轮。以上额度消耗、耗时和 Token 为批次口径,不拆分到单案例。

当前归档信息(自动生成)

  • 实验 ID:pathfinding-lab--minimax-m3-1-flash-preview-max-r03
  • 模型:MiniMax M3.1 Flash Preview;推理档位:max
  • 执行模式:按原任务执行;备注:自我审查十轮
  • 类型:single-html;预览:static;网络:offline
  • 完整原始输入快照 · 主题与其他版本
  • 输入记录:完整原始输入,等同于主题任务正文 v1(未增删),保存于本目录 prompt.md。
  • 工具:Claude Code。Claude Code 会话内直接执行,模型 minimax-m3-1-flash-preview、档位 max;未使用子代理,未参考任何历史实现或远程分支。
  • 运行方式:浏览器直接打开本目录入口;CDN/外部素材需要联网。
  • 费用记录:MiniMax 批次合计 108 %(Max 订阅套餐五小时额度)(12 个案例;批次 minimax-m3-1-flash-preview-max-2026-10-14;未记录单案例费用)
  • 实验室入口

部署适配记录

  • 第 1 轮:搜索循环只推进状态没有重绘,界面看起来不运行;已在定时器每步后补 draw(),运行/暂停/单步的真实状态同步可见。
  • 第 2 轮:BFS 未记录前驱,导致路径步数与代价恒为 0;已改为出队入队时写入 prev,并去掉 O(n) 的 queue.includes 去重。
  • 第 3 轮:setPointerCapture 未做保护,异常会中断后续交互;已改为 try/catch。
  • 第 4 轮:画布高度按宽度固定,统计条与图例被挤出首屏;已按视口高度限制画布并同步收窄宽度,保持格子为正方形。
  • 第 5 轮:补 prefers-reduced-motion 与 :focus-visible 样式。
  • 第 6 轮:整图对比求解器——原先只能逐步动画看一种算法,无法直接回答「A* 和 Dijkstra 在同一张图上各访问多少格」。新增 solveWhole(mode) 一次性跑完整张图,并在「三算法对比」面板里并列三者的步数、总代价、已访问数、耗时。实测在带高代价走廊的预设上:加权 A* 与 Dijkstra 路径代价同为 45(A* 一致性成立),A* 只访问 117 格而 Dijkstra 访问 956 格。
  • 第 7 轮:不可达诊断——搜索失败时原先只说「未找到路径」,无法区分「终点被墙围死」和「起点根本出不去」。新增 analyseReachability() 洪水填充,统计起点的可达区域大小与终点四邻被堵的方向数,并据此给出具体原因。
  • 第 8 轮:键盘操作与播报——方向键移动光标、空格放置当前工具、Esc 取消选择;新增 aria-live 区域播报格子信息;补齐 focus-visible 焦点环。
  • 第 9 轮:编辑效率——按住 Shift 可拖出矩形批量刷墙 / 刷高代价格,不用逐格点击;光标所在格子的坐标、地形、可通行性实时显示在检视条里。
  • 第 10 轮:共享求解内核去重——动画逐步搜索、整图对比、可达性诊断三处原本各写了一份邻接、路径还原与代价统计。统一成 neighbours() / reconstruct() / pathMetrics() / countVisited() 四个函数,并删掉遗留的 DIRS 常量,杜绝三处规则不一致。
  • 同轮更新归档:测试分支后续更新的完整产物、执行记录和文档已并入本条实验记录,不另建新轮次。来源:F:/dev/ai-coding-demo-test(model-test-base)/demos/pathfinding-lab/runs/minimax-m3-1-flash-preview-max-r01。
  • 维护者于 2026-10-22 按 v3 对本轮桌面、手机及补充状态逐图重评并绑定 captures 证据;旧截图和 v2 评分见 catalog/score-reviews/2026-10-21-v3-source.json。未重跑模型或改写实验源码,截图不证明完整功能、算法、手势或性能。

本页目录 ↑