对一次账,从头到尾
二十分钟,用一个本地模型。 做完之后你会有一个部门,它每天早上拿两个文件互相核对, 并且在发现超过你设定的门槛的东西时停下来问你。
这里用的全是随产品一起装好的样例数据,什么都不用准备。
1. 建部门
项目 → 或从一个现成的开始 → 财务。
它会建好 ~/.opencli/workspace/finance,往里写三个文件,并招两个 Bot。
那些文件里的问题是特意埋的:
| 文件 | 里面是什么 |
|---|---|
ledger.csv | 你的账上怎么记的 |
statement.csv | 银行怎么说的 |
overdue.csv | 过了日期的发票 |
2. 先手动问一次
打开这个部门,输入:
拿 ledger.csv 和 statement.csv 对账。列出所有对不上的行,
带凭证号和金额,并说说你认为发生了什么。
看它怎么做。 一个适合干这个的模型会用工具读两个文件,并用行和凭证号回答。 不适合的那个要么让你把内容粘过去、要么泛泛而谈 —— 如果是那样,问题在模型,不在配置。 测一下它。
3. 变成一个值守
Bot 做了一次。值守让它自己到点。
打开 对账 Bot,设它的值守:
| 字段 | 填什么 |
|---|---|
| 做什么 | 逐行比对 ledger.csv 和 statement.csv。列出对不上的,带凭证号和金额。 |
| 规则 | 金额差小于 1.00 算舍入,忽略。 |
| 什么时候问你 | 任何单笔超过 10000。 |
| 多久一次 | 24 小时 |
「规则」和「做什么」分开是有原因的:活儿每天都一样,而那个门槛是某个人会回头修订的 政策。合成一段之后,改那个数字就得重读整段指令才能找到它。
4. 看它停下来
立即执行。 样例数据里有一条超过门槛的差异,所以这个值守不会跑完 —— 它会带着那个 答不了的问题出现在员工 → 等你答覆里。
那就是这个功能的全部意义。 它干了活、走到你划的那条线、然后停住,而不是自己拍板。
回答它。你的回答会带进下一次运行,所以它不会为同一件事问第二遍。
5. 把结果传下去
财务部还带了第二个 Bot,催收。在对账 Bot 的可以交给列表里勾上它。
现在一次找到未匹配行的运行可以把它们传下去 —— 连同它做了什么、产出了哪些文件 —— 催收 Bot 就能起草催款邮件,不用别人再告诉它背景。
员工 → Bot 之间传递的工作里能看到这条链,并且会标出那些因为跳数用完而停、 不是因为干完了的。
你现在有了什么
- 一个 agent 可以写、且只能写的目录
- 不用你发起就会发生的活儿
- 一条写下来的、它会停下来问你的线
- 一个接着第一个往下干的 Bot
首先该改什么
那个门槛。 10000 是例子里的数字。你的不是。
那些规则。 「差额小于 1.00 算舍入」对某些账本成立,对另一些不成立。
那个周期。 24 小时是个习惯,不是法律。一个在银行入账之后跑的值守,比一个在午夜跑 的有用。