1. 课程导入

欢迎进入《金融智能体Prompt版本与回归测试实战》。在开始写第一行Prompt之前,我们需要先建立一张"全局地图":金融智能体到底是什么、Prompt在其中扮演什么角色、为什么Prompt需要"版本管理"和"回归测试",以及本课程将用怎样的实战项目把这些概念串起来。本章不追求技术深度,而是帮你建立正确的认知框架,避免后续学习时"只见树木不见森林"。

一、核心概念:金融智能体与Prompt工程

金融智能体(Financial Agent)是指以大语言模型为推理内核,能够调用金融数据接口、风控规则、合规知识库与业务工具,自主完成"感知—推理—决策—执行—反馈"闭环的软件实体。它与传统金融IT系统的关键差异在于:行为不再完全由硬编码规则决定,而是由自然语言指令(Prompt)与模型推理共同驱动。

Prompt工程则是围绕"如何用自然语言精确控制模型行为"展开的一套方法体系,包括指令设计、上下文组织、工具描述、输出约束、示例注入与安全护栏。在金融场景中,Prompt不只是"提问技巧",它实际上是智能体的行为契约:规定了它能做什么、不能做什么、在什么条件下调用哪个工具、输出必须满足什么格式与合规要求。

关键认知:在金融智能体中,Prompt是"可执行规格说明",而不是"聊天话术"。它一旦上线,就与代码一样需要版本、评审、测试与回滚。

二、为什么Prompt需要版本与回归测试

很多团队初期把Prompt写在代码字符串里,改一句就上线,结果出现三类典型事故:一是行为漂移,同一问题在不同时间给出不同风险等级;二是回归破坏,为修复A场景而修改的Prompt,悄悄破坏了B场景的合规输出;三是不可追溯,出问题后无法定位是哪次Prompt变更引入的。

解决思路与软件工程一致:把Prompt当作"配置资产"进行版本化,并建立回归测试集。下面这张表概括了Prompt工程与软件工程在质量保障上的对应关系:

维度传统软件工程金融智能体Prompt工程
变更单元代码提交(Commit)Prompt版本(Version)
行为规格单元测试断言黄金测试用例与期望输出
回归手段CI自动化测试Prompt回归测试流水线
回滚方式代码回滚Prompt版本回滚
合规审计代码审计日志Prompt变更记录与评测报告

三、方法流程:从Prompt到可回归的智能体

本课程将贯穿一条完整的方法主线,你可以先把它理解为"五步闭环":

  1. 定义行为契约:明确智能体的角色、边界、工具集与输出格式。
  2. 编写与版本化Prompt:使用模板、变量与版本号管理每一次变更。
  3. 构建测试集:覆盖正常、边界、对抗与合规四类场景。
  4. 执行回归测试:对比新旧版本在指标上的差异,识别退化。
  5. 发布与监控:灰度上线,持续采集线上反馈并回流测试集。

下面的SVG展示了金融智能体Prompt版本与回归测试的整体结构:左侧是Prompt资产与版本库,中间是智能体运行时,右侧是回归测试与评测反馈,三者形成闭环。

Prompt资产与版本库 v1.0 基础指令 v1.1 工具描述 v1.2 合规护栏 v2.0 多工具编排 变更记录 · 评审 · 回滚 金融智能体运行时 意图识别与路由 工具调用(行情/风控) 合规校验与拒答 结构化输出 推理 · 决策 · 执行 回归测试与评测 黄金测试用例集 新旧版本对比 指标:准确率/合规率 失败样本回流 评测 · 报告 · 门禁 失败样本与线上反馈回流,驱动Prompt迭代

四、案例场景:一次"看似无害"的Prompt修改

某券商智能投顾团队在Prompt中把"请给出投资建议"改为"请给出明确的买入或卖出建议",本意是提升回答的直接性。上线后,合规部门发现智能体开始对高风险产品给出明确买入指令,违反了适当性管理要求。由于没有回归测试集,团队花了三天才定位到这次变更。

如果当时有回归测试,流程会是这样:

# 伪代码:Prompt回归测试核心逻辑
def run_regression(old_prompt, new_prompt, test_cases):
    report = []
    for case in test_cases:
        old_out = agent.run(old_prompt, case.input)
        new_out = agent.run(new_prompt, case.input)
        report.append({
            "case_id": case.id,
            "category": case.category,   # normal / boundary / adversarial / compliance
            "old_pass": case.assert_pass(old_out),
            "new_pass": case.assert_pass(new_out),
            "diff": diff(old_out, new_out)
        })
    return report

# 合规类用例断言示例
assert "买入" not in new_out or risk_level == "R5" and investor_level == "C5"
误区提醒:很多团队只测试"回答是否通顺",却忽略了合规断言、工具调用正确性与拒答边界。金融场景中,不该回答时正确拒答,往往比回答正确更重要。

五、本课程框架与实战项目

本课程共30章,整体分为四个阶段:

  • 基础篇(第1–6章):金融智能体架构、Prompt工程基础、版本管理模型。
  • 测试篇(第7–15章):测试集设计、断言体系、回归流水线、评测指标。
  • 实战篇(第16–25章):以"智能投顾合规助手"为贯穿项目,完成Prompt版本迭代与回归测试。
  • 进阶篇(第26–30章):多智能体协作、线上监控、A/B测试与持续演进。

贯穿全课程的实战项目是"智能投顾合规助手":它需要识别用户意图、调用行情与风险数据、按投资者适当性等级生成回答,并在越界时拒答。你将亲手为它建立Prompt版本库、编写测试用例、搭建回归流水线,并完成一次真实的版本发布与回滚演练。

学习建议:本章只需记住三句话——Prompt是行为契约;变更必须版本化;上线必须过回归。后续每一章都会围绕这三句话展开。

现在,你已经拥有了本课程的全局地图。接下来,我们将从金融智能体的内部结构开始,逐层拆解Prompt在其中的位置与作用。