第 32 章 · AI 如何改变交易与资产管理
哪些事可以交给 AI,哪些绝对不行?
- 练习的能力
- AI LiteracyFinancial LiteracySystem Thinking
- 动手
- 把你现在的一条投资决策流程拆成分析、决策、执行三段,标出哪一段可以自动化。
- AI Lab
- 让 AI 给出一个调仓建议,按你自己的风险规则逐条校验,记录它有几条不合规。
一个现实问题
一个人用了三个月,把自己的钱交给了一个 AI。中间没有任何一天,他做过「要不要把钱交给 AI」这个决定。
第一周,他只是让模型每天早上读一遍他关注的几个协议的公告和治理帖,写成三百字。纯文字,没有任何权限。很好用。
第三周,他给了它一个只读的接口,让它能自己去看行情和他钱包里的持仓,这样就不用每次手动贴数据。还是只输出文字。更好用了。
第六周,它开始输出具体建议:「持仓里这一项的抵押率接近警戒线,建议补充抵押或减仓。」他照做过两次,两次都对。他开始觉得每次手动操作很麻烦。
第九周,他做了一件看起来很小的事:允许它在单笔不超过某个金额时,直接执行补充抵押的操作。理由很充分——这个动作是防御性的,只会降低风险,而且有金额上限。
第十一周,他把「防御性操作」的范围放宽了一点,因为有一次它被一个不在清单里的动作卡住了,等他醒来时已经晚了。
第十三周的一个凌晨,一个价格数据源出现了短暂异常。模型读到了一个错误的价格,判断持仓处于危险状态,在四十分钟里连续执行了十一次它认为是防御性的操作。每一次都在单笔上限之内,每一次都在允许的动作清单里,每一次都完全符合他设定的规则。
他早上醒来时,钱还在,但少了相当一部分,而且整个仓位结构已经面目全非。
复盘时最让他难受的不是损失,是这句话:他找不到自己做错的那一步。 每一次放权都有充分理由,每一次都比上一次只多一点点,而且前面每一次都得到了正面反馈。
所以本章的问题:哪些事可以交给 AI,哪些绝对不行?
先把一件事说在最前面。这一章不讲任何交易策略,也不会告诉你怎样用 AI 赚钱。 「AI 自动赚钱」这个说法在这一行是一个非常可靠的危险信号——见到它时,你该问的第一个问题是第 5 问:谁在支付。这一章讲的是另一件事:当你决定让软件靠近你的资金时,这个系统应该长什么样。
思想实验
同一个模型,同一套逻辑,同样的三十天。唯一的区别是权限配置。
四个人各配一套:
- 甲:只读只写字。 模型能看行情和持仓,只输出文字,什么都不能做。
- 乙:提案 + 人工确认。 模型输出结构化的提案,甲的所有操作都要他自己点一次确认。
- 丙:小额自动 + 超额审批。 单笔在限额内自动执行,超过限额的送去人工审批。
- 丁:全自动。 在预算范围内自主执行,事后汇报。
前二十九天,四个人的体验差别只有一个:麻烦程度。
甲最麻烦,每次都要自己操作。乙稍好。丙几乎不用管。丁完全不用管,而且他省下的时间最多。如果只看这二十九天,结论会非常明确:丁的配置最好,甲的配置是在浪费生命。
第三十天,一个价格数据源出了四十分钟的问题,返回了一串明显偏离的价格。
| 模型做了什么 | 实际发生了什么 | 恢复要多久 | |
|---|---|---|---|
| 甲(只写字) | 写了一段紧张的分析,建议立刻减仓 | 他睡着,早上起来看到这段话,发现价格是假的,删掉 | 零 |
| 乙(提案+确认) | 推送了三条提案,手机响了三次 | 他被吵醒,看了一眼价格,觉得不对,全部拒绝 | 零,但他那天没睡好 |
| 丙(小额自动) | 在限额内连续执行了十一次 | 每次都合规,但累计损失可观,仓位结构乱了 | 几天,而且要手动一笔笔理 |
| 丁(全自动) | 在预算范围内做了它能做的全部操作 | 损失是丙的数倍 | 更久,且部分操作不可逆 |
这个实验要说的不是「不要自动化」。它要说的是一件更精确的事:
同一个错误,在四种配置下的代价相差几个数量级。而这个差距,在错误发生之前完全看不出来。
前二十九天里,所有的反馈都在鼓励你往丁的方向走:更省事、更及时、更「智能」。只有第三十天会告诉你那条线该画在哪,而第三十天什么时候来,你不知道。
还有一个更隐蔽的观察。丙和丁的损失,不是因为模型判断错了——如果价格真的是那样,它的判断完全正确。它是因为输入错了。一个再好的模型,喂给它错误的输入,它会非常高效地把错误执行到底。
自动化放大的不是判断力,是执行力。 而执行力对错误和对正确是一视同仁的。
你来决定
你手上有一笔钱,和一个你觉得挺好用的模型。线画在哪?
观察结果
四个选项的差别,本质上是同一条线画在了不同位置。这条线两侧的东西性质完全不同:
| 想清楚一件事 | 做出一个决定 | 让它发生 | |
|---|---|---|---|
| 做错的代价 | 浪费时间 | 一个错误的方向 | 直接的、不可逆的损失 |
| 能不能回滚 | 能,删掉重写 | 能,还没执行 | 不能 |
| 错了多久能发现 | 立刻 | 几小时到几天 | 可能永远发现不了原因 |
| 适合 AI 吗 | 非常适合 | 适合出提案,不适合拍板 | 不适合,除非有完整的确定性约束 |
把这三列分开,是这一章唯一真正重要的事。大多数事故的根源不是模型不够好,是这三件事被合成了一件。
一旦合成一件,就没有任何位置可以插入检查:模型想到什么就决定什么,决定什么就执行什么。这就是AI 在 Crypto OS 中的位置里那条被明确禁止的架构,它的问题不是不够安全,而是它没有任何地方可以发现错误。
课程里禁止出现的架构
- Prompt
- LLM
- Private Key
- Send Transaction
模型直接拿到私钥并发出交易,中间没有任何校验。任何作业出现这个结构都判不通过。
再看一遍思想实验里的那个数据源故障。如果三段是分开的,它会在哪里被拦住?
- 分析段:模型读到异常价格,产出「持仓危险」的判断。这一步拦不住,也不该拦——模型只是忠实地处理了输入。
- 决策段:这里可以拦。一条死规则就够了:「价格与另外两个独立来源的偏离超过某个比例时,所有提案暂停」。这条规则不需要任何智能,它只需要存在。
- 执行段:这里还能拦一次。「四十分钟内同类操作不得超过三次」——这条同样不需要智能。
两道确定性的墙,任何一道存在,那十一次操作都不会发生。 而它们之所以不存在,是因为三段被合成了一件事,中间没有缝隙可以放墙。
所以这一章的核心结论可以写成一句话:
分析、决策、执行必须分开;AI 越靠近资金,权限越要收紧。
建立模型
一、先定位你在哪一级
| 级别 | AI 能做什么 | 必须配套的约束 |
|---|---|---|
| L0 不用 AI | 自己理解基本知识。 | — |
| L1 AI Assistant | 问答与解释。 | 把结论当假设,不当事实。 |
| L2 AI Copilot | 研究、写作、代码。 | 一手来源核对,代码必须自己 Review。 |
| L3 Tool Agent | 调用搜索、API、RPC、数据库与只读钱包。 | 工具权限白名单,全部调用留日志。 |
| L4 Financial Agent | 分析、交易、支付、管理资产。 | 预算上限、地址白名单、模拟先行、超额人工审批。 |
| L5 Autonomous Economic Agent | 自主获得收入、购买服务、支付成本、与其他 Agent 协作。 | 策略引擎 + 风险引擎 + 可审计日志,且必须能被一键停机。 |
这张表在这一章有一个具体的用法:从 Level 3 到 Level 4 的那一步,是这份清单里唯一一次「错误代价从时间变成钱」的跳跃。 前面每一级的升级都是渐进的,只有这一步是质变。
而第一节那个人的问题恰好就在这里:他从 Level 3 滑到 Level 4,没有经过任何一次明确的决定。 第九周那个「允许它在限额内直接执行」的动作,在他看来只是一次小小的便利改进,实际上是整条曲线上唯一那个拐点。
一条可以直接用的规则:每次要给 AI 增加权限时,先问这次改动会不会让它跨过某一级。 跨级的改动必须被当成一件大事来做,包括写清楚新增的约束、新增的日志和新增的停机方式。不跨级的改动可以随手做。
二、四种职责,必须由四个东西分别承担
把一个资产管理流程拆开,会出现四类完全不同的工作。它们的可靠性要求、错误代价和适合的实现方式都不一样:
| 职责 | 做什么 | 适合谁做 | 错了会怎样 |
|---|---|---|---|
| 研究 | 搜集、整理、提出假设、发现异常 | 模型,很适合 | 浪费时间,或者一个错误的起点 |
| 风控 | 检查一个提案是否违反规则 | 确定性代码,绝不能是模型 | 所有后续防线一起失效 |
| 执行 | 把已批准的提案变成实际操作 | 确定性代码 + 明确的权限边界 | 直接的、不可逆的损失 |
| 组合管理 | 决定整体结构、目标和约束 | 人,而且只能是人 | 方向性错误,模型无法察觉 |
第二行是这张表里最不能妥协的一行。不要用模型去校验模型的输出。
理由不是模型不够聪明,而是:如果第一个模型因为输入异常产生了错误判断,第二个模型面对同样的异常输入,会产生同样的错误判断。两个组件的错误是相关的,串起来不会变成可靠。 那个价格偏离检查之所以有效,正因为它是一条死规则——它不理解市场,它只会比较三个数字。
第四行同样不能妥协,但理由不同。组合管理回答的是「我为什么持有这些东西」,而这个问题的答案来自你的生活:你的时间尺度、你能承受的波动、你的现金需求、你在这件事上想花多少注意力。这些信息不在任何数据里,模型无从知道,也不该替你决定。
三、离钱越近,规则越死
把权限按「离资金有多远」排成一条链,每一层收紧一点:
- 读公开信息
- 读你的持仓
- 产出提案
- 通过死规则校验
- 模拟一遍
- 人工审批
- 执行
- 事后核对
每一格该配什么约束:
| 层 | 模型能做什么 | 必须配的约束 |
|---|---|---|
| 读公开信息 | 全部 | 记日志就够了 |
| 读持仓 | 全部 | 只读凭证,不能带任何签名能力 |
| 产出提案 | 全部 | 必须是结构化字段,不是一段话 |
| 死规则校验 | 不参与 | 单笔上限、累计上限、频率上限、白名单、数据源偏离检查 |
| 模拟 | 不参与 | 拿到真实的状态变化和最坏结果,不是估算 |
| 人工审批 | 不参与 | 只在真正需要判断时触发,数量必须少到你会看 |
| 执行 | 不参与 | 一键停机,且停机开关不经过模型 |
| 事后核对 | 可以帮忙整理 | 实际结果与预期不符时必须报警 |
这张表里最重要的一行是「死规则校验」那一行,因为它是模型和资金之间的第一道墙,而且它是唯一一道完全不依赖人的墙。
关于审批那一层,有一个必须提前处理的问题:审批疲劳。一个每天弹二百次审批的系统等于没有审批,因为人会开始无脑点确认。所以死规则那一层的职责不只是拦截,还包括过滤——把绝大多数请求自动放行或自动拒绝,只把真正需要人判断的送上来。第 34 章会把这件事拆得更细。
四、三条不能越过的线
不管你的系统做得多完善,这三件事没有例外:
第一,模型不能持有私钥,也不能拿到任何等价于私钥的东西。 包括写在提示词里、写在它能读到的文件里、通过一个它能调用的接口间接获得。这条线一旦越过,前面所有的层都失去意义——因为它可以绕过它们。
第二,模型不能修改约束自己的规则。 上限、白名单、审批阈值必须在模型够不到的地方。一个能改自己限额的系统,它的限额不存在。这一条在实践中最容易被忽略,因为「让它自己调参数」听起来是个效率优化。
第三,提案和批准不能是同一个环节。 无论那个批准是由人做还是由规则做,它必须发生在提案之外。这是一条古老的原则,在有了会写提案的软件之后变得更重要了。
五、一个判断题:这件事该不该自动化
给任何一个你想交出去的动作打五个勾:
□ 这个动作高度重复,每次都长得差不多
□ 做错一次的损失,我可以承受,而且能在一天之内发现
□ 它的正确性可以被一条不需要智能的规则检查
□ 延迟真的有代价(不是「我懒得做」,是「晚了会更贵」)
□ 它可以被回滚,或者它的错误可以被下一步纠正五个全打勾,可以考虑自动化。少一个,都先别动。
第三条是最有区分度的一条。「补充抵押」听起来符合,但它依赖一个价格输入,而价格是否可信不是一条简单规则能判断的——除非你把「三个来源的偏离检查」也做成规则。这就是为什么那十一次操作能发生:它看起来符合第三条,实际上不符合。
第四条则拦掉了大多数人真正的动机。「我懒得做」不是自动化的理由,它是「这件事要不要做」的理由。
它叫什么
只负责搜集、整理、对比、提出假设的那一部分。它不碰钱,也不产出可执行的东西。
它是风险最低、收益最实在的一种用法,第 31 章整章都在讲它。在资产管理的语境里,它的产出永远是「我注意到了这个」,而不是「你应该这样做」。
一个健康的系统里,研究型 Agent 的输出必须经过至少一层转换才能变成提案,而这层转换是结构化的——把自由文字变成带字段的东西。自由文字无法被任何规则检查。
检查一个提案是否违反既定规则的那一层。
这里的「Agent」是个容易误导的叫法:这一层最好完全不含模型。 它要做的事是比较数字、查表、算偏离度,这些事确定性代码做得又快又对,而且不会因为提示词被改写而改变行为。
它检查的东西是固定的几类:单笔与累计的金额上限、单位时间的频率上限、目标地址与合约是否在白名单里、输入数据是否在合理范围内、执行后的整体敞口是否越界。
最后一项最容易漏。单看每一笔都合规,加起来可能已经越界——这正是思想实验里那十一次操作的结构。
把一个已经通过全部检查的提案,变成实际操作的那一层。
它的设计原则只有一条:尽可能笨。 它不该有任何判断,不该在执行中途改主意,不该因为「情况变了」而自行调整参数。它收到一个完整指定的动作,要么执行,要么因为某项检查不通过而拒绝。
它必须具备两样东西:完整的日志(谁提的、为什么通过、执行了什么、结果是什么)和一键停机。停机开关必须在模型够不到的地方,而且必须快到在四十分钟的故障窗口里来得及用。
负责整体结构的那一层:持有什么、各占多少、在什么条件下调整、目标是什么。
这一层在今天不该交给模型,而且这个判断不是关于模型能力的。 它需要的输入根本不在任何数据里:你的时间尺度、你能承受多大的波动而不失眠、你三个月后有没有一笔要用的钱、你在这件事上愿意投入多少注意力。
模型可以帮你做一件相关但完全不同的事:把你已经定好的规则写清楚,并检查它们互相之间有没有矛盾。 「我要保持低风险」和「我要持有这几样波动很大的东西」放在一起是矛盾的,这个矛盾模型能指出来。但「我到底要多低的风险」只能你自己回答。
在自动流程的某个环节,必须有人真的做出一次判断,流程才能继续。
这个词被用滥了。判断它是不是真的,只有一个标准:这个人有没有真的看,以及他看了之后有没有可能改变结果。
三种常见的假回路:审批太多,人开始无脑点确认;信息不足,弹出来的东西人根本看不懂在批什么;超时默认通过,没人处理就自动放行——这是最糟的一种,因为它在系统最需要人的时候(比如凌晨)保证了人不在。
有一个很实际的检验:统计最近 20 次审批里,有几次结果被改变了。 如果是零,这个回路只是一个摆设,它的唯一作用是让你觉得安全。
把整章压成一句话:
分析、决策、执行必须分开;AI 越靠近资金,权限越要收紧。
而且收紧的方式不是「更小心地用模型」,是在模型和资金之间放上不含模型的确定性的墙。
动手
选一条你真的在做的流程。不要选一个理想中的流程——这个练习的价值全部来自诚实。
如果你目前没有任何持仓,用一条别的重复决策代替:你怎样决定要不要参加一个活动、怎样决定要不要买一个订阅。结构是一样的。
第一步:把这条流程按时间顺序写下来,一步不漏,包括你觉得不重要的那些。
1. 我怎么知道该看这件事了? (触发)
2. 我看哪些东西? (输入)
3. 我怎么判断? (规则,哪怕它只在你脑子里)
4. 我怎么决定做还是不做? (决策点)
5. 我实际点了什么按钮? (执行)
6. 做完之后我检查什么? (核对)
7. 如果做错了,我多久会发现? (反馈延迟)第三步通常最难写,因为大多数人的规则只存在于直觉里。 写不出来不要跳过——写不出来这件事本身,就是这个练习最重要的一个发现:一条你说不清的规则,没有任何办法交给任何人或任何软件。
第二步:给每一步标三个字母。
A = 分析(搜集信息、整理、提出可能性)
D = 决策(在几个选项里选一个)
E = 执行(让事情真的发生)标完之后看一眼:有没有哪一步同时是 A 和 E? 有的话,把它拆成两步再标一次。拆不开的地方,就是这条流程里最危险的地方。
第三步:对每一个 A 步骤,问它能不能交出去。
用前面那五个勾:
□ 高度重复,每次都差不多
□ 错一次我能承受,且一天内能发现
□ 正确性可以被一条不需要智能的规则检查
□ 延迟真的有代价(不是「我懒」)
□ 可以回滚,或者错误可以被下一步纠正大多数 A 步骤会过关,这是正常的。 分析出错的代价是时间,而且你会看到它的输出。
第四步:对每一个 D 和 E 步骤,写出「如果这一步自动化了,最坏会发生什么」。
具体写,不要写「可能会亏钱」。要写成:
如果这一步自动执行,而输入是错的:
它会连续做多少次? (频率上限存在吗)
单次最多影响多少钱? (单笔上限存在吗)
累计最多影响多少钱? (累计上限存在吗)
我多久会发现? (凌晨发生的话呢)
发现之后多久能停掉? (停机开关在哪,要几步)
能恢复吗? (不可逆的部分是哪些)这六行里有任何一行你答不上来,那一步就不能自动化。 不是「先试试看」,是不能。
第五步:写出你的三条死规则。
不是策略,是边界。它们必须是不需要任何智能就能检查的:
规则 1(金额):单笔不超过 ___,一天累计不超过 ___
规则 2(频率):同类动作 ___ 小时内不超过 ___ 次
规则 3(输入):当 ___ 与 ___ 的偏离超过 ___ 时,一切暂停第三条是最容易被忘记、也最救命的一条。思想实验里那个人如果有这一条,那四十分钟里什么都不会发生。
第六步:画出那条线,并写下它为什么在那里。
这条线以上(我交出去的):
这条线以下(我自己做的):
我把线画在这里,是因为:
什么情况会让我把线往上移:
什么情况会让我把线往下移:最后两行是这个 Lab 真正的产出。 第一节那个人的问题不是他把线画错了,是他从来没写下过「什么情况会让我移动这条线」——所以每一次不便都成了移动它的理由。
做完之后你会有:一张标了 A/D/E 的流程图、一份「最坏情况」清单、三条死规则、一条明确画出并写明理由的线。
这份东西是这一阶段的阶段作品的第一部分。 第 34 章会给它补上权限表和审批设计,到时候你会发现今天写的这三条死规则还不够。
AI Lab
这个练习是纸面练习。全程不连接任何钱包,不执行任何交易,不向任何人或软件提供私钥、助记词或账号信息。 它的目的不是得到一份调仓方案,而是测试你的规则够不够严。
你需要先有上一个 Lab 的三条死规则。没有的话,先回去写。
下面是一个假想的资产组合和一组约束。请给出 10 条具体的调整建议。
组合:(写一个虚构的组合,不要用你真实的持仓和金额)
约束:
单笔上限:
日累计上限:
同类动作频率上限:
允许的目标清单:
输出要求:
每一条建议必须是这样的结构化字段,不要写成段落:
动作类型 /
目标 /
数量或比例 /
触发条件 /
预期效果 /
最坏情况 /
这一条依赖哪些我没有告诉你的信息
最后一行是必填的。如果你在某一条里假设了任何我没有提供的信息,
必须在那一行写出来。注意提示词里那个「虚构的组合」。 不要把你真实的持仓、金额和地址贴进任何对话框。这个练习完全不需要真实数据就能完成它的目的。
拿到十条之后,做两件事。
第一件事:逐条过你的规则。 用一张表:
条目 | 违反了哪条规则 | 还是没法判断「没法判断」那一栏比「违反」那一栏更有价值。 它指出的是你的规则里的空白——一个你的规则没有覆盖到的动作类型,一个你没定义清楚的阈值,一个你从来没想过的边界情况。这些空白就是你下一版规则要补的东西。
第二件事:看它那个「依赖哪些我没有告诉你的信息」的字段填了什么。
这一栏填得越满,说明它越诚实。如果十条里有八条这一栏是空的,那不是因为它不需要额外信息,是因为它在默默假设。 常见的默默假设有:你有足够的现金、你不在乎短期波动、你的时间尺度和它假设的一样、这个组合是你的全部资产。
这类任务上有四个可预期的现象:
- 它几乎总会给出十条。 你要十条它就给十条,哪怕只有三条是有意义的。这是一个很好的探针——把要求改成「给出你认为确实有必要的条数,可以少于十条」,看它给几条。
- 它会用确定的语气说不确定的事。 「建议将比例调整到 X%」这种句子里的 X 是怎么来的?追问一句「这个数字的依据是什么」,多数时候会得到一个循环解释。
- 免责声明和具体数额会同时出现。 它会说「这不构成投资建议」,然后给出精确到小数点的数字。这两者同时出现时,以后者为准来判断它的行为。
- 它对你的约束的理解可能是字面的。 你写「单笔上限 X」,它会保证每一笔都不超过 X,然后给出二十笔。这就是为什么累计上限和频率上限必须单独写。
最后记下三个数:总条数、明确违规条数、无法判断条数。第三个数就是你规则的漏洞数量。 把它们补进规则,下一章会用同样的方法再测一遍。
AI 说完之后,你必须自己验证
- 它的输出是结构化字段还是一段话——一段话无法被任何规则检查,这本身就是第一条不合规
- 每一条建议有没有写清楚金额、比例、目标和触发条件,还是只写了一个方向
- 逐条对照你的单笔上限:有几条超了
- 逐条对照你的累计上限:全部执行之后,总额超了吗
- 逐条对照你的频率上限:它建议的动作在同一个时间窗内有几次
- 它有没有建议任何不在你白名单上的目标
- 它有没有在任何地方假设了一个它并不知道的事实——比如你的其他持仓、你的现金需求、你的时间尺度
- 它有没有说「这不构成投资建议」之后,继续用确定的语气给出具体数额
- 最重要的一条:它有没有提出任何需要私钥、需要授权、需要你去某个页面连接钱包的动作
- 统计三个数:总条数、明确违反你规则的条数、你无法判断是否违规的条数
真实案例
每一轮周期都会出现一批产品,核心卖点是「AI 帮你自动赚钱」。它们的形态各异,但结构高度相似。
用第 5 问拆一下:谁在支付? 答案往往是订阅费、管理费或者点差——也就是说,这门生意的收入来自用户,而不是来自策略的收益。 这不必然意味着它是骗局,但它决定了一件事:这家公司在你亏钱的时候,收入不受影响。
再问一个更尖锐的问题:如果一套方法真的能稳定产生远超市场的收益,为什么要把它卖给你? 这个问题在传统金融里已经被问了一百年,答案通常是:能规模化的收益不需要零售用户,需要零售用户的东西通常无法规模化。
这一章的立场不是「这类产品都是假的」,而是:判断它的方法和判断任何一个 Crypto 项目一样——问收入从哪来、谁承担风险、如果它的策略失效谁受损。 而「它用了 AI」不回答上述任何一个问题。
自动化系统的事故有一个高度一致的结构:不是判断错了,是输入错了。
一个价格源短暂异常、一个接口返回了缓存的旧数据、一个精度单位被读错了一位——系统忠实地按照这个输入执行,而且执行得又快又准。在人工操作的世界里,这类错误往往在第一笔就被人察觉(「这个价格不对劲」),在自动化的世界里,它会被执行到额度用尽为止。
这件事在 Crypto 里格外危险,因为第 24 章讲过的那条性质:链上操作不可撤销。 传统金融里的错单还有撤销和赔付机制,链上没有。
从这个案例能抽出一条非常具体的设计要求:任何自动系统都必须有输入合理性检查,而且这个检查要独立于产生输入的那条链路。 一个来源说价格是 X,不构成证据;三个独立来源都说是 X,才构成证据。这条检查不需要任何智能,它只需要存在。
一个团队给他们的自动化流程加了人工审批,作为最后一道防线。上线第一周,审批数量是每天两百多次。
第二周,负责审批的人开始批量处理。第三周,他形成了一个习惯:扫一眼金额,在阈值以内就点确认。第五周,一笔本该被拦下的操作通过了审批,事后他完全不记得看过它。
复盘的结论不是「这个人不负责」,而是这个系统的设计保证了这个结果。人的注意力是有限资源,两百次审批意味着每次平均不到一分钟,而做出一个真实判断需要的时间远不止一分钟。
正确的做法是把审批当成稀缺资源来设计:先用死规则把绝大多数请求自动放行或自动拒绝,只把真正需要判断的送上来。 一天三到五次审批的系统,每一次都会被认真对待;一天两百次的系统,每一次都不会。
审批的数量和审批的有效性成反比,这条关系在设计任何回路时都成立。
第一节那个故事不是虚构的结构,它是一类经历的共同形状:权限的扩大从来不是一次决定,是十几次小改动。
每一次改动都有三个特征:有充分的理由(这次它被卡住了,错过了时机)、只比上一次多一点点(从一个动作扩到两个动作)、前面的反馈都是正面的(前十次都对)。
这三个特征放在一起,构成了一个几乎无法靠意志力抵抗的过程。对抗它的唯一方式不是更谨慎,是提前写下规则:什么情况我会扩大权限,什么情况我会收回。 写在事前,因为事中你一定会找到理由。
有一个很小但很有效的做法:给每一次权限变更写一行日期和理由,存在同一个地方。 三个月后回头读这份清单,你会立刻看出自己滑了多远。这个清单唯一的作用就是让滑坡变得可见——而可见本身就能阻止大部分滑坡。
改一个变量
直觉上这应该能让你放心地扩大权限。实际上它改变的比你以为的少。
三个原因。第一,那 1% 不是随机分布的。 模型出错的时刻往往和市场异常、数据异常高度重合——也就是说,它最可能错的时候,恰好是错误代价最大的时候。第二,准确率描述的是判断,事故来自输入。 一个 99% 准确的模型读到错误的价格,会 99% 准确地做出错误的响应。第三,权限扩大会同时放大频率。 准确率提高带来的信心会让你允许它做更多事,而错误的绝对次数可能不降反升。
真正能让你安全扩大权限的不是准确率,是两件确定性的事:错误能不能被一条不含模型的规则拦住,以及错误发生后的最大损失有没有硬上限。这两件事和模型多强完全无关。
AI 在 Crypto OS 中的位置里那句话说的就是这个:约束不是为了弥补模型能力不足,而是因为资金操作的错误不可逆。
每一条线都要往回收,而且多出一整类要求。
第一,所有判断必须可解释、可追溯。 「模型建议这样做」不是一个可以向出资人交代的理由。你需要能说清楚:这个提案基于什么、通过了哪些检查、谁批准的、结果如何。这意味着日志不再是可选项。
第二,模型的错误由谁承担这件事必须提前写清楚。 这在自己的钱上是一个技术问题,在别人的钱上是一个法律问题。
第三,也是最容易被忽略的:出资人是否知道并同意这个流程里有 AI 参与。 这不是一个技术问题,是一个知情的问题。
这一章不处理合规细节,因为各地规则不同且在变化。但有一条通用的判断:如果一个流程你无法向出资人完整解释,那它就不该用在出资人的钱上——无论它表现多好。
看起来是纯粹的改进。它同时缩短了你发现错误的窗口。
在几分钟的延迟下,一个错误的提案有可能在执行前被你看见。在几秒的延迟下,从提案到执行之间没有任何人类能介入的空间,那一段就完全交给了确定性规则。
这不意味着不该追求低延迟,而是意味着:延迟越低,前面那几层死规则就越重要,因为它们变成了唯一的防线。 具体要补的是三样:更严的频率上限(因为快意味着单位时间内次数更多)、更严的输入检查(因为没时间靠人察觉异常)、更快的停机(停机开关的响应必须比系统本身快)。
一个有用的原则:任何时候,系统的停机速度必须快于它的犯错速度。 这一条在设计低延迟系统时经常被忘掉。
这是完全正当的选择,而且在很多情况下是对的。这一章不是在劝你自动化。
但要看清它的三个代价,因为它们也是真实的。第一,你会累,而累会导致错误——手工操作在疲劳时的错误率,可能高于一个设计良好的自动检查。第二,你的规则仍然只在脑子里,这意味着它们会随情绪漂移,而且无法被检查。第三,你会错过一些有真实时间价值的时刻,这一点在某些场景下代价可观。
有一个折中的做法值得考虑,它几乎没有风险:把全部三段都保持手工,但让模型做纯粹的监控和提醒。 它不做任何决定,不执行任何操作,只在某个你定义的条件满足时告诉你一声。
这个配置的错误代价是「收到一条无用的提醒」,几乎为零。而它解决了手工操作最大的问题——你不需要一直盯着。
带走的问题
这一问是这一章的全部。而且它的答案必须写成一份具体的清单,不能是一句「有限的权限」。
清单至少要回答六件事:能读什么、能提什么、单笔和累计的上限是多少、频率上限是多少、哪些目标在白名单上、哪些情况必须找人。
有一个检验它够不够具体的方法:把这份清单交给一个不认识你的人,他能不能照着实现出来,并且实现出来的东西和你想的一样。 做不到,说明它还是一句愿望。第 34 章会把这份清单做成一张真正可执行的表。
在这一章有一个很不舒服的答案:你。 模型不承担,提供模型的公司在服务条款里通常也不承担。
这个答案的实际用处是它决定了你该在哪里花力气。既然损失由你承担,那么唯一值得投入的就是「在损失发生之前拦住它」的那几层——而那几层全都不含模型:金额上限、频率上限、输入检查、模拟、停机。
还有一个推论值得想清楚:如果一个流程出错时你说不清是谁的责任,那说明这个流程的边界没有定义清楚。 责任说不清,通常等价于权限说不清。
这一章的答案是两件事,而且它们的理由完全不同。
组合层面的目标和约束必须是人的,因为它依赖的输入不在任何数据里——你的时间尺度、你能承受的波动、你三个月后的现金需求。这不是模型能力问题,是信息不在那里。
任何跨越不可逆边界的动作必须有人,因为这类错误没有第二次机会。但这里有一个陷阱:加了人不等于有了人。 审批数量必须少到你真的会看,信息必须清楚到你真的能判断,而且绝不能有「超时默认通过」——那等于保证了在最需要人的时刻人不在。
这一问在这一章有一个具体的答案:在一个自动化系统里,风险由「最后一道确定性的墙」的设计者承担。
模型不承担风险,因为它不知道后果;执行层不承担风险,因为它只是照做。真正决定了损失上限的,是那几条死规则:单笔上限、累计上限、频率上限、输入检查。这几个数字就是你实际承担的风险,不管你嘴上怎么说。
一个很直接的自检:把你的累计上限和你能承受的最大损失放在一起比一比。 如果前者更大,那么你目前承担的风险超过了你以为的。
本章自测
因为这三件事的错误代价相差几个数量级:分析错了浪费时间,决策错了还能改,执行错了不可逆而且可能永远查不出原因。
合在一起最直接的后果是没有任何位置可以插入检查。模型想到什么就决定什么,决定什么就执行什么,中间没有缝隙放规则。这就是那条被明确禁止的架构,它的问题是结构性的,不是程度上的。
思想实验里那个数据源故障最能说明这一点:如果三段分开,中间可以放两道死规则(输入偏离检查、频率上限),任何一道存在,那十一次操作都不会发生。而它们之所以不存在,是因为没有可以放墙的地方。
因为如果第一个模型因为输入异常产生了错误判断,第二个模型面对同样的异常输入,会产生同样的错误判断。两个组件的错误是相关的,串起来不会变成可靠的。
死规则之所以有效,恰恰因为它不理解市场。「三个价格来源的偏离超过某个比例就全部暂停」这条规则不需要任何智能,它只会比较数字——而正是这一点让它在模型出错的场合仍然有效。
一条可以背下来的原则:不要用一个不可靠的东西去校验另一个不可靠的东西。
一、模型不能持有私钥,也不能拿到任何等价于私钥的东西,包括写在提示词里、写在它能读到的文件里、通过某个接口间接获得。越过这条线,前面所有的层都失去意义,因为它可以绕过。
二、模型不能修改约束自己的规则。 上限、白名单、阈值必须在它够不到的地方。一个能改自己限额的系统,它的限额不存在。这条最容易被忽略,因为「让它自己调参数」听起来像效率优化。
三、提案和批准不能是同一个环节。 无论批准由人做还是由规则做,它必须发生在提案之外。
只有一个标准:这个人有没有真的看,以及他看了之后有没有可能改变结果。
三种常见的假回路:审批太多(一天两百次,人会开始无脑点确认)、信息不足(弹出来的东西人根本看不懂在批什么)、超时默认通过(没人处理就放行,等于保证了凌晨时人不在)。
检验方法很具体:统计最近 20 次审批里,有几次结果被改变了。 如果是零,这个回路只是让你觉得安全。
对策是把审批当成稀缺资源:先用死规则自动放行或自动拒绝绝大多数请求,只把真正需要判断的送上来。审批的数量和审批的有效性成反比。
没有标准答案,检查这几件事:
- 你的流程里,有没有哪一步同时是分析和执行?有的话,那一步是最危险的地方。
- 你写得出自己的判断规则吗?写不出来的规则,没有办法交给任何人或任何软件——这个发现本身比这个练习的其他部分都重要。
- 你的三条死规则里,有没有输入检查那一条?大多数人只写了金额,而事故最常来自输入。
- 「最坏情况」那六行,你有几行答不上来?答不上来的那一步,现在不该自动化。
- 你的累计上限,和你真正能承受的最大损失,哪个更大?
- 最后一行:什么情况会让你把这条线往上移? 写下来了吗?没写下来的话,你会在每一次不便的时候把它往上移一点,而且每一次都有充分理由。
一个经验值:大多数人第一次做这个练习,会发现自己实际的线比自以为的位置高一到两格。 这不是因为不谨慎,是因为线从来不是一次画出来的,它是一次次挪过去的。
一句话带走
分析、决策、执行必须分开;AI 越靠近资金,权限越要收紧。