基于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. 克隆仓库

    git clone https://github.com/hzhaoy/deep-code-agent.git
    cd deep-code-agent
    
  2. 安装依赖

    uv sync
    

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

项目配置

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

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

    cp .env.example .env
    
  2. 使用你的配置编辑 .env 文件:

    # 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,后续用于部署服务和前端交互:

from deep_code_agent import create_code_agent

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

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

LangGraph配置文件

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

{
    "$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 目录,执行以下命令:

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

一个交互示例

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

agent_demo

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