从发现缺陷、Prompt迭代到自动化回归测试前言很多新手做大模型项目只会写 Prompt、单次调用、看效果完全没有工程化迭代思维。真正企业级 LLM 开发流程是测试发现问题 → 迭代优化 Prompt → 回归全量用例 → 量化测评对比 → 固化版本。本文以我的 LifeCraft 五维属性判定系统为实战案例完整讲解大模型迭代测评的标准工程流程解决为什么不能随便改 Prompt发现新场景、发现漏洞该怎么迭代什么是 LLM 回归测试、边界测试、量化测评如何实现可复用、可量化、可迭代的 Prompt 工程体系一、传统开发 vs LLM 迭代开发的本质区别1.1 传统软件发现 Bug → 改代码 → 修复 Bug → 重新测试功能逻辑固定、结果确定性高1.2 大模型应用Prompt 是“代码”模型理解是“运行逻辑”存在语义偏差、边界缺失、泛化不足、输出不稳定。因此 LLM 项目必须依赖持续测试 持续迭代 量化测评无法一次性写完就永久可用。二、什么是 LLM 迭代测评核心概念迭代测评是大模型专属工程流程在持续发现新场景、新漏洞、新需求的过程中不断优化提示词通过全量回归测试验证改动不会破坏原有功能并且通过量化指标证明优化效果。完整闭环五步测试发现缺陷边界场景、规则漏洞、输出错误针对性迭代 Prompt规则、示例、输出格式升级全量回归测试旧用例全部重跑防止改崩量化测评对比准确率、合规率前后对比固化版本形成稳定可用的 Prompt 版本三、实战迭代案例从「单属性判定」升级「多属性联动判定」针对上一篇提到的个人项目LifeCraft在测试过程中发现存在行为多属性变化场景。3.1 迭代前现状V1.0最初设计的 Prompt 逻辑一个行为只判定一个核心属性输出格式数字, / 数字,-仅支持单一维度增减3.2 测试发现重大业务漏洞在做边界测试时发现真实生活行为大多是复合型、多属性联动的。例如熬夜看书学习 心智提升 体魄损耗做家务听歌 行动力提升 愉悦值提升通宵聚会社交 人缘提升 体魄损耗原 V1.0 Prompt 只能输出单一结果导致业务逻辑不完整属性奖惩失真模型无法处理交叉场景3.3 正确迭代方式不直接瞎改工程化升级Prompt 迭代严禁直接凭感觉修改必须改三处1规则层新增逻辑I 模块增加描述单条行为可能同时影响多项属性需全部识别、全部输出不可只取主行为。2输出格式层升级P 模块兼容双格式单属性2,多属性英文逗号分隔2,,1,-3Few-shot 示例层新增边界案例E 模块本地小模型 7B 必须依赖示例才能理解复杂多输出逻辑新增熬夜看书学习 心智提升 体魄损耗双属性做家务听歌 行动力提升 愉悦值提升双属性通宵聚会社交 人缘提升 体魄损耗双属性通宵和朋友熬夜开黑打游戏 人缘提升、体魄损耗、愉悦值提升三属性心情低落摆烂拒绝社交独自刷娱乐视频 人缘损耗、行动力损耗、愉悦值提升三属性带病坚持学习、整理当日任务 心智提升、行动力提升、体魄损耗三属性3.4 回归测试关键步骤Prompt 更新后必须全量回归30 条常规单属性用例全部重跑保证老功能不崩10 条多属性边界用例新增测试验证新功能生效目的防止 Prompt 优化新场景却破坏原有简单场景的判定精度。3.5 量化测评产出迭代数据对比迭代前后指标迭代前 V1.0常规场景准确率95%边界多场景准确率0%多属性业务完全无法覆盖迭代后 V1.1常规场景准确率保持不变边界多属性场景准确率90%格式合规率100%3.6 版本固化将新版 Prompt 命名为 V1.1 存档完成一次标准 LLM 迭代闭环。四、工程化落地用代码导入用例实现自动化测评人工逐条测试效率极低真正工程化做法是用例文件独立导入 批量自动化测试 自动统计准确率。4.1 项目结构project/ ├── test_cases.py # 所有测试用例标准答案 ├── prompt_template.py# 统一管理Prompt版本 └── run_test.py # 自动化测评脚本① test_cases.py 测试用例文件# 1、基础单属性日常场景single_attr_cases[{action:今晚通宵熬夜没有睡觉,expect:1,-},{action:早起慢跑锻炼身体,expect:1,},{action:一整天不停刷短视频,expect:2,-},{action:学习AI大模型相关知识,expect:2,},{action:周末在家大扫除洗衣服,expect:3,},{action:这几天摆烂拖延啥活都不干,expect:3,-},{action:和好朋友出门逛街吃饭,expect:4,},{action:跟伴侣闹矛盾刻意冷战疏远,expect:4,-},{action:睡前听歌追剧放松心情,expect:5,},{action:压力太大整日情绪低落难受,expect:5,-},]# 2、双属性一增一减/双向增益场景double_attr_cases[{action:熬夜看书学习新知识,expect:2,,1,-},{action:做家务一边听歌放松,expect:3,,5,},{action:和朋友聚会大吃大喝通宵玩耍,expect:4,,1,-},]# 3、三属性联动复杂场景最高难度边界用例triple_attr_cases[{action:通宵和朋友熬夜开黑打游戏,expect:4,,1,-,5,},{action:心情低落摆烂拒绝社交独自刷娱乐视频,expect:4,-,3,-,5,},{action:带病坚持学习、整理当日任务清单,expect:2,,3,,1,-},]# 合并全部测试用例一键全量执行all_test_casessingle_attr_casesdouble_attr_casestriple_attr_cases② prompt_template.py 提示词版本管理文件# Prompt V1.1 支持多属性联动判定版本PROMPT 【C】能力生活五维属性精准判定助手 五大属性固定定义 1体魄睡眠、运动、熬夜、身体健康、三餐作息相关 2心智学习知识、阅读、动脑思考、无意义消遣刷视频相关 3行动力做家务、完成计划、做事执行、拖延摆烂相关 4人缘朋友聚会、人际交往、冷战、拒绝社交往来相关 5愉悦情绪心情、放松消遣、低落内耗、开心休闲相关 【R】角色只输出属性变化结果不解释、不闲聊、不加任何中文文字 【I】硬性判定规则 1. 逐行对照5个属性检查行为所有发生增减的维度必须全部写出禁止漏掉任意一个受影响属性 2. 代表属性数值上涨- 代表属性数值下降 3. 不得主观挑选主属性次要影响也要完整输出 【P】输出格式严格遵守 1. 单个属性变动编号,符号 例1, 2. 多个属性变动英文逗号分隔拼接 例2,,1,- 、4,,1,-,5, 3. 只允许数字、英文逗号、、- 四种字符 【E】大量参考样例 # 单属性示例 行为早起慢跑锻炼身体 → 1, 行为通宵不睡熬夜 → 1,- 行为全天刷短视频消磨时间 → 2,- 行为学习大模型专业知识 → 2, 行为全屋大扫除洗衣服 → 3, 行为整日拖延什么事都不做 → 3,- 行为和好友逛街聚餐 → 4, 行为刻意冷战疏远伴侣 → 4,- 行为睡前追剧听歌放松心情 → 5, 行为长期压力大心情压抑 → 5,- # 双属性示例 行为熬夜看书学习新知识 → 2,,1,- 行为做家务同时听歌放松 → 3,,5, 行为通宵聚餐吃喝玩乐 → 4,,1,- # 三属性复杂示例 行为通宵和朋友开黑打游戏 → 4,,1,-,5, 行为心情低落摆烂、拒绝社交刷短视频 → 4,-,3,-,5, 行为生病依旧坚持学习整理计划 → 2,,3,,1,- 用户行为{user_input} ③ run_test.py 自动化测评主脚本循环遍历所有用例调用本地 Ollama 大模型推理校验输出格式合法性比对模型输出与预期标准答案自动统计总条数、正确条数、准确率、格式错误数打印完整测试日志与测评汇总报表importollamafromtest_casesimportall_test_casesfromprompt_templateimportPROMPTdefllm_infer(user_content:str)-str:调用本地大模型推理temperature置0保证输出稳定可复现contentPROMPT.format(user_inputuser_content)resollama.chat(modelqwen2:7b,messages[{role:user,content:content}],options{temperature:0})returnres[message][content].strip()defbatch_evaluation():total_countlen(all_test_cases)correct_count0format_err_count0log_list[]# 允许出现的字符数字、英文逗号、加减号allow_charsset(12345,-)forcaseinall_test_cases:actcase[action]expect_rescase[expect]pred_resllm_infer(act)# 1.格式校验format_okall(chinallow_charsforchinpred_res)ifnotformat_ok:format_err_count1# 2.结果正误比对is_correct(pred_resexpect_res)ifis_correct:correct_count1log_list.append({行为文本:act,模型输出:pred_res,预期结果:expect_res,判定是否正确:is_correct,格式合规:format_ok})# 测评指标计算accuracy(correct_count/total_count)*100# 打印汇总测评报表print(*75)print(f✅ LLM属性判定模块自动化测评汇总报表)print(f测试总用例数量{total_count}条)print(f判定正确条数{correct_count}条 | 整体准确率{accuracy:.2f}%)print(f输出格式错误条数{format_err_count}条)print(*75)print( 详细逐条测试日志\n)foriteminlog_list:print(item)if__name____main__:batch_evaluation()4.2 核心能力新增场景只需修改用例文件修改 Prompt 无需改代码一键批量回归测试自动输出准确率、格式错误统计五、核心总结什么是真正的 LLM 迭代测评很多初学者误以为“改改提示词、效果变好”就是优化。工程化的迭代测评完整定义通过测试挖掘边界漏洞针对性升级 Prompt 规则、格式与示例通过全量回归测试保证兼容性最终通过量化数据证明模型效果提升形成可沉淀、可复盘、可升级的提示词版本体系。六、迭代测评在 Agent 开发中的意义当前的属性判定模块是未来 LifeCraft AI Agent 的底层数据底座。如果底层打分逻辑不严谨、无法处理多属性场景、准确率不稳定上层的行为复盘、状态分析、智能规划、生活建议生成全部都会失效。稳定的迭代测评体系是开发 AI Agent 的前置核心能力。七、学习收获掌握 LLM 项目区别于传统代码的迭代思维理解边界测试、回归测试、量化测评的完整工程定义学会从业务漏洞反向驱动 Prompt 优化建立可复用、可迭代、可量化的 Prompt 工程开发范式。