27 程序员问 AI 的万能公式:用 Claude Code/Codex 前先学会问问题
我之前带过几个刚入门的同事做同一个项目。同样的 AI 编程工具有人一天写 500 行代码、完成 3 个功能点有人花了半天连一个接口都没调通。区别在哪不是谁更聪明不是谁打字更快——差在问问题的能力。你在网上看到的各种AI 编程效率提升 10 倍的案例大部分不是因为那个工具更厉害而是写案例的人会问问题。反过来那些觉得AI 也没多好用的人十有八九问题出在提问方式上——不是 AI 不行是你没让它行。同一个需求不同的结果先看一个真实的例子。需求很简单用 Python 写一个函数从 Excel 文件里读取客户数据发邮件通知。常规的提问差用 python 读取 excel 文件发邮件。AI 给了你一个最基本的方案用openpyxl读 Excel用smtplib发邮件。代码能用但你一眼就看出来有问题——没有错误处理、邮件格式是纯文本、附件不会加、多个收件人不会区分。你又要修修补补十分钟。好的提问好帮我写一个 Python 脚本 - 从 input.xlsx 读取客户数据列姓名、邮箱、购买产品、金额 - 根据金额是否大于 1000给对应的客户发不同模板的邮件 - 大客户金额1000HTML 邮件含感谢文案增值服务推荐 - 普通客户纯文本邮件含产品使用提示 - 邮件正文要动态替换客户名和产品名 - 发送后输出发送成功的邮箱列表和发送失败的邮箱列表 - 加日志每条日志带时间戳 Excel 可能含空行读取时跳过。邮箱格式不对的也跳过但记录到日志里。结果完全不同。AI 生成了一个接近生产级别的脚本包含了 Excel 读取、邮件模板引擎、收件人过滤、错误处理、日志记录。这就是好问题跟差问题的差距。不是 AI 的差距是你把需求说清楚了的差距。很多人觉得自己问得已经够清楚了但放到 AI 的视角看看全是坑。你问写一个发邮件的函数AI 不会自己去猜你的收件人从哪里来、邮件正文怎么写、用哪个邮箱服务器、附件要不要、出了异常怎么办。它只能选一个最常见的做法。而这个最常见的做法通常不是你想要的因为每个项目的需求都是独特的。好的提问者不是问题多的人而是能把模糊的需求翻译成 AI 能理解的精确指令的人。这个能力本身就是一个程序员的分水岭——顶级工程师能把改个什么东西变成一段无需追问的精确需求普通工程师说半天对方还是不明白。AI 只是把这种差距放大了 10 倍。为什么差问题最坑人差问题更隐蔽的坑在于它给你的答案看起来能用。你执行了那个脚本发现没有错误处理你感觉还行再加几行就好了。但等你把错误处理加完、异常逻辑补上、邮件格式改成 HTML、再加上日志——你花的时间可能比从头写还要多。AI 给的差答案干扰性比没有 AI 还强。ta 给了你一个立刻能用但不够好的答案你花了更多时间在修补这个半成品上。所以我的原则是与其花两分钟给 AI 一个模糊的问题然后花二十分钟修修补补不如花五分钟写一个精确的 prompt让 AI 一次性输出你真正需要的东西。这点时间的投入后面的收益是几十倍的。万能提问公式场景 目标 约束 输出问过上百次问题之后我总结了一个四步提问公式适用于几乎所有 AI 编程工具——Claude Code、Codex、Cursor都一样。第一步给场景告诉 AI 你当前在做什么。让 AI 理解上下文而不是从零猜测。我正在做一个 Spring Boot 3 的后端项目使用 JPA MySQL。 当前在写订单模块的 Service 层。第二步定目标告诉 AI 你需要什么。需求要具体帮我优化一下这种话对 AI 没有任何意义。需要实现一个订单取消功能。用户取消订单后更新订单状态为 CANCELLED、恢复商品库存、如果已支付需要退款。第三步列约束把限制条件说清楚。技术栈、性能要求、安全策略——这些不说 AI 会按一般人的方式去做。- Spring Boot 3.2 Java 17 - 使用 Transactional 保证原子性 - 退款调用外部 PaymentService需要 try-catch 处理失败情况 - 每个操作打日志区分 INFO 和 WARN - 不要用 Autowired 字段注入用构造方法注入第四步定输出告诉 AI 你期望输出的形式。接口签名、文件命名、注释风格——AI 默认给的你不一定满意。输出格式 - 三个文件OrderCancelService.java接口、OrderCancelServiceImpl.java实现、OrderCancelServiceTest.java测试 - 每个公开方法加 JavaDoc - 测试覆盖正常取消、已取消订单再次取消、退款失败这 3 个场景四步连起来就是完整的 prompt【场景】我正在做一个 Spring Boot 3 的后端项目使用 JPA MySQL当前在写订单模块的 Service 层。 【目标】需要实现一个订单取消功能。用户取消后更新订单状态为 CANCELLED、恢复商品库存、如果已支付需退款。 【约束】Spring Boot 3.2 Java 17用 Transactional 保证原子性退款调用 PaymentService 并 try-catch 处理失败。 【输出】三个文件接口、实现、测试。每个方法加 JavaDoc。测试覆盖 3 个场景。如果你希望每次提问都不用写这么多字把项目和工具的通用约束写到 CLAUDE.md参考上一篇文章然后每次都只写目标和特殊约束就够了。不同场景的最佳提问姿势不同的编程场景提问的侧重点不一样。我把常见场景的提问模板列出来。场景一写功能这是最常见的场景。重点是把想要的行为描述清楚不能有歧义。模板实现 [功能名称]需要做什么。 输入xxx输出xxx。 边界情况xxxx的情况应该怎么处理。例子实现一个用户注册接口。 前端传 username、password、email 三个字段。 注册时校验 username 不能重复password 用 bcrypt 加密。 邮箱非必填不填则不发送验证邮件。 注册成功返回 201 和用户信息失败返回 400 和错误原因。场景二修 Bug修 Bug 的关键是复现步骤。没有复现步骤AI 只能猜。模板在 [环境/模块] 遇到了一个 Bug 表现xxxx 触发条件xxxx 期望xxxx 自己排查到的线索xxxx例子在 Chrome 浏览器上用户登录后点击我的订单页面白屏。 控制台报错TypeError: Cannot read properties of undefined (reading length)。 查看 network 发现是 /api/orders 接口返回的数据中 orders 字段为 null。 以前 orders 字段返回的是空数组升级后端接口后改成了 null。场景三重构重构的要点是守住业务不变。告诉 AI 哪些不能改比告诉它怎么改更重要。模板重构 [文件名/模块名]。 目标xxxx提升可读性/性能/可维护性。 限制不能改的——xxxx接口签名/返回格式/业务逻辑。 额外要求重构后跑测试 xxxx。例子重构 OrderService 里的 calculateTotal 方法这个方法有 150 行。 目标拆成不超过 20 行的小方法把价格策略提取到单独的策略类。 限制方法签名不能改输入输出不能变、金额精度不能丢、已有的测试不能挂。场景四调试调试就是告诉 AI 你看到了什么让它判断原因和解决方案。关键是把完整的错误信息和上下文给到 AI。模板[贴错误信息/截图描述] 出问题的代码 [贴代码] 项目配置[技术栈版本] 出现频率必现/偶现例子Caused by: org.hibernate.LazyInitializationException: could not initialize proxy [com.example.order.entity.Order#123] - no Session 代码 Order order orderRepository.findById(123L).orElse(null); System.out.println(order.getItems().size()); // 这一行报错 项目Spring Boot 3.2 JPA MySQL Controller 里直接查 Entity没有启用 Open-in-view踩过的最深的坑——问 AI 优化我觉得自己踩过最深的坑就是问优化。帮我把这段代码优化一下。十个 AI 有九个会给你来一个泛泛的优化建议——用 Stream API 替换 for 循环、把 if-else 改成 switch——这些优化有时候是负优化。Stream 在简单的遍历场景下比 for 循环慢 3 倍改 switch 只是语法层面变了性能根本没提升。所谓的优化没有具体的目标AI 只能给你做语法糖优化而不是真正的性能优化。正确的问法是这段代码在数据量为 10 万条时执行时间约 2 秒。帮我优化目标数据量 10 万时执行时间 500ms。给出具体的指标AI 才知道你到底要优化什么。两个进阶技巧技巧一给 AI 设角色AI 的角色设定对输出质量影响巨大。不同角色的 AI 输出风格完全不一样。你是一个有 10 年经验的 Spring Boot 架构师代码要经过 code review 级别的质量考验。你是一个安全工程师帮我审查这段代码有没有安全漏洞。你是一个刚加入团队的新手开发者请用最简单直接的方式实现这个功能。设角色不只是一个小技巧它让 AI 调用不同的知识分布去完成你的任务。架构师角色关注的是可扩展性和维护性安全角色关注的是输入校验和 SQL 注入新手角色关注的是简单易懂。技巧二反向提问有时候你应该让 AI 来问你。我现在要在 OrderService 里加一个批量订单导出的功能。 但是可能有几个细节我没想到。先列出你需要的所有信息和要考虑的边界情况我来补充。然后你再开始写代码。AI 会问你这几个问题导出的文件格式分页还是全量数据量大时的处理策略文件上传到哪权限控制导出失败的重试机制时区问题很多你没想到的边界情况AI 会先想到。而且这种做法的一个好处是——你在审 AI 的问题不是 AI 在猜你的需求。前者你很容易判断对错后者你很难判断。技巧三用分步确认代替一步到位写单测或者重构这种偏复杂的工作不要指望 AI 一次搞定全部。我自己用的方法是两步确认法第一步让 AI 出计划我要重构 OrderService 的价格计算方法。你先不要改任何代码只出一个重构方案列出你要改的文件、改动的内容范围、每个改动的理由。看完方案后我批注或修改计划然后发给 AI第二步确认计划后执行以上方案我同意了。请按方案执行执行完后跑测试验证。这种先出计划、确认后再执行的做法能让 AI 的错误率降低一半以上。原因很简单——在计划阶段发现错误比执行阶段发现错误容易得多。AI 出的计划你看一眼就知道合不合理而 AI 直接改完的代码你可能要仔细 debug 才发现有问题。技巧四教 AI 你的话术如果你经常跟同一个 AI 配合可以试试建立一套快捷指令。这些快捷指令放在 CLAUDE.md 里每次 AI 都会读到。例如在 CLAUDE.md 里写当我要求写接口时表示要生成完整的 RESTful API 代码包含 Controller、Service、DTO、Validator、单元测试。 当我要求看代码时表示要分析代码质量给出可读性、性能、安全三个维度的评估。 当我要求改 bug时表示要先定位问题根因、列出复现步骤、再修代码。这样你用简短的指令就能让 AI 完成复杂的任务不用每次都把完整需求再写一遍。既省了 token 又减少了你的打字量。说回开头那个问题。为什么同样的工具有人效率翻倍有人半天出不来不是 AI 工具的区别。真正拉开差距的是提需求的能力。你用 AI 的终极目标不是让工具更聪明而是让自己更懒——但懒的前提是你得把需求说清楚。你说清楚了AI 才能替你干你说不清楚你就得替 AI 收拾烂摊子。一个好问题值 10 行代码。一个好架构师值 1000 个差问题。下次用 AI 之前花 30 秒想想这个问题我把需求说清楚了吗 福利时间私信回复「666」我送你一份《AI编程工具大礼包》- Cursor / Copilot / Codex 对比表PDF- 10 个程序员专属 Prompt 模板- AI Debug 万能提问公式

相关新闻

HoRain云--Pi Agent 交互模式

HoRain云--Pi Agent 交互模式

Slash 命令大全在编辑区输入 / 会触发命令自动补全。以下是 Pi Agent 交互模式下的所有内置命令:命令功能说明/login登录提供商选择 OAuth 订阅或 API Key 提供商进行认证/logout登出清除已存储的认证凭证/model切换模型打开模型选择器,浏览并选择可用的…

2026/10/16 17:41:01 阅读更多 →
AI 时代跨境电商如何获取海外流量?拓氪科技 AIGEO 营销解决方案

AI 时代跨境电商如何获取海外流量?拓氪科技 AIGEO 营销解决方案

在全球消费线上化深度渗透、内容生态全面崛起、跨境电商行业竞争白热化的市场环境下,中小跨境电商的发展模式迎来根本性迭代。行业正式告别传统“平台铺货、低价走量、站内投流”的单一增长模式,全面迈入全域多渠道精细化经营新阶段。过去中小跨境电商依…

2026/10/8 2:18:12 阅读更多 →
自动化工作流:基于 Git Commit 与 LLM 的 Changelog 智能生成

自动化工作流:基于 Git Commit 与 LLM 的 Changelog 智能生成

自动化工作流:基于 Git Commit 与 LLM 的 Changelog 智能生成 在产品快速迭代的过程中,编写对外发布日志(Changelog)往往被开发者当作一项烦人的琐事。直接将原始的 git log 展示给最终用户,充斥着大量的“fix typo”、…

2026/10/16 21:43:45 阅读更多 →

最新新闻

Muse-Glimmer-30B-mxfp8 chat_template 详解:正确书写 System Prompt 与多轮图像对话的完整方法

Muse-Glimmer-30B-mxfp8 chat_template 详解:正确书写 System Prompt 与多轮图像对话的完整方法

【免费下载链接】Muse-Glimmer-30B-mxfp8 项目地址: https://ai.gitcode.com/hf_mirrors/mlx-community/Muse-Glimmer-30B-mxfp8 点击查看 免费下载 Muse-Glimmer-30B-mxfp8 是一个 300 亿参数的多模态视觉语言模型(image-text-to-text)&…

2026/10/17 15:02:41 阅读更多 →
实习面试题总结:从复盘到能力提升的完整指南

实习面试题总结:从复盘到能力提升的完整指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 15:02:41 阅读更多 →
LeetCode接雨水全解法:从暴力到双指针与单调栈

LeetCode接雨水全解法:从暴力到双指针与单调栈

LeetCode 42题,接雨水。如果你刷过几轮算法题,几乎不可能没遇见过它。我自己的感受是,这道题在算法题单里的地位高得吓人,很多面经都把它挂在高频榜上。它不像动态规划有那么曲折的状态定义,也不像图论需要大量前置知识…

2026/10/17 15:02:41 阅读更多 →
OpenResearch:Claude Code、Codex、OpenCode、Cursor 安装配置与协同工作流

OpenResearch:Claude Code、Codex、OpenCode、Cursor 安装配置与协同工作流

1. 从 OpenResearch 这个标题说起:它到底想解决什么问题第一次看到 OpenResearch 这个词,我脑子里冒出来的不是某个具体产品,而是一类很典型的需求:把散落在不同 AI 编程工具里的能力、配置、会话和研究成果,收拢到一个…

2026/10/17 15:02:41 阅读更多 →
显存不足也能跑大模型:airllm分层加载推理实战与性能优化

显存不足也能跑大模型:airllm分层加载推理实战与性能优化

1. 当显存告急时,我们还能不能跑大模型 第一次看到 airllm 这个项目名的时候,我正被一张 8GB 显存的显卡折磨得够呛。手头有个 70B 级别的模型想本地跑起来做推理验证,结果加载权重这一步就直接爆显存,连模型的门都没进去。相信很…

2026/10/17 15:02:41 阅读更多 →
工业AI落地实战:视觉质检、预测维护与工艺优化全解析

工业AI落地实战:视觉质检、预测维护与工艺优化全解析

1. 项目概述:当AI不再是PPT里的概念,而是产线上的“新工人” “他山之石可攻玉”这句老话,放在今天的工厂里,突然有了特别实在的分量。我跟过不下二十家不同规模的制造企业做智能化升级咨询,从长三角的精密零部件厂&am…

2026/10/17 15:01:40 阅读更多 →

日新闻

DeepSeek选型与部署:V3/R1、Ollama、API全攻略

DeepSeek选型与部署:V3/R1、Ollama、API全攻略

简介:《DeepSeek使用方法.pdf》是一份面向DeepSeek入门及进阶用户的完整使用指南,重点围绕V3与R1两款模型的能力差异与适用场景展开,帮助读者根据任务类型与成本选择合适的模型。资源共1个PDF文件,压缩包大小约311KB,篇…

2026/10/17 0:00:25 阅读更多 →
200+Deepseek润色指令拆解:从底层原理到场景落地的完整指南

200+Deepseek润色指令拆解:从底层原理到场景落地的完整指南

简介:这是一份聚焦DeepSeek提示词优化的《200Deepseek润色指令》PDF文档,共收录两百余条可直接套用的润色指令,涵盖语法修正、风格统一、逻辑梳理、表达精炼等维度,并针对商务写作、学术论文、广告文案等场景给出差异化建议。文档…

2026/10/17 0:00:25 阅读更多 →
OpenCV轮廓法物体计数系统:轻量、可控、可落地的工业级实现

OpenCV轮廓法物体计数系统:轻量、可控、可落地的工业级实现

简介:本资源是一份基于OpenCV的本科课程设计完整报告,面向计算机视觉初学者、图像处理学习者及高校通信/信息类专业学生,解决物体智能计数与检测结果结构化记录的实际问题。项目覆盖图像预处理、轮廓检测、边界框绘制、轨迹栏交互式参数调节、…

2026/10/17 0:00:25 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/16 21:35:51 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/17 1:44:59 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/16 15:04:24 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 21:54:38 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 3:49:43 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 14:23:36 阅读更多 →