提示词写得越长,AI 写代码越蠢——VS Code 官方教你给 AI 装"出厂设置" 你是不是也有过这种体验:让 AI "照着项目规范写代码",它转头就用错… · @swordBluesy · TwKit
@swordBluesy
提示词写得越长,AI 写代码越蠢——VS Code 官方教你给 AI 装"出厂设置" 你是不是也有过这种体验:让 AI "照着项目规范写代码",它转头就用错了框架、调错了命令,改完还犯。第一反应往往是:我的提示词还不够长、不够细。错了。微软 VS Code 官方文档团队在 10 月 14 日前后更新的《上下文工程指南》里直接给了结论:问题不在模型,也不在你写提示词的手艺,在于你没给 AI 一个"出厂设置"——它每次聊天都从零开始,当然记不住你项目的规矩。 这篇指南的核心观点是:提示词工程已经进化成了"上下文工程"。别再研究怎么把 prompt(提示词)写得更长更妙,要做的是系统性地给 AI 智能体喂"恰到好处"的项目信息:项目级指令、实现计划、编码规范,三步走。 下面是完整步骤,照着做就能在你自己的项目里复现。 前置准备 仓库的根目录用 VS Code 打开。在聊天视图里,把会话目标(Session Target)选成 Local。先把项目本身的依赖安装和测试命令跑通——地基不稳,后面的智能体帮不上忙。 第一步:沉淀项目级上下文(custom instructions,自定义指令) 这一步的目标是给项目写"说明书",让 AI 每次开工前都先读一遍。 先写三份 Markdown 文档,分别回答三个问题。已有代码库的话,直接让 AI 先起草、你来审,省时间: 架构是什么:让 AI 起草《架构说明书》(ARCHITECTURE.md,最多两页),描述项目的整体架构: 产品是干嘛的:让 AI 起草《产品说明书》(PRODUCT.md,最多两页),描述产品功能: 怎么参与开发:让 AI 起草《贡献指南》(CONTRIBUTING.md,最多一页),写清楚开发规范和最佳实践: 然后是关键一步:在项目里新建文件 .github/copilot-instructions.md。这个文件会被 VS Code 自动注入每一次聊天,相当于 AI 的"出厂设置"。内容模板如下: 中文意思是:第一行写项目名加"开发规范";下面三行分别写产品愿景与目标、系统架构与设计原则、贡献指南;最后一句是让 AI 在工作里发现文档有缺漏或冲突时,主动建议更新这些文档。 原则:从小开始。先给最关键的高层架构信息。新规则只在 AI 反复犯同一个错误时再加——比如它总用错 shell 命令、总忽略某些文件。一次塞太多,反而稀释它的注意力。 第二步:做一个"规划专用"的 AI 助手 很多人让 AI 边想边写,结果写到一半跑偏。这一步把"想清楚"和"动手写"拆开。 先写一份计划模板 plan-template.md,包含两部分:头部信息(frontmatter:标题、版本、创建日期、最后更新日期)和正文三块——架构与设计、任务清单、开放问题(1 到 3 个)。 然后在 VS Code 命令面板里运行 Chat: New Custom Agent(聊天:新建自定义智能体),创建 .github/agents/plan.agent.md,内容如下: 看懂几个要点: 这个规划助手只读不写——它的工具被限定为 read(读文件)、search(搜索代码)、web(联网查资料),不能改你的代码,所以放心让它到处看。 它配置了"交接"(handoff):计划被你批准后,点一下 Start implementation(开始实现),会自动切换到实现助手,并把实现提示词填好——不自动发送,你先看一眼再回车。 工作流三步:分析理解(从代码库、文档、网上搜集上下文)→ 按模板组织计划 → 停下来等你审,根据反馈反复打磨。 用的时候,在聊天视图里选 Plan 这个助手,输入需求,比如: 中文意思是:加一个邮箱加密码的用户登录功能,包括注册、登录、登出和密码重置。也可以直接丢一个 GitHub issue 的链接给它。它会按模板输出计划,你审、你改、你批。 可选进阶:再建一个提示词文件 .github/prompts/plan-qna.prompt.md,指定 agent: Plan,以后输入 /plan-qna,它会先问你 3 个澄清问题再开始规划,专治需求模糊。 第三步:按计划生成代码 小任务:直接让 AI 智能体按批准的计划写代码。 大任务:先让它把计划存成 <my-feature>-plan.md(比如 auth-plan.md),然后新开一轮聊天、引用这个文件——等于手动重置了上下文,AI 不会带着上一轮的杂念开工。 进阶玩法:再建一个 .github/agents/tdd.agent.md,工具给 read(读)、edit(改)、search(搜)、execute(执行命令),人设是"测试驱动开发的开发者":先写测试定验收标准 → 写最小实现 → 跑单测 → 跑全量测试 → 重构并保持全绿。 回到规划助手已经批准的那条回复,点 Start implementation,交接会自动切到 TDD 助手并填好提示词,你看一眼再回车。 彩蛋:新开一轮聊天(快捷键 ⌘N),让 AI 拿着计划评审刚写完的代码,专抓漏掉的需求——自己写的自己查,查漏最狠。 最佳实践(原文专设一节,划重点) 从小开始,持续迭代(Start small and iterate):上下文不是越多越好,塞多了会稀释 AI 的注意力。 保持上下文新鲜(Keep context fresh):代码变了,文档要跟上。过期的上下文等于给 AI 喂错误答案,它会照着错的来。 渐进式给料:先给高层概念,再给细节。像带新人一样带 AI。 S1哥观点 "提示词写得越长,AI 越蠢"——这话我敢说,评论区肯定有人不服:我这套三百行的提示词模板用了半年,好使得很!来,吵的就是这个:你那三百行,到底是"上下文工程",还是"安慰剂工程"?VS Code 官方这篇指南捅破了一层窗户纸——AI 犯低级错误,十次里有九次不是模型笨,是你压根没给它看过你项目的"家规"。靠一次次在聊天框里口头叮嘱,跟靠一份自动注入的说明书,哪个更靠谱?更扎心的是最后一句:上下文多了也会稀释注意力。你精心攒的那套"万能提示词",有没有可能恰恰是把 AI 变蠢的元凶? 原文链接:https://code.visualstudio.com/docs/agents/guides/context-engineering-guide 原文:Microsoft VS Code 官方文档团队(由 S1哥 编译)
曝光 14 · 评论 0 · 点赞 0 · 书签 0
查看原帖