本地运行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

相关推荐
CoovallyAIHub9 小时前
企业 AI 智能体落地:数据、趋势与判断
agent
木雷坞9 小时前
让 AI 编程助手跑得起项目:Dev Container 实践记录
人工智能
leeyi9 小时前
MCP 工具集成:外部工具变 Eino Tool
aigc·agent·mcp
小白鼠幻想家10 小时前
工具调用设计:Agent 的"手"为什么总是笨拙的
agent
腾讯云开发者10 小时前
港科大郭毅可谈Agentic AI时代的核心命题:人机共生,人不可能退场
人工智能
常丛丛10 小时前
5.6 LangGraph-Edges理解-Agent图的道路系统
人工智能
沉默王二10 小时前
国产版Codex?阿里QoderWork有点东西,设计出来的Codex+Claude Code学习网站好看啊(附教程,超简单)
openai·agent·ai编程
雪隐10 小时前
个人电脑玩AI-08让5060 Ti给你打工——我拿 Unlimited-OCR扫了 600 页书,然后悟了
人工智能·后端
Coffeeee10 小时前
Prompt要花心思写,与 AI 对话的七个技巧
人工智能·aigc·ai编程