用户意图分类
本文提出了一套完整的代码开发意图分类体系,将用户指令划分为13个大类(如代码操作、代码分析、文件操作等)和35个子类。每个子类对应特定的处理工具或代理(Agent),如代码操作使用AST/sandbox代理,代码搜索采用精确匹配或语义检索,测试验证调用sandbox代理等。该分类体系通过模块化的代理分工,实现了从用户意图识别到具体工具调用的全流程映射,为智能编程助手提供了清晰的任务分解框架。
·
flowchart TD
%% 用户输入意图
A[用户输入指令 / 意图] --> B{意图识别}
%% 意图分类
B --> C1[代码操作 / 编辑]
B --> C2[代码搜索 / 分析]
B --> C3[文件 / 项目操作]
B --> C4[测试 / Sandbox]
B --> C5[文档 / 注释]
B --> C6[数据 / ML]
B --> C7[交互 / UI]
B --> C8[任务 / To-Do]
B --> C9[咨询 / 闲聊 / 教育]
B --> C10[跨语言 / 迁移]
B --> C11[系统 / DevOps]
B --> C12[分析 / 报告]
B --> C13[其他 / 自定义]
%% 代码操作下的典型工具
C1 --> D1[AST / patch → sandbox → write agent]
C1 --> D2[refactor agent → AST]
C1 --> D3[profiling agent → sandbox → write]
%% 代码搜索 / 分析
C2 --> E1[grepped → 精确匹配]
C2 --> E2[explored → embedding top-K]
C2 --> E3[call graph agent → 调用关系分析]
C2 --> E4[static analysis agent → AST 检查]
C2 --> E5[sandbox agent → 动态分析]
%% 文件 / 项目操作
C3 --> F1[create_file / create_folder agent]
C3 --> F2[filesystem agent → 删除 / 移动 / 重命名]
C3 --> F3[generator agent → 脚手架 / 模板]
%% 测试 / Sandbox
C4 --> G1[test agent → 单元测试 / 断言]
C4 --> G2[sandbox agent → patch 验证]
%% 文档 / 注释
C5 --> H1[doc agent → 自动生成文档 / 注释]
C5 --> H2[doc agent → TODO / 注释补全]
%% 数据 / ML
C6 --> I1[data agent → 数据处理 / ETL]
C6 --> I2[ml agent → 模型训练 / 推理]
%% 交互 / UI
C7 --> J1[read → explored → write agent → 前端表单 / API]
C7 --> J2[sandbox agent → write → UI 验证 / 前端校验]
%% 任务 / To-Do
C8 --> K1[planner agent / MCP → 拆解任务]
C8 --> K2[executor agent → 执行 / 打勾 step]
%% 咨询 / 闲聊 / 教育
C9 --> L1[QA agent / LLM → 技术问答 / 原理]
C9 --> L2[Tutorial agent / LLM → 使用指导 / 教程]
C9 --> L3[Chat agent / LLM → 闲聊 / 打发时间]
%% 跨语言 / 迁移
C10 --> M1[translation agent → 语言迁移 / 翻译]
%% 系统 / DevOps
C11 --> N1[devops agent → CI/CD / workflow / 容器 / 配置]
%% 分析 / 报告
C12 --> O1[profiling agent → 性能分析]
C12 --> O2[report agent → 报告 / 日志 / 统计]
%% 其他
C13 --> P1[custom agent → 用户自定义操作]
用户意图分类成代码操作 + 咨询/交互 + 系统/文档等,我们可以扩展成更全的版本。
我给你梳理一个更完整的意图分类表,按大类分,并标注典型调用的工具/Agent/MCP:
Cursor 意图识别全分类表(Intents → Tool/Agent/MCP)
| 大类 | 子类 / 描述 | 下一步调用 / Agent / MCP / Tool | 说明 |
|---|---|---|---|
| 代码操作 / 编辑 | 修改已有函数 / 方法 | write agent / sandbox | AST 安全修改,diff patch |
| 增加逻辑 / 验证 | read → explored → sandbox → write | 自动分析上下游依赖和调用关系 | |
| 重构 / 优化 | refactor agent + AST | 保证调用关系和引用完整 | |
| 修复 bug / error | explored + grepped → sandbox → write | 定位错误文件,后测试修改 | |
| 性能 /内存优化 | profiling agent → sandbox → write | 分析热点函数,尝试改写 | |
| 代码搜索 / 分析 | 精确字符串匹配 | grepped | 快速定位文件和行 |
| 模糊 / 语义搜索 | explored | Embedding 检索 top-K 文件片段 | |
| 调用依赖分析 | explored + call graph agent | 构建函数调用图或依赖图 | |
| 静态分析 | static analysis agent | AST 检查、类型检查 | |
| 动态分析 | sandbox agent | 运行代码片段收集信息 | |
| 文件 / 项目操作 | 创建 / 删除 / 移动 / 重命名文件夹或文件 | filesystem agent | 同步更新 To-Do List |
| 修改配置文件(JSON/YAML/TOML/ini) | write agent | AST 或树形结构安全修改 | |
| 脚手架 / 模板生成 | generator agent | 初始化项目或模块结构 | |
| 测试 / Sandbox | 单元测试 / 断言 | test agent / sandbox | 隔离环境执行,保证 patch 安全 |
| 模拟运行 / patch 验证 | sandbox agent | 验证生成的代码是否可执行 | |
| 文档 / 注释 | 生成文档 / 注释 | doc agent | 自动生成函数、类注释 |
| TODO / 注释补全 | doc agent | 分析 AST 提取函数签名和参数 | |
| 数据 / ML | 数据预处理 / ETL | data agent | 修改代码或 notebook cell |
| 模型训练 / 推理 | ml agent | 调用 pipeline / sandbox 环境 | |
| 交互 / UI | 修改前端表单 / API | read → explored → write agent | 分析调用关系,保证后端兼容 |
| 增加前端验证 / UI 校验 | sandbox agent → write | AST + DOM / JSX / TSX 安全修改 | |
| 任务 / To-Do | 生成 To-Do List | planner agent / MCP | 将复杂任务拆解成步骤,每步可打勾执行 |
| 执行 / 打勾单步 | executor agent | 每步对应 read/write/explored/sandbox/tool | |
| 咨询 / 闲聊 / 教育 | 技术问答 / 原理讲解 | QA agent / LLM | 回答知识、原理、概念性问题 |
| 使用指导 / 操作指南 | Tutorial agent / LLM | 提供工具或框架使用示例 | |
| 闲聊 / 打发时间 | Chat agent / LLM | 无特定目标,只维持对话 | |
| 跨语言 / 迁移 | 跨语言迁移 / 翻译 | translation agent | Java→Kotlin、Python→JS等 |
| 系统 / DevOps | CI/CD pipeline / workflow 修改 | devops agent | 修改 yaml / workflow 文件 |
| 容器 / 环境配置 | devops agent / shell agent | Dockerfile / Terraform / Ansible | |
| 分析 / 报告 | 性能分析 / profiling | profiling agent | 分析热点函数或瓶颈 |
| 报告生成 | report agent | 输出分析、日志、统计信息 | |
| 其他 | 边缘任务 | custom agent | 用户自定义工具或操作 |
⚡ 特别说明
- 咨询/闲聊类现在明确加入:
- 技术问答 / 教程 / 操作指导
- 闲聊 / 维持对话
- LLM 直接回答,不一定触发工具链
- 代码意图类依旧结合:
- AST / patch / sandbox / explored / grepped / read / write
- Planner / MCP → 拆解复杂任务 → To-Do List → 执行 Loop
- MCP(Multi-Choice Planner)作用:
- 拆解复杂任务(如“给 Email 增加验证”)
- 输出每个 step 对应工具(read/explored/sandbox/write/create)
- 支持用户或 Agent 打勾执行
更多推荐


所有评论(0)