内容总结自 Deeplearning.AI 的 Evaluating AI Agents 课程
在 AI Agents 的搭建过程中,我们需要搭建 Agent Pipeline,并观测整个 workflow 中的关键环节,评估每个环节的效果和优化方案,比如对于一个 AI Coding Agent,需要建设的模块包括:
- Workflow 流程:更新 Agent 的整体逻辑
- Plan 阶段:更新和优化 Prompt
- Use Tools 阶段:增加不同的工具和输入
- Reflect 阶段:调整 LLM 模型

以下会通过来构建一个 Code Agent,并介绍如何做 Agent 效果的评估和迭代。
开发一个 Agent

技术层面看,Agents 包含三个只要模块:
- Router:理解用户的 query/input,决定使用合适的工具,router 可以基于 LLM 或者基于规则;Router 不局限一次性路由,也可以贯穿整个 Agent 执行过程多次路由
- Tools:每个工具完成特定的工作,比如 LLM 调用、代码执行、API 调用、RAG 调用等
- State:State 可以在 Agent 执行过程中的共享读写,State 主要用于存储上下文、配置参数等
下面来实现 Agent,支持查询数据库获取数据、分析数据、进行可视化等。

初始化推理模型
Deeplearning.AI 教学中选用了 gpt-4o-mini 模型,这里本地搭建 Agent 选用了 Qwen2.5-3B-Instruct 来跑通流程,通过 huggingface 下载模型文件保存到本地。
1 | MODEL_NAME = "../models/Qwen/Qwen2.5-3B-Instruct" |
通过数据库加载数据
从 Kaggle 上下载一组销售类数据,格式为 Parquet,使用 DuckDB 加载数据库后,通过用户 Prompt query 升成 SQL 加载数据。
1 | # SQL 查询语句升成的 prompt 模板 |
用模型来分析数据
用上一步查询到的数据,让模型分析给出 Insight。
1 | # 数据分析的 Prompt 模板 |
让模型来生成画图的 Python 代码
生成 Chart 配置
让模型生成指定格式的 Chart 配置,包含画图的配置和数据。
1 | # 生成 Chart 配置的 Prompt 模板 |
生成画图的 Python 代码
根据上一步给出的 Chart 配置,生成 Python 画图代码,输出进行一些简单的处理,保留 raw 代码。
1 | # 生成画图 Python 代码的 Prompt 模板 |
Tools 配置和脚手架
定义可以被模型调用的 Tools 列表,明确 name、description、parameters 等。
1 | tools = [ |
Agent 主逻辑
启动 Agent 主逻辑,用户输入的 Prompt 拼接上 System Prompt 后调用模型推理,如果返回包含工具,则触发工具调用并把结果打包返回模型。
1 | SYSTEM_PROMPT = """ |
执行 Agent 逻辑
执行 Agent 主逻辑:
1 | result = run_agent('Show me the code for graph of sales by store in Nov 2021, and tell me what trends you see.') |
结果输出如下:
1 | Here's the corrected visualization code and key observations: |
至此我们已经成功实现和运行 Agent。