Featured image of post 让AI辅助编程更高效, 更优雅: 我的"双层工作流"秘籍
科技 软件开发

让AI辅助编程更高效, 更优雅: 我的"双层工作流"秘籍

一个实用的"双层"AI编程助手使用体系, 帮你在复杂项目中兼顾代码质量和上下文管理, 让AI变身得力助手

开场白: 别慌, 这真是人写的

先声明一下, 这篇文章的主体内容是本人亲自码出来的, 后面让AI帮忙润色了几句——毕竟我的手写体比医生的还难认。🤷

本次聊的不是"甩手掌柜型"AI编程 (你只负责想法, AI全包干), 而是"AI辅助型"——你掌控节奏, AI帮你提速。适用于复杂代码库, 注重风格和架构的场景, 不是那种一锤子买卖式的快速原型。

如果你连AI写的代码都看不懂, 那本文恐怕帮不了你, 建议先补补基础😊。

正片开始

下面给大家分享下, 我跟Cursor这类AI编程助手长期相处的经验总结——不敢说普适, 但绝对血泪教训换来的"土办法"。

为了让你一看就懂, 我们举个离谱点的例子: 重构咖啡店点单系统, 结果莫名其妙还掺了区块链, 光一个拿铁下单都能上链。别笑, 这年头什么奇葩需求都能遇到。

曾经的"踩坑史"

刚开始我跟大多数人一样——把需求描述一丢, 按下回车, 幻想AI能一键解决。很快发现, 这套路有点"自作聪明反被聪明误"。

比如我说"修复拿铁下单流程", AI信誓旦旦地重构了错误的支付模块——因为它只看到零零散散的代码片段, 对全局毫无概念。

后来我才知道, 像Cursor这种工具, 为了节省计算资源 (说白了也是为大家省钱), 它们会用搜索和grep等功能, 只抓取部分相关代码。AI看得少, 脑补得多, 风格和结构就容易跑偏。

这就像让你只读小说的几页, 就得猜完整剧情——主线大致能蒙出来, 但人物关系, 细节风格就全靠想象了。

结果嘛, AI写出来的代码, 能跑, 但跟你的代码风格八竿子打不着。

第一次"开窍": 强制AI整本读

我的第一个突破, 是用自己的"Model Context Protocol (MCP) “——让AI不是只看片段, 而是把关键文件全读一遍。通过精心设计提示词, 逼着AI用我定制的工具读全文件, 而不是只用Cursor自带的搜索。

吃过的亏: AI总是误改我们的"customer_caffeine_desperation_index” (顾客咖啡因绝望指数) 算法, 因为它根本没看到这个算法在三个文件间怎么串的。

但关键的代价是: 整本读会暴饮暴食你的上下文窗口 (context window) 。

这就跟你是打个电话聊几句, 还是翻人家整本日记一样。日记信息量大, 但你脑容量就那么点, 读多了容易脑子糊。

我的做法是: 只让AI完整读真正重要的文件, 次要的用搜索。这样一来, 既保证质量, 又不至于把上下文撑爆。

聊天长度悖论

第二个大坑: 聊天记录越长, AI越迷糊。我以前喜欢跟AI"长谈", 结果Cursor常常委婉建议我"重开一局, 效果更佳"。

但每次新开聊天, 响应是快了, 前面辛苦积累的项目上下文又全丢了。

这简直是个哲学悖论: 要么AI啥都记着但脑袋糊;要么清醒得像刚睡醒, 但啥都不记得。

我一开始傻傻地把个人偏好记在便签软件里, 隔一会儿粘贴一下。但真正的转折点, 是我摸索出了一套"双层工作流"。

“双层工作流”——因为真的有两层

这套体系很简单: 你有一个代码库, 有个明确的目标 (无论新功能, 修Bug还是重构) 。

第一层: 规划阶段 (大本营对话)

这一步就是建立你的"黄金对话", 成为整个项目的"事实根据地"。

步骤1: 打好地基
我先把需求讲清楚, 再挑出必须完整阅读的核心文件, 简要描述它们在项目中的角色。别怕麻烦, 这步选文件越准, 后面AI表现越好。这份提示词会反复用, 绝对值得打磨。

强制AI把这些文件完整读一遍。然后让它去发现其他相关文件, 帮你制订一份详细的行动方案——这一步只谈理解和规划, 绝不让它动手改代码。务必明说: “只读不改, 先理解再说。”

步骤2: 方案迭代
在临时对话里, 让AI帮你优化方案。比如说: “一起完善这个方案, 你先提建议, 我指出问题, 你有疑问就问。”
一直磨到AI不再提出有建设性的问题。问题变得无聊时, 就是停下来的信号。

步骤3: 生成最终方案文档
等AI和你的思路完全对齐后, 让它输出一份详细的markdown计划。我常用的标准是: “假如有个新工程师只拿到这份文档, 他能不能快速上手, 了解代码结构, 然后按你的思路开展工作?”

步骤4: 回归主线
回到你建立的大本营对话, 把这个精炼方案交给AI, 让它结合这份计划, 探索代码库。

恭喜你, 第一层已就绪。正所谓"万事俱备, 只欠东风"——东风是什么, 问ChatGPT吧, 典故比我讲得清楚。

举例: 咖啡店重构大计

用户:

