AI辅助创作 | 专栏《2026 AI编程效率革命》第02篇

前言

很多朋友问我:"你用AI写代码效率那么高,是不是有什么秘诀?"说实话,真正的秘诀不在模型本身,而在于环境配置。一个标准化的AI开发环境能让你少踩80%的坑——不会因为API密钥泄露把账单干爆,不会因为依赖冲突排查一整个下午,更不会每次换电脑都从零开始折腾。

这篇文章是我用了大半年AI编程后沉淀下来的环境搭建方案。从Python环境、VS Code AI插件,到SDK配置和Docker本地服务,每一步都有具体的命令和验证方法。跟着走一遍,30分钟就能搭好一套"即开即用"的AI开发环境。


一、Python环境:用uv告别依赖地狱

在AI开发中,不同项目可能需要不同版本的依赖。用传统的 pip + virtualenv 管理太费劲了,我推荐 uv——Rust写的Python包管理器,速度比pip快10-100倍,还自带Python版本管理。

1.1 安装uv

Windows(PowerShell):

powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

macOS / Linux:

curl -LsSf https://astral.sh/uv/install.sh | sh

安装完成后验证:

uv --version
# 输出示例:uv 0.6.x

1.2 用uv管理Python版本

uv可以直接安装和管理Python解释器,不再需要单独下载安装包:

# 安装Python 3.12
uv python install 3.12

# 查看已安装的Python版本
uv python list

# 创建项目时指定Python版本
uv init my-ai-project --python 3.12

1.3 项目初始化与虚拟环境

# 创建新项目
uv init ai-toolchain-demo
cd ai-toolchain-demo

# 添加依赖(uv会自动创建虚拟环境)
uv add openai anthropic langchain-openai

验证虚拟环境是否生效:

# 查看当前使用的Python路径(应在 .venv 下)
uv run python -c "import sys; print(sys.executable)"
# 输出类似:/path/to/ai-toolchain-demo/.venv/bin/python

# 查看已安装的依赖
uv pip list

验证清单:

  • uv --version 正常输出版本号
  • uv python list 能看到 Python 3.12
  • uv run python --version 输出 3.12.x
  • 项目目录下有 .venv 文件夹

二、Continue.dev配置:在VS Code里接入AI

有了Python环境,下一步是把AI集成到编辑器中。Continue.dev 是目前我用下来最灵活的VS Code AI插件——支持OpenAI、DeepSeek、Anthropic、本地模型等几十种后端,而且配置文件完全透明。

2.1 安装插件

在VS Code扩展市场搜索 “Continue” 安装即可。安装完成后,侧边栏会出现Continue图标。

2.2 配置多个AI模型

Continue的配置文件在用户目录下的 ~/.continue/config.json。以下是我的实战配置,同时接入DeepSeek和OpenAI:

{
  "models": [
    {
      "title": "DeepSeek V4",
      "provider": "deepseek",
      "model": "deepseek-chat",
      "apiKey": "${DEEPSEEK_API_KEY}",
      "apiBase": "https://api.deepseek.com"
    },
    {
      "title": "GPT-5.5",
      "provider": "openai",
      "model": "gpt-5.5",
      "apiKey": "${OPENAI_API_KEY}"
    },
    {
      "title": "DeepSeek V4 (Coding)",
      "provider": "deepseek",
      "model": "deepseek-chat",
      "apiKey": "${DEEPSEEK_API_KEY}",
      "apiBase": "https://api.deepseek.com",
      "roles": ["apply", "edit"]
    },
    {
      "title": "GPT-5.5 (Chat)",
      "provider": "openai",
      "model": "gpt-5.5",
      "apiKey": "${OPENAI_API_KEY}",
      "roles": ["chat"]
    }
  ],
  "tabAutocompleteModel": {
    "title": "DeepSeek Tab",
    "provider": "deepseek",
    "model": "deepseek-chat",
    "apiKey": "${DEEPSEEK_API_KEY}",
    "apiBase": "https://api.deepseek.com"
  },
  "contextProviders": [
    { "name": "diff" },
    { "name": "open" },
    { "name": "terminal" },
    { "name": "codebase" }
  ],
  "slashCommands": [
    {
      "name": "review",
      "description": "代码审查当前文件"
    },
    {
      "name": "explain",
      "description": "解释选中代码"
    },
    {
      "name": "test",
      "description": "为当前函数生成测试"
    }
  ]
}

注意apiKey 字段使用 ${DEEPSEEK_API_KEY} 格式引用环境变量,Continue启动时会自动展开。绝对不要把真实密钥写在配置文件中。

2.3 环境变量配置

根据操作系统设置环境变量:

Windows(PowerShell):

[System.Environment]::SetEnvironmentVariable('DEEPSEEK_API_KEY', 'sk-your-key-here', 'User')
[System.Environment]::SetEnvironmentVariable('OPENAI_API_KEY', 'sk-your-key-here', 'User')

