18.AI Eval系统:让AI能力提升“可量化,而不是凭感觉”

到目前为止,我们已经完成了一个完整 AI 客服系统:

  • Prompt工程
  • RAG系统
  • Memory系统
  • Tools系统
  • AI编排层

项目地址:你也可以去 GitHub 上获取相配套的项目代码。

但有一个关键问题:

❌ 你怎么证明它真的变强了?

一、AI系统最大的误区

很多人做 AI 系统时会说:

  • "加了 RAG 效果好多了"
  • "Prompt优化后更准了"
  • "Memory让体验更好了"

👉 但问题是:

❗ 这些都是"感觉",不是"证据"


二、为什么必须要 Eval 系统?

一句话:

👉 没有评估,所有优化都是玄学

AI Eval 要解决的是:

  • ❌ 不再靠"感觉变好了"
  • ✅ 用数据证明变好了

三、AI能力演进的五个阶段

text 复制代码
BASE      → 基础模型
PROMPT    → Prompt优化
RAG       → 知识增强
MEMORY    → 上下文增强
FULL      → 完整系统

四、评估核心问题设计

统一问题:

"我的订单123为什么还没有发货?"


期望关键词:

  • 订单
  • 发货
  • 物流
  • 状态

五、评估系统架构

text 复制代码
EvaluationRunner
        ↓
AiEvaluator
        ↓
AiService(不同模式)
        ↓
EvaluationReport

六、核心代码设计

🧠 1. AiVersion

java 复制代码
public enum AiVersion {
    BASE,
    PROMPT,
    RAG,
    MEMORY,
    FULL
}

🧪 2. EvaluationCase

java 复制代码
/**
 * 单次评估用例。
 */
public record EvaluationCase(
        String question,
        List<String> expectedKeywords,
        String category
) {
}

📊 3. AiEvaluator(评分器)

java 复制代码
/**
 * 基于期望关键词的简单命中率评分(0--100)。
 */
public final class AiEvaluator {

    private AiEvaluator() {
    }

    public static int score(String answer, EvaluationCase caze) {
        if (answer == null || answer.isBlank()) {
            return 0;
        }
        List<String> keys = caze.expectedKeywords();
        if (keys == null || keys.isEmpty()) {
            return 100;
        }
        int hit = 0;
        for (String k : keys) {
            if (k != null && !k.isBlank() && answer.contains(k.trim())) {
                hit++;
            }
        }
        return (int) Math.round(100.0 * hit / keys.size());
    }

    public static String explain(String answer, EvaluationCase caze) {
        List<String> keys = caze.expectedKeywords();
        if (keys == null || keys.isEmpty()) {
            return "未配置关键词,默认满分逻辑由调用方处理。";
        }
        List<String> hit = new ArrayList<>();
        List<String> miss = new ArrayList<>();
        String a = answer == null ? "" : answer;
        for (String k : keys) {
            if (k == null || k.isBlank()) {
                continue;
            }
            String t = k.trim();
            if (a.contains(t)) {
                hit.add(t);
            } else {
                miss.add(t);
            }
        }
        return "命中 " + hit.size() + "/" + keys.size() + ":" + hit
                + (miss.isEmpty() ? "" : ";未命中:" + miss);
    }
}

🚀 4. EvaluationRunner(核心执行器)

java 复制代码
/**
 * 对 {@link EvaluationCase} 在全部 {@link AiVersion} 上跑通并汇总评分。
 */
public final class EvaluationRunner {

    public EvaluationReport run(EvaluationCase evaluationCase) {
        Map<AiVersion, VersionEvaluation> map = new LinkedHashMap<>();
        for (AiVersion v : AiVersion.values()) {
            RecordingLlmClient llm = new RecordingLlmClient();
            AiChatService svc = CapabilityChatFactory.build(v, llm);
            String answer = svc.chat("eval-session-" + v.name(), evaluationCase.question());
            int score = AiEvaluator.score(answer, evaluationCase);
            String explanation = AiEvaluator.explain(answer, evaluationCase);
            map.put(v, new VersionEvaluation(v, answer, score, explanation));
        }
        return new EvaluationReport(evaluationCase, map);
    }
}

七、关键设计:AI能力对比

BASE

  • ❌ 胡答
  • ❌ 无业务知识

PROMPT

  • ⚠️ 更规范
  • ⚠️ 但不准确

RAG

  • ✅ 出现业务信息
  • ⚠️ 不稳定

MEMORY

  • ✅ 有上下文
  • ⚠️ 仍可能缺知识

FULL SYSTEM

  • 🚀 正确 + 稳定 + 可解释

八、这个系统的真正价值

🧠 1. 从"感觉优化" → "数据优化"

📊 2. 每个模块增益可视化

🧪 3. 支持回归测试(非常重要)


九、AI系统的完整闭环

text 复制代码
开发
  ↓
优化 Prompt / RAG / Memory / Tools
  ↓
Eval验证
  ↓
继续优化

十、这一层的意义(非常关键)

如果说:

  • ai-service = 大脑
  • ai-rag = 知识
  • ai-tools = 手

那么:

👉 ai-eval = 体检系统(让AI变得可衡量)


十一、总结

这一篇你完成了整个 AI 系统的最后一块拼图:

👉 从"能用的系统"升级为"可验证的工程体系"


🚀 下一步建议(非常关键)

你现在其实已经可以进入更高级阶段:

👉 Agent系统(Auto-Router + Tool Chain + Multi-step reasoning)

相关推荐
GitCode官方14 分钟前
从大语言模型到具身智能:百度百舸 LoongForge 入驻 AtomGit
人工智能·react native·百度·harmonyos·atomgit
Easy_API7 小时前
2.8万亿参数,编程反超GPT-6 Astra:Kimi K3.1 Pro把开源模型推到了哪一步
大数据·人工智能·gpt·深度学习
GlobalInfo7 小时前
2026年机器人多指灵巧手市场分析报告——涵盖行业调查、趋势分析与发展前景
大数据·人工智能·microsoft·微服务·机器人
紧跟先前的步伐8 小时前
Go AI Agent 实战 24|工具系统工程化收尾与阶段验收
人工智能·ai·golang·1024程序员节
释厄6238 小时前
AI学习层更新与跨体转移律——人类社会同构·不缺理解缺 U
人工智能·学习
老金带你玩AI9 小时前
集万家所长,一键复制的Agent.md!
人工智能
ZhuoAIStage9 小时前
舞台工艺多专业审图提速:用 AI 智能体编排 A+B+C+G 四段读图流水线
人工智能·自动化·工作流编排·舞台工艺·审图智能体
小奶包他干奶奶9 小时前
AI学习——1、机器学习概念
人工智能·机器学习
展讯快报10 小时前
悬浮提词器免费App评估报告:说得AI的免费策略与可用性分析
人工智能
Yuzhiyuxia10 小时前
【AI Agent面试系列】AI Agent记忆机制知识点1
人工智能·面试·职场和发展