head_img.jpeg

记账往事

几年前从 byvoid 蒟蒟那里学到了使用 beancount 记账的方法,这是一种用文本格式进行复式记账的工具,很适合程序员,记账过程中对自身花费有了清晰认知,不记不知道,花费远超想象XD 起初徒手记账颇为麻烦,而后安装了图形化界面工具 Fava,与IDE类似的输入提示功能让记账便捷许多。但日常消费繁多,每月手工记账仍显繁琐,再后来编写过程序辅助整理导出的支付宝和微信账单,但还是有点麻烦,没有坚持下来。

重启记账

来到香港后,生活开支增大,入不敷出。再加上香港大量使用现金,不在第一时间记录,以后很难追溯,于是决定重启记账,以明晰花费去向。

9 月开始记账,刚开始雄心勃勃,每天记录;10 月便力不从心,周末记账常超过一小时;11 月更是集中到月底统一记账,过程缓慢、无聊且痛苦,效率低下,难道又要打退堂鼓了?

大模型助力

近日突发灵感,能不能使用AI大模型帮助我记账?将常用账本内容告知大模型,并给出范例,要求按格式输出,输出的代码最好可以无需修改直接复制到 Fava。

随后用了国产豆包大型调试,经过不断修改提示词,效果甚佳,基本可以在语言输如后直接给出我期望的输出,提示词如下:

你是一个 beancount 脚本专家,请根据我的场景,给出账单,只要给出账单,不需要额外解释,以下是预定义的账本

; Liabilities:
2023-01-01 open Liabilities:CreditCard:Master:1234  HKD 
1970-01-01 open Liabilities:CreditCard:BOC:5678

; Assets:
1970-01-01 open Assets:Cash                           ; 现金
2023-01-01 open Assets:Card:BDT                       ; 八达通

; Expenses
1970-01-01 open Expenses:Food:Fruit
1970-01-01 open Expenses:Food:Cooking:Meat
1970-01-01 open Expenses:Food:Cooking:Vegetable
1970-01-01 open Expenses:Home:ElectricityBill
2020-01-01 open Expenses:Child:Toy                  ; 玩具
2024-01-01 open Expenses:Child:Education            ; 培训班

常用商户有: 街市, 711, 钱大妈, 佳宝超市,惠康超市

参考输出格式:
```beancount
2024-11-10 * "惠康超市" "蔬菜+凤梨"
  Expenses:Food:Cooking:Vegetable                     +19.9 HKD
  Expenses:Food:Fruit                                 +27.9 HKD
  Liabilities:CreditCard:Master:9766                  -47.8 HKD
```

大概是 角色 + 任务 + 预定义账本 + 参考输出格式,这样的提示词。 尤其是参考输出格式的设置,使得大模型回复的内容能以可直接复制的代码块形式呈现,方便后续在网页上一键复制粘贴到 fava 里。

大模型记账实操

以下是我的使用案例分享。我先将提示词复制粘贴给豆包,然后开始通过语音转述各类小票记录。即便是在山姆购买数百元商品、账单明细众多的复杂情况,也能一口气准确转述,大模型均可妥善处理。

参考输入(语言转文字的结果):

2024 年 11 月 24 号,在深圳山姆会员超市购物。发酵乳 59.9 元鹿茸菇 12.9 元,矿泉水 42.8 元,油菜籽 19.9 元、甘蔗块 39.9 元、西兰花 17.8 元、板栗仁 68 元,竹笋 69.8 元、西梅 56.9 元、生菜 12.9 元、青苗 11.9 元、鲜酪乳风味发酵乳 46.9 元、瑞士卷 59.9 元、奶酪包 39.8 元乐事鸡胸肉脆 69.9 元、菠菜苗 13.9 元、虾皮 27.8 元、黑猪腊肠 75.9 元、芦芦笋 32.9 元,蜜薯 23.8 元,三重芝士贝果 23.8 元,白蘑菇 16.9 元。合计 868.57 元,使用中国银行卡付款。

参考输出:

2024-11-24 * "深圳山姆会员超市" "多种商品"
  Expenses:Food:Snack                                +59.9 CNY
  Expenses:Food:Cooking:Vegetable                    +12.9 CNY
  ...
  Liabilities:CreditCard:BOC:1234                  -868.57 CNY

语音记账优势

复制粘贴一次提示词后,在同一上下文语境中,能够持续用语音输入很久,效率颇高。

另外,一次语言转述多个小票记录,多个日期的账单,大模型也能准确处理,极大提升了记账效率!

此外,语音输入意味着我不再需要到家后坐在电脑前记账,每次购物完可以立刻用手机大模型APP口述账单,到家后集中复制+粘贴+校对即可。

这种全语音操作结合微调的方式,极大提升了记账效率,同时优化了使用体验,消除了传统记账方式带来的疲劳与反复操作的困扰!

就拿 11 月账单处理来说,借助大模型,不到一小时就全部完成。而以往采用传统方式处理,往往需要三个小时甚至更久。

香港现金小票场景

此记账方式对日常买菜小票场景极为适用,特别契合香港生活中多使用现金且有小票的情况。

除买菜外,其他场景如周末娱乐等也可如法炮制。如果消费类型多的话,可以针对不同场景设置几套提示词,替换相应场景内容,控制好上下文长度。也可以使用上下更长的模型,这点长度应该不是问题。

内地电子支付场景

若在内地,多为支付宝和微信支付,每周或每月固定时间导出CSV格式的账本,让大模型先转换,再人工校对,应该也行。通过精心优化提示词,实现自动化甚至构建成流水线自动作业也是可行的,后续我有更多经验再分享吧。