本文档记录 SmartCodeCheck 的功能演进规划,涵盖 工程增强、交互体验升级 以及 研究向能力扩展。
痛点
当前检测结果以文本提示为主(如 “Line 15 has a security risk”),用户需要在编辑器中手动定位对应行,使用成本较高。
规划方案
- 前端基于 CodeMirror Decoration API
- 后端返回结构化定位信息,例如:
{ "line": 15, "type": "error", "message": "Potential SQL Injection" }
-
在对应代码行实现:
- 波浪线 / 背景高亮
- 行尾问题图标
- Hover / Click Tooltip 显示问题详情
目标效果 提供接近 VS Code / PyCharm 的专业审计体验。
痛点 用户在获知问题后仍需手动修改代码,修复成本高。
规划方案
-
在每条检测建议下提供 “✨ 应用修复” 按钮
-
后端返回建议的修复代码片段
-
前端基于 diff / range replacement:
- 精确替换问题代码区间
- 保留用户未修改部分
目标效果 将“发现问题 → 修复问题”压缩为一次点击。
痛点 用户不理解模型给出结论的原因,缺乏解释与交互。
规划方案
-
在检测报告底部提供 mini Chat 窗口:
“对这份分析有疑问?向 AI 追问”
-
对话上下文自动绑定:
- 当前代码
- 检测维度
- 原始分析结果
研究价值 支持对 LLM 判断依据、推理过程的交互式探索。
痛点 当前分析需等待全部完成后一次性返回,用户等待焦虑感较强。
规划方案
-
后端改为 Server-Sent Events (SSE):
- 模型生成内容逐步推送
-
前端实现“打字机式”分析输出
-
支持:
- 中途取消
- 流式 + 最终结构化结果并存
目标效果 显著提升主观响应速度与使用体验。
使用场景 研究者或工程团队需要对 大量代码样本(10²–10³) 进行统一评估。
规划方案
-
支持上传:
.jsonl.csv
-
后端批量执行分析任务
-
前端展示:
- 样本级结果表格
- 维度均值 / 分布统计
-
支持导出:
- 汇总报表
- 实验原始数据(用于论文)
研究价值 直接服务于 LLM 代码生成与评测实验。
现状 当前仅使用统一的“代码审计专家”角色。
规划方案
引入多种可选审计 Persona:
-
👮 安全专家模式
- 极度保守,风险零容忍
-
⚡ 性能极客模式
- 聚焦时间复杂度与内存
-
🎓 新手导师模式
- 强调可读性与教学友好解释
研究价值 探索 Prompt Persona 对 LLM 代码评估行为的影响。
目标 支持基于特定组织 / 项目的代码规范进行审计。
规划方案
-
允许用户上传:
- PDF / Markdown 规范文档
-
构建向量索引(RAG)
-
检测时:
- 将规范内容作为外部知识注入 Prompt
- 判断代码是否违反“私有规范”
应用场景
- 企业内部代码审计
- 教学 / 竞赛定制规则
- 研究特定规范对生成代码的约束效果
功能定位 为用户提供无需登录即可使用核心能力的轻量模式,降低使用门槛并增强隐私保障。
支持能力
- 单代码深度分析
- A/B 代码对比分析
- 所有分析维度与模型能力与登录用户一致
限制策略
- 不创建用户账号
- 不保存任何历史记录
- 不支持结果持久化与跨会话恢复
设计意义
- 便于首次体验与公开展示
- 满足对隐私敏感的使用场景
- 降低系统状态管理复杂度
- Roadmap 并非承诺,功能可能随研究进展调整