macOS / Linux(追加到 ~/.bashrc~/.zshrc):

export DEEPSEEK_API_KEY="sk-your-key-here"
export OPENAI_API_KEY="sk-your-key-here"

配置完成后重启VS Code,在Continue对话框中输入"你好",如果有回复说明连接成功。

验证清单:

  • Continue插件安装并显示在侧边栏
  • config.json 中模型列表能正常加载
  • 发送"你好"能收到模型回复
  • 选中代码后 Ctrl+L(Mac: Cmd+L)能弹出对话

三、AI SDK环境:用Python调用大模型

编辑器里的AI助手解决的是"边写边问"的问题,但真正批量的AI任务——代码审查、批量生成、Agent自动化——需要直接用Python SDK。

3.1 安装SDK

# 安装三大主流SDK
uv add openai anthropic langchain-openai python-dotenv

3.2 统一配置管理

在项目根目录创建 config.py.env 文件,集中管理所有密钥和模型参数:

.env(绝不提交到Git):

OPENAI_API_KEY=sk-your-openai-key
DEEPSEEK_API_KEY=sk-your-deepseek-key
ANTHROPIC_API_KEY=sk-ant-your-anthropic-key

.gitignore

.env
.venv/
__pycache__/
*.pyc
.DS_Store

config.py

import os
from dotenv import load_dotenv

# 加载 .env 文件中的环境变量
load_dotenv()

# AI服务配置
AI_CONFIG = {
    "openai": {
        "api_key": os.getenv("OPENAI_API_KEY", ""),
        "model": "gpt-5.5",
        "base_url": os.getenv("OPENAI_BASE_URL", ""),
    },
    "deepseek": {
        "api_key": os.getenv("DEEPSEEK_API_KEY", ""),
        "model": "deepseek-chat",
        "base_url": "https://api.deepseek.com",
    },
    "anthropic": {
        "api_key": os.getenv("ANTHROPIC_API_KEY", ""),
        "model": "claude-sonnet-4-20250514",
    },
}

# 通用参数
DEFAULT_TEMPERATURE = 0.1
DEFAULT_MAX_TOKENS = 4096


def get_openai_client():
    """获取OpenAI客户端实例"""
    from openai import OpenAI
    config = AI_CONFIG["openai"]
    kwargs = {"api_key": config["api_key"]}
    if config["base_url"]:
        kwargs["base_url"] = config["base_url"]
    return OpenAI(**kwargs)


def get_langchain_openai_llm(temperature=DEFAULT_TEMPERATURE):
    """获取LangChain OpenAI LLM实例"""
    from langchain_openai import ChatOpenAI
    config = AI_CONFIG["openai"]
    kwargs = {
        "api_key": config["api_key"],
        "model": config["model"],
        "temperature": temperature,
    }
    if config["base_url"]:
        kwargs["base_url"] = config["base_url"]
    return ChatOpenAI(**kwargs)


def validate_config():
    """验证配置是否完整"""
    missing = []
    for provider, cfg in AI_CONFIG.items():
        if not cfg.get("api_key"):
            missing.append(f"{provider.upper()}_API_KEY")
    if missing:
        raise ValueError(
            f"缺少以下环境变量: {', '.join(missing)}\n"
            f"请在 .env 文件中配置。"
        )
    print("✅ 所有API密钥配置完成")


if __name__ == "__main__":
    validate_config()
    print(f"OpenAI模型: {AI_CONFIG['openai']['model']}")
    print(f"DeepSeek模型: {AI_CONFIG['deepseek']['model']}")
    print(f"Anthropic模型: {AI_CONFIG['anthropic']['model']}")

3.3 验证SDK连接

# test_sdk.py
from config import get_openai_client, validate_config

def test_connection():
    """测试AI服务连接"""
    validate_config()

    client = get_openai_client()
    response = client.chat.completions.create(
        model="gpt-5.5",
        messages=[{"role": "user", "content": "用一句话回答:AI编程最核心的能力是什么?"}],
        max_tokens=100,
    )
    print(response.choices[0].message.content)

if __name__ == "__main__":
    test_connection()

运行验证:

uv run python test_sdk.py
# 输出示例:AI编程最核心的能力是将需求精确转化为Prompt的能力。

验证清单:

  • uv run python config.py 输出"✅ 所有API密钥配置完成"
  • uv run python test_sdk.py 能正常返回AI回复
  • .env 已加入 .gitignore,不会被提交

四、Docker环境(可选):本地AI服务一键启动

如果你希望某些任务用本地模型处理(比如代码补全这种高频低延迟场景),Docker是最快的方式。以下 docker-compose.yml 可以一键启动Ollama本地大模型服务。

4.1 docker-compose.yml

