LLM Debug & Evaluation
系统化整理大模型调试、评测、Agent 评测与记忆管理的核心工具与方法论。覆盖从开发调试到生产部署的完整工程链路。
🔍 LLM 调试(Debugging)
大模型调试关注的是 开发过程中的可观测性——你需要看到每一步 prompt、每次 tool call、每个 token 消耗。以下是业界主流的调试工具:
字节跳动开源的桌面级 Agent 开发调试工作台,自带 harness 运行时,支持 Step-through 单步调试和历史回放。
- Build / Trace / Debug / Evaluate / Manage 五大模块
- 实时追踪 Agent 循环内的每次模型调用
- 支持历史运行回放和单步执行(Step-through)
- 本地存储,API Key 不离本机
开源 LLM 工程平台,提供追踪(Tracing)、成本分析、提示词管理和评估功能。支持 OpenTelemetry 标准。
- 全链路追踪(Trace):每一步 LLM 调用、Tool 调用
- 成本与延迟分析,token 使用统计
- Prompt 版本管理与 A/B 测试
- 支持 Python / TypeScript SDK
Chrome 浏览器扩展,为 Claude.ai 增加网络请求面板,可捕获每一次 API 调用的 prompt、response、token 消耗。
- 捕获 Claude.ai 的网络请求细节
- 查看完整 system prompt 和消息历史
- 导出对话数据用于分析
- 开源 Chrome Extension
LLM 调试的本质是 可观测性:从黑盒调用走向白盒分析。典型做法:① 用 LLM Space/LLM Studio 做交互式调试 ② 用 Langfuse/Telemetry 做线上追踪 ③ 用 Phoenix 做本地可视化分析。三者配合形成开发-测试-生产的完整链路。
📊 LLM 评测(Evaluation)
LLM 评测关注的是 输出质量的量化评估——你需要用可重复、可对比的方式衡量模型回答的好坏。分为 LLM-as-Judge 和 确定性评测 两条技术路线。
评测工具
Prompt 测试、评估和调试平台。支持批量运行 prompt,对比不同模型的输出,内置 Rubric 评分、LLM-as-Judge。
- 批量运行 Prompt 测试用例
- LLM-as-Judge 多维度评分
- 版本对比和回归测试
- 支持 web / CLI / CI 集成
RAG 评估事实标准框架,提供 Faithfulness、Answer Relevancy、Context Recall、Context Precision 四大核心指标。
- 四大核心指标:忠实度/相关性/召回率/精确率
- LLM-as-Judge 打分,可换本地模型
- 支持离线评测(Ollama 当裁判)
- Python 函数式 API,易集成
"LLM 评估的 pytest",14+ 内置指标,可写进 pytest 做 CI/CD 门禁。最适合工程化团队。
- 14+ 内置评估指标
- pytest 风格断言:assert_test()
- 支持 CI/CD 集成
- 可复用 RAGAS 指标
RAG Triad 评估框架 + 链路追踪 + 版本对比看板。深度追踪问题根源。
- RAG Triad 三维度评估
- 全链路追踪与版本对比
- 本地 Dashboard 可视化
- 支持 LangChain / LlamaIndex
评测数据集
MMLU(多任务语言理解)、BBH(Big-Bench Hard)、ARC(科学推理)、HellaSwag(常识推理)
GSM8K(小学数学应用题)、MATH(高中数学竞赛)、APPS(编程数学题)、CMATH(中文数学)
C-Eval(中文考试题)、CMMLU(中文多任务)、Chinese-Vicuna(中文能力评测)、CLUE(中文 NLP 基准)
HumanEval(Python 函数生成)、MBPP(Python 编程)、LiveCodeBench(实时代码评测)、APPS(编程竞赛)
BBQ-Bench(安全护栏)、RealToxicity(有毒内容生成)、CivilComments(礼貌性)、StereoSet(刻板印象)
MGSM(多语言数学)、MMMLU(多任务多语言)、xP3(多语言基准)、Belebele(语言特异性评测)
HuggingFace Datasets:datasets.load_dataset("gsm8k", "main")
OpenCompass:一站式评测开源平台,内置 100+ 数据集
lm-evaluation-harness:EleutherAI 开源,社区事实标准
Sailor:腾讯开源,支持主流基座模型评测
🤖 Agent 评测(Agent Evaluation)
Agent 评测比单纯 LLM 评测更复杂——不仅要看 答案对不对,还要看 路径对不对(用了哪些工具、调用顺序、成本、延迟)。核心挑战是 Agent 的多步非确定性执行。
评测工具
Agent 行为与回归评测框架。用 YAML 声明用例,支持 10+ grader(评分器),结果持久化到 SQLite,支持 Welch t 检验回归对比。
- 10 个内置 grader:exact/contains/regex/tool-check/llm-judge/semantic/json_schema/latency/cost/custom
- 核心差异化:compare 回归对比(Welch t 检验)
- 离线优先:确定性 grader 完全离线可跑
- SQLite 持久化,支持跨天对比
Agent 安全评测框架,专门评估 Agent 被提示注入、越狱攻击的风险。生成攻击向量并评估 Agent 的防御能力。
- 多种注入攻击向量(直接/间接/多轮)
- 安全评分分级
- 可扩展性:自定义攻击场景
- 配合 guardrail 使用
除了基础 LLM 评估外,DeepEval 也支持 Agent 级别的评估,可评估工具调用、多轮对话等。
- Agent 轨迹评估
- 工具调用正确性打分
- 多轮对话质量评估
- 与 RAG 指标组合使用
Promptfoo 支持定义 Agent 测试用例,可测试多轮交互、工具调用、最终输出质量。
- Agent 流程测试
- 自定义 Rubric 打分
- Web UI 可视化对比
- CI/CD 集成
Agent 评测核心维度
Agent 是否能抵御 Prompt Injection 攻击?评估间接注入(工具数据里藏指令)、直接注入(用户恶意指令)、多轮渐进式注入等场景。
工具调用是否有越权风险?沙箱隔离是否充分?执行命令是否能突破限制?评估 Agent 在调用文件系统、Shell、API 时的安全边界。
长期记忆系统是否容易被污染?恶意信息能否注入 Agent 的记忆并影响后续行为?评估记忆写入的权限控制和安全过滤机制。
Agent 能否在多轮长对话中保持上下文一致性?能否完成需要 5+ 步推理的复杂任务?评估规划/执行能力和中间状态管理。
相同输入下 Agent 的输出是否稳定?温度参数对行为的影响?评估 Agent 在确定性要求高的场景下是否可复现。
Agent 是否选择了正确的工具?参数是否准确?调用顺序是否合理?评估 tool selection 的准确率和参数生成的精确度。
每步 Agent 调用的 token 消耗、响应延迟是否在可接受范围?Token 使用效率(有用输出/total token)如何?
Agent 能否正确判断任务何时完成?是否存在过度调用或提前终止?评估 ReAct 循环的终止条件可靠性。
① 确定性 grader:规则/正则/精确匹配/工具调用比对 → 完全离线,CI 可跑,适合门禁
② LLM-as-Judge:用裁判 LLM 打分 → 灵活但需模型成本,注意裁判偏差
③ 人工评估:rubric 量表 + 多人标注 → 最可靠但最贵,适合最终验收
🧠 LLM 记忆(Memory)
记忆系统让 Agent 从 无状态的一次性对话 升级为 有记忆的长期助手。分为短期记忆(Session Memory)和长期记忆(Long-term Memory)两大类。
记忆工具
为 AI 应用提供端到端的记忆层。自动从对话中提取事实、偏好、知识,存储到向量数据库,供后续检索。
- 自动记忆提取(Extract + Store)
- 记忆搜索与更新(Search + Update)
- 支持多种存储后端(Postgres / Qdrant / Pinecone)
- Python / JS SDK,LangChain / LlamaIndex 集成
轻量级 Agent 记忆框架,支持短期/长期记忆分层、向量检索、记忆摘要和遗忘机制。
- Short-term + Long-term 记忆分层
- 向量相似度检索
- 自动摘要压缩
- 时间衰减遗忘机制
哈佛大学项目,为 LLM 添加层级化记忆管理。通过主上下文、归档上下文和 recalling 上下文管理长对话。
- 三层层级记忆:主/归档/回忆
- 自动摘要与归档
- 工具化的记忆管理
- 适合长对话场景
面向 Agent 的记忆服务,提供事实提取、记忆搜索、会话总结。可集成 LangChain、AutoGen 等主流框架。
- 事实性记忆自动提取
- 语义搜索 + 时间搜索
- 会话摘要与洞察
- REST API,易集成
Agent 状态管理平台。不只是记忆,还包括 Agent 状态持久化、工具调用历史管理。
- 持久化 Agent 状态
- 消息流管理
- 工具调用历史追踪
- 支持多 Agent 协作
LangGraph 内置的记忆模块,支持短期/长期记忆,可与 LangGraph 的状态图执行无缝集成。
- 与 LangGraph 状态图集成
- checkpointer 持久化
- 支持中断恢复
- 多 Agent 共享记忆
记忆架构参考
短期记忆(Session)
- 当前对话窗口内的消息历史
- 滑动窗口 / Token 预算截断
- 关键信息摘要压缩
- Context Window 管理策略
长期记忆(Persistent)
- 用户画像(偏好、习惯)
- 事实性知识(个人/组织)
- 历史任务执行记录
- 向量数据库语义检索
长期记忆是双刃剑——它让 Agent 更懂你,但也引入了 记忆腐化(恶意信息注入记忆)、隐私泄露(敏感数据被存入记忆)、过时信息(旧记忆覆盖新事实)等风险。需要:① 记忆写入前做安全过滤 ② 定期审计和清理 ③ 重要记忆加版本控制 ④ 敏感字段加密存储。