CodeGenie HarmonyOS UI Increment Eval
首页现在同时承担 benchmark 结果页与运营分析看板角色。先看真实耗时,再通过工具、等待和占比分析定位瓶颈任务。
运营分析
以下分析只统计成功匹配 export.json 的任务,真实耗时优先,百分比作为辅助解释。
可分析会话 1 / 1
覆盖率 100.0%,通过率 100.0%。
150.72 s
总 assistant 耗时,用于拆解 LLM、工具、等待等会话内时间分布。
8 calls
先看总量,再看最常被调用的工具和最常加载的 skills。
- read2 calls
- glob2 calls
- edit1 calls
- switch_cwd1 calls
- build_project1 calls
- -
10.77 s
当前样例未发现外部集成 / MCP。
- build_project10.72 s
- glob26 ms
- read9 ms
- edit9 ms
- switch_cwd1 ms
时间瓶颈
优先点开这些任务,通常最能解释整体变慢的原因。
Apply incremental UI change and verify by independent judge
306.50 s · 占同类总量 100.0%
等待 136.33 s
查看会话详情Apply incremental UI change and verify by independent judge
3.62 s · 占同类总量 100.0%
推理 3.62 s · 等待 136.33 s
查看会话详情Apply incremental UI change and verify by independent judge
10.77 s · 占同类总量 100.0%
build_project (10.72 s)
查看会话详情Apply incremental UI change and verify by independent judge
136.33 s · 占同类总量 100.0%
占该任务总耗时 90.5%
查看会话详情Apply incremental UI change and verify by independent judge
177,260 tokens · 占同类总量 100.0%
tools 8
查看会话详情Apply incremental UI change and verify by independent judge
8 calls · 占同类总量 100.0%
build_project (10.72 s)
查看会话详情By Kind
按任务类型查看 benchmark 结果分布,零数据项会自动弱化显示。
JS Crash 修复
当前报告中没有该类型任务。
项目从 0 到 1
当前报告中没有该类型任务。
UI 增量迭代
通过率 100.0%,共 1 个任务。
安卓迁移鸿蒙
当前报告中没有该类型任务。
Tasks
任务默认折叠;先看真实耗时摘要,再展开查看会话分析与 step 指标。
PASSUI 增量迭代verify
Apply incremental UI change and verify by independent judge
ui-case-001 · 全部断言通过,任务完成。
LLM 3.62 s · Tools 10.77 s · Wait 136.33 s · tool占比 7.1%
306.50 s30,020 tokens15 tools0 skills
Apply incremental UI change and verify by independent judge
ui-case-001 · 全部断言通过,任务完成。
任务概览
Task ID: ui-case-001
Session: ses_24bda5eecffeCslLg1pqnfH3VS
Workspace: C:\Users\xi\Desktop\bench_mark\codegenie-cli-benchmark\artifacts_codegenie\artifact_ui-paradigm_20260422154417202\runs\ui-case-001
会话分析
任务总耗时: 306.50 s
LLM: 3.62 s
Tools: 10.77 s
Wait: 136.33 s
Tool Calls: 8
主要工具: build_project (10.72 s)
耗时占比: 100.0%
工具 / 技能
Tools: glob (3), read (2), switch_cwd (2), build_project (2), start_app (2), edit (1), bash (1), verify_ui (1), write (1)
Skills: -
断言结果
- PASS file exists: UIApp/entry/build/default/outputs/default/entry-default-unsigned.hap
- PASS file ".codegenie-eval/ui-verify-result.txt" contains expected text
| Step | Stage | Pass | Time | Tokens | Tools | Skills | Prompt | Failure |
|---|---|---|---|---|---|---|---|---|
| build | build | PASS | 151.89 s | 25,788 | 8 | 0 | 请直接在现有鸿蒙工程里做一次 UI 增量改造,不要新建项目,不要改动与需求无关的文件。 【需求】 - 现有首页 `UIApp/entry/src/main/ets/pages/Index.ets` 是一个默认的 Hello World 页面 - 在首页主文本下方新增一个按钮(Button 组件,不是 Text 也不是注释) - 按钮文案必须严格等于:`新增按钮文案` - 点击该按钮后,必须把页面主文案 `@State message` 修改为:`按钮被点击了` - 尽量保持原有页面结构,只做完成需求所需的最小改动 【硬性约束】 - 仅修改完成需求所必须的源码 - 改造完成后,请执行构建(推荐使用 build_project 工具,或直接运行 hvigorw assembleApp) - 必须确保 entry 模块的产物文件 `UIApp/entry/build/default/outputs/default/entry-default-unsigned.hap` 成功落盘后再结束本步 - 改造必须保证应用能在 HarmonyOS 模拟器/真机上正常启动到首页(不允许只编译过、运行就崩或卡白屏),下一步会用 start_app + verify_ui 在真机上端到端校验 | - |
| ui_verify | verify | PASS | 152.67 s | 4,232 | 7 | 0 | 你是一个独立的 UI 端到端校验员。本会话与之前任何对话无关,必须在 HarmonyOS 模拟器/真机上**真实运行**改造后的应用,通过 verify_ui 工具驱动 UI 行为完成校验。**严禁**仅靠读取源代码就给出判定。 【工程定位】 - 当前工作目录下的鸿蒙工程目录为:`UIApp` - 必要时先 `switch_cwd` 到 `UIApp` - 若 `UIApp/entry/build/default/outputs/default/entry-default-unsigned.hap` 不存在,可先调用 `build_project` 重新构建 【需求】(必须逐条在真机 UI 上验证) 1. 启动应用后,首页能看到 `Hello World`(或其他原始 message 文案,证明应用真的启动到了首页且没崩) 2. 首页存在一个真实可见、可点击的 Button,文案严格等于:`新增按钮文案` 3. 点击该 Button 之后,首页主文案变更为:`按钮被点击了` 【执行流程】(必须按序) 1. 调用 `start_app`,参数 `freshStart=true`,bundleName 留空让工具从工程读取,把应用安装并冷启动到模拟器/真机 2. 调用 `verify_ui` 工具,传入下列 testPlan(自然语言): ``` step 1: 等待应用进入首页。预期结果:首页显示 "Hello World" 文本,且页面没有崩溃或白屏。 step 2: 在首页查找一个文案为 "新增按钮文案" 的按钮。预期结果:能找到该按钮,按钮可见、可点击。 step 3: 点击文案为 "新增按钮文案" 的按钮。预期结果:点击成功。 step 4: 检查首页的主文案。预期结果:原本的 "Hello World" 已经变成 "按钮被点击了"。 ``` 3. 等待 `verify_ui` 返回结果 4. 如有需要,可调用 `save_ui_screenshot` / `get_ui_verification_log` 收集证据辅助判定 【判定规则】 - `verify_ui` 报告 step 1~4 全部通过 → 整体 PASS - 任一 step 未通过、或 `start_app` / `verify_ui` 工具本身报错 → 整体 FAIL - **不允许仅靠 read 源码做判定**;如果设备/模拟器不可用,也必须把它判为 FAIL 并写明原因,不允许退化成"看代码说 PASS" 【输出协议】(最后一步必须执行,不可省略) - 用 `write` 工具写文件 `.codegenie-eval/ui-verify-result.txt` - 全部 PASS → 文件内容仅一行:`__UI_VERIFY__=PASS` - 任一 FAIL → 首行 `__UI_VERIFY__=FAIL`,第二行起写:哪一个 step 失败、verify_ui 返回的具体原因(截取关键日志即可) | - |
Report generated from benchmark JSON with linked session export visualizations.