# docker-compose.yml
version: "3.9"

services:
  ollama:
    image: ollama/ollama:latest
    container_name: ai-ollama
    ports:
      - "11434:11434"
    volumes:
      - ollama_data:/root/.ollama
    restart: unless-stopped
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              count: 1
              capabilities: [gpu]

  # 可选:Open WebUI 提供Chat界面
  open-webui:
    image: ghcr.io/open-webui/open-webui:main
    container_name: ai-webui
    ports:
      - "3000:8080"
    volumes:
      - webui_data:/app/backend/data
    environment:
      - OLLAMA_BASE_URL=http://ollama:11434
    depends_on:
      - ollama
    restart: unless-stopped

volumes:
  ollama_data:
  webui_data:

4.2 启动与使用

# 启动服务
docker compose up -d

# 拉取模型(以Qwen 2.5 Coder为例,约4GB)
docker exec -it ai-ollama ollama pull qwen2.5-coder:7b

# 测试调用
curl http://localhost:11434/api/generate -d '{
  "model": "qwen2.5-coder:7b",
  "prompt": "写一个Python函数计算斐波那契数列",
  "stream": false
}'

启动 open-webui 后,浏览器访问 http://localhost:3000 就能看到一个类ChatGPT的本地聊天界面。

注意:没有GPU也可以跑,但7B以上模型用CPU推理会很慢。日常开发用云端模型为主,本地模型作为离线备选方案。

验证清单:

  • docker compose up -d 无报错
  • docker ps 能看到 ollama 和 open-webui 两个容器
  • http://localhost:3000 可以打开WebUI

五、项目模板:标准化你的AI项目目录

每次新建AI项目都手动搭结构很烦。我整理了一个标准模板,克隆即用。

5.1 推荐项目结构

ai-project-template/
├── .env                    # API密钥(不提交)
├── .env.example            # 密钥模板(提交,帮助新成员配置)
├── .gitignore
├── pyproject.toml          # uv项目配置
├── docker-compose.yml      # (可选)本地AI服务
├── src/
│   ├── __init__.py
│   ├── config.py           # 统一配置(上面已给出)
│   └── ai_client.py        # AI客户端封装
├── prompts/                # 提示词模板
│   └── system_prompts/
│       ├── code_review.md
│       └── code_explain.md
├── scripts/                # 实用脚本
│   ├── quick_test.py       # SDK连接测试
│   └── setup_env.py        # 环境检查脚本
├── tests/                  # 测试
│   └── test_ai_client.py
└── README.md

5.2 快速启动脚本

#!/bin/bash
# setup.sh — 一键初始化AI开发环境

set -e

echo "🚀 初始化AI开发环境..."

# 检查uv是否安装
if ! command -v uv &> /dev/null; then
    echo "❌ 未找到uv,请先安装:https://github.com/astral-sh/uv"
    exit 1
fi

# 安装Python(如需要)
echo "📦 检查Python版本..."
uv python install 3.12

# 创建项目
echo "📁 创建项目..."
uv init ai-project --python 3.12
cd ai-project

# 安装核心依赖
echo "📦 安装依赖..."
uv add openai anthropic langchain-openai python-dotenv

# 创建目录结构
echo "📁 创建目录结构..."
mkdir -p src prompts/system_prompts scripts tests

# 复制 .env.example(如果没有则创建)
cat > .env.example << 'EOF'
# 将本文件复制为 .env 并填入你的API密钥
# cp .env.example .env
OPENAI_API_KEY=sk-your-openai-key
DEEPSEEK_API_KEY=sk-your-deepseek-key
ANTHROPIC_API_KEY=sk-ant-your-anthropic-key
EOF

# 创建 .gitignore
cat > .gitignore << 'EOF'
.env
.venv/
__pycache__/
*.pyc
.DS_Store
EOF

echo ""
echo "✅ 环境初始化完成!"
echo "接下来:"
echo "  1. cp .env.example .env  →  填入你的API密钥"
echo "  2. uv run python src/config.py  →  验证配置"
echo "  3. 开始写代码!"

Windows用户可以用这个PowerShell等效版本:

# setup.ps1
Write-Host "🚀 初始化AI开发环境..." -ForegroundColor Cyan

if (!(Get-Command uv -ErrorAction SilentlyContinue)) {
    Write-Host "❌ 未找到uv,请先安装:https://github.com/astral-sh/uv" -ForegroundColor Red
    exit 1
}

uv python install 3.12
uv init ai-project --python 3.12
Set-Location ai-project

uv add openai anthropic langchain-openai python-dotenv

New-Item -ItemType Directory -Force -Path src, prompts/system_prompts, scripts, tests | Out-Null

@"
# 将本文件复制为 .env 并填入你的API密钥
OPENAI_API_KEY=sk-your-openai-key
DEEPSEEK_API_KEY=sk-your-deepseek-key
ANTHROPIC_API_KEY=sk-ant-your-anthropic-key
"@ | Out-File -FilePath .env.example -Encoding UTF8