"""
任务: 重构咖啡店点单系统, 去掉拿铁订单中的区块链集成, 同时保留顾客紧急度评分系统。

需完整阅读的核心文件:
- order_processor.py (主下单逻辑, 负责神秘的区块链调用)
- urgency_calculator.py (计算顾客咖啡因急迫度)
- payment_handler.py (常规支付与区块链支付分界点)
- customer_model.py (定义紧急度相关属性)

只读不改——先把这些文件看完, 帮我搞清楚拿铁-区块链的关联。然后找出其他相关文件, 做个详细重构方案。
"""

AI助手: (通读所有文件, 发现区块链逻辑也影响卡布奇诺, 找到还有3个文件需处理, 梳理出系统架构全貌……)

第二层: 具体实现阶段

现在才是真正的"敲代码"时刻。得益于第一层的扎实基础, AI对你的项目了如指掌。可以直接告诉它下一步做什么, 或者让它生成下一个任务计划 (省点token, 每一分都不浪费), 然后把计划粘到新的实现对话里。

第二层核心原则:

迭代推进, 步步为营
始终强调"迭代式"合作, 每次只让AI改一个文件, 改完就停, 等你确认再继续。这样能第一时间发现偏差, 防止一出错就"满盘皆输"。

用清晰的称呼
习惯用"the user"指自己, 别用"I", 避免AI自我认知混乱 (别问为什么, 问就是AI有时候分不清你我他) 。

高级玩法: 有策略地清理旧代码
对代码库很熟时, 建议让AI在写新功能时顺手删掉旧代码 (哪怕短暂影响别的功能), 避免"代码遗迹"越积越多。如果你追求兼容性, 也可以, 只要在docstring里清楚标注哪些函数已废弃, 不然AI还会傻乎乎继续调用。

实现阶段举例

用户:

"""
这是我们第一层对话整理出来的 refined plan: @current_task_plan.md

现在执行第1步: 在order_processor.py里去掉拿铁订单的区块链集成。

请迭代推进——只修改这个文件, 做完停下, 等用户确认再动payment handler。用户要逐步审核, 避免误伤生产环境的咖啡队列。
"""

AI助手: (修改order_processor.py, 去除了拿铁区块链操作, 切换成标准支付流程……)

常用"定心丸"提示词:

  • “只改一个文件, 做完停”
  • “每步都请确认后再继续”
  • “the user要审核每次变更”

上下文循环的魔法

这套体系最大威力在于: 你不用让聊天记录越滚越长, 而是每做一步实现, 就回到"黄金第一层"对话。

操作方法非常简单:

每完成一步实现 (一般一文件一小步, 代码结构清晰时尤佳), 不要在同一个实现对话里继续。而是回到第一层大本营对话, 说: “第1步搞定了, 文件更新如下, 帮忙规划第2步。”

这就像有个"总控室"维持全局上下文, 每个小任务都是短平快的分会场, 但所有分会场都共享那份厚重的项目理解。

所以我称之为"双层工作流": 第一层管全局记忆, 第二层管具体执行。

举例: 回到大本营, 开启新一轮

用户:

"""
咖啡店重构第1步完成, order_processor.py已更新——拿铁订单的区块链调用已移除, 切换为标准支付。

目前状态: 拿铁下单功能正常, 但发现urgency_calculator.py里仍有区块链相关逻辑影响"高峰咖啡恐慌指数"计算。

按计划, 下一步该聚焦哪里?
"""

AI助手: (检查更新文件, 理清进度, 建议第2步应专注清理急迫度计算中的区块链残留, 同时保留核心评分逻辑……)

妙处在于:
你的大本营对话一直保持全局上下文, 还能随时吸收最新进展。

何时更新你的"总控计划"

通常做两三步实现后, 项目变化太大, 原计划已不适用。这时就让AI帮你更新那份markdown总计划: 剔除已完成的任务 (彻底删干净), 把新发现的需求和变化补进去, 按当前系统架构重新排序。

一旦计划更新, 回到第一层对话, 把新计划发过去即可。由于所有文件都是引用最新的, 因此AI天然会用最新上下文继续工作。
“第一层"对话无需知道前面发生过什么, 就能无缝衔接。

举例: 计划演化

用户:

"""
咖啡店重构已发生重大变化, 区块链集成已移除, 但紧急评分系统比预期复杂——现在还引入了"咖啡师压力指数"和"排队焦虑系数"。

请帮我更新总计划markdown文件:
- 已完成的任务请彻底清除
- 新增咖啡师压力集成相关需求
- 按最新架构重新梳理剩余任务
"""

AI助手: (更新@current_task_plan.md, 清爽重组, 反映最新全貌……)

完整工作流一览

整个流程非常丝滑:

  1. 先做计划 → 用它建立"大本营"对话 (Level 1)
  2. 分步实现 → 每步新开实现对话 (Level 2)
  3. 回到大本营 → 汇报进度, 获取下一步
  4. 循环往复 → 直到功能/修复/重构完成

为什么这个体系靠谱

你始终只维护两层对话: 一层负责"全局大脑”, 一层专注"小步快跑"。

不让实现层对话拖太长, 不丢全局上下文。就像有个既能记住全项目历史, 又能专注当前任务的编程伙伴——既不"记忆超载", 又不"短时失忆"。

结果就是: 代码质量更高, 偏差更少, AI助手也没那么让人头疼了。

希望这个体系能帮你把AI助手用得更顺手, 写代码像喝咖啡一样提神!

© 2022 - 2026 张欣耕

保留所有权利