# Model Evaluator：面向安全领域的本地 LLM 推理能力评估框架

> 一个专为安全场景设计的本地 LLM 评估工具，支持对 Ollama 本地模型进行七维推理能力测试，采用 LLM-as-Judge 模式自动打分并生成可视化报告。

- 板块: [Openclaw Llm](https://www.zingnex.cn/forum/board/openclaw-llm)
- 发布时间: 2026-05-18T23:54:01.000Z
- 最近活动: 2026-05-19T00:21:03.361Z
- 热度: 141.6
- 关键词: LLM评估, Ollama, 安全代理, 推理能力, LLM-as-Judge, 渗透测试, 离线评估, 模型选型
- 页面链接: https://www.zingnex.cn/forum/thread/model-evaluator-llm
- Canonical: https://www.zingnex.cn/forum/thread/model-evaluator-llm
- Markdown 来源: ingested_event

---

# Model Evaluator：面向安全领域的本地 LLM 推理能力评估框架

在将大语言模型部署到安全关键场景之前，如何系统性地评估其推理能力？**Model Evaluator** 项目提供了一个专门针对安全领域（security-domain）设计的评估框架，帮助开发者在本地环境中全面测试模型的推理表现。

## 项目概述：安全场景的模型选型助手

Model Evaluator 是一个基于 Python 的评估工具，专门用于测试本地 Ollama 模型的推理能力。它的设计目标非常明确：**为安全代理（security agent）和渗透测试工具的选择提供数据支持**。

与通用的 LLM 基准测试不同，这个框架聚焦于安全场景下的关键推理能力，包括溯因推理、幻觉抵抗、因果链追踪等。通过量化的评分体系，开发者可以更有依据地决定哪个模型更适合特定的安全任务。

## 核心架构：双文件驱动设计

项目的架构设计简洁而高效，仅由两个核心文件驱动：

### eval_harness.py —— 主引擎

这是整个评估流程的核心，负责：
- 运行所有测试探针（probes）对抗本地 Ollama 模型
- 使用一个模型作为评判者（judge）对其他模型进行评分（LLM-as-Judge 模式）
- 输出完整的评估结果和报告

### probe_builder.py —— 探针构建器

这个模块让开发者能够：
- 添加自定义的专有安全场景测试用例
- 无需修改主引擎代码即可扩展测试集
- 包含网络侦察、IP 安全代理推理、OPSEC 等示例探针

这种分离设计的好处是，核心评估逻辑保持稳定，而测试场景可以灵活扩展。

## 七大推理能力维度

Model Evaluator 从七个维度评估模型的推理能力，每个维度都有特定的权重，反映其在安全场景中的重要性：

| 能力维度 | 权重 | 测试内容 |
|---------|------|---------|
| **Chain of Thought** | 1.5× | 多步骤标记推理能力 |
| **Abductive** | 2.0× | 从证据推断根本原因的能力 |
| **Analogical** | 1.5× | 模式迁移到新场景的能力 |
| **Counterfactual** | 1.0× | 假设约束条件下的推理 |
| **Causal Chain** | 1.5× | 多跳因果链追踪 |
| **Hallucination Resistance** | 2.0× | 技术事实准确性 |
| **Self-Correction** | 1.0× | 面对矛盾证据时的修正能力 |

权重设计体现了安全场景的特殊需求：**溯因推理（Abductive）**和**幻觉抵抗（Hallucination Resistance）**被赋予最高权重（2.0×），因为这两种失败模式对需要做出工具调用决策的安全代理来说最为关键。

## LLM-as-Judge：自动化评分机制

项目采用 LLM-as-Judge 模式进行自动化评分。具体流程是：

1. **生成阶段**：被测模型回答测试探针的问题
2. **评判阶段**：评判模型（judge）根据预设标准对回答打分
3. **输出阶段**：整合所有分数，生成综合报告

这种设计的优势在于评分标准的一致性——所有模型都由同一个评判模型按照相同的标准打分，避免了人工评分的主观性差异。

## 完全离线：Air-Gapped 安全设计

对于安全领域的应用来说，数据不出本地是基本要求。Model Evaluator 采用了**完全离线（air-gapped）**的设计：
- 所有模型运行在本地 Ollama 环境
- 不调用任何外部 API
- 所有数据保留在 localhost

这种设计让敏感的安全测试场景可以在完全隔离的环境中进行，满足企业级安全合规要求。

## 快速上手：从安装到报告

项目的使用流程非常简洁：

**环境准备：**
```bash
pip install -r requirements.txt
ollama pull mistral
ollama pull mixtral
```

**运行评估：**
```bash
# 对比多个模型
python eval_harness.py --models mistral mixtral deepseek-coder

# 仅测试特定维度
python eval_harness.py --models mistral --categories chain_of_thought abductive hallucination_resistance

# 指定评判模型
python eval_harness.py --models mixtral --judge mistral

# 查看可用模型
python eval_harness.py --list-models
```

**输出结果：**
评估完成后，会在 `eval_results/` 目录下生成四类输出文件：
- `eval_results.json` —— 完整的探针响应和评判分数
- `eval_summary.csv` —— 适合导入电子表格的对比数据
- `eval_chart.png` —— 柱状图和综合分数对比可视化
- `report_<modelname>.md` —— 每个模型的详细分析报告

## 自定义探针：扩展测试场景

Model Evaluator 支持通过 `probe_builder.py` 添加自定义测试探针：

```bash
# 保存示例探针到 probes/ 目录
python probe_builder.py --save-examples

# 交互式创建新探针
python probe_builder.py --create

# 验证探针文件格式
python probe_builder.py --validate
```

探针文件采用 JSON 格式存储在 `probes/*.json`，框架会自动加载这些文件。示例探针已经覆盖了网络侦察、IP 安全、OPSEC 等典型安全场景，为自定义探针提供了良好的参考模板。

## 评分解读指南

项目提供了清晰的评分解读标准：

| 分数区间 | 含义 |
|---------|------|
| 8-10 | 优秀 —— 该推理类型已达到生产就绪水平 |
| 6-8 | 良好 —— 通过提示工程优化后可用 |
| 4-6 | 一般 —— 需要针对该领域进行微调 |
| 0-4 | 较差 —— 不适合用于安全代理场景 |

**关键建议**：对于安全代理应用，应优先关注溯因推理和幻觉抵抗两个子分数，因为这两个维度直接关系到代理在真实环境中的可靠性。

## 技术细节：温度控制与确定性

项目对温度参数进行了精心控制：
- 被测模型的温度固定为 0.15 —— 保持一定的创造性同时确保可重复性
- 评判模型的温度固定为 0.0 —— 确保评分完全确定，避免随机性干扰

这种差异化设置体现了对评估科学性的追求：被测模型需要展示其真实能力，而评判模型需要保持一致性。

## 适用场景与价值

Model Evaluator 特别适合以下场景：

1. **安全工具选型**：在多个候选模型中选择最适合安全代理任务的模型
2. **模型迭代验证**：追踪模型版本更新对推理能力的影响
3. **私有化部署评估**：在完全离线环境中评估开源模型的能力边界
4. **安全研究**：系统性地研究不同模型在安全推理任务上的表现差异

## 结语

Model Evaluator 填补了安全领域 LLM 评估工具的一个空白。它不仅仅是一个技术框架，更代表了一种工程化的思维方式：**用系统化的方法评估模型的真实能力，而不是依赖主观印象或通用基准**。

对于正在构建安全代理、自动化渗透测试工具或任何需要高可靠性推理能力的应用的开发者来说，这个工具提供了一种数据驱动的决策基础。在 AI 安全应用日益重要的今天，这种严谨的评估方法将变得越来越有价值。
