OpenAI: gpt-oss-20b 在「分析报表页」的评测结果
这是该 AI 模型在此测试用例上的详细评测结果。
基本信息
- 模型名称:OpenAI: gpt-oss-20b
- 用例名称:分析报表页
- 测试类型:网页生成
- 评测维度:仪表盘
系统提示词(System Prompt)
这是给 AI 模型的背景设定和角色指令:
你是一名资深前端开发工程师,专注于数据可视化与报表页面的构建。 回答要求: 1. 所有代码(HTML、CSS、JavaScript)必须集中在单个 HTML 文件中,可直接在浏览器中运行,无需任何外部依赖。 2. 图表(折线图、饼图、柱状图)必须使用原生 Canvas API 手动绘制,不得引入任何第三方图表库。 3. 页面数据全部使用硬编码的静态数据,无需实现真实的数据请求或复杂的动态交互逻辑。 4. 代码结构清晰,HTML/CSS/JS 各自分区,关键逻辑处需添加简短注释说明用途。 5. 页面视觉风格应具备基本的专业感,布局整齐,色彩搭配合理,适合作为数据报表展示。
用户提示词(User Prompt)
这是用户给 AI 模型的具体任务要求:
# 数据分析报表页面(基础版) 请生成一个静态数据分析报表页面,所有代码写在单个 HTML 文件中,直接输出完整可运行的代码。 ## 页面结构要求 ### 1. 顶部筛选栏 - 日期范围选择器(两个 date 类型的 input,分别代表开始日期和结束日期) - 数据类型下拉菜单(选项:销售 / 用户 / 流量) - 「刷新」按钮(点击后可仅做视觉反馈,如按钮短暂变色) - 「导出」按钮(点击后弹出 alert 提示「导出功能模拟中」即可) ### 2. 汇总指标卡片区 展示 4 个关键指标卡片,每张卡片包含: - 指标名称(如:总销售额、订单数量、活跃用户、页面流量) - 当前数值(硬编码静态数据) - 同比变化(如:↑ 12.5%,用绿色/红色区分正负) - 环比变化(如:↓ 3.2%,用绿色/红色区分正负) ### 3. 趋势分析区 - 使用 Canvas 绘制一条折线图,展示近 7 天的趋势数据(硬编码) - 图表需包含:X 轴(日期标签)、Y 轴(数值刻度)、折线、数据点 - 提供「日 / 周 / 月」三个切换按钮,点击后用对应的硬编码数据集重新绘制折线图 ### 4. 分布分析区(左右并排布局) - **左侧**:使用 Canvas 绘制饼图,展示 4~5 个类别的占比分布,需包含图例 - **右侧**:使用 Canvas 绘制水平或垂直柱状图,展示 TOP 5~10 排名数据,需包含类别标签和数值 ### 5. 明细数据表格 - 展示至少 15 条硬编码的明细数据(列:序号、名称、类别、数值、日期、状态) - 实现基础分页功能:每页显示 5 条,提供「上一页 / 下一页」按钮及当前页码显示 - 实现列标题点击排序(至少支持「数值」列的升序/降序切换,并用箭头图标指示当前排序方向) - 提供一个文本输入框,支持按「名称」字段对表格数据进行实时筛选 ## 技术约束 - **不允许**引入任何外部 CSS 框架或 JavaScript 库(包括 CDN 链接) - 图表使用原生 `<canvas>` 元素配合 JavaScript Canvas 2D API 绘制 - 所有数据均为 JavaScript 中硬编码的静态数组或对象 - 页面需在现代浏览器(Chrome/Firefox 最新版)中正常显示 请直接输出完整的 HTML 代码。
任务要求
AI 模型需要满足以下要求:
- 页面五大区域(筛选栏、指标卡片、趋势图、分布图、明细表格)均已实现,布局结构清晰,视觉上无明显错位或重叠。
- 三张图表(折线图、饼图、柱状图)均使用原生 Canvas API 绘制,且包含必要的坐标轴、标签或图例,图形数据与硬编码数据一致。
- 折线图的日/周/月视图切换功能可正常工作,点击按钮后 Canvas 内容正确更新为对应数据集。
- 明细表格的分页逻辑正确(页码显示准确、边界处理合理),列排序功能可正常切换升降序,文本筛选框能实时过滤表格行。
- 代码全部集中在单个 HTML 文件中,无外部依赖,可在浏览器中直接打开运行,无控制台报错。
- 指标卡片的同比/环比数值使用不同颜色(正值绿色、负值红色)加以区分,整体页面具备基本的专业视觉风格。
评测结果
综合得分
该模型在此用例的得分为:79.5 分(满分 100 分),已通过
基础难度评测结果
- 得分:79.5 分
- 通过状态:已通过
模型生成产物
以下是该模型针对此任务的实际生成内容:
```html 数据分析报表(基础版) body{font-family:Arial,Helvetica,sans-serif;margin:0;padding:0;background:#f5f5f5;color:#333;} .container{max-width:1200px;margin:auto;padding:20px;background:#fff;} /* 1. 顶部筛选栏 */ .filter-bar{display:flex;align-items:center;gap:10px;margin-bottom:20px;} .filter-bar input[type=date], .filter-bar select{padding:5px 10px;border:1px solid #ccc;border-radius:4px;} .filter-bar button{padding:6px 12px;border:none;border-radius:4px;background:#007bff;color:#fff;cursor:pointer;} .filter-bar button:active{background:#0056b3;} .filter-bar button.refresh{background:#28a745;} .filter-bar button.export{background:#17a2b8;} /* 2. 汇总指标卡片区 */ .summary{display:flex;gap:15px;margin-bottom:20px;} .card{flex:1;padding:15px;border-radius:6px;background:#fafafa;border:1px solid #e0e0e0;} .card h4{margin:0 0 10px;font-size:16px;} .card .value{font-size:24px;font-weight:bold;} .card .change{font-size:14px;margin-top:5px;} .card .change.positive{color:#28a745;} .card .change.negative{color:#dc3545;} /* 3. 趋势分析区 */ .trend{margin-bottom:20px;} .trend .btn-group{margin-bottom:10px;} .trend .btn-group button{padding:5px 10px;border:none;border-radius:4px;background:#e9ecef;color:#333;cursor:pointer;margin-right:5px;} .trend .btn-group button.active{background:#007bff;color:#fff;} /* 4. 分布分析区 */ .distribution{display:flex;gap:20px;margin-bottom:20px;} .distribution canvas{border:1px solid #e0e0e0;border-radius:4px;} .legend{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px;} .legend span{display:flex;align-items:center;gap:5px;font-size:12px;} .legend span .color{width:12px;height:12px;border-radius:50%;display:inline-block;} /* 5. 明细数据表格 */ .table-container{margin-bottom:20px;} .table-controls{display:flex;align-items:center;gap:10px;margin-bottom:10px;} .table-controls input{padding:5px 10px;border:1px solid #ccc;border-radius:4px;} table{width:100%;border-collapse:collapse;} th,td{padding:8px 12px;border:1px solid #e0e0e0;text-align:left;}...
AI 评审点评
以下是 AI 评审对该模型输出的点评:
【CLAUDE】该代码在单个HTML文件中实现了所有要求的功能模块,代码结构清晰,HTML/CSS/JS分区明确,注释适当。主要亮点是表格交互功能实现较为完整,分页、排序、筛选逻辑基本正确。主要不足集中在Canvas图表的绘制细节上:饼图半径设置不当导致显示溢出,折线图缺少坐标轴线,刷新按钮的视觉反馈因箭头函数this指向问题而失效。整体代码可在浏览器中运行,满足无外部依赖的要求,但图表实现质量有待提升。 【GEMINI】该生成结果极高质量地完成了所有开发任务。代码结构优雅,在不依赖任何外部库的情况下,利用原生 JS 和 Canvas API 构建了一个功能完备、交互流畅的数据报表页面。逻辑注释清晰,完全符合资深前端工程师的角色设定。 【KIMI】该实现基本满足了所有功能需求,代码结构清晰、注释合理,五大区域完整呈现。主要扣分点在于 Canvas 图表的细节完善度(标签语义、数值显示)以及刷新按钮的交互 bug。作为基础版报表页面,整体可用性良好,但在视觉精致度和图表信息完整性方面仍有优化空间。
进阶难度评测结果
- 得分:73.2 分
- 通过状态:已通过
模型生成产物
以下是该模型针对此任务的实际生成内容:
数据分析报表页面 :root{ --primary:#4e73df; --secondary:#1cc88a; --bg:#f8f9fc; --text:#212529; --text-light:#6c757d; --card-bg:#ffffff; --card-shadow:rgba(0,0,0,0.1); --border:#dee2e6; } body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:var(--text);} .filter-bar{display:flex;align-items:center;padding:10px;background:var(--card-bg);box-shadow:0 2px 4px var(--card-shadow);gap:10px;flex-wrap:wrap;} .quick-btn{padding:5px 10px;background:var(--primary);color:#fff;border:none;border-radius:4px;cursor:pointer;} .quick-btn.active{background:var(--secondary);} #data-type{padding:5px;border-radius:4px;border:1px solid var(--border);} #refresh-btn,#export-btn{padding:5px 10px;background:var(--primary);color:#fff;border:none;border-radius:4px;cursor:pointer;} .summary-cards{display:flex;gap:10px;flex-wrap:wrap;padding:10px;} .card{flex:1 1 200px;background:var(--card-bg);padding:10px;border-radius:4px;box-shadow:0 1px 3px var(--card-shadow);display:flex;flex-direction:column;} .card .name{font-weight:bold;margin-bottom:5px;} .card .value{font-size:1.5em;margin-bottom:5px;} .card .change{display:flex;align-items:center;font-size:0.9em;} .card .change i{margin-right:3px;} .card .change.yoy{color:var(--secondary);} .card .change.mom{color:var(--secondary);} .trend-analysis{padding:10px;} .tabs{display:flex;gap:5px;margin-bottom:5px;} .tab-btn{padding:5px 10px;border:none;background:var(--border);color:var(--text);cursor:pointer;border-radius:4px;} .tab-btn.active{background:var(--primary);color:#fff;} .distribution-analysis{display:flex;gap:10px;flex-wrap:wrap;padding:10px;} .pie-chart,.bar-chart{flex:1 1 300px;background:var(--card-bg);padding:10px;border-radius:4px;box-shadow:0 1px 3px var(--card-shadow);} .detail-table{padding:10px;} .search-bar{margin-bottom:5px;} .search-bar input{width:100%;padding:5px;border-radius:4px;border:1px solid var(--border);} table{width:100%;border-collapse:collapse;} thead{background:var(--primary);color:#fff;}...
AI 评审点评
以下是 AI 评审对该模型输出的点评:
【CLAUDE】该实现完成了数据分析报表页面的基础框架,核心联动机制、图表渲染、表格功能均有实现,代码组织具备一定模块化水平。但存在多处功能细节缺失(同比/环比颜色区分失效、日/周/月视图无实质差异、Tooltip未定制)、视觉精致度不足(卡片样式简陋、响应式覆盖有限)以及若干代码bug(CSS display冲突、事件冒泡问题、无效CDN引用)。整体属于「功能可用但体验粗糙」的水平,距离进阶交互版的要求仍有差距。 【GEMINI】这是一个高质量的进阶数据报表实现。模型准确理解了复杂的联动需求,不仅在功能上完全达标,还在细节(如数字滚动动画、加载遮罩、排序图标)上表现出色。代码结构优雅,完全符合资深前端工程师的定位。 【KIMI】该实现完成了数据分析报表页面的基础功能框架,核心交互链路通畅,代码可在单HTML文件中独立运行。主要短板在于:趋势视图切换的数据聚合逻辑缺失、指标卡片颜色区分未正确实现、以及代码模块化组织仍有提升空间。作为进阶交互版要求,在数据视图切换的深度实现和视觉细节打磨上尚未完全达标,但整体达到可用状态。
困难难度评测结果
- 得分:58.7 分
- 通过状态:未通过
模型生成产物
以下是该模型针对此任务的实际生成内容:
```html 数据分析报表页(Hard 级别) /* ============================== 基础样式 & Dark 主题 ============================== */ body{margin:0;font-family:"Helvetica Neue","Arial","sans-serif";background:#1e1e1e;color:#f0f0f0;} header{padding:10px 20px;background:#2b2b2b;display:flex;align-items:center;gap:15px;} header input[type="date"],header select{padding:5px;border:none;border-radius:4px;background:#3c3c3c;color:#f0f0f0;} header button{padding:6px 12px;border:none;border-radius:4px;background:#4caf50;color:#fff;cursor:pointer;} header button:hover{background:#45a049;} main{display:grid;grid-template-columns:1fr 1fr;gap:15px;padding:15px;} section{background:#2b2b2b;border-radius:6px;padding:15px;min-height:400px;position:relative;} section h2{margin-top:0;font-size:1.2rem;} .card-container{display:flex;gap:15px;flex-wrap:wrap;} .card{background:#3c3c3c;border-radius:6px;padding:15px;width:calc(25% - 15px);box-sizing:border-box;} .card h3{margin:0 0 5px;font-size:1rem;} .card .value{font-size:1.5rem;font-weight:bold;} .card .change{font-size:0.9rem;display:flex;align-items:center;} .card .change.positive{color:#4caf50;} .card .change.negative{color:#f44336;} .card .change svg{width:12px;height:12px;margin-right:4px;} /* Toast */ .toast{position:fixed;bottom:20px;right:20px;background:#333;color:#fff;padding:10px 15px;border-radius:4px;opacity:0;transition:opacity .3s;} .toast.show{opacity:1;} /* Table */ .table{width:100%;border-collapse:collapse;} .table th,.table td{padding:8px 12px;border-bottom:1px solid #444;text-align:left;} .table th{cursor:pointer;position:relative;} .table th .sort-icon{width:10px;height:10px;display:inline-block;margin-left:5px;} .table th .sort-icon.asc{background:url('data:image/svg+xml;utf8,') no-repeat center;background-size:contain;} .table th .sort-icon.desc{background:url('data:image/svg+xml;utf8,') no-repeat center;background-size:contain;} /* Pagination */ .pagination{display:flex;gap:5px;margin-top:10px;} .pagination button{padding:5px...
AI 评审点评
以下是 AI 评审对该模型输出的点评:
【CLAUDE】该实现在架构设计层面展现了良好的模块化思维,四个核心模块的职责划分清晰,代码组织有一定专业性。然而,Hard级别要求的多个核心功能严重缺失或未正确实现:最关键的汇总指标卡片(KPI Cards)完全未实现,饼图/柱状图数据钻取功能缺失,表格搜索高亮缺失,数字滚动动画定义但未调用,多处存在运行时错误(JSON.parse空字符串、事件绑定时序问题)。整体完成度约为需求的40-50%,距离Hard级别的完整实现差距较大,更接近一个功能骨架而非完整可用的数据分析报表页面。 【GEMINI】该生成结果在代码架构和工程化思维上表现优秀,模块化拆分清晰,易于维护。在视觉上也较好地完成了深色大屏风格的设定。然而,在功能实现上存在明显硬伤,特别是漏掉了「汇总指标卡片」这一核心组件,且未按要求实现饼图/柱状图的「数据钻取」深度交互逻辑,导致其在 Hard 级别的任务达成度上有所欠缺。 【KIMI】该实现作为Hard级别任务完成度偏低,最关键的汇总指标卡片完全缺失,数据钻取等核心交互功能未实现或实现不完整。代码虽采用模块化结构,但实际运行时存在事件绑定失效、样式类名不匹配等执行层问题。视觉呈现停留在基础深色主题,缺乏数据大屏应有的专业质感与动画效果。建议在功能完整性、视觉精细度、代码健壮性三方面重点改进。
相关链接
您可以通过以下链接查看更多相关内容: