
最近刚拿到一台全新的Windows工作站准备当主力开发机用。装完系统后我给自己定了个小目标把AI编程环境从头到尾梳理一遍不再像以前那样东装一个工具、西配一个插件搞得环境跟打补丁似的。折腾了两天踩了不少坑也沉淀出一套比较稳的流程。这篇就把整个搭建过程、选型理由、关键参数和排错经验全部分享出来给同样想在Windows上搞AI编程的朋友做个参考。先说清楚这套环境到底覆盖了什么基于Windows系统从零配置一套能跑AI编程工具链的开发环境包括底层子系统、Python依赖管理、容器化中间件、以及AI代码生成工具的接入。整个方案适合前端、后端、算法岗的同学直接抄作业也适合刚接触AI编程的新手照着一步步搭。1. 先想清楚Windows上做AI编程到底要搭些什么1.1 AI编程环境和传统开发环境的区别以前在Windows上做开发流程很简单装个IDE装个语言解释器或者编译链配好环境变量能跑起来就完事。但AI编程环境不太一样它比传统环境多出几个层次。第一个层次是代码生成与理解层包括各类AI编程助手和Agent工具比如Codex桌面版、GitHub Copilot等。这些工具要么以IDE插件形式存在要么以独立客户端方式运行它们需要和你的代码库、终端命令、Git操作进行深度交互。第二个层次是本地大模型与推理层。很多人想跑本地模型比如用Ollama跑Qwen、DeepSeek等开源模型这就需要环境里有Python运行时、相关推理库还要考虑GPU加速。虽然现在很多模型直接提供API但本地模型在离线场景和隐私敏感场景下还是很有价值。第三个层次是服务依赖层。AI应用开发经常要踩Redis做缓存、Elasticsearch做向量检索、PostgreSQL做业务存储这些服务在Windows上最稳妥的跑法是走Docker容器所以Docker环境也成了标配。这三个层次叠下来传统Windows开发环境就不够用了必须对底层做一些改造和规划。这也是为什么很多人照着网上的教程装东西总是失败——他们的Linux命令、路径写法、包管理思路到了Windows下就开始出各种幺蛾子。1.2 三条路线怎么选纯Windows、WSL2还是Docker在Windows上搭AI编程环境底层策略通常有三条路纯Windows原生、WSL2子系统、Docker容器化。我把三者的适用场景整理成了一个对比表方便直观判断方案优点缺点适合场景纯Windows原生安装简单、路径直观、IO性能好Linux工具链兼容差、依赖常报错只做轻量Python脚本、简单API调用WSL2子系统Linux生态完整、和Windows文件互通跨文件系统IO慢、需维护Linux发行版跑本地模型、玩Linux命令行工具链Docker容器化环境隔离强、一键复现、团队协作友好资源占用高、GPU透传配置麻烦部署中间件服务、标准化交付环境我的个人判断是别只押注一条路WSL2 Docker组合是目前Windows上做AI编程的最优解。WSL2负责提供一个完整的Linux运行环境用来跑Python虚拟环境、本地大模型推理这些重活Docker负责把Redis、Elasticsearch这些中间件隔离起来随用随开不污染宿主机。两条路并行比单用一条都稳。1.3 我的最终环境清单整套环境搭完后的最终清单大致如下后面所有章节都是按这个清单一步步展开的Windows 11 专业版版本号建议保持最新旧版本对WSL2支持不友好WSL2 Ubuntu 22.04 LTSAI编程的主力环境Windows Terminal统一终端入口Git代码版本管理MinicondaPython环境管理比Anaconda轻量Docker Desktop with WSL2 backend中间件容器化Codex桌面版AI编程AgentOllama Qwen系列模型本地推理离线兜底各类AI编程插件IDE侧辅助这套组合的核心理念是Windows负责图形界面和日常操作WSL2负责Linux生态Docker负责服务隔离AI工具负责提效。每层各司其职出问题也能快速定位是哪个环节的事。2. 基础层搭建把系统先捋顺2.1 WSL2安装与配置WSL2是整个Linux生态的地基安装之前一定要保证Windows版本够新。最好的方式是直接在管理员权限的PowerShell里执行wsl --install这个命令会自动开启需要的Windows功能、下载WSL内核并安装默认的Ubuntu发行版。装完重启系统再执行下面命令确认wsl -l -v正常情况下能看到Ubuntu的版本号是2表示用的WSL2。如果显示Version 1需要手动升级wsl --set-version Ubuntu 2装完之后有个细节容易被忽略给WSL2配置内存和CPU上限。微软默认会占掉宿主机将近一半内存这对只有16GB内存的机器就很尴尬。我习惯在用户目录下建一个.wslconfig文件内容如下[wsl2] memory8GB processors4 swap2GB这个配置能避免WSL2把内存吃满导致Windows卡顿。数值根据自己机器配置调整原则是留一半左右内存给Windows宿主。进入Ubuntu后第一件事是更新软件源sudo apt update sudo apt upgrade -y这里注意如果网络环境不太稳定的机器可以把Ubuntu源换成国内镜像源具体操作是把/etc/apt/sources.list里的地址替换为清华或阿里的镜像地址替换后apt update速度会有肉眼可见的提升。2.2 Git和Windows TerminalGit是开发环境的基础设施Windows上建议直接下载Git for Windows安装包一路默认选项即可。装完记得配置身份信息否则提交代码会报错git config --global user.name your_name git config --global user.email your_emailexample.com这里有个细节WSL2里的Ubuntu也建议装一份Git并配置同样的身份信息。我个人建议把WSL里的Git作为主力因为大部分AI编程工具在Linux环境下的路径处理更顺畅。sudo apt install git -y git config --global user.name your_name git config --global user.email your_emailexample.comWindows Terminal现在可以直接从Microsoft Store安装装好后按下Ctrl ,打开设置可以把默认终端程序设为Windows Terminal并加一个Ubuntu的profile。日常用一个终端窗口切换PowerShell和Ubuntu比来回开两个窗口舒服得多。2.3 Miniconda安装与环境变量Python环境管理我选了Miniconda它比Anaconda轻量太多只包含conda包管理器和Python其余依赖按需安装。在Windows宿主和WSL2里我各装了一份——宿主那份用来跑一些Windows原生的Python脚本WSL2里的那份才是AI开发主力。到清华镜像站下载Miniconda的Windows安装包或者直接用命令行下载Linux版本到WSL2里wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-latest-Linux-x86_64.sh bash Miniconda3-latest-Linux-x86_64.sh安装过程中有个关键选择是否执行conda init。这一步会往.bashrc里写入初始化脚本一定要选yes否则装完conda命令都找不到。Windows宿主的Miniconda安装时有个容易踩的坑安装向导里 Add Miniconda3 to my PATH environment variable 要单独勾选默认是不勾的。如果不勾装完在普通PowerShell窗口里敲conda会提示找不到命令。虽然日常主力在WSL2里跑但Windows宿主这边偶尔也要用conda所以环境变量别省。装完后验证conda --version python --version如果两个都正常输出版本号基础层就算到位了。3. Python侧准备AI开发的依赖生态3.1 conda和pip换源不管用conda还是pip在国内网络环境下第一件事都是换源。这一步不做后面装任何一个大点的包都可能等到怀疑人生。conda换源直接修改~/.condarc文件channels: - defaults show_channel_urls: true default_channels: - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2 custom_channels: conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloudpip换源用命令行执行一次即可生效pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/ pip config set global.trusted-host mirrors.aliyun.com换完源之后装包速度、成功率都会明显改善。这一步虽然简单但重要性极高很多新手抱怨装个torch装到一半断连十有八九是没换源。3.2 虚拟环境管理AI项目最头疼的问题就是依赖冲突。这个项目要torch 2.1那个项目要torch 1.13硬怼在一个环境里必然出事。所以每个项目一个独立conda环境是必须养成的习惯。创建虚拟环境的命令很简单conda create -n ai_dev python3.10 -y conda activate ai_devPython版本建议选3.10或3.11这是目前大模型生态兼容性最好的两个版本。3.12虽然更新但部分依赖库还没跟上容易踩坑。虚拟环境装好后顺手把常用包打进去。我一般会预装这几类conda install jupyter notebook -y pip install openai langchain langchain-community pip install transformers accelerate pip install pandas numpy matplotlib预算有限或显存不足的机器装transformers时可以用CPU版推理虽然慢点但至少能跑通流程。3.3 本地模型推理环境本地大模型是AI编程环境的离线兜底。网络通畅时可以直接调云端API但断网、内网开发、或者涉及敏感代码不想外传时本地模型就是唯一选择。最简单的本地模型方案是Ollama它的好处是安装简单、命令行一条命令就能拉模型curl -fsSL https://ollama.com/install.sh | sh拉取模型也很直接以Qwen2.5-Coder为例ollama pull qwen2.5-coder:7b ollama run qwen2.5-coder:7b如果机器有NVIDIA GPUOllama会自动调用CUDA做加速。纯CPU机器也能跑7B的模型就是响应速度慢一些生成代码时大概每秒几个token但应急够用。这里提醒一下Ollama是装在WSL2里的不是在Windows宿主。因为Ollama在Linux下对GPU驱动、CUDA版本的处理更成熟。WSL2支持GPU透传所以Windows下的NVIDIA驱动在WSL2里可以直接用前提是Windows宿主装了最新的NVIDIA驱动。4. AI编程工具接入从辅助到主力4.1 Codex桌面版安装与配置Codex桌面版是目前AI编程Agent里比较能打的一个它不只是一个自动补全工具而是能理解整个项目上下文、自动修改代码、执行命令、跑测试的智能体。安装方式和其他Windows应用一样从官网下载桌面版安装包双击安装即可。安装时有个问题经常有人遇到安装进程卡住不动或者提示安装未完成。我排查下来多半是这几个原因安装过程中网络波动导致下载的安装包不完整建议重新下载一次杀毒软件拦截了安装行为需要把安装目录加入信任列表系统缺少必要的运行库比如VC Redistributable需要提前装好安装完成后启动客户端用账号登录。首次登录后它会让你选择关联哪些代码仓库、要不要读取终端命令权限。建议全选因为它的核心能力就是读懂你的项目、直接动手改代码权限给够才能发挥实力。进入项目目录后可以直接在终端里用codex命令启动交互模式codex或者在IDE插件里接入。实际使用下来Codex处理写一个函数实现某个功能给这段代码补测试解释一下这个报错原因这类任务效果都很不错。4.2 AI Agent的路径规划Codex这类AI Agent工具本质上是把大模型 工具调用 代码操作串成一条流水线。它内部有一个循环理解用户指令 → 分析代码库 → 规划修改步骤 → 调用工具执行 → 观察结果 → 调整策略 → 返回结果。这个机制的好处在于它能处理的不是单文件小需求而是跨文件的复杂任务。比如帮我重构一下订单模块把支付逻辑抽取成单独的服务这种需求它会在项目里自动搜索相关文件、识别依赖关系、生成修改计划然后逐文件落地。但要让Agent路径规划得准一定要给它足够明确的上下文。最好的做法是在项目根目录维护一个README.md把项目结构、技术栈、启动方式写清楚。Agent在启动时会优先读取这些上下文路径规划准确率会高很多。4.3 AI编程提示词的使用技巧很多人觉得AI编程工具不给力其实是提示词写得不对。用Codex这类Agent工具时指令包含的信息量要足够但也不要拖泥带水。我总结了几个实用写法差的写法写个接口好的写法在订单模块中新增一个查询接口入参是订单ID返回订单详情及其关联的商品列表。 要求使用FastAPI框架参考utils/db.py中的数据库连接方式输出代码时附带对应的Pydantic模型。差距在哪好的写法把**目标新增接口、上下文订单模块、约束FastAPI、参考已有连接方式、附加要求Pydantic模型**都讲清楚了Agent可以直接定位相关文件并生成符合项目风格的代码。日常用下来我习惯把提示词拆成四段式角色与场景你是一个Python后端开发擅长重构具体任务把A模块的xx函数逻辑重构到B模块约束条件保持对外接口不变更新相关测试交付物给出修改后的代码列表和关键代码片段这套模板虽然简单但能让输出质量稳定提升一个档次。5. Docker与中间件环境让服务随用随开5.1 Docker Desktop安装细节Docker Desktop for Windows的安装包可以直接从官网下载。安装向导里有一个关键勾选项Use WSL 2 instead of Hyper-V一定要勾选。这样Docker引擎会跑在WSL2里和开发环境保持同一套底层性能更好资源也更可控。安装完成后打开Docker Desktop设置里建议做两个调整一是把镜像源换成国内地址。Docker Hub在国内拉取镜像非常慢在Docker Desktop的Settings → Docker Engine里修改配置{ registry-mirrors: [ https://docker.m.daocloud.io, https://dockerproxy.com ] }二是限制Docker可用的内存和CPU。默认配置会让Docker吃掉大量资源在Settings → Resources里把Memory调到自己认为合适的值。我是32GB内存的机器给Docker分配8GB。5.2 中间件容器化部署AI应用开发经常要跑一堆中间件如果用安装包装到系统里一是污染环境二是版本切换麻烦。用Docker之后一个docker run就搞定不想要了直接删容器清清爽爽。以Redis为例一行命令就起来了docker run -d --name redis -p 6379:6379 redis:7-alpineElasticsearch稍微复杂一点需要设置JVM内存参数和禁用安全认证开发环境docker run -d --name elasticsearch \ -p 9200:9200 \ -e discovery.typesingle-node \ -e xpack.security.enabledfalse \ -e ES_JAVA_OPTS-Xms512m -Xmx512m \ docker.elastic.co/elasticsearch/elasticsearch:8.12.0PostgreSQL如果做AI问答的知识库存储建议顺带装pgvector扩展官方镜像带了这个插件docker run -d --name postgres \ -e POSTGRES_PASSWORDpostgres \ -p 5432:5432 \ pgvector/pgvector:pg16这些中间件容器化后主机上干干净净项目需要哪个服务就启动哪个容器对整个开发体验的提升是巨大的。5.3 Docker in AI工作流里的定位很多人问既然WSL2里都可以装Redis、装ES为什么还要多一层Docker我的理解是Docker解决的是环境一致性问题。在WSL2里装服务这台机器配置好了换台机器就得重来而用Docker一个docker-compose.yml文件就能复现整套服务依赖。实际项目中我习惯在项目根目录维护一个docker-compose.yml把所有中间件编排进去比如services: redis: image: redis:7-alpine ports: - 6379:6379 postgres: image: pgvector/pgvector:pg16 environment: POSTGRES_PASSWORD: postgres ports: - 5432:5432新同事入职或者自己换了新电脑不需要逐个安装服务直接docker compose up -d就全部启动。这才是AI应用开发该有的效率。6. 常见问题与排查技巧实录整套环境搭下来一定会碰到各种问题。这里把最常见的几类集中整理成一个速查表方便直接定位现象根因解决方案Codex桌面版安装到一半报错安装包下载不完整或权限不足重新下载安装包、以管理员身份运行、检查杀毒软件WSL2启动不了报虚拟化错误BIOS里未开启虚拟化进BIOS开启Intel VT-x或AMD-Vconda命令找不到未初始化或未加入PATH执行conda initWindows宿主勾选Add to PATHpip安装包速度极慢未配置国内源用pip config set global.index-url换源Docker拉取镜像超时Docker Hub访问不稳定配置registry-mirrors镜像加速器python命令进了Windows StoreWindows应用执行别名干扰设置 → 应用 → 高级应用设置 → 关闭应用执行别名模型推理时显存不足模型太大或并发占用换更小的量化模型或减少其他GPU占用进程Ubuntu无法更新软件源默认apt源连接慢换成国内镜像源这里挑几个展开讲Codex安装未完成是所有问题里出现频率最高的。我遇到的情况是安装进度条走到60%左右直接卡死后来发现是安装目录里残留了上一轮的文件。解决办法是先彻底卸载干净删除%LocalAppData%\Programs\codex目录再用管理员身份重新安装。另外Windows的临时目录权限问题也会导致安装失败用管理员身份执行cleanmgr清理一下临时文件后重试。WSL2内存爆炸是个隐蔽问题。WSL2默认吃宿主机50%内存如果同时跑Docker和模型推理内存很容易不够用。我之前提到用.wslconfig限制内存上限但改完配置后要执行wsl --shutdown再重启WSL才生效。还有个细节WSL2启动后不会主动释放内存建议在~/.bashrc里加一段内存清理脚本或者直接用wsl --shutdown彻底停掉再重新进。镜像加速配置不生效也要特别留意。Docker Desktop的配置是daemon.json修改完需要点击 Apply Restart 才会生效。很多人改了没重启镜像照样拉不下来还以为配置没用。7. 环境跑通后的实际体感7.1 一个真实小任务的AI编程流程环境搭好后我拿一个真实小任务做了测试用FastAPI写一个简单的知识库问答接口支持上传Markdown文档切分后存到PostgreSQL的pgvector里查询时做向量相似度检索再让本地Qwen模型根据检索结果生成回答。整个任务的执行流程是在Codex的交互窗口里一步步下的指令第一步让它创建项目结构和依赖声明。我输入提示词基于FastAPI创建一个知识库问答项目包含文档上传、文本切分、向量存储、检索问答四个模块用langchain框架。 它自动生成了主目录结构、requirements.txt和入口文件。第二步让它实现具体模块。我针对向量存储单独下指令使用pgvector存储向量连接方式参考docker-compose中的postgres配置向量维度为768。 它自动生成了对应的存储层代码。第三步让它写测试并跑通。我下指令写一个pytest测试覆盖文档上传和检索问答两个核心流程然后执行测试直到通过。 它会自动运行测试、修复报错。整个流程下来大概一个半小时完成了一个以前需要半天起步的项目骨架和核心功能。虽然中间还要人工审查代码质量、调整部分接口设计但生产力提升确实直观。7.2 我最在意的三个落脚点环境搭完、流程也跑通之后有几个经验特别想分享。第一AI编程环境最重要的不是工具多而是路径通。Windows上做AI开发最大的障碍往往不是缺某个库而是环境变量错乱、路径有空格、WSL2和Windows文件系统混用导致的各种兼容性问题。把这些基础问题理顺工具才能真正用起来。第二每个项目都要有清晰的依赖声明。不管是requirements.txt、environment.yml还是pyproject.toml一定要把依赖记清楚。Agent工具在分析项目时也会优先读取这些文件来理解环境依赖声明干净AI生成的代码能跑的通过率就高。第三定期给WSL2做快照或导出。WSL2的虚拟磁盘文件越来越大偶尔也会出问题。我现在是每个大项目收尾后执行一次wsl --export Ubuntu D:\backup\ubuntu-backup.tar wsl --import Ubuntu-new D:\wsl\ubuntu-new D:\backup\ubuntu-backup.tar哪天环境坏了直接恢复到备份状态不用从头再来。最后再分享一个小技巧装完所有基础环境后建议写一个setup.sh脚本把conda环境创建、pip依赖安装、apt工具安装这些步骤全部固化下来。后续换电脑或者帮同事搭环境直接跑脚本就完事省下的时间足够再写几个好用的AI Agent用例了。这套Windows AI编程环境的搭建过程就是这样希望对你有点帮助。