
今年年初我决定把日常编码流程彻底迁到AI辅助模式捣鼓了大半年各种编辑器插件、命令行工具、开源模型、云端API轮着换最后总算沉淀出一套稳定、不折腾、能真正提效的AI编程工作台。这篇内容就围绕三个关键词展开工具、模型、基础配置。适合已经在用AI编程但觉得“差点意思”的开发者也适合刚入门、想一步到位少踩坑的朋友。我会把我实际的选型逻辑、配置文件、常用提示词模板以及踩过的坑全部拆开讲。先说结论这套工作台并不复杂核心是“编辑器内AI补全 命令行Agent执行复杂任务 本地模型处理敏感代码”三层结构再加上一套统一的提示词和上下文管理规范。这套组合帮我解决了三个具体问题日常写样板代码太枯燥、跨仓库重构时容易漏改、写测试用例总要靠堆时间。下面我按设计思路、基础配置、实操细节、问题排查的顺序展开。1. 整套工作台的设计思路先明确你缺什么再选工具很多人在搭建AI编程环境时有个误区——把市面上所有AI插件全装进IDE结果每个工具都在抢Tab键上下文互相打架模型换了一堆最后效率反而下降。我的建议是先按任务类型拆需求再决定用什么工具。1.1 从“装插件”到“搭系统”的四个核心需求拆解我把自己日常编码任务分成四类每一类对应不同的AI工具形态这是整套方案的第一性原理。第一类是“补全与生成”比如写重复的CRUD接口、DTO对象、单元测试骨架这类任务不需要AI理解整个项目只需要它根据当前文件上下文和我的注释快速生成符合代码风格的片段。这类需求用编辑器内的Inline补全最合适延迟要低最好在100到300毫秒内给出反馈否则你打字的节奏就被打断了。第二类是“问答与解释”比如看到一段没注释的复杂逻辑想知道它是干嘛的或者遇到一个奇怪的编译报错想让它帮忙定位。这类任务需要模型能读取当前文件甚至整个项目的部分结构所以需要支持codebase索引或“附加上下文”的对话式面板。它不用自动改代码但必须能精准引用源码。第三类是“跨文件改动与重构”比如把整个模块从回调风格改成async/await或者重命名一个被20处引用的公共函数。这类任务只有对话面板不够因为人脑很难在聊天窗口里跟踪多文件状态必须要有一个能主动读取文件、执行命令、查看错误的Agent式工具也就是Claude Code这类终端工具或者IDE里的Agent模式。第四类是“隐私敏感的本地任务”比如处理未脱敏的业务数据、公司内部算法核心逻辑。这类任务我固定用本地小模型通过Ollama跑一个7B到14B的开源模型虽然能力不如云端大模型但代码不出机器心里踏实。搞清楚这四类需求后工具选型就非常清楚了编辑器内AI插件负责补全和对话命令行Agent负责复杂任务本地模型负责隐私兜底。三者不是竞争关系是互补关系。1.2 工具选型清单与我的取舍标准我最终的稳定组合用一张表列出来使用场景工具主力模型备注IDE内补全与对话VS Code Continue插件DeepSeek-Coder / Claude 3.5 Sonnet补全用快模型对话用强模型终端复杂任务Claude CodeClaude 3.5 Sonnet / 3.7 Sonnet多文件重构、跑测试、修复报错本地隐私代码Ollama Qwen2.5-Coder 7B本地模型离线可用响应速度慢但可控通用知识问答ChatGPT / 其他Web端GPT-4o查资料、算法讨论不走IDE这个组合不是一步到位的。我最初用的是某全家桶IDE确实开箱即用但深度使用后有两个痛点一是它内置的模型选择逻辑是个黑盒我很难控制不同任务该用哪个模型二是锁定在它的生态里换模型、换工具的成本很高。后来我改成“编辑器 独立Agent工具”的组合好处是每个环节都可以替换坏处是需要多花一点时间配置。选 Continue 插件而不是其他编辑器自带AI主要是因为它的模型路由灵活可以同时配置多个模型源按类型走不同的Provider。比如代码补全走本地OllamaChat对话走云端API这在配置界面里直接填就行不用折腾插件市场。Claude Code 是我目前用的命令行Agent工具它跟普通AI对话不同它可以直接在工作目录里执行bash命令、读写文件、运行测试然后根据报错信息自己修改代码循环迭代直到任务完成。这类工具本质上是一个“能操作电脑的AI代理”选它的标准很简单对终端操作的支持是否完整、是否支持自定义系统提示词、是否允许我限制它可以执行哪些危险命令。我测试过同类的开源方案和基于其他模型实现的Agent工具最后保留Claude Code原因有三第一它对长上下文的处理明显更稳重构一个5000行模块时很少出现“忘记开头需求”的问题第二它的每步操作都有日志回放我能清楚看到它改了哪些文件出了问题可以精准回退第三它支持CLAUDE.md这种项目级记忆文件可以把项目的编码规范、目录结构写进去每次对话自动加载这个机制非常实用。1.3 为什么不用“一台终端搞定所有事”也有人问我为什么不直接用终端Agent处理所有任务连IDE都省了。我的体验是纯终端Agent在“精确小改动”场景效率反而低。补全一个函数签名、改一个变量名这些操作在IDE里就是一两秒的事但要让它分析、定位、修改、验证来回可能半分钟以上。所以我把“快小任务”和“复杂任务”分开让AI在它最适合的交互形态里工作。另外还有一层考虑是“防呆”。终端Agent权限很大如果在做简单补全时误触发了文件批量修改风险很高。拆分工具链之后权限边界是天然隔离的补全工具只能改当前文件Agent工具才能动整个仓库。这个安全模型在多人协作时尤其重要我不会让一个权限巨大的Agent暴露在琐碎操作里。2. 基础配置让AI工具真正“听话”的前提工具装好只是第一步基础配置决定体验的上限。我见过很多人没做任何配置就上手结果AI生成质量忽高忽低还以为是模型不行其实80%的问题出在“没有给AI足够的项目上下文”和“没有约束模型行为”上。2.1 开发环境与基础依赖清单在配置任何AI工具之前先把本机开发环境补齐。这不是废话而是我踩过的最多的坑。很多AI Agent工具要先分析依赖树、跑构建命令、看错误输出如果连Node、Python、Java环境都不完整它第一步就卡住了。我列一个通用的基础环境清单按重要性排序Git必须低于2.40版本以上AI工具经常借助git diff和git log来判断文件变更范围Node.js 18很多命令行Agent和IDE插件本身就是JS写的运行时必需Python 3.10不少本地模型工具、脚本类AI助手依赖它gcc / build-essential本地模型如果需要编译量化版本这组依赖不能少jq、ripgrep、fd这三个命令行小工具能让Agent在检索大仓库时代码搜索效率翻倍对应语言的包管理器如pnpm、pip、cargoAI工具在安装依赖时需要调用。这些工具装上之后我建议在终端验证一遍确保在任意目录下都能直接执行git、node、python等命令。很多AI Agent是通过非交互Shell执行命令的如果PATH配置有问题它会出现“能聊天但不能干活”的怪病。这个排查起来特别费劲因为界面不会明确报错。2.2 API密钥管理与模型路由配置模型API接入必须用环境变量管理密钥切忌写死在代码或配置文件里。我习惯在项目根目录放一个.env文件同时在.gitignore里排除它然后用dotenv机制让工具自动读取。凡是涉及CLAUDE_API_KEY、OPENAI_API_KEY、DEEPSEEK_API_KEY这类敏感信息一律走这个通道。在Continue插件中我的model配置大概是这种感觉以JSON块为例{ models: [ { title: DeepSeek Coder, provider: deepseek, model: deepseek-coder-33b-instruct, apiKey: ${DEEPSEEK_API_KEY}, roles: [autocomplete] }, { title: Claude 3.5 Sonnet, provider: anthropic, model: claude-3-5-sonnet-20241022, apiKey: ${ANTHROPIC_API_KEY}, roles: [chat, edit] } ] }这里有一个关键概念角色roles映射。我会明确指定哪个模型承担补全autocomplete、哪个模型承担聊天chat、哪个模型承担编辑edit。这样做的原因非常实际——补全任务对延迟极度敏感用速度快、价格便宜的模型聊天和编辑任务对推理质量要求高用旗舰模型。另一个重要配置是Model的system prompt级参数比如temperature温度我一般会把补全模型的temperature调低到0.1到0.2让输出更保守把聊天模型的temperature调到0.3到0.5之间保留一定的创造性又不会太发散。很多工具默认temperature偏高导致AI生成的代码风格飘忽这个细节很值得调一下。在某些环境下访问海外模型API可能存在网络延迟或不通的情况我的处理方式是在SDK层配置自定义API BaseURL把请求指向可用的网关或兼容中间件。注意这里说的是合规的自建网关或服务商提供的加速端点不涉及任何技术手段的规避行为。实测配置后单次请求的响应时间从原来的超时状态降到1到3秒基本可用。2.3 本地模型部署配置Ollama路线本地模型是整套方案里最“极客”但也最稳定的一环。我用Ollama跑Qwen2.5-Coder 7B主要处理敏感代码的轻量补全和单文件分析。安装很简单后面核对我具体操作先安装并启动服务# 安装后运行服务默认端口11434 ollama serve然后拉取代码模型ollama pull qwen2.5-coder:7b拉到本地后可以用一行命令验证ollama run qwen2.5-coder:7b 用python写一个读取csv并计算每个分组平均值的函数本地模型部署的基本配置要点有三个量化级别、上下文长度、以及是否使用GPU。以Qwen2.5-Coder 7B为例默认拉取的版本是Q4量化显存需求大约6GB左右几乎任何带8GB以上显存的显卡都能跑。如果显存不足可以降低上下文长度默认约32768的上下文会占用大量显存我在普通办公本上会把它降到8192。关于本地模型的实际能力我得诚实地说7B模型在简单补全和单文件小改动方面够用但不能指望它完成跨文件重构。这个定位很重要免得失望。本地模型的价值不在“顶替云端模型”而在“能离线用、可处理敏感数据、不用计费”。2.4 提示词基础规范三条容易踩的线基础配置里最容易被忽略的是提示词规范。很多人以为提示词只是在聊天框里写几句话但实际上在工程化使用中提示词是需要“沉淀成文件”的。我给Agent工具建了一个系统提示词文件里面分三部分角色与规则明确告诉模型它是高级软件工程师代码必须符合仓库既有风格禁止随意引入新依赖任务流程要求模型在改动前先列出文件清单和改动计划改动后必须运行相关测试上下文指引告诉模型哪些目录是生成的代码不要动、哪些文件是核心业务逻辑优先看。这个系统提示词在Claude Code里就是项目根目录下的CLAUDE.md文件。Continue插件里也可以配置全局或项目级systemPrompt。写提示词的技巧是“具体、可检查”比如不要写“注意错误处理”而要写“所有新增的函数必须有try/catch并记录日志到logger.error”。模型对模糊指令的执行是不稳定的但对明确指令的执行稳定得多。另一个基础配置是“给AI喂项目结构”。我每次开启新任务时会先把项目的README、目录结构、包管理文件让AI读取一遍。在Continue里用Codebase自动索引在Claude Code里直接在启动命令后带上文件名。这套习惯养成之后AI输出的准确率会明显提升因为它知道自己在什么项目里。3. 三个实操场景编码、重构、测试配置完成后最关键的是怎么把工具嵌进日常开发流。这个部分我用三个实际场景来展示完整工作流每一步都是可以直接照搬的。3.1 日常编码从AI补全到AI结对日常开发中我用得最多的还是编辑器内的AI补全。但这里的“补全”不是单纯的自动补全单词而是一种“意念编程”——我在函数上方写一行注释描述意图AI直接生成长段逻辑代码。举例我写一个Python数据清洗函数注释这样写# 从原始日志字典列表中提取status为failed的记录 # 去掉timestamp字段输出新的字典列表按ip分组模型生成的代码质量取决于注释的颗粒度。颗粒度太粗比如只写“处理日志”它会给你生成一个四不像颗粒度太细比如把每一行代码都描述了一遍那你不如自己写。最优解是描述“输入、变换、输出”三个要点再加一个边界条件。上面那个例子就包含了提取条件、字段裁剪、分组方式三个信息模型生成后基本不用改。我还总结了几个使用IDE补全时的实用习惯函数命名要完整模型能从函数名和参数名推断大量信息比如calculate_monthly_revenue(orders, refunds)几乎不用注释写完一段代码后按换行让模型“预判”下一个函数有时它能一次性生成出你本来就想写的下一个工具函数遇到复杂逻辑先手动写好函数签名和几个if判断骨架再让AI填具体逻辑比让它纯自由发挥好得多。这种模式用熟了之后我的打字量大概减少了50%以上但代码质量不降反升因为人的精力从敲代码转移到了审查代码上更容易发现逻辑漏洞。3.2 命令行AgentClaude Code的生产级用法终端Agent我用来处理“不能再小的简单任务”而是一切“需要多步推理和多文件协作”的复杂工作。下面是一个典型流程比如我给一个服务端项目加一个限流功能。传统做法是查框架文档、找中间件、改配置、加测试、跑测试。用Claude Code我直接在终端执行claude 给用户注册接口加一个基于IP的限流策略每IP每分钟最多30次请求超过返回429需要幂等处理Claude Code会先读取项目结构理解用的什么Web框架然后读注册接口的代码文件选择合适的限流方案修改代码最后跑相关测试。我的角色变成了“项目经理”——盯在一边看它的操作记录发现方向不对就喊停纠正。实操中我在这套流程里积累了三个使用心得第一任务描述里必须带“验收标准”。比如“达到这个效果并发测试下3秒内返回429”就比“做好限流”好一百倍。Agent在执行时会以验收标准为目标自动排查问题。第二命令权限要注意。Claude Code可以在配置里限制执行命令白名单比如允许npm test、git diff禁止rm -rf这类高危命令。我建议在多人开发环境或CI服务器上务必设置白名单在个人电脑上至少要做到每次高危命令二次确认。第三复杂任务拆成3到4个子任务执行比一个超大任务稳定。比如“实现用户模块”这种大需求我会拆成“建表与数据模型”、“实现注册登录接口”、“实现权限中间件”、“编写测试用例”四步每步都能单独验证。Agent在完成单步后有一套“验证——继续——回退”的循环机制拆开后这个循环可以频繁触发成功率显著更高。3.3 代码审查与测试生成的经验记录代码审查是AI最容易产生即时价值的场景因为“找出问题”比“写出代码”对技术广度的要求更高。我把AI审查分成两档第一档是“快速扫雷”在提交MR之前用Continue的Chat把diff贴给模型让它找空指针、未释放资源、并发竞争问题。这个模式我用DeepSeek或Claude都可以一般能发现两三个遗漏点比如异常分支没有覆盖、回调里没有处理err等。第二档是“深度评审”面对核心模块的大MR时我会让Claude Code整体读一遍相关文件回答几个具体问题这个模块的耦合点在哪、性能瓶颈可能在哪、哪些函数副作用没说明。它给的分析和建议我大概会采纳60%剩下的30%会被它带偏还有10%是它瞎编的。但即便这样也比人肉评审快很多关键是让AI给的每个结论都“标注了文件行号”方便我回溯验证。测试生成我采用的策略是“测试后置”先写功能代码再让AI根据代码实现自动生成单元测试。实操中有个效率翻倍的写法在Claude Code里这样要求请为src/utils/price.ts写单元测试使用vitest测试目标包括正常价格计算、折扣下限、负数输入抛错、浮点精度场景。测试命名遵循里面的describe/it风格。因为我在要求里指定了测试框架、测试文件路径和具体场景生成的测试代码基本一次就能跑通。如果只写“写个测试”它就给你生成一堆空泛的通过性断言没有验证意义。我把AI生成测试代码的可靠经验总结成一句话“给AI看一个你手动写的测试范例”。只要它能模仿范例的模式剩下的几百个用例都能自动生成。这种小投入大产出的招数比写什么提示词魔法都管用。4. 常见问题与排查技巧实录工具用久了一定会遇到各种问题。下面这些全是本人在真实使用中踩过的有些在网上搜不到标准答案我记录一下排查过程。4.1 响应慢、超时、连接失败怎么定位AI编程最影响心态的就是“转圈圈”。响应慢首先要分清瓶颈在模型侧还是网络侧。我的排查顺序是先看是所有模型都慢还是某一个模型慢。如果只有本地Ollama模型慢优先看显存占用——很可能上下文窗口被撑满模型在CPU和GPU之间反复交换。解决方法是调低上下文长度或换更小的量化版本。如果只有云端模型慢就检查API返回的状态码和耗时指标。以OpenAI格式的API为例可以从返回头看时间消耗分布。如果总耗时1秒而TTFT很低那大概率是模型推理速度问题如果连接阶段就耗时很久那很可能是网络链路问题。如果配置了自定义API BaseURL还要确认网关端的连接池和超时设置。我遇到过一种情况接口偶尔返回503重试就成功排查发现在于网关对API账号的并发连接数有限制。解决办法是降低IDE插件的并发请求数或者错峰使用。记住一套排查口诀先分“模型问题还是网络问题”再看“配置问题还是账号问题”最后才考虑“代码问题”。很多新手一慢就怀疑模型能力其实大部分时候是配置不对。4.2 上下文一长质量就崩怎么处理模型在长上下文下出现“遗忘”或“幻觉”是常态不是bug。比如让它改一个500行文件的尾部逻辑它可能突然忘了文件头部某个关键变量的类型约束。我处理这个问题的办法是“主动分割上下文”。把一个超大任务拆成多个小对话每个对话只关注一个文件或一个模块。对话开始时先粘贴必要的类型定义、函数签名再让AI操作避免让它自己去大海捞针。这比“让它自己想”稳定得多因为找到正确信息的过程对模型也是一种负担。另外CLAUDE.md或项目记忆文件不要写太长。我一开始把整个项目说明全塞进去结果反而干扰模型判断。后来精简成几行核心规范项目架构、技术栈版本、目录约定、测试命令、禁止事项。这样既给了模型锚点又不至于让上下文被无用信息挤占。还有一个技巧是“渐进式确认”在长任务中我问AI的频率比短任务高。每完成一个子模块我会让它先总结刚才做了什么、下一步要做什么再继续执行。这个“阶段总结”会写回对话上下文相当于给模型一个记忆锚点有效减少遗忘。4.3 Token消耗与成本控制AI编程虽然提效但成本也是一笔账。我统计过自己的使用数据每天大约500次请求其中补全类300次左右便宜对话类150次左右Agent类每天20到30次其中Agent单次任务消耗Token在5万到20万之间。一个月下来云端API成本大约在40到60美元。如果想控制成本我用的最有效手段是分层路由简单任务走DeepSeek或本地小模型不看Flagship模型复杂任务集中处理尽量一次把需求描述完整避免反复开启新会话从头解释在Claude Code里设置maxTokens单次响应上限防止它生成一长串没有实质意义的探索性代码。还有一个容易被忽视的成本陷阱是“自动重试”。某些SDK默认对超时请求自动重试多次每次重试都会再次计费。我遇到过半夜挂着跑重构任务第二天发现费用飙升——就是重试导致的。在配置文件里把重试次数改成0或1能省下一大笔意外开销。4.4 安全与隐私哪些代码不能交给AI说实话这个点值得单独拉出来讲。使用云端模型时你提交的代码片段会被发送到模型服务商绝大多数服务商承诺不会用于训练但“不训练”不等于“绝对安全”。我给自己定了几条红线含密码、密钥、Token的文件绝不粘贴进对话连脱敏版本都尽量少发未公开的用户隐私数据如手机号、身份证号、精确地理位置绝不进入云端模型公司内部有保密协议的核心算法逻辑先用本地模型处理涉及数据库表结构的元数据先做脱敏再问AI。实际操作中要警惕IDE插件的“自动关联上下文”功能。有些工具会悄悄把整个项目文件列表、最近的git diff甚至文件内容附加到请求里你根本不知道发送了什么。所以我建议在敏感项目里要么关闭自动上下文收集要么把远程AI工具整个禁用只保留本地模型。把这些红线写进CLAUDE.md的系统提示词里让AI在涉及敏感字段时主动拒绝回答。比如我加了一条规则“如果用户请求涉及password、secret、token字段请提示脱敏后再继续。”设置好之后AI会变成一道主动的安全阀帮助不小。结尾与心得这套AI编程工作台搭建到现在我最大的体会是“工具组合比单一神器重要”。AI编程不是一个模型或一个插件的胜利它是一套流程的重构。你花半天时间把补全模型、对话模型、Agent工具、本地模型各自的职责划清楚再配上项目级的上下文管理后面的效率提升是倍数级的。最后再分享一个小技巧在每个项目开始时我都会花10分钟写一个项目摘要文件记录技术栈、模块结构、常见的坑、命令速查这个文件既是给人看的README也是给AI看的“开机说明书”。凡是认真维护这个文件的仓库AI辅助编程的体验都会明显上一个台阶。如果你也想上手建议先从“编辑器内补全”这一步做起等习惯之后再引入终端Agent不要一步到位。AI编程最大的风险不是工具不好用而是你还没建立好“人审AI产出”的节奏就盲目信任它。保持审查习惯这套工作台才能真正为你所用。