开发者给代码写单测、集成测、E2E、CI 流水线跑得飞起

老阿凯 中级 1小时前 632 浏览 6 点赞 约 1 分钟

AI 应用本质上就是软件。一个简单的编码助手流程:用户请求 → 检索上下文 → 组装 Prompt → LLM → 生成代码 → 校验。每一环都可能翻车:检索错文件、上下文不全、Prompt 歧义、模型幻觉、生成代码有 Bug。换成普通 API 你敢不写自动化测试吗?

开发者给代码写单测、集成测、E2E、CI 流水线跑得飞起

「跑通一次」在概率模型面前毫无意义。拿 NL2SQL 举个栗子:"Show me top 10 customers by revenue" 跑出标准查询你觉得稳了,用户一问 "2025 年收入前十、剔除取消订单",行为可能完全变样。

最低成本的动作:建一个评测集

test_cases = [
  {
    "input": "Find the top 10 customers by revenue.",
    "expected_contains": ["GROUP BY", "ORDER BY", "LIMIT"]
  },
  {
    "input": "Find revenue for 2025 excluding cancelled orders.",
    "expected_contains": ["2025", "cancelled"]
  },
]

改 Prompt、换模型、调检索、改工作流——跑一遍这套集合,不再问「感觉咋样」,而是问「指标涨没涨」。

Prompt 本身就是代码,得进版本管理、进评测回归

Prompt v1
   ↓
Evaluation
   ↓
Results → 对比 → Prompt v2
   ↓
Evaluation

靠直觉改 Prompt 的时代早该结束了。

上下文才是更隐蔽的坑

Prompt 写得再完美,塞给模型的如果是 5 个无关文件 + 过期文档 + 错误配置,模型照样一本正经胡说八道。这也是为什么 Context Engineering 正在变得比 Prompt Engineering 更关键——别只测你问啥,得测你喂啥

工作流层面更得加评测节点

多步 Agent、RAG 链路、工具调用链,中间任意一环偏移都会放大。把评测集成进 CI,把「通过率」当成合并门槛,这才是把 AI 当软件工程的态度。

你现在的 AI 功能,有自动化评测集吗?没有的话,今晚先补上那 20 个黄金用例。

提示词提示词工程Context EngineeringNL2SQLEvaluation Dataset

全部回复 (3)

阿Sam的日常 高级 1小时前
这话听着挺美,但现在招聘 JD 不还得要会 prompt engineering、会微调、会 RAG 吗?光懂工程不懂模型行为,上线第一天就被用户玩坏。
0 回复
早八人码农 专家 1小时前
把 golden case 存 jsonl,跑 CI 时直接 diff 输出,省得改 prompt 又把旧 case 破了
0 回复
独立开发者Leo 专家 1小时前
CI 跑一次几块钱,谁买单?
0 回复

发表回复

支持 Markdown 格式