定义
它的形状总是一样的:一个用话写出来的目标、一组工具(一次搜索、一个文件、一条 shell 命令、一个 API)、一个循环,以及一条停下来的规则。它在种类上没有任何新东西,因为一个程序一直都能调用一个 API。新的是,调用哪一个由一个读文本的模型来选,所以这套系统能应付没人为它写过规则的工作,也能在规则不会错的地方出错。两个问题就能把任何这样的系统说清楚:它手上有哪些工具,以及它不问就能做什么。
一旦钱在它伸手可及的地方,有四种失效比其余都要紧。它可能读错一个数字,而小数点错一位,仓位就大了十倍。它可能被自己读到的数据指使,因为从外面取来的文本可能带着指令,而模型会把那些当成自己的。它可能打转,而重复一步就是重复一笔手续费,或者一笔没人想要的订单。还有它的密钥可能被偷,因为一台无人看守地运行着的机器上的密钥,就是一个攻击者能伸手拿到的密钥。
界限有三类,而它们不能互相替代。交易场所自己就拒绝接受的那种最强:不管程序怎么决定,这个动作根本不会发生。其次是由本人在机器碰不到的设备上签过的额度,它的强度只等于核对它的那段代码。最弱的是一个配置文件里的数字,因为谁能碰到那台机器,就能碰到那个文件。日志根本不是一条界,但是没有日志,任何一条界都没法在事后被核查。
我们自己的智能体就按这个顺序用这三类。账户密钥留在你的钱包里,首选一台离线手机上的 Locker Vault,或者你选定的浏览器扩展或手机钱包,它什么都能做。代理密钥待在电脑上,用一个密码封着,而且只能下单、撤单和设一个市场的杠杆和保证金模式。由你的钱包签署的授权书装着那些额度(交易市场、单笔最大订单、最高杠杆、每日订单数和名义金额、服务费及其唯一收款方),有效期和代理密钥一起结束,最长 180 天,而守护进程在每一次开仓之前,都取授权书和本地策略里更窄的那一个来用。
例子
一个受约束的循环的例子:我们的每日决策。每天一次审议,除非章程另有规定,就在 00:30 UTC,它给出一个方向、一个市场和一个初次入场,附带一个论点和一个信心度,别的都没有:没有规模、没有止损、没有目标。随后由代码按章程算出仓位规模,在这里就是 1、1、2、3、5 份的一道阶梯,杠杆 3 倍,每两步之间隔 0.5 个日 ATR,基础投入是权益的 2.78 %。如果手续费、这个仓位预计要等的那几天的资金费和滑点吃掉了它瞄着的那 10 % 基础投入,这笔交易就在模型已经说完话之后被拒绝。