@"
.env
.venv/
__pycache__/
*.pyc
.DS_Store
"@ | Out-File -FilePath .gitignore -Encoding UTF8

Write-Host ""
Write-Host "✅ 环境初始化完成!" -ForegroundColor Green
Write-Host "  1. cp .env.example .env  →  填入API密钥"
Write-Host "  2. uv run python src/config.py  →  验证配置"

六、常见问题:我踩过的坑

下面5个问题是我在实际搭建中遇到的,每一个都踩了至少一次。

坑1:uv虚拟环境不生效

现象uv add 安装了包,但 python 命令导入报 ModuleNotFoundError

原因:直接用了系统Python而非uv管理的虚拟环境。

解决:始终用 uv run python 替代 python

# ❌ 错误:可能调用系统Python
python script.py

# ✅ 正确:使用uv虚拟环境中的Python
uv run python script.py

坑2:Continue.dev连不上DeepSeek

现象:配置文件写好了,但Continue对话报错 401 Unauthorized

排查步骤

# 1. 确认环境变量已设置
echo $DEEPSEEK_API_KEY  # Linux/Mac
# 或
echo $env:DEEPSEEK_API_KEY  # PowerShell

# 2. 确认Continue读取到了环境变量
# 在Continue对话框中输入 /config 查看当前加载的配置

# 3. 如果环境变量在配置插件后才添加,需要完全重启VS Code
# (不是reload窗口,是 File → Exit,然后重新打开)

关键教训:Continue在VS Code启动时读取环境变量。如果先开VS Code、后设环境变量,必须退出重开,不是 Ctrl+Shift+P → Reload Window

坑3:.env文件被提交到Git

现象git push 后发现 .env 被推上去了,API密钥暴露。

急救步骤

# 1. 立即从仓库删除文件
git rm --cached .env
git commit -m "chore: remove .env from tracking"

# 2. 立即使所有密钥失效(去对应平台重新生成)
# OpenAI: https://platform.openai.com/api-keys
# DeepSeek: https://platform.deepseek.com/api_keys
# Anthropic: https://console.anthropic.com/settings/keys

# 3. 确认 .gitignore 生效
git status  # 不应再看到 .env

预防:项目初始化时就创建 .gitignore,并且把 .env 放在第一行。

坑4:langchain-openai导入报错

现象from langchain_openai import ChatOpenAIImportError

原因:安装了 langchain 但没装 langchain-openai,或者装了但版本不匹配。

解决

# 卸载旧版,重新安装
uv remove langchain langchain-openai
uv add langchain-openai  # 会自动拉取langchain作为依赖

# 验证
uv run python -c "from langchain_openai import ChatOpenAI; print('OK')"

坑5:Ollama Docker容器GPU不可用

现象docker compose up 正常,但模型推理只用CPU,速度极慢。

检查与修复

# 1. 确认nvidia驱动正常
nvidia-smi

# 2. 确认安装了nvidia-container-toolkit
# Ubuntu/Debian:
sudo apt install nvidia-container-toolkit
sudo systemctl restart docker

# 3. 测试GPU是否在容器中可见
docker run --rm --gpus all nvidia/cuda:12.1.0-base-ubuntu22.04 nvidia-smi

# 4. 如果以上都正常,确认docker-compose.yml中有deploy.resources配置

总结

这篇文章我们从零搭建了一套完整的AI开发环境,覆盖了:

  1. Python环境:用uv管理Python版本和依赖,告别 pip 地狱
  2. Continue.dev:VS Code中多模型切换,环境变量管理密钥
  3. AI SDK:统一config.py,一行代码切换OpenAI/DeepSeek/Anthropic
  4. Docker本地服务:Ollama一键启动,离线也能用
  5. 项目模板:标准化目录结构,setup脚本一键初始化
  6. 常见问题:5个真实踩坑记录,帮你绕过别人走过的弯路

有了这套环境,后面专栏中的MCP协议、Prompt工程、Agent协作等内容,你都可以在自己的机器上直接跑起来。下一篇我们将进入正题——Prompt工程实战,教你用8个模板让AI生成代码的准确率翻倍。这些模板我已经在生产项目中验证过,可以直接复制使用。

💬 实战交流:你在搭建AI开发环境时遇到过什么坑?评论区聊聊,我整理了常见报错速查表,留言"环境"我私发你。觉得有用的话,点赞收藏支持一下!


免责声明:本文为AI辅助创作内容,文中涉及的软件版本以官方最新文档为准。代码示例仅供学习参考,API密钥请妥善保管,不要提交到公开仓库。

专栏:《2026 AI编程效率革命》| 第02篇
发布日期:2026-05-03

更多推荐