如何让 AI 按照你的预期输出

1. 写在最前面

最近写代码的时候发现 Cursor 的 token 不够用,为了还能够使用 AI 编程,就调整到了 「auto」的模式下写代码。好家伙,auto 开局就是一顿瞎写,写那叫一个「龙飞凤舞」,差点直接把整个代码给我重构了。但是好在 Cursor 的回滚也是很方便,所以只要回滚之后,我就可以继续自己的思路写代码了。

注:这个故事教育我们就算是 Cursor 的 token 不够,也不能随便使用 「auto」模式,因为它真的会瞎写......

所以思考一下,如何 AI 能规范化实现及输出就变成一个需要解决的问题,比如 AI 会出现幻觉,针对一个错误的问题它也能给你编造一个回答。

注:日常的问答中,当你不断质疑 AI 的回答时,它为了更贴合你的问题,会编造一些不真实的回答。如果在编程中也是这样,那上线的话,大概率就是个故障了。

2. Spec-Kit

2.1 介绍

Spec-Kit 是 GitHub 开发的一个开源工具,用来控制 AI 生成代码的质量

简单理解

想象你要建房子:

  • 不用 Spec-Kit:直接让 AI 开始建,可能建歪了、不符合要求
  • 用 Spec-Kit:先画好详细图纸,再让 AI 严格按照图纸施工

Spec-Kit 就是那个"画图纸"的工具,确保 AI 生成的代码符合你的要求。

优点

  • 代码质量高:先写规范,AI 生成的代码更符合预期
  • 减少返工:提前想清楚需求,避免后期大改
  • 流程清晰:团队协作时,每个人都知道在做什么
  • 支持多种 AI:可以用 Claude Code、GitHub Copilot 等
  • 免费开源:GitHub 官方维护,完全免费

缺点

  • 步骤多:小项目可能觉得繁琐
  • 学习成本:需要理解规范驱动开发的概念
  • 需要耐心:不能跳过步骤,必须按流程来

2.2 核心概念--- 规范驱动开发

规范驱动开发(SDD) 的核心思想是:先想清楚要做什么,再动手做

就像想要做一盘菜的时候,总结下来需要以下步骤:

  1. 先看菜谱(规范)
  2. 准备食材和工具(计划)
  3. 按步骤操作(任务)
  4. 完成菜品(实施)

Spec-Kit 把这个流程应用到编程上,让 AI 按步骤生成代码。

2.3 工作流程

2.3.1 Specify(规范阶段)

做什么:写清楚要做什么功能,有什么要求

例子

diff 复制代码
我要做一个用户登录功能:
- 用户输入用户名和密码
- 验证密码是否正确
- 登录成功后跳转到首页
- 登录失败显示错误提示
2.3.2 Plan(计划阶段)

做什么:制定技术实现方案

例子

diff 复制代码
技术方案:
- 使用 React 做前端
- 使用 Express 做后端 API
- 使用 JWT 做身份验证
- 使用 MySQL 存储用户信息
2.3.3 Tasks(任务阶段)

做什么:把大任务拆分成小任务

例子

markdown 复制代码
任务列表:
1. 创建登录页面组件
2. 创建登录 API 接口
3. 实现密码验证逻辑
4. 实现 JWT 生成和验证
5. 编写测试用例
2.3.4 Implement(实施阶段)

做什么:让 AI 按照前面的规范、计划和任务生成代码

重要 :Spec-Kit 要求先写测试,再写代码(测试驱动开发 TDD)

2.4 实测

怎么说呢?虽然这个工具让 AI 输出的内容更加格式化,但是我实测了一波,感觉是在太冗余了,不太适合个人开发。

注: 还是后面再学习一波其他的控制 AI 输出的工具吧,这个工具怕是不大适合我

3. 碎碎念

啦啦啦,终于在周五的晚上加班写了最近想学习的知识点,今日份学习就先到这里结束吧,我要回去看《唐诡 3 》啦。

  • 影响你情绪的不是事情,而是你对事情的认知。
  • 希望我是愿意接触新东西的人,有勇气承认自己不懂的人,看得见自己的陈旧和狭隘的人,希望我是一个永远跃跃欲试的人。

4. 参考资料

相关推荐
不能放弃治疗4 分钟前
MCP
后端
江湖十年1 小时前
Go 语言中 YAML to JSON 踩坑笔记
后端·go·json
你驴我2 小时前
WhatsApp 消息撤回与编辑的幂等性设计实践
java·服务器·前端·后端·python
一缕清烟在人间2 小时前
HarmonyOS开发实战:小分享-TextEditPage文字编辑器——Header+TextArea+工具栏
后端·华为·harmonyos·鸿蒙
人间凡尔赛2 小时前
K8s 十年之变:从 Cloud Native 到 AI Native,2026 年后端架构的范式革命
后端·云原生·架构
程序员cxuan2 小时前
Opus 5 深夜炸场,价格还挺香。。。
人工智能·后端·程序员
北冥you鱼2 小时前
Go 语言新手扫盲:指针 * 和 & 使用场景详解
开发语言·后端·golang
青山木3 小时前
Hot 100 ---腐烂的橘子
java·数据结构·后端·算法·leetcode·广度优先
卷无止境3 小时前
Python的collections模块:那些被低估的"瑞士军刀"
后端·python
卷无止境3 小时前
Python的方法解析顺序:一场关于继承顺序的精妙设计
后端·python