本地运行LangChain Agent用于开发调试

基于DeepAgents轻松构建 AI Coding Agent这篇文章中,我介绍了如何基于最新的 LangChain 1.0DeepAgents 轻松构建一个简单但却功能强大和全面的 Coding Agent,其中还通过子 Agent 实现了代码审查、测试生成、文档生成、调试和代码重构等能力。

那么,当完成了一个 Agent 的开发后,我们应该如何在本地进行快速地测试、调试和验证呢?好在 LangChain 生态很完善,它提供了LangSmith DeploymentLangGraph CLIAgent Chat UI等工具,涵盖了后端 agent 服务部署、前端 UI 交互等功能,可以帮助我们很方便地在本地进行验证开发和调测。

接下来就基于deep-code-agent这个项目具体聊聊如何使用 LangChain 的这些工具进行 Agent 的测试和开发。

项目环境准备

从源码安装

  1. 克隆仓库

    bash 复制代码
    git clone https://github.com/hzhaoy/deep-code-agent.git
    cd deep-code-agent
  2. 安装依赖

    bash 复制代码
    uv sync

通过 uv sync 一个命令,就可以完成从 python 虚拟环境创建到项目依赖安装的所有工作,其中用于部署 Agent 服务的依赖主要是"langgraph-cli[inmem]",它提供了langgraph dev的启动部署命令,用于部署 Agent 服务。

项目配置

这里主要是环境变量的设置,通过新建一个.env文件进行配置:

  1. 从示例模板创建一个.env 文件

    bash 复制代码
    cp .env.example .env
  2. 使用你的配置编辑 .env 文件:

    python 复制代码
    # OpenAI API Configuration
    OPENAI_API_KEY=your-openai-api-key-here
    OPENAI_API_BASE=https://api.openai.com/v1
    
    # LLM Model Configuration
    MODEL_NAME=your-model-name-here

Agent

这里我们需要新建一个目录用于保存测试所需的文件,可以放在项目根目录下(比如项目目录下的 server,这里也以根目录下的 server 目录为例进行说明),也可以是其他任意的位置。

然后创建一个用于调试的 Agent,后续用于部署服务和前端交互:

python 复制代码
from deep_code_agent import create_code_agent

agent = create_code_agent(codebase_dir="/tmp/test")

将上面的代码保存为一个名为 agent.py 的 python 文件,并放在 server 目录下

LangGraph配置文件

创建一个名为langgraph.json的文件,输入以下内容,并放置在 server 目录下:

json 复制代码
{
    "$schema": "https://langgra.ph/schema.json",
    "dependencies": [
        "."
    ],
    "graphs": {
        "agent": "agent:agent"
    }
}

这是使用 langgraph-cli 启动服务时所需的配置文件,简单解释下几个字段的含义:

  • $schema:JSON配置文件遵循的 schema,按官方固定值配置即可
  • dependencies:这是必填项,指定 LangGraph API 服务器的所需的依赖项数组。这里使用一个单独的句点(".")表示使用本地的Python包。
  • graphs:必填项。从 Graph ID 到具体的 Agent 定义的映射。
    在这里,agent 为 Graph ID,用于后续在前端指定与哪个 agent 进行交互;
    agent:agent表示当前目录下 agent.py 这个模块中名为 agent 的变量所定义的智能体

启动LangGraph API 服务器

进入 server 目录,执行以下命令:

python 复制代码
uv run langgraph dev

如果服务成功启动,你将看到类似以下的输出:

复制代码
INFO:langgraph_api.cli:

         Welcome to

   ╦  ┌─┐┌┐┌┌─┐╔═╗┬─┐┌─┐┌─┐┬ ┬
   ║  ├─┤││││ ┬║ ╦├┬┘├─┤├─┘├─┤
   ╩═╝┴ ┴┘└┘└─┘╚═╝┴└─┴ ┴┴  ┴ ┴

   - 🚀 API: http://127.0.0.1:2024
   - 🎨 Studio UI: https://smith.langchain.com/studio/?baseUrl=http://127.0.0.1:2024
   - 📚 API Docs: http://127.0.0.1:2024/docs

   This in-memory server is designed for development and testing.
   For production use, please use LangSmith Deployment.

Chat UI 交互

访问 Agent Chat UI,输入上面显示的API URL(这里是http://127.0.0.1:2024)以及Graph ID(在这里是agent)。然后,点击"Continue"后就可以开始与该agent 进行交互了,如下所示:

在交互界面上,你可以直接与你开发的 Agent 进行对话,查看 Agent 的输出、工具调用情况、工具返回结果等,这些内容对于 Agent 的开发调试是很有帮助的。

一个交互示例

最后,贴上一个使用 deep-code-agent 完成编码任务的示例:

agent_demo

相关推荐
一点一木18 分钟前
🚀 2026 年 8 月 GitHub 十大热门项目排行榜 🔥
人工智能·github
ssshooter23 分钟前
现在网页都能提供 MCP 了?!
前端·人工智能·程序员
京东云开发者30 分钟前
Claude Code vs Codex 记忆体系深度对比
人工智能
SelectDB31 分钟前
为什么 JSON 正在成为分析数据库新的竞争点?
数据库·json·agent
机械改造鹅1 小时前
从零开始拆解Pi系列——(7)Extension API
agent
plainGeekDev2 小时前
Agent代码审查与批量修复流水线
agent·ai编程·claude
不加辣椒2 小时前
第 4 章 什么是 Harness Engineering
人工智能
桃西西呀2 小时前
上下文窗口都卷到 100 万了,大模型为什么还在为"位置"发愁?
人工智能·llm·ai编程
阿拉斯攀登2 小时前
SpringBoot整合MQTT:后端订阅设备数据、解析传感器报文
人工智能
然我2 小时前
模型不是 Agent:从零实现一个最小 Agent Loop
前端·人工智能·agent