Skip to content

Latest commit

 

History

History
224 lines (167 loc) · 5.11 KB

File metadata and controls

224 lines (167 loc) · 5.11 KB

祖龙系统用户体验改进方案

目标:对标Qoder/CodeArts,提升任务执行透明度、交互性和用户友好度

日期:2026-05-18


一、现状分析

1.1 当前缺失功能

功能 Qoder 祖龙 影响
任务进度汇报 ✅ "已探索"、"已操作" 用户不知道执行到哪一步
思考过程展示 ✅ "深度思考·1s" 用户觉得系统卡住
阶段性输出 ✅ 每步输出分析 ⚠️ 仅最终报告 用户无法中途理解
用户交互点 ✅ 选择/确认 用户无法干预
任务总结 ✅ 结构化摘要 相当

1.2 根因

  1. 架构理念:祖龙追求"全自动",Qoder追求"人机协作"
  2. 消息体系:缺少progress、thinking_step等事件
  3. 前端展示:未启用已有的reasoning展示功能

二、改进方案(优先级排序)

P0:任务进度汇报(立即实施)

2.1.1 后端新增task_progress事件

位置zulong/ide/ide_fc_runner.py

事件定义

{
    "type": "task_progress",
    "phase": "started|thinking|executing|analyzing|completed",
    "message": "人类可读的进度描述",
    "current_turn": 3,
    "max_turns": 100,
    "tools_executed": ["read_file", "search_files"],
    "timestamp": 1234567890.123
}

Phase阶段定义

  • started:任务开始
  • thinking:模型推理中
  • executing:工具执行中
  • analyzing:结果分析中
  • completed:任务完成

2.1.2 关键节点推送进度

位置

  1. FC循环启动:ide_fc_runner.py:333 (FC_START)
  2. 每轮循环开始:ide_fc_runner.py:345 (while True)
  3. 模型调用前:ide_fc_runner.py:400 (CALLING_MODEL)
  4. 工具执行前:ide_fc_runner.py:430 (tool_request)
  5. 任务完成:ide_fc_runner.py:590 (task_complete)

P1:思考过程展示(高优先级)

2.2.1 启用display_reasoning

后端

  • 在模型返回thinking时,调用send_callback("display_reasoning", ...)
  • 展示模型推理过程

前端

  • Extension已有display_reasoning处理逻辑
  • 只需后端调用即可启用

2.2.2 阶段性问题分析输出

时机

  • 每完成一个主要工具调用后
  • 输出中间分析结果

实现

# 工具执行后,推送中间分析
if tool_name in ["read_file", "search_files", "grep"]:
    await send_callback("display_text", {
        "text": f"✅ 已{tool_name},发现{result_count}个结果",
        "turn": state.fc_turn,
        "streaming": False,
        "phase": "intermediate"
    })

P2:任务总结报告(中优先级)

2.3.1 结构化完成报告

在task_complete时发送总结

await send_callback("task_complete", {
    "result": final_text,
    "summary": {
        "total_turns": state.fc_turn,
        "tools_used": tools_used_list,
        "files_read": files_read_list,
        "files_modified": files_modified_list,
        "issues_found": issues_count,
        "suggestions": suggestions_list
    }
})

P3:前端UI增强(后续优化)

2.4.1 处理task_progress事件

Extension端zulong-ide/src/core/api/providers/zulong.ts

this.transport.on("task_progress", (progress) => {
    pushChunk({
        type: "progress",
        phase: progress.phase,
        message: progress.message,
        current: progress.current_turn,
        max: progress.max_turns
    })
})

2.4.2 进度条组件

旧 IDE 内嵌前端(已移除):新增进度展示组件

  • 显示当前阶段
  • 显示进度百分比
  • 显示执行的工具列表

三、实施计划

阶段一:P0核心改进(今天完成)

  1. ✅ 后端新增task_progress事件
  2. ✅ FC循环关键节点发送进度
  3. ✅ Extension处理task_progress
  4. ✅ 验证进度展示

阶段二:P1体验优化(明天完成)

  1. 启用display_reasoning
  2. 阶段性问题分析输出
  3. 优化display_text时机

阶段三:P2功能增强(本周完成)

  1. 结构化完成报告
  2. 任务统计信息
  3. 影响文件列表

阶段四:P3 UI优化(下周完成)

  1. 进度条组件
  2. 阶段可视化
  3. 交互点设计

四、预期效果

改进前:

用户输入 → ...黑箱... → 最终报告
体验:不知道在干什么,觉得卡住

改进后:

用户输入
↓
[开始] 正在分析任务...
↓
[思考] 深度推理中 (Turn 1/100)
↓
[执行] 读取文件: ide_fc_runner.py
↓
[分析] 发现5个潜在问题
↓
[思考] 深度推理中 (Turn 2/100)
↓
[执行] 搜索相关代码...
↓
[分析] 定位到根因
↓
[完成] 任务总结报告

体验:清晰知道每一步,有掌控感

五、验收标准

  1. 进度可见:用户能实时看到当前执行阶段
  2. 思考透明:展示模型的推理过程
  3. 阶段清晰:每个主要步骤都有输出
  4. 结果明确:完成时有结构化总结
  5. 性能无损:改进不显著增加延迟

文档生成时间:2026-05-18 负责人:华为云码道(CodeArts)代码智能体