下面给你 5 道可以直接复制给被测本地模型的完整测试题。它们不是五个外观相似的网页,而是分别测试五种不同的底层能力: 题目 视觉形态 主要测试能力 1. 奇点实验室 三维宇宙沙盘 数学、物理模拟、数值稳定、性能优化 2. 六十秒后重启 第一人称伪 3D 光线投射、碰撞、状态机、时序因果 3. 霓虹城:最后一单 GTA 式 2.5D 城市 多智能体、寻路、系统耦合、任务逻辑 4. 星槎异闻录 2.5D 水墨互动长卷 中文写作、语义映射、叙事、交互设计 5. 神经元熔炉 2.5D 数据实验室 神经网络、反向传播、动态图表、可解释性 建议每道题分别开一个全新对话,测试模型的第一次交付。不要先让它逐步分析,也不要修到第十版后再比较。 测试题 1:三维宇宙引力沙盘《奇点实验室》 你现在参加一次本地编程模型能力测试。请立即实现作品,不要先写方案,不要反问,不要输出伪代码。 任务:制作一个名为《奇点实验室》的三维宇宙引力沙盘,文件名必须是: 01-singularity-lab.html 【最终交付硬性要求】 1. 最终只能交付一个 HTML 文件。 2. HTML、CSS、JavaScript、图形、数据必须全部内嵌在这个文件中。 3. 禁止使用 Three.js、Babylon.js、p5.js、React、Vue、外部字体、外部图片、CDN、网络接口或任何第三方依赖。 4. 断开网络后,用户双击 HTML 文件即可直接运行。 5. 不得要求安装依赖、启动服务器或执行构建命令。 6. 如果你具备本地文件写入能力,直接把文件保存到当前工作目录;如果不具备,最终回复只能输出一个完整 HTML 代码块,不得附带解释。 7. 不允许用预录动画、写死轨迹或随机移动冒充物理模拟。 8. 页面必须自带可见的“系统自检”面板,通过程序自动检查核心状态,不能在未检查时直接写死“全部通过”。 【画面目标】 制作一个具有强烈视觉冲击力的深空实验室: - 深色宇宙背景、动态星云、空间网格、发光恒星、粒子尾迹、冲击波和引力透镜感。 - 使用原生 Canvas 2D 的三维坐标、透视投影和景深,或者直接使用原生 WebGL。 - 整体必须具有明确的三维空间感,不能只是普通二维粒子背景。 - 适配 1280×720 和 1920×1080。 - UI 使用半透明科幻仪表盘风格。 - 粒子应有远近大小变化、亮度变化、遮挡顺序和运动轨迹。 - 高速运动、吞噬和爆炸时要有明显的视觉反馈。 【必须实现的真实系统】 一、三维空间 - 每个运动天体必须具有真实的 x、y、z 三维位置。 - 每个天体必须具有 vx、vy、vz 三维速度。 - 摄像机支持鼠标拖动旋转、滚轮缩放和缓慢自动环绕。 - 三维物体需要经过真实投影后绘制,不能只修改二维坐标伪装三维。 二、引力模拟 - 同时显示至少 700 个可运动的恒星或粒子。 - 场景中至少存在两个会移动的高质量引力源。 - 引力源之间必须真实互相影响。 - 普通粒子必须根据与引力源的距离和方向实时改变速度。 - 使用软化参数避免距离接近零时加速度无限增大。 - 使用固定时间步长或带上限的时间增量,防止窗口卡顿后系统爆炸。 - 必须检测并处理 NaN、Infinity、速度异常和粒子飞出边界。 - 被黑洞吞噬的粒子不能直接消失:需要产生吸积盘亮斑、粒子喷流或冲击波反馈。 三、用户交互 - 单击空间:在对应位置生成一个临时引力井。 - 双击空间:触发一次三维爆炸,对附近粒子施加方向正确、随距离衰减的冲量。 - 拖动鼠标:旋转摄像机。 - 滚轮:缩放。 - 空格:暂停或继续。 - R:使用相同随机种子重置。 - T:开启或关闭粒子轨迹。 - G:开启或关闭空间网格。 - C:切换跟随最大质量天体、自由观察和俯视模式。 - 右侧控制面板可调节引力常数、模拟速度、粒子数量、尾迹长度和爆炸强度。 四、可完成的挑战 页面中必须有一个普通观众能理解的挑战: “建立一个稳定的双星系统,并让至少 60% 的粒子连续存活 30 秒。” 挑战面板实时显示: - 当前存活率; - 最大质量天体; - 系统总能量的近似变化; - 已稳定运行时间; - 当前帧率; - 当前粒子数量; - 挑战成功或系统崩溃状态。 达到条件后,要出现明显但不遮挡整个画面的成功动画。粒子存活率过低时,要显示失败原因并允许一键重试。 【性能要求】 - 动画使用 requestAnimationFrame。 - 避免每帧创建大量临时对象。 - 当平均帧率连续低于 30 FPS 时,自动降低尾迹质量或星云细节,不能直接停止物理计算。 - 当帧率恢复后可以逐步恢复画质。 - 浏览器窗口切回前台后不能因为超大时间差导致模拟崩溃。 - 所有按钮、滑块和键盘操作都必须真实有效。 【系统自检面板】 页面右上角必须显示一个可折叠的自检面板,至少自动检查: - 三维位置和速度是否存在; - 粒子数量是否达到要求; - 引力是否真实改变粒子速度; - 暂停后位置是否停止变化; - 重置后固定随机种子是否复现相同初始状态; - 是否出现 NaN 或 Infinity; - 是否加载了外部资源; - 当前 FPS; - 最近一次运行时错误。 每一项动态显示“通过、警告、失败”,不能把结果写死。 现在直接实现并交付 01-singularity-lab.html。 测试题 2:第一人称时间循环游戏《六十秒后重启》 你现在参加一次本地编程模型能力测试。请立即实现作品,不要先写方案,不要反问,不要输出伪代码。 任务:制作一款名为《六十秒后重启》的第一人称科幻逃生游戏,文件名必须是: 02-time-loop-station.html 【最终交付硬性要求】 1. 最终只能交付一个 HTML 文件。 2. 所有 HTML、CSS、JavaScript、地图、贴图效果、音效逻辑和数据必须内嵌。 3. 禁止使用 Three.js、Babylon.js、p5.js、React、Vue、外部图片、外部字体、CDN、网络接口或第三方依赖。 4. 断网后双击 HTML 文件即可运行。 5. 不得要求安装依赖、启动服务器或执行构建命令。 6. 如果具备文件写入能力,直接保存到当前工作目录;否则最终回复只能输出一个完整 HTML 代码块。 7. 不允许用静态背景、CSS 透视走廊或预录镜头冒充第一人称游戏。 8. 页面必须包含动态“系统自检”面板,不能写死检测结果。 【核心设定】 玩家在一座即将爆炸的空间站醒来。每一轮只有 60 秒。倒计时归零后,空间站重启,玩家回到起点。 普通物体和机关会重置,但玩家已经发现的“永久线索”会保留。玩家必须通过多轮探索,理解事件发生顺序,最终在爆炸前完成能源节点操作并进入逃生舱。 【第一人称渲染要求】 - 使用原生 Canvas 实现真实的网格光线投射 Ray Casting,或者实现等价的第一人称伪三维渲染。 - 地图必须由二维网格表示,但画面呈现为第一人称三维走廊。 - 墙体距离必须影响墙柱高度、亮度和雾化。 - 不能只切换几张房间图片。 - 支持 W、A、S、D 移动,鼠标或方向键转向。 - 玩家必须具有半径,不能穿墙、穿门或穿过关闭的障碍。 - 墙角移动时要避免明显卡死。 - 至少有 8 个连通区域,包括控制室、反应堆、维护通道、冷却室、档案室、机器人仓、观景台和逃生舱。 - 画面必须有手持终端、倒计时、准星、血量或警戒值、任务提示和小地图。 - 实现动态灯光、警报红光、屏幕震动、故障闪烁、火花和空间雾。 【真实时间循环系统】 每轮倒计时 60 秒,至少包含这些定时事件: - 50 秒:主灯闪烁,维护门短暂解锁; - 42 秒:巡逻机器人启动; - 34 秒:冷却系统故障; - 25 秒:部分走廊起火; - 15 秒:逃生舱拒绝启动; - 8 秒:反应堆进入不可逆过载; - 0 秒:空间站爆炸并重置。 这些事件必须真实改变地图、门、灯光、机器人或危险区域,不能只显示文字。 【重置状态与永久状态】 每轮重置的内容至少包括: - 门的开关状态; - 能源节点状态; - 火灾区域; - 机器人位置和警戒状态; - 玩家位置; - 临时拾取物; - 当前倒计时; - 空间站灯光状态。 跨轮永久保存的内容至少包括: - 已经读取的档案; - 已经发现的四位数密码; - 已标记的隐藏维护通道; - 玩家终端中的事件时间表; - 通关次数和循环次数。 页面必须清晰区分“本轮状态”和“永久记忆”。重置后不允许产生前后矛盾。 【机器人与追逐】 - 至少一个巡逻机器人。 - 机器人具有巡逻、发现、追逐、搜索、返回巡逻五种状态。 - 机器人需要根据地图寻找玩家,不能只朝玩家直线穿墙移动。 - 玩家离开视野后,机器人应前往最后发现位置进行搜索。 - 警戒状态变化必须通过声音、灯光、UI 和机器人颜色表现出来。 【谜题和通关逻辑】 玩家需要: 1. 在档案室找到一段跨轮保留的密码线索; 2. 在正确时间进入短暂开启的维护通道; 3. 按正确顺序启动三个能源节点; 4. 关闭冷却故障; 5. 在爆炸前进入逃生舱。 能源节点顺序必须由场景中的线索推导,不能在 HUD 中直接给出答案。 错误顺序会触发真实后果,例如关闭一扇门、提前唤醒机器人或损失时间。 游戏必须存在: - 可验证的成功结局; - 倒计时失败; - 被机器人捕获失败; - 火灾或反应堆伤害失败; - 一键开始下一轮; - 完成后的循环统计。 【系统自检面板】 页面右上角必须有可折叠自检面板,动态检查: - 地图是否存在可通行路径; - 玩家是否能被墙体阻挡; - 关闭的门是否阻挡玩家; - 倒计时事件是否按顺序触发; - 重置后临时状态是否恢复; - 永久线索是否仍然保留; - 机器人是否具有多个真实状态; - 机器人是否会被墙阻挡; - 是否存在可完成的通关路径; - 是否加载外部资源; - 当前 FPS; - 最近一次运行时错误。 【最低可玩性要求】 - 首屏必须有简洁的操作说明。 - 玩家必须在不看代码的情况下理解目标。 - 必须可以真正完成至少一次完整通关。 - 失败、重置、永久记忆和成功结局必须有明显不同的画面反馈。 - 所有键盘、鼠标、按钮和游戏状态必须真实有效。 现在直接实现并交付 02-time-loop-station.html。 测试题 3:GTA 式 2.5D 开放城市《霓虹城:最后一单》 你现在参加一次本地编程模型能力测试。请立即实现作品,不要先写方案,不要反问,不要输出伪代码。 任务:制作一款名为《霓虹城:最后一单》的 2.5D 开放城市驾驶游戏,文件名必须是: 03-neon-open-city.html 【最终交付硬性要求】 1. 最终只能交付一个 HTML 文件。 2. HTML、CSS、JavaScript、城市地图、角色、车辆、视觉效果和数据必须全部内嵌。 3. 禁止使用游戏引擎、Three.js、PixiJS、p5.js、外部图片、外部字体、CDN、网络接口和第三方依赖。 4. 断网后双击 HTML 文件即可运行。 5. 不得要求安装依赖、启动服务器或执行构建命令。 6. 如果具备本地文件写入能力,直接保存到当前工作目录;否则最终回复只能包含一个完整 HTML 代码块。 7. 不允许用写死路线、循环播放车辆动画或随机移动冒充交通系统。 8. 页面必须自带动态“系统自检”面板,检测结果不能写死。 【视觉方向】 - 采用俯视或斜 45 度 2.5D 城市视角。 - 城市具有霓虹灯、车灯、雨水反光、广告牌、道路标线、建筑阴影、路灯和粒子效果。 - 镜头平滑跟随玩家车辆,并根据速度产生轻微缩放、拖尾和震动。 - 白天、黄昏、夜晚三个环境阶段能够循环。 - 夜间车辆大灯应照亮前方区域。 - 警车、任务车辆和普通车辆必须具有明显不同的视觉识别。 - 适配 1280×720 和 1920×1080。 - UI 至少包含小地图、车速、车辆耐久、通缉等级、任务目标、剩余时间和现金。 【城市生成】 - 使用固定随机种子生成城市,重置后得到相同布局。 - 城市至少包含 12×12 个街区。 - 包含主干道、次级道路、十字路口、小巷、广场、停车场、河道或高架桥。 - 建筑不能只是一排相同矩形,要有高度、颜色、屋顶结构和灯光差异。 - 道路必须形成可供车辆寻路的连通图。 - 小地图必须与实际城市一致。 【玩家车辆】 - 支持 W、A、S、D 或方向键驾驶。 - 具有加速、刹车、倒车、转向、惯性、侧滑、摩擦和最高速度。 - 转向效果必须受到当前速度影响。 - 车辆不能穿过建筑。 - 撞击建筑或其他车辆时要改变速度、方向和耐久。 - 高速碰撞必须有火花、碎片、镜头震动和耐久损失。 - 玩家车辆完全损坏后触发任务失败。 【交通系统】 至少同时存在: - 24 辆普通车辆; - 40 名行人; - 4 辆警车; - 12 组红绿灯。 普通车辆必须: - 沿道路网络规划路径; - 在路口根据红绿灯停车; - 与前车保持距离; - 尽量避免碰撞; - 到达目的地后选择新目的地; - 道路被阻挡时重新规划路线; - 具有至少三种不同驾驶性格:谨慎、普通、激进。 行人必须: - 沿人行道或街区边缘行走; - 在部分路口过街; - 遇到高速车辆时躲避或逃跑; - 听到警笛后表现出恐慌; - 不能直接穿越建筑。 禁止让所有车辆和行人只做随机游走。 【通缉与警察系统】 - 通缉等级为 0—5 星。 - 撞击车辆、冲撞行人、长时间逆行、拒绝停车等行为会提高通缉值。 - 脱离警察视野并隐藏一段时间后,通缉值下降。 - 警车具有巡逻、发现、追击、包抄、搜索和返回巡逻状态。 - 警车必须使用道路网络追踪,不能穿过建筑直线扑向玩家。 - 高通缉等级时增加警车数量、设置路障或从前方路口包抄。 - 警察失去玩家后,应在最后发现位置附近搜索。 【完整任务】 主任务名为“最后一单”,必须具有完整流程: 1. 前往仓库接取货物; 2. 在限定时间内送到指定区域; 3. 途中随机发生一次道路封锁; 4. 系统重新计算路线; 5. 玩家可选择绕行或冒险突破; 6. 送达后触发追击; 7. 成功摆脱警察并进入安全屋; 8. 显示任务结算。 结算至少包含: - 用时; - 碰撞次数; - 最高通缉等级; - 车辆剩余耐久; - 对城市造成的损失; - 是否伤及行人; - 获得现金; - 总评价等级。 必须存在成功和失败条件,不能只有无限驾驶。 【系统耦合要求】 以下系统必须互相影响: - 撞车会造成道路拥堵; - 拥堵会改变普通车辆路径; - 普通车辆阻塞会影响警车追击; - 警笛会影响行人; - 玩家破坏红绿灯会影响路口交通; - 道路封锁会改变任务路线; - 通缉等级会改变警察数量和策略; - 天气或夜晚会改变可见度、灯光和车辆制动表现。 【系统自检面板】 页面右上角必须显示动态自检面板,至少检查: - 城市道路图是否连通; - 玩家是否被建筑碰撞体阻挡; - 普通车辆是否拥有路径; - 车辆是否会在红灯处停车; - 行人是否被建筑阻挡; - 警车是否使用道路追击; - 道路封锁后是否发生重新规划; - 通缉值是否能上升和下降; - 主任务是否存在完整成功路径; - 是否加载外部资源; - 当前车辆数、行人数和 FPS; - 最近一次运行时错误。 【性能要求】 - 使用 requestAnimationFrame。 - 空间查询应使用网格分区、邻域查询或其他合理方法,不能让所有实体每帧无条件两两比较。 - 帧率连续低于 30 FPS 时,可降低雨滴、反光和远处行人细节,但不能删除核心交通逻辑。 - 所有按钮、任务、交通灯、警察、行人和车辆状态必须真实有效。 现在直接实现并交付 03-neon-open-city.html。 测试题 4:水墨互动长卷《星槎异闻录》 你现在参加一次本地模型综合能力测试。请立即实现作品,不要先写方案,不要反问,不要输出伪代码。 任务:制作一部名为《星槎异闻录》的 2.5D 水墨互动长卷,文件名必须是: 04-astral-scroll.html 这道题不仅测试网页编程,还测试中文写作、古文表达、叙事一致性、信息组织、语义映射和视觉设计。 【最终交付硬性要求】 1. 最终只能交付一个 HTML 文件。 2. HTML、CSS、JavaScript、SVG、Canvas、文字、图形、动画、数据和音效逻辑全部内嵌。 3. 禁止使用外部图片、外部字体、CDN、网络接口、第三方库或在线音频。 4. 断开网络后双击 HTML 文件即可直接运行。 5. 不得要求安装依赖、启动服务器或执行构建命令。 6. 如果具备文件写入能力,直接保存到当前工作目录;否则最终回复只能输出一个完整 HTML 代码块。 7. 不允许把网络图片转换成链接后嵌入。 8. 页面必须具有动态“文景一致性自检”面板,检测结果不能写死。 【作品设定】 创作一篇原创仿古短篇《星槎异闻录》。 故事讲述一位古代观星者乘坐“星槎”进入五重天境,寻找可以修复崩裂星图的五枚天印。五个场景分别是: 1. 雾海孤城; 2. 倒悬山; 3. 无字碑林; 4. 赤焰天河; 5. 星图天宫。 注意: - 全文必须明确标注“原创仿古文本”,不能冒充真实古籍、出土文献或历史名篇。 - 不得捏造真实作者、真实朝代出处、真实文献编号。 - 古文应有完整起因、发展、转折和结局,不能只是古风词语堆砌。 - 原创古文正文为 350—550 个汉字。 - 同时提供准确、通顺的现代汉语译文。 - 提供至少 10 个词语的注释,但必须区分: - 真实古汉语词义; - 本故事原创世界观名词。 - 原创世界观名词不能伪装成真实古籍词条。 【2.5D 水墨长卷视觉】 - 整体采用横向展开的中国水墨长卷。 - 至少使用五层视差:前景、中景、远景、天空、雾气或粒子层。 - 滚轮、拖动或方向键可以沿长卷横向移动。 - 山峦、云雾、水面、星河、楼阁、碑林和天宫均由内嵌 SVG、Canvas 或 CSS 程序化绘制。 - 不允许用简单渐变背景加几段文字冒充长卷。 - 水墨轮廓应有浓淡、晕染、纸张纹理和留白。 - 鼠标移动时,各层以不同速度产生视差。 - 五个场景必须有明显不同的色彩气质和环境动画。 - 场景之间要有自然过渡,不能像五张互不相关的幻灯片。 - 加入纸屑、墨点、流云、星尘、萤火、火星等细节。 - UI 使用印章、卷轴、竹简、朱砂批注等视觉元素。 【文景联动】 古文正文与画面必须语义对应: - 古文按句或按段显示在卷轴下方。 - 鼠标悬停某一句时,画面中对应的物体必须发光、移动或出现墨圈。 - 点击场景中的关键物体时,必须定位并高亮对应古文句子。 - 现代译文必须与当前古文段落同步。 - 注释必须随所选词语弹出,不能一次性堆在页面底部。 - 页面必须维护清晰的“文本段落—场景—物体—事件”映射数据。 - 不允许只用固定延时随机高亮。 【互动谜题】 五个场景中各隐藏一枚“天印”。用户需要根据古文中的线索找到它们。 每枚天印都对应一种交互: - 雾海孤城:调整三盏灯的明暗顺序; - 倒悬山:旋转三块山石,使水流连通; - 无字碑林:根据古文线索选择正确碑文; - 赤焰天河:在限定时间内引导星槎避开火流; - 星图天宫:将五枚天印放入正确星位。 谜题答案必须由古文内容推导,不能让用户盲猜。 错误操作需要有明确反馈,但不能直接公布答案。完成谜题后,古文、场景和 UI 都要发生相应变化。 【分支结局】 至少实现三个结局: 1. 五印归位:星图修复; 2. 印序错误:星图变成另一片未知天域; 3. 未读懂碑林警告:星槎被永远困在循环长卷中。 结局必须由玩家的实际操作和阅读选择决定,不能随机抽取。 每个结局要有不同的: - 最终古文段落; - 现代译文; - 画面变化; - 印章式结局标题; - 可重新展开长卷的入口。 【声音】 - 使用原生 Web Audio API 程序化生成风声、钟磬、火焰或低沉环境声。 - 必须由用户主动点击后才启用声音。 - 页面静音时不影响玩法。 - 禁止引用外部音频文件。 【文景一致性自检】 页面必须有可折叠自检面板,动态检查: - 是否存在五个场景; - 是否存在五层以上视差; - 是否有 350—550 字原创古文; - 是否明确标注为原创仿古文本; - 是否存在现代译文; - 是否存在至少 10 条分类注释; - 每个古文段落是否关联真实场景元素; - 每枚天印是否有对应文字线索; - 是否存在三个可到达结局; - 是否加载外部资源; - 当前场景、已取得天印和当前结局; - 最近一次运行时错误。 【体验要求】 - 普通观众打开页面后,10 秒内能理解它是一幅可以探索和解谜的水墨长卷。 - 即使不通关,也要有足够强烈的录屏展示效果。 - 古文、译文、谜题和画面必须前后一致。 - 不能为了视觉效果牺牲文本可读性。 - 所有场景、按钮、谜题、注释、结局和声音开关必须真实有效。 现在直接实现并交付 04-astral-scroll.html。 测试题 5:可解释神经网络实验室《神经元熔炉》 你现在参加一次本地模型数学、编程和可视化能力测试。请立即实现作品,不要先写方案,不要反问,不要输出伪代码。 任务:制作一个名为《神经元熔炉》的可交互神经网络训练实验室,文件名必须是: 05-neural-forge.html 【最终交付硬性要求】 1. 最终只能交付一个 HTML 文件。 2. HTML、CSS、JavaScript、训练数据、神经网络、图表、图形和动画全部内嵌。 3. 禁止使用 TensorFlow.js、PyTorch、ONNX、D3、Chart.js、p5.js、外部字体、CDN、网络接口或任何第三方依赖。 4. 神经网络的前向传播、损失计算、反向传播和参数更新必须使用原生 JavaScript 从零实现。 5. 断开网络后双击 HTML 文件即可运行。 6. 不得要求安装依赖、启动服务器或执行构建命令。 7. 如果具备文件写入能力,直接保存到当前工作目录;否则最终回复只能输出一个完整 HTML 代码块。 8. 禁止使用写死的损失曲线、预先计算的权重或随机变化的准确率冒充训练。 9. 页面必须有动态“数学自检”面板,检测结果不能写死。 【视觉目标】 把神经网络训练过程设计成一座 2.5D 全息实验室: - 左侧是数据样本舱; - 中间是神经网络结构; - 右侧是决策边界和训练曲线; - 数据点像发光粒子一样流入网络; - 神经元像悬浮能量核心; - 权重连接具有颜色、粗细、方向和脉冲动画; - 正权重、负权重和接近零的权重有明显区别; - 误差反向传播时,使用反向流动的光脉冲表现梯度; - 背景具有网格、景深、光晕和半透明玻璃面板; - 整体具有强烈的 2.5D 空间层次,而不是普通后台管理界面。 【真实神经网络】 必须从零实现一个全连接神经网络: - 输入层:2 个输入; - 隐藏层:允许 1—3 层; - 每层神经元数量可在 4—24 之间调节; - 输出层根据任务使用 1 个或多个输出; - 激活函数至少支持 Tanh 和 ReLU; - 输出和损失函数要与分类任务匹配; - 使用真实前向传播; - 使用真实反向传播; - 使用随机梯度下降或小批量梯度下降; - 支持学习率; - 支持批大小; - 支持 L2 正则化; - 权重初始化必须合理; - 每次训练都要真实更新参数; - 检测 NaN、Infinity、梯度爆炸和梯度消失。 不允许调用任何现成机器学习库。 【数据集】 至少内置四种程序化二维数据集: 1. XOR; 2. 双月; 3. 同心圆; 4. 三螺旋或多螺旋。 要求: - 数据由当前页面使用固定随机种子生成; - 可调节样本数量和噪声; - 用户可在数据平面中点击添加正类或负类样本; - 用户可删除错误样本; - 更换数据集后必须真正重新初始化模型和训练状态; - 重置相同随机种子时,数据必须一致。 【实时可视化】 一、决策边界 - 将二维空间划分为网格; - 使用当前真实模型对每个网格位置进行推理; - 根据预测概率绘制平滑决策区域; - 决策边界必须随训练实时变化; - 不允许根据训练轮数播放预设动画。 二、网络结构 - 显示每层真实神经元。 - 显示真实连接权重。 - 连接线粗细反映权重绝对值。 - 颜色反映权重正负。 - 点击神经元后显示其偏置、激活值和最近一次梯度。 - 点击连接后显示当前权重、梯度和最近更新量。 - 调整网络层数或神经元数量后,网络图必须真实重建。 三、训练曲线 - 实时绘制真实损失曲线。 - 实时绘制训练准确率和验证准确率。 - 支持查看最近 100、500 或全部训练步。 - 图表坐标必须根据真实数据更新。 - 暂停训练后图表必须停止变化。 【控制系统】 用户可以调节: - 数据集; - 样本数量; - 噪声; - 随机种子; - 隐藏层数量; - 每层神经元数量; - 激活函数; - 学习率; - 批大小; - L2 正则化; - 每帧训练步数; - 训练、暂停、单步、重置; - 正常速度和高速训练模式。 调整结构参数时,应明确提示模型将被重新初始化。 【可完成的挑战】 页面设置三项挑战: 1. XOR:在 30 秒内达到至少 95% 验证准确率; 2. 双月:在 45 秒内达到至少 90% 验证准确率; 3. 螺旋:在 90 秒内达到至少 80% 验证准确率。 达到目标时: - 网络核心变成稳定的高亮状态; - 出现简洁的成功动画; - 显示使用的结构、学习率、训练步数、最终损失和准确率; - 可以保存本次配置到页面内的“实验记录”。 如果训练发散,要明确显示可能原因,例如学习率过高、梯度爆炸或结构容量不足,不能只显示“失败”。 【数学自检】 页面必须自动完成并显示以下真实检测: - 用有限差分法对一个小型网络执行数值梯度检查; - 显示解析梯度与数值梯度的最大相对误差; - 检查损失是否为有限数; - 检查所有权重是否为有限数; - 检查单步训练是否真正改变至少一个权重; - 检查暂停后权重是否停止变化; - 检查重置后相同随机种子是否复现相同初始权重; - 检查决策边界是否来自当前模型推理; - 检查曲线点是否来自真实训练记录; - 检查是否加载外部资源; - 显示当前 FPS、训练步数和最近一次运行时错误。 每项动态显示“通过、警告、失败”,不允许将结果直接写死。 【性能要求】 - 使用 requestAnimationFrame 更新视觉。 - 训练计算不得长时间阻塞界面。 - 高速模式可以分批执行训练,但每批后必须把控制权交回浏览器。 - 决策边界分辨率可根据帧率动态调整。 - 降低画质时不能伪造或减少核心训练步骤。 - 所有图表、按钮、滑块、训练状态和挑战必须真实有效。 现在直接实现并交付 05-neural-forge.html。 建议的统一评分方法 每题满分 100 分,尽量只评第一次生成的原始文件: - 20 分:是否真的是一个文件,断网双击能否运行。 - 20 分:核心玩法或交互是否完整,按钮是否真实有效。 - 20 分:底层逻辑是否真实,不是写死动画、随机数字或假图表。 - 15 分:是否有明确目标、进度、失败、成功和结算。 - 15 分:视觉冲击力、动画连贯性、画面层次和录屏展示效果。 - 10 分:帧率、分辨率适配、错误处理、自检和操作细节。 建议额外记录四个客观指标: - 第一次输出是否能够直接运行; - 浏览器控制台有多少个致命错误; - 是否偷偷使用外部依赖; - 从收到题目到交付文件用了多长时间。 以下情况可以直接判定核心失败: - 输出多个文件; - 要求安装依赖或启动服务器; - 断网后失效; - 只有一张静态界面; - 按钮没有实际功能; - 用随机数字冒充真实计算; - 用写死路线冒充寻路; - 用预设曲线冒充神经网络训练; - 没有真正的成功或失败状态; - 自检面板只是固定显示“全部通过”。