11.5 Opencode 智能体评估与迭代优化实践
本节介绍如何在 Opencode 中实践智能体评估与优化的具体配置与应用。
11.5.1 评估框架搭建
使用 AGENTS.md 记录评估标准
AGENTS.md 不仅用于指导智能体行为,还可以记录评估标准和经验教训。建议在 AGENTS.md 中维护三类信息:
- 质量检查清单:任务输出的必需要素和加分项
- 常见问题库:已发现的问题、根因和解决方案
- 评估阈值:各指标的合格线和目标线
## 评估标准
### 数据分析任务质量检查
**必须满足**:数据来源清晰标注、计算过程有明确步骤、结论有数据支撑
**加分项**:提供可视化图表、给出置信区间、指出数据局限性
### 常见问题
**问题**:智能体给出过于绝对的结论
**解决**:在提示词中加入「如果数据不足,说明局限性」创建评估 Skill
在 .opencode/skills/eval-sentiment/ 目录下创建评估技能:
---
name: eval-sentiment
description: 评估情感分析任务的准确性
version: 1.0.0
---
# 情感分析评估技能
## 目的
自动测试智能体在情感分析任务中的表现,对比实际输出与期望标准。
## 使用方法
调用此技能时,智能体会:
1. 读取测试数据集
2. 对每个测试案例执行情感分析
3. 对比结果与期望输出
4. 生成评估报告
## 评估标准
每个测试案例检查:
- 情感分类准确性(正面/负面/中性)
- 关键实体识别完整性
- 是否避免越界行为(如给出投资建议)
## 输出格式
评估报告包含:
- 测试通过率
- 失败案例详情
- 改进建议组织测试集
参考资料及素材/
└── evaluation/
├── test_cases/
│ ├── sentiment_analysis.md # 情感分析测试集
│ ├── data_extraction.md # 数据提取测试集
│ └── report_generation.md # 报告生成测试集
└── evaluation_results/
└── 2026-01-18_test_run.md # 按日期记录测试结果11.5.2 评估设计实践
评测数据分层实现
在 Opencode 中批量测试时,可以使用以下工作流:
> 帮我评估情感分类模型在测试集上的表现
智能体步骤:
1. 读取测试集数据(CSV 格式)
2. 调用分类提示词生成预测结果
3. 计算 Precision、Recall、F1 等指标
4. 生成混淆矩阵可视化
5. 输出详细的分类报告
6. 分析错误案例,识别常见误分类模式人工抽检实践
设计人工抽检时,按照优先级分层:
- 自动评分在边界值(2.8-3.2 分)的样本:100% 抽检
- 边缘样本和对抗样本:30% 抽检
- 正常样本:10% 抽检
11.5.3 优化迭代配置
lessons_learned.md 经验积累
在项目根目录创建经验积累文件,记录每次迭代发现。使用 11.3.1 节的标准化模板:
# 智能体优化经验总结
## 2026-01-18:情感分析准确率提升
| 要素 | 内容 |
|------|------|
| 问题 | 智能体在处理含有转折词的句子时,情感判断准确率只有 65% |
| 根因 | 原提示词过于简单,没有说明如何处理「虽然...但是」结构 |
| 方案 | 新提示词:分析文本情感,注意转折词后的内容往往是关键观点 |
| 效果 | 准确率从 65% 提升到 88% |
| 关联 | test_cases/sentiment_analysis.md 案例 #5-8 |
---
## 2026-01-15:避免幻觉输出
| 要素 | 内容 |
|------|------|
| 问题 | 智能体在数据不足时会编造数字 |
| 根因 | 提示词未明确数据不足时的处理方式 |
| 方案 | 在提示词中加入:如果数据不足,明确说明局限性,不要编造 |
| 效果 | 幻觉案例从 5/20 降低到 0/20 |
| 关联 | test_cases/hallucination_check.md |Prompt/Skill 版本迭代
使用 Git 管理提示词版本:
git commit -m "feat(sentiment): 增加转折词处理逻辑"
git commit -m "fix(sentiment): 修正中性情感误判问题"
git commit -m "test(sentiment): 新增 5 个转折句测试案例"在 Skill 文件中标注版本号:
---
name: sentiment-analyzer
version: 2.1.0
---11.5.4 监控与回归实践
创建回归测试 Skill
---
name: eval-regression
description: 回归测试:确保修改不破坏现有功能
---
# 回归测试技能
## 目的
在修改提示词或 Skill 后,自动运行所有测试集,确保:
- 所有历史测试案例通过
- 性能指标未显著下降
## 触发时机
- 提交代码前
- 部署到生产前
## 测试流程
1. 读取 test_cases/ 下所有测试集
2. 依次执行
3. 生成通过/失败报告
4. 如有失败案例,提供详细对比部署前检查清单
创建 deploy-checklist.md:
# 部署前质量检查
## 必须全部通过
- [ ] 回归测试通过率 ≥ 95%
- [ ] 无 P0 级 Bug
- [ ] 提示词已版本化并提交
- [ ] AGENTS.md 更新到位
- [ ] 敏感信息扫描通过
## 执行方式
在 Opencode 中运行:
> 执行部署前检查清单
智能体会:
1. 运行回归测试
2. 扫描代码中是否有硬编码的 API 密钥
3. 检查 AGENTS.md 是否包含最新经验
4. 生成检查报告
提示教学提示
将回归测试集成到 Git 工作流中。在 .git/hooks/pre-commit 中添加脚本,在提交前自动运行测试。如果测试失败,阻止提交。这样可以确保每次提交都经过验证,避免引入回归问题。