ARTICLE DETAIL

资讯详情

深耕网站SEO优化与搜索引擎排名提升的一线实战洞察。

AI 编程工具实战(10):打造个人 AI 编程工作流全流程实战

AI 编程工具实战(10):打造个人 AI 编程工作流全流程实战 上一篇已经建立了可复用的操作闭环本篇把同一套“先限定上下文、再要求证据”的方法推进到全流程。一、痛点先定义任务再谈工具讨论全流程时最常见的误区是用一次“看起来很聪明”的回答替代工程评估。任务契约、上下文包、验证清单分别擅长不同交互位置但真正决定收益的是任务边界、上下文质量和反馈速度。一个补全工具在单文件样板代码上很快不代表它适合跨目录迁移一个代理能运行命令也不代表应该直接获得发布权限。选型前先写出输入、允许修改范围、验收命令和失败后的回滚办法才能比较实际完成时间而不是比较宣传页上的功能数量。可复用的任务契约只有四项目标要描述可观察行为范围列出允许读写的目录约束写清兼容版本、依赖和禁止事项验收给出机器可执行命令。提示词“优化这段代码”没有终点改成“保持公开 API 不变把重复查询合并并让指定测试通过”才可审查。AI 输出始终是候选补丁提交者仍对许可证、安全性、性能与业务语义负责。二、原理上下文、动作与反馈构成闭环澄清、实现、测试、复盘不是三个孤立技巧。上下文决定模型能看到什么动作决定它能改变什么反馈决定它何时停止。上下文过少会猜接口过多则挤压关键约束并引入冲突动作权限过大会放大误判反馈只写“测试失败”又无法定位原因。因此应先提供目录树、入口、相关类型和一条失败证据再允许最小修改最后执行格式化、静态检查、单测和差异审查。核心取舍是“自主程度换审查成本”。低风险、局部、可快速测试的任务可以让代理连续执行数据库迁移、鉴权、计费和公共 API 变更应先出计划再逐步批准。形成工具可替换而流程稳定的个人系统意味着评估单位不是聊天轮数而是从问题定义到可信补丁的总周期。若生成十分钟却需要两小时找隐蔽回归它就是负收益。把工作拆成定义、探索、交付、复盘四个门。每一门都要有证据文件路径、命令输出、差异摘要或审查结论。下面的独立脚本把门禁转成加权评分实际项目可把evidence替换为 CI 结果。第三项失败仍可继续探索但不能把探索结果当成完成品。fromdataclassesimportdataclassdataclass(frozenTrue)classCheck:name:strweight:intpassed:boolchecks[(定义,4),(探索,3),(交付,2),(复盘,1),]defevaluate(items:list[tuple[str,int]])-tuple[int,list[Check]]:evidence{name:index!2forindex,(name,_)inenumerate(items)}results[Check(namename,weightweight,passedevidence[name])forname,weightinitems]scoresum(item.weightforiteminresultsifitem.passed)returnscore,results score,resultsevaluate(checks)foriteminresults:state通过ifitem.passedelse阻断print(f{item.name}:{state}({item.weightifitem.passedelse0}))print(f总分:{score}/10)print(结论:,可继续ifscore7else先补证据)运行输出定义: 通过 (4) 探索: 通过 (3) 交付: 阻断 (0) 复盘: 通过 (1) 总分: 8/10 结论: 可继续三、实现用一次小任务校准工作方式个人全流程从一张任务卡开始写可观察目标、范围、限制和验收命令。接着建立上下文包只含目录概览、关键接口、失败证据和相关规则。先让工具复述理解并列不确定项再选择交互层小范围样板用补全跨文件修改用编辑器代理批量搜索与测试用终端代理外部数据通过最小权限 MCP。执行时保持短循环调查不编辑计划不过三步一次批准一个意图修改后马上运行最快检查全部完成再跑完整测试和安全扫描。每个阶段保存证据失败两次就回到最小复现。提交前自己解释关键分支、审 diff、检查新增依赖与异常路径并生成包含风险和回滚方式的交付说明。复盘只记录可行动信息哪类上下文缺失导致返工哪条规则经常被重复提醒哪个验证太慢而被跳过。稳定事实沉淀进仓库规则重复流程变成脚本低频知识留在按需文档。这样模型、编辑器和供应商都能替换而任务契约、最小权限、自动验证和人工责任构成长期不变的骨架。先选一个三十分钟内人工也能完成的真实任务例如给解析函数补边界校验。不要从“重构整个系统”开始因为那样无法区分模型能力、仓库陌生度和需求缺陷。第一轮只让工具解释调用链并要求逐条引用文件第二轮要求列出最多三步计划以及每步验证命令确认计划后才编辑。每次修改限制在一个可描述的意图内完成后立刻查看 diff而不是积累几十个文件再审。下面的独立脚本把本篇的关键决策写成可审查清单。它不访问网络、不依赖第三方包复制后即可运行真正接入项目时可把清单来源替换成配置文件或 CI 结果。重要的是让允许项与阻断项显式出现而不是让工具在含糊授权中自行猜测。fromdataclassesimportdataclassdataclass(frozenTrue)classStep:name:strevidence:strallowed:booldefreview(title:str,steps:list[Step])-tuple[bool,list[str]]:lines[f流程:{title}]acceptedTrueforindex,stepinenumerate(steps,start1):state通过ifstep.allowedelse阻断lines.append(f{index}.{step.name}[{step.evidence}] -{state})ifnotstep.allowed:acceptedFalselines.append(f结论:{可执行ifacceptedelse需人工处理阻断项})returnaccepted,lines title个人工作流闭环raw_steps[(定义可观察目标,任务卡,True),(建立最小上下文,调查,True),(审查并运行测试,交付,True),(用生成行数复盘,虚荣指标,False)]steps[Step(name,evidence,allowed)forname,evidence,allowedinraw_steps]accepted,reportreview(title,steps)print(\n.join(report))print(f自动通过:{accepted})运行输出流程: 个人工作流闭环 1. 定义可观察目标 [任务卡] - 通过 2. 建立最小上下文 [调查] - 通过 3. 审查并运行测试 [交付] - 通过 4. 用生成行数复盘 [虚荣指标] - 阻断 结论: 需人工处理阻断项 自动通过: False提示应包含事实而非情绪“先不要编辑读取入口及其直接调用者解释数据流列出不确定项”比“认真想想”有效。实现阶段再说“只修改计划中的文件不新增依赖完成后运行命令并按文件总结差异”。若工具无法指出引用来源先缩小问题不要用更长的自然语言掩盖缺失上下文。四、踩坑防止局部正确破坏系统约束第一类坑是未读 diff 就接受全部修改。模型可能顺手重排格式、升级依赖或改变错误消息使核心变更淹没在噪声里。第二类坑是把测试通过等同于需求正确测试可能没有覆盖时区、并发、权限和空值。第三类坑是把密钥、客户数据、生产日志直接贴入对话。正确做法是脱敏、使用合成样本并遵守组织的数据保留与供应商策略。还要警惕“上下文腐烂”长会话中旧假设仍在代码却已经改变。跨越一个独立子任务就新开会话用当前 diff、最新错误和未决问题重新建立上下文。规则文件也不应堆成百科全书高频、稳定、可验证的规则才常驻偶发流程放入按需提示。遇到同一错误连续两次停止让 AI 重试回到最小复现并改变实验变量。五、验证以证据包结束而不是以一句“完成”结束验收时要求四件产物变更摘要说明为什么改测试清单区分实际运行与建议运行风险清单指出未覆盖边界回滚说明给出恢复路径。人工审查先看公共接口、数据迁移和权限再看异常路径最后看风格。对生成代码做与人工代码相同的 SAST、依赖扫描和评审不给“AI 写的”特殊通道也不因它是 AI 而跳过有价值的自动化。团队或个人可以记录三个轻量指标首次测试通过率、审查后被删除的生成代码比例、从开始到合并的总时长。连续观察多次同类任务后再调整工具和规则。指标用于发现流程瓶颈不用于考核个人输入了多少提示词。全流程真正成熟的标志是失败能被快速发现、修改可被解释、工具可被替换。系列至此收束以后更换模型或编辑器只需替换执行层不必推倒任务契约、验证门禁和复盘机制。参考来源docs.cursor.com相关官方文档docs.github.com相关官方文档docs.anthropic.com相关官方文档 觉得有用就点个赞 收藏方便回头查阅有疑问直接在评论区留言我看到都会回。 本文属于《AI 编程工具实战》系列持续更新关注不迷路。 文章里的代码都能直接跑。想要可直接 clone 的完整工程 配套部署脚本 / 踩坑清单评论一声或发邮件到cj2664qq.com我免费发你。如果你正好在做类似系统、或有工程化难题想找人做也欢迎邮件聊一句——我按实际情况评估能落地的就接单或出方案。评论和邮件都能直接找到我不用跳别的平台。
返回列表