资讯详情

资讯详情

从零开发AI编程智能体:Python环境搭建与LangGraph配置全攻略

1. 从零开发AI编程智能体环境准备全攻略1.1 为什么环境准备是AI编程智能体开发的第一道坎很多人一上来就想直接写Agent的核心逻辑结果卡在环境配置上耗掉一整天。我见过太多这样的情况兴致勃勃打开编辑器准备用LangGraph搭一个能自动写代码、跑测试、修Bug的智能体结果Python版本不对、依赖冲突、API Key没配好折腾到半夜连个Hello World都没跑通。这篇内容就是帮你把这块硬骨头啃下来。我会从Python环境搭建讲起到LangGraph和LangChain的安装配置再到开发工具的选择和项目结构的初始化每一步都给出具体的命令和参数说明。不管你是刚接触AI编程智能体的新手还是已经用过LangChain但想迁移到LangGraph的老手都能直接照着操作。先明确一下我们要做的事情开发一个AI编程智能体它能够理解自然语言指令、生成代码、执行代码、根据执行结果自动修正错误。这个智能体的核心框架用LangGraph来搭建因为LangGraph相比LangChain在状态管理和循环控制上更适合构建有反思-修正循环的Agent。整个技术栈基于Python所以Python环境的正确配置是一切的前提。1.2 硬件与操作系统的选择建议在动手装软件之前先确认你的硬件和系统能不能撑得住。AI编程智能体本身对本地硬件要求不高因为核心的大模型推理是调用云端API完成的本地主要跑的是Agent的调度逻辑和代码执行沙箱。但有几个硬性条件需要满足内存建议16GB起步。如果你要同时跑本地代码执行环境、编辑器和多个终端8GB会非常吃力。我实测在16GB的MacBook Pro上同时开着VS Code、终端、Docker和浏览器查文档内存占用稳定在12GB左右。硬盘至少预留20GB空间。Python本身不大但各种依赖包、虚拟环境、缓存加起来很容易超过10GB。操作系统macOS、Linux、Windows都可以。macOS和Linux在命令行工具链上更顺手Windows建议用WSL2Windows Subsystem for Linux因为很多Python包在Linux下的兼容性更好。如果你坚持用Windows原生环境后面我会专门说注意事项。注意如果你用的是公司配的电脑确认一下有没有管理员权限。安装Python和配置环境变量有时候需要管理员权限没有的话会很麻烦。1.3 Python版本的选择与安装Python版本的选择直接影响到后续依赖包的兼容性。截至我写这篇内容的时候LangGraph和LangChain对Python 3.9到3.12都支持但我强烈建议用Python 3.11。原因很简单3.11在性能和稳定性之间取得了最好的平衡而且绝大多数AI相关的包都已经适配了3.11。Python 3.12虽然更新但部分包尤其是一些底层依赖可能还没完全跟上。1.3.1 macOS下安装Python 3.11macOS自带的Python版本通常比较老不建议直接用系统自带的。推荐用Homebrew来管理# 先安装Homebrew如果还没装的话 /bin/bash -c $(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh) # 安装Python 3.11 brew install python3.11 # 验证安装 python3.11 --version安装完成后你需要确认python3.11和pip3.11都能正常调用。Homebrew会自动把它们加到PATH里但有时候需要手动执行一下brew link python3.11。1.3.2 Linux下安装Python 3.11Ubuntu 22.04默认的Python是3.10要装3.11需要添加deadsnakes PPAsudo apt update sudo apt install software-properties-common sudo add-apt-repository ppa:deadsnakes/ppa sudo apt update sudo apt install python3.11 python3.11-venv python3.11-dev装完后用python3.11 --version验证。注意一定要装python3.11-venv否则后面创建虚拟环境会报错。1.3.3 Windows下安装Python 3.11Windows用户直接去Python官网下载安装包就行。下载的时候注意勾选Add Python to PATH这个选项不勾的话后面要手动配环境变量非常麻烦。安装完成后打开PowerShell输入python --version确认版本。如果显示的是3.11.x就对了。实操心得Windows下我强烈建议用WSL2而不是原生环境。WSL2里你跑的就是完整的Ubuntu所有Linux下的命令和工具都能直接用省去了大量兼容性调试的时间。安装WSL2的命令是wsl --install然后在Microsoft Store里搜Ubuntu安装即可。1.4 虚拟环境的创建与依赖管理虚拟环境是Python开发中必须养成的习惯。不同项目依赖的包版本可能冲突全局安装会导致各种奇怪的问题。我踩过最坑的一次是两个项目分别依赖不同版本的pydantic全局安装后两个项目都跑不起来排查了半天才发现是版本冲突。创建虚拟环境的命令# 进入你的项目目录 cd your-project # 创建虚拟环境 python3.11 -m venv .venv # 激活虚拟环境 # macOS/Linux: source .venv/bin/activate # Windows PowerShell: .venv\Scripts\Activate.ps1激活后你的终端提示符前面会出现(.venv)表示当前在这个虚拟环境里。所有pip install安装的包都只在这个环境里生效。接下来安装核心依赖。创建一个requirements.txt文件langgraph0.2.0 langchain0.3.0 langchain-openai0.2.0 langchain-community0.3.0 python-dotenv1.0.0 rich13.0.0然后执行pip install -r requirements.txt这里解释一下每个包的作用包名作用为什么需要langgraph构建有状态Agent的核心框架提供图结构的状态管理和循环控制langchainLLM应用开发的基础库提供Prompt模板、输出解析等基础组件langchain-openaiOpenAI模型接口调用GPT系列模型作为Agent的大脑langchain-community社区集成包提供各种工具和第三方服务的集成python-dotenv环境变量管理安全地管理API Key等敏感信息rich终端美化输出让Agent的运行日志更易读注意langchain-openai这个包是独立于langchain的很多人只装了langchain发现调不了OpenAI的模型就是因为缺了这个包。LangChain从0.1版本开始把各个模型提供商拆成了独立的包这个设计更清晰但初次使用时容易漏装。1.5 API Key的配置与安全管理AI编程智能体需要调用大模型API所以你需要至少一个模型提供商的API Key。这里以OpenAI为例其他提供商如Anthropic、Google等的配置方式类似。绝对不要把API Key硬编码在代码里。我见过有人在GitHub上开源项目时忘了删Key结果被人扫到后一夜之间跑掉几百美元。正确做法是用.env文件管理# 在项目根目录创建.env文件 touch .env然后在.env里写入OPENAI_API_KEYsk-your-key-here OPENAI_BASE_URLhttps://api.openai.com/v1同时在.gitignore里加上.env确保它不会被提交到Git仓库.env .venv/ __pycache__/ *.pyc在代码里这样读取from dotenv import load_dotenv import os load_dotenv() api_key os.getenv(OPENAI_API_KEY) if not api_key: raise ValueError(请在.env文件中配置OPENAI_API_KEY)实操心得我习惯在项目里加一个.env.example文件里面只写Key的名称不写值这样别人clone你的项目后知道需要配哪些环境变量又不会泄露你的真实Key。1.6 开发工具的选择与配置编辑器方面VS Code是目前最主流的选择配合Python插件和Jupyter插件体验很好。如果你已经用惯了PyCharm也完全没问题PyCharm对Python项目的支持更深入尤其在调试和重构方面更强。VS Code需要装这几个插件PythonMicrosoft官方提供语法高亮、调试、代码补全Pylance更强大的类型检查和智能提示Jupyter如果你需要交互式地测试Agent的各个组件Even Better TOML如果你用pyproject.toml管理项目配置配置VS Code使用我们创建的虚拟环境按CmdShiftPmacOS或CtrlShiftPWindows/Linux输入Python: Select Interpreter然后选择.venv/bin/python。终端方面macOS推荐iTerm2 Oh My ZshLinux用默认终端就行Windows用WSL2里的Ubuntu终端。一个好用的终端能显著提升开发效率尤其是你需要同时开多个终端窗口分别跑Agent、查看日志、执行测试的时候。1.7 项目结构的初始化一个清晰的目录结构能让后续开发少走很多弯路。我推荐这样的结构ai-coding-agent/ ├── .env # 环境变量不提交到Git ├── .env.example # 环境变量模板 ├── .gitignore ├── requirements.txt ├── README.md ├── src/ │ ├── __init__.py │ ├── agent/ │ │ ├── __init__.py │ │ ├── graph.py # LangGraph的图定义 │ │ ├── state.py # Agent的状态定义 │ │ └── nodes.py # 各个节点的实现 │ ├── tools/ │ │ ├── __init__.py │ │ ├── code_executor.py # 代码执行工具 │ │ └── file_manager.py # 文件操作工具 │ └── utils/ │ ├── __init__.py │ └── logger.py # 日志配置 ├── tests/ │ ├── __init__.py │ └── test_agent.py └── main.py # 入口文件这个结构的好处是职责分明agent/目录放Agent的核心逻辑tools/放各种工具实现utils/放通用工具。当项目变大时你可以很容易地往里面加新的模块而不会乱。创建好目录后初始化Git仓库git init git add . git commit -m 初始化项目结构1.8 验证环境是否就绪在正式开发Agent之前先写一个最小化的测试脚本确认LangGraph能正常跑起来from typing import TypedDict from langgraph.graph import StateGraph, END class State(TypedDict): message: str def node_a(state: State) - State: return {message: state[message] - 经过节点A} def node_b(state: State) - State: return {message: state[message] - 经过节点B} # 构建图 graph StateGraph(State) graph.add_node(node_a, node_a) graph.add_node(node_b, node_b) graph.set_entry_point(node_a) graph.add_edge(node_a, node_b) graph.add_edge(node_b, END) # 编译并运行 app graph.compile() result app.invoke({message: 开始}) print(result[message])如果输出是开始 - 经过节点A - 经过节点B说明LangGraph的环境完全就绪了。再测试一下模型调用from langchain_openai import ChatOpenAI from dotenv import load_dotenv load_dotenv() llm ChatOpenAI(modelgpt-4o-mini, temperature0) response llm.invoke(用一句话解释什么是AI编程智能体) print(response.content)能正常返回内容就说明API Key配置正确、网络通畅。1.9 常见环境问题与排查技巧即使按照上面的步骤操作也可能会遇到各种问题。这里整理几个我实际踩过的坑和解决方法问题现象可能原因解决方法ModuleNotFoundError: No module named langgraph虚拟环境没激活或装错了环境确认终端提示符有(.venv)重新pip installopenai.AuthenticationErrorAPI Key错误或未加载检查.env文件路径和内容确认load_dotenv()被调用pip install速度极慢默认源在国外换国内镜像源pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simplePython版本不对系统有多个Python版本用python3.11 -m venv .venv明确指定版本SSL证书错误公司网络代理或证书问题更新certifi包pip install --upgrade certifi内存溢出同时跑太多进程关掉不必要的程序或增加虚拟内存避坑技巧如果你在公司网络环境下遇到SSL问题先试试pip install --trusted-host pypi.org --trusted-host files.pythonhosted.org。还不行的话检查一下系统的证书存储macOS可以用/Applications/Python\ 3.11/Install\ Certificates.command来安装证书。还有一个很常见的坑在Windows原生环境下某些包需要C编译工具才能安装。如果你看到error: Microsoft Visual C 14.0 or greater is required去微软官网下载Build Tools for Visual Studio安装即可。但这也是我推荐用WSL2的原因之一Linux下基本不会遇到这种问题。1.10 环境准备完成后的下一步到这里你的开发环境应该已经全部就绪了Python 3.11装好了虚拟环境创建了LangGraph和LangChain装上了API Key配好了项目结构也初始化了。接下来就可以开始写Agent的核心逻辑了。我个人的习惯是在环境准备完成后先花10分钟写一个简单的端到端测试从用户输入一句话到Agent调用模型生成回复整个链路跑通。这个测试不需要多复杂但能确保所有组件之间的连接是正确的。后面写复杂逻辑时如果出问题你就可以确定是逻辑本身的问题而不是环境问题。另外建议你在项目初期就把日志系统配好。用Python的logging模块加上rich的RichHandler可以让终端输出既美观又信息丰富。Agent的运行过程涉及多轮模型调用和工具执行没有清晰的日志会非常难调试。import logging from rich.logging import RichHandler logging.basicConfig( levellogging.INFO, format%(message)s, datefmt[%X], handlers[RichHandler(rich_tracebacksTrue)] ) logger logging.getLogger(ai-agent)这个日志配置会在终端里用颜色区分不同级别的日志异常时还会显示漂亮的traceback比默认的日志输出好用太多。环境准备阶段多花一点时间把基础设施搭好后面开发Agent逻辑时就能省下大量排查环境问题的时间。
觉得有用,分享给同行:

为您的企业打造数字门面

稳重轻奢商务风格,端正雅致视觉,长效耐看不易过时。

立即咨询 →