Cursor最佳实践之二:提问技巧

一. 最佳实践

短对话优于长对话,保持对话简短、专注,每个对话只做一件事

二. 实践前提

先要自己理解问题,把复杂问题解构成一个个的小问题或步骤,用AI做任务,而不是决策

三. 底层原理

LLM的工作方式是基于概率最大预测下一个token,每次只预测一个token,流式输出,无法修改之前输出的内容,一旦中间一步走偏,会沿着偏差继续自圆其说。对话拆分本质上是任务拆分,短对话也更容易追踪,每个对话都有明确的目标,中间可以不断"尝试--反馈---调整",这样做的好处:

  1. 每一步都可控,容易发现问题

  2. 可以根据实际情况调整方向

  3. 降低出错概率

  4. AI 理解更准确

四. 实践示例

错误示例:

XML 复制代码
"帮我完成整个标签管理模块,包括增删改查、权限控制、日志记录、数据验证、异常处理、单元测试"

正确示例:

XML 复制代码
Step 1: "帮我设计标签表的数据库结构"
Step 2: "生成标签实体类和 Mapper"
Step 3: "实现标签列表的分页查询功能"
Step 4: "添加标签新增功能,并处理唯一性校验"
Step 5: "为新增功能添加参数验证"
Step 6: "添加操作日志记录"

一个典型的工作流程:

XML 复制代码
功能:用户登录后的会话管理
[对话 1] 调研现有代码结构    
├── 了解 auth 模块的实现    
├── 查看 session 管理的现状    
└── 输出:关键文件列表和当前架构理解

[对话 2] 实现基础功能    
├── 参考对话 1 的发现    
├── 实现核心的 session 保存逻辑   
└── 输出:基础实现代码

[对话 3] 添加错误处理    
├── 参考对话 2 的实现    
└── 增加边界情况处理

[对话 4] 编写测试    
├── 参考对话 2、3 的实现    
└── 添加单元测试和集成测试

[对话 5] 代码审查    
├── 检查实现是否符合项目规范    
└── 确认没有引入安全问题

[对话 6] 清理和重构    
└── 根据审查结果进行调整

注:上面代码引用自https://mp.weixin.qq.com/s/Zlwn42KyfjgwfX6lp-JthQ

五. 实战建议

  1. 复杂任务拆解成 5-10 个小步骤

  2. 每个步骤完成后验证再继续

  3. 遇到问题及时调整,不要硬推

  4. 重要步骤让 AI 解释思路

六. 提问工程学

  1. 结构化提问框架:CRISP法则
XML 复制代码
C - Context 上下文
R - Requirements 需求
I - Input/Output 输入输出
S - Style/Constraints 风格约束
P - Priority 优先级

示例应用:

XML 复制代码
基于CRISP框架的完美提问:

[上下文]
我正在开发电商平台的订单服务,当前文件结构:
- OrderService.js (主服务类)
- OrderRepository.js (数据访问层)
- OrderValidator.js (验证逻辑)

[需求]
需要实现一个批量更新订单状态的功能,支持事务处理

[输入输出]
输入:orderIds数组,targetStatus字符串,operatorId
输出:成功更新的订单数量,失败详情列表

[风格约束]
1. 使用async/await
2. 遵循公司ESLint配置(Airbnb风格)
3. 包含完整的错误处理
4. 添加JSDoc注释
5. 支持数据库事务回滚

[优先级]
先实现核心功能,再添加日志和监控

七. 提问模板

XML 复制代码
[背景] 
我正在{工作上下文},涉及{技术栈}。

[目标]
需要实现{具体功能},解决{业务问题}。

[约束条件]
- 必须遵循{公司规范}
- 性能要求{具体指标}
- 安全性考虑{具体要求}

[示例参考]
类似功能的代码片段或API设计。

[期望输出]
请提供{代码/设计/建议},并解释{关键决策点}。
相关推荐
番茄去哪了1 小时前
python基础入门(一)
开发语言·数据库·python
人道领域2 小时前
MyBatis-Plus为何用JavaBean映射数据库表及乐观锁实战
java·开发语言·数据库
bai_lan_ya2 小时前
makefile通用解析
java·运维·数据库
月下雨(Moonlit Rain)2 小时前
数据库笔记
数据库·笔记
m0_528749002 小时前
sql基础查询
android·数据库·sql
先做个垃圾出来………2 小时前
Django vs Flask 异步视图性能对比:数据驱动的深度分析
数据库·django·flask
tryCbest2 小时前
Oracle恢复已损坏定时任务(Jobs)
数据库·oracle
蒸蒸yyyyzwd3 小时前
数据库学习笔记
数据库·笔记
TDengine (老段)3 小时前
TDengine IDMP 数据可视化——富文本
大数据·数据库·物联网·ai·时序数据库·tdengine·涛思数据