使用 LLM 实现自动化并增强 Beancount 的簿记功能
Beancount 是一个纯文本复式记账系统,由于 ChatGPT 等大型语言模型 (LLM) 的出现,最近变得更容易访问。技术用户(包括企业主、创业公司创始人、工程师和会计师)可以利用 LLM 自动执行繁琐的簿记任务,同时保持 Beancount 基于文本的账本的灵活性和透明度。本报告探讨了 LLM 可以简化 Beancount 工作流程的实际方法,包括交易分类、异常检测、日记账分录的智能建议、从自然语言生成分录以及对账单。提供了示例提示和输出,以说明这些功能,以及实施技巧、现有工具以及对机遇和局限性的讨论。
使用 LLM 自动进行交易分类
簿记中最耗时的方面之一是根据付款人、备注或金额等描述符对交易进行分类(将它们分配到正确的帐户)。LLM 可以利用其语言理解和广泛的知识来为每笔交易建议适当的费用或收入帐户,从而显着加快此过程。
例如,如果您的 Beancount 账本中有一个未分类的条目:
2023-02-28 * "Amazon.com" "Laptop Stand, ... Portable Notebook Stand..."
Assets:Zero-Sum-Accounts:Amazon-Purchases -14.29 USD
(missing expense account)
向 LLM 发出的提示可能会要求提供合适的费用帐户来平衡交易。在一个真实的案例中,LLM 将亚马逊购买的笔记本电脑支架归类为 Expenses:Office-Supplies:Laptop-Stand。同样,它将雨刮片购买分配给 Expenses:Car:Maintenance,将厨房用具分配给 Expenses:Kitchen:Appliances,从而智能地从商品描述中推断出类别。这些例子表明,LLM 如何使用上下文(付款人和描述)来选择合适的 Beancount 帐户。
现代工具(如 Beanborg)集成了此功能:Beanborg 是一个开源 Beancount 导入器,可以自动将交易数据与正确的费用帐户匹配。它主要使用基于规则的引擎,但也支持机器学习,甚至 ChatGPT 用于分类建议。借助 Beanborg,您可以导入银行 CSV 并自动分类大多数条目(例如,包含“Fresh Food Inc.”的付款人可能会通过规则或 LLM 辅助归类为 Expenses:Groceries)。
如何使用 LLM 进行分类: 您可以将一批交易描述提供给像 GPT-4 这样的模型,并要求它分配可能的帐户。一种建议的工作流程是:使用 GPT 对一小批费用进行分类,手动纠正任何错误,然后使用 Beancount 的内置导入器插件(如 smart_importer)从这些示例中学习以供将来的交易使用。这种混合方法利用 LLM 的广泛知识来处理新的或不常见的交易(例如,推断 PILOT Parallel Calligraphy Pens 应归入美术用品费用帐户),然后持续应用这些分类。
示例提示和响应: 下表显示了用户如何与 LLM 交互以对交易进行分类:
| 用户提示(交易详情) | LLM 建议的帐户/条目 |
|---|---|
分类: "Starbucks - Latte $5.00 on 2025-04-01" | 建议: 费用 – 可能是 Expenses:Food:Coffee(购买咖啡) |
分类: "Amazon.com - Bosch Rear Wiper Blade $11.60" | 建议: Expenses:Car:Maintenance(更换汽车零件) |
分类: "Salary payment from ACME Corp $5000" | 建议: Income:Salary(工资收入) |
完整条目: 2025-07-10 * "Office Depot" "printer ink" Assets:Checking -45.00 USD | 添加: Expenses:Office:Supplies 45.00 USD(平衡条目) |
在这些示例中,LLM 利用一般知识(星巴克是咖啡,亚马逊汽车零件与汽车维护相关,ACME 工资是收入)来提出正确的 Beancount 帐户。它甚至可以通过添加缺失的平衡过帐来完成日记帐分录(在 Office Depot 案例中,建议使用办公用品费用帐户来抵消付款)。随着时间的推移,这种 AI 驱动的分类可以节省时间并减少对交易进行分类的手动工作。
异常检测和重复识别
除了分类之外,LLM 还可以通过分析纯英文的交易描述和模式来帮助标记账本中的异常情况(例如重复条目或异常费用)。传统的软件可能会通过哈希或严格的规则来捕获完全重复的项(例如,Beanborg 使用 CSV 数据的哈希来防止两次导入同一交易)。但是,LLM 可以提供更具上下文意识的审查。
例如,您可以向 LLM 提供最近交易的列表并询问: “这些交易中是否有任何看起来像重复项或不寻常的异常值?” 因为 LLM 擅长上下文分析,所以它们可能会注意到两个条目具有相同的日期和金额,或非常相似的描述,并将它们标记为潜在的重复项。它们还可以识别正常支出的模式并发现偏差。正如一位消息人士指出的那样, “在金融交易流的上下文中,LLM 可以通过了解典型支出并识别不符合要求的支出来检测异常支出习惯”。
异常金额示例: 如果您通常花费 30-50 美元购买燃料,但突然一笔燃料交易是 300 美元,则 LLM 可以将其突出显示为异常(“这笔燃料费用比您的通常模式大十倍”)。LLM 通过检测即使基于规则的系统可能忽略的细微偏差来识别异常。它们考虑了_上下文_ – 例如,时间、类别、频率 – 而不仅仅是硬阈值。
重复示例: 如果给定两条几乎相同的账本行(同一付款人和金额在接近的日期),LLM 可能会响应: “2025-08-01 和 2025-08-02 对 ACME Corp 的 100 美元交易似乎是重复项。” 如果数据是从多个来源输入的,或者银行重复发布了一笔交易,这尤其有用。
虽然 LLM 驱动的异常检测仍是一个新兴领域,但它通过用自然语言解释_为什么_某些内容被标记来补充传统方法。这可以帮助人工审查员快速理解和解决问题(例如,确认重复项并删除一个条目,或调查异常费用)。
用于完成日记帐的智能建议
当您在 Beancount 中撰写或更正日记帐分录时,LLM 可以充当智能助手。它们不仅对交易进行分类,还建议如何完成部分条目或纠正不平衡。这就像为您的账本提供智能自动完成功能一样。
帐户和金额建议: 假设您输入了一笔新的交易,其中包含付款人和金额,但尚未决定它属于哪个帐户。LLM 可以根据描述建议帐户(如分类中所述)。它还可以通过提供补充过帐来确保条目平衡。例如,用户可以编写:
2025-09-10 * "Cloud Hosting Inc" "Monthly VM hosting fee"
Assets:Bank:Checking -120.00 USD
[Missing second posting]
通过询问 LLM, “这笔交易的另一面是什么?”,它可能会建议:Expenses:Business:Hosting 120.00 USD 来平衡条目,认识到云托管费是一项业务费用。
在 Beancount Google Group 中,一位用户通过将一批单面亚 马逊购买条目提供给 ChatGPT 并提示它**“添加分类费用过帐以平衡每笔交易”**来证明了这一点。GPT 用一个合理的费用帐户填写了每个缺失的过帐(尽管有时过于精细,例如仅为“笔记本电脑支架”创建一个帐户)。这表明了 LLM 如何在给定不完整数据时起草完整的日记帐分录。
叙述改进: LLM 甚至可以帮助改进条目中的叙述或描述。如果描述过于隐晦(例如,银行对帐单中的内部代码),您可以要求 LLM 更清晰地为账本重写它。由于 LLM 可以很好地处理自然语言,因此它们可能会将“PUR CHK 1234 XYZ CORP”转换为“Check #1234 to XYZ Corp”以提高清晰度。
指导和学习: 随着时间的推移,LLM 可以集成到您的编辑工作流程中(可能通过编辑器插件或 Fava 扩展),以便在您键入交易时建议可能的完成。这类似于代码编辑器如何使用 AI 来建议代码完成。在纯文本会计中,LLM 可以从您现有的帐户名称和过去的条目中提取信息,以推荐如何完成下一个条目。例如,如果您在付款人中出现“Staples”时经常记录 Office Supplies,则该模型可以学习此模式。一些用户报告说,ChatGPT 的建议可以在几个示例之后进行改进,然后使用像 smart_importer 这样的插件将其推广到将来的交易。
总而言之,LLM 为您的条目提供了“第二双眼睛”,提供了符合 Beancount 复式记账规则的完成和更正。
从非结构化输入生成 Beancount 条目
LLM 最强大的用途之一可能是将非结构化财务信息(原始文本、收据或自然语言描述)转换为结构化的 Beancount 条目。这允许用户说出或粘贴自由格式数据并获得有效的账本条目作为回报。
从自然语言到条目: 您可以使用像这样的句子提示 LLM,
“我于 2025 年 7 月 10 日从 Office Depot 购买了 45 美元的办公用品(打印机墨水),用我的支票帐户支付。”
一个有能力的 LLM 将解释这一点并产生如下内容:
2025-07-10 * "Office Depot" "printer ink"
Assets:Bank:Checking -45.00 USD
Expenses:Office:Supplies 45.00 USD
它已识别出日期、付款人、叙述、金额,并猜测了适当的帐户(贷记银行资产,借记办公用品费用)。这实际上将纯英文费用报告转换为格式正确的 Beancount 日记帐分录。最近的研究甚至使用 Beancount 作为目标格式来评估 LLM 对复式记账的理解,结果好坏参半(LLM 通常需要仔细提示才能获得完全正确的语法)。但是,通过精心设计的提示或少量示例,像 GPT-4 这样的模型通常可以为简单场景生成正确的条目。
OCR 到账本: 具有视觉或 OCR 功能的 LLM(如具有图像输入的 GPT-4 或专用工具)可以更进一步:获取收据的图像或银行对帐单的 PDF 并从中提取交易。例如,您可以向 ChatGPT 展示一张收据的照片并要求提供 Beancount 条目 – 该模型将解析日期、总计、供应商,可能还有税款,然后输出包含这些详细信息的条目。一份指南指出,ChatGPT 可以将发票或收据中的数据转换为 “适用于会计的整洁、格式化的表格”,然后您可以将其映射到 Beancount 帐户。同样,可以将 CSV 或 Excel 导出提供给 LLM,并指示其输出 Beancount 交易 – 实际上,用户已提示 GPT “编写 Python 脚本以解析 CSV 并输出 Beancount 条目” 作为自动导入的一种方式。
多交易处理: LLM 也可以处理批量输入。您可以粘贴原始交易列表(日期、描述、金额)并要求该模型生成相应的 Beancount 账本行。来自社区的一个示例提示使用了一个详细的指令,指示 GPT-4 “将 CSV 内容转换为 Beancount 格式”,同时遵循会计原则。输出是一个完整的 .beancount 文件,涵盖所有交易。这种方法本质上允许非程序员实现自定义导入脚本所做的事情 – 通过用自然语言指示 AI。
请记住,虽然 LLM 在解析和生成文本方面令人印象深刻,但验证至关重要。始终审查从非结构化输入生成的条目。检查日期、金额以及借方/贷方是否平衡(Beancount 的编译器将捕获不平衡错误)。正如一项研究强调的那样,如果没有仔细的指导,LLM 可能只会产生一小部分时间完全正确的复式记账交易。在提示中提供模板示例并明确提醒模型 Beancount 语法将大大提高准确性。
使用 LLM 协助对帐单
银行对帐 – 将您的账本与外部对帐单(银行或信用卡)匹配的过程 – 可能很繁琐。LLM 可以充当智能比较引擎,帮助识别您的 Beancount 记录与对帐单之间的差异。
识别缺失或不匹配的条目: 一个简单的用例是向 LLM 提供两个列表:一个是您账本中某个期间的交易列表,另一个是银行对帐单中的交易列表,然后要求它找到哪些条目不匹配。因为该模型可以逐行读取和比较,所以它会突出显示在一个列表中存在但在另一个列表中不存在的项目。例如,您可以提示: “这是我 3 月份的账本和我银行的 3 月份对帐单。哪些交易在对帐单上但在我的账本中没有,反之亦然?”。有关在簿记中使用 ChatGPT 的指南指出: “粘贴交易列表,ChatGPT 会突出显示缺失或不匹配的条目。” 这意味着 AI 可能会输出如下内容: “03-15 的 120.00 美元付款出现在银行对帐单上,但不在账本中(可能缺少条目)。”
解释差异: LLM 还可以用简单的语言描述差异。如果交易的账本和对帐单之间的金额或日期不同(可能是由于输入错误或时间差异),LLM 可以标记: “交易 X 在账本中为 105 美元,在银行对帐单中为 150 美元 – 这些可能指的是具有金额差异的同一项目。” 这种自然的解释可以直接引导您找到要修复的问题,而不是手动扫描数字行。
自动化对帐工作流程: 在实践中,您可以使用 ChatGPT 的高级数据分析(以前称为代码解释器)功能:上传您的对帐单 CSV,可能还有您的账本导出,并让它以编程方式交叉检查它们。还有一些新兴的插件和工具专注于对帐。例如,有些人已经演示了 ChatGPT 准备对帐报告,甚至建议调整日记帐分录以平衡账簿。虽然这些都是早期阶段的实验,但它们指向了未来的发展方向,即对帐中的大部分繁琐工作(比较、突出显示差异)都将卸载到 AI,而人工簿记员只需审查和批准调整。
在使用 LLM 进行对帐时,尤其是在处理敏感财务数据时,务必保持控制和安全性。如果使用基于云的模型,请确保不共享任何帐号或个人标识符,或使用匿名数据。另一种选择是运行本地 LLM(如下所述),以便数据永远不会离开您的环境。
实施方法:API、工作流程和工具
如何将 LLM 实际集成到基于 Beancount 的工作流程中?有几种方法,从与 ChatGPT 的简单复制粘贴交互到构建自定义自动化管道:
-
手动提示(ChatGPT UI): 最容易访问的方法是交互式地使用 ChatGPT(或另一个 LLM 界面)。例如,复制一批 未分类的交易并提示模型进行分类。或者粘贴银行对帐单的一部分并要求进行 Beancount 转换。这不需要任何编码 – 正如许多简单地向 ChatGPT 描述他们的问题并获得可用结果的用户所证明的那样。缺点是它有点临时,您必须确保每次都很好地指导模型。
-
API 和脚本: 为了获得更可重复的工作流程,您可以使用 API(例如 OpenAI 的 GPT-4 API)来处理交易。这可以在 Python 脚本中完成,该脚本读取新交易并调用 API 以获取类别建议或完整条目。您可以将其与您的导入管道集成。例如,Beanborg 的配置允许通过设置
use_llm: true并提供 API 密钥来启用 ChatGPT 建议。然后,每个导入的交易都会从 GPT 获得一个额外的类别预测以及基于规则或 ML 的预测,您可以对其进行审查。 -
插件和扩展: 随着 LLM 越来越受欢迎,我们可以期待 Beancount 或其 Web 界面 Fava 出现插件。这些可以向交易添加“询问 AI”按钮。虽然在撰写本文时没有官方的 Beancount AI 插件,但社区的兴趣正在增长。事实上,Beancount 的创建者指出,为 Beancount 创建一个 LLM 提示库的想法听起来很有趣,并且社区成员正在尝试使用“LLM 会计机器人”和提示工程来完成会计任务。请密切关注 Beancount 论坛和 GitHub 问题以获取此类集成。
-
开源库: 除了 Beanborg 之外,其他相关工具还包括
smart_importer(一个 Beancount 插件,您可以在其中编写 Python 函数,甚至可以使用简单的机器学习来在导入时对交易进行分类)。虽然不是 LLM,但它与 LLM 的使用配合良好:您可以使用 LLM 快速生成训练数据或规则,然后让 smart_importer 应用它们。人们对使用 Llamafile(一个用于数据任务的开源本地 LLM)解析和转换财务数据以及在纯文本会计领域使用 Actual 或 Paisa 等项目也感兴趣(尽管这些项目更侧重于提供用户界面,而不是 AI)。形势正在迅速发展,并且很可能会出现更多专门针对使用 LLM 进行会计自动化的研究项目和开源代码。例如,一篇 2024 年的论文介绍了一种使用特定领域语言提示(Beancount 语法规则)来评估和改进 LLM 会计输出的方法 – 这种研究可能会导致库的出现,从而帮助 LLM 更严格地遵守会计规则。 -
混合 AI 工作流程: 您可以将 LLM 与其他 AI/自动化相结合。例如,使用 OCR 从收据中获取文本,然后将其提供给 LLM 以生成条目。或者使用异常检测 ML 模型来标记异常值,然后让 LLM 解释这些异常值。这些部分可以通过脚本或自动化平台连接起来(例如使用 Zapier 或自定义代码将新交易发送到 AI 服务并存储响应)。
实施时,如果使用付费 API,请注意成本和速率限制,尤其是对于大型账本(尽管分类单个交易只花费很少的令牌)。此外,还应纳入错误处理 – 例如,如果 AI 返回无效的帐户名称或格式错误的条目,则应采取回退或手动审查步骤。
现有工具、库和研究
-
Beanborg – 如前所述,它是一个用于 Beancount 的自动交易导入器,集成了规则、ML 和 ChatGPT 以进行分类。它是开源的,可以作为构建您自己的 AI 辅助导入工作流程的模板。
-
smart_importer – 一个 Beancount 插件,可让您编写 Python 逻辑以在导入期间 自动分类甚至修复交易。一些用户使用 GPT 来帮助制作这些规则或预先分类 smart_importer 然后使用的数据。
-
Beancount 提示工程(社区) – 在论坛(Reddit 的 r/plaintextaccounting、Beancount Google Group)中,社区正在不断探索使用 LLM。例如,一位用户分享了提示技术,通过明确提醒 GPT-4 格式并使用循序渐进的推理来使其正确输出 Beancount 条目。另一个开放的 GitHub gist 提供了一种使用 GPT-4 或 Claude 生成 Python 函数的方法,该函数按关键字对交易进行分类。这些社区实验是学习提示策略的宝贵资源。
-
财务 LLM 研究 – 除了实际脚本之外,研究论文(如 “通过用于纯文本会计的 DSL 评估 LLM 的财务知识”,FinNLP 2025)直接关注 LLM 在复式记账中的能力。他们通常会开源他们的提示或数据集,这些提示或数据集可以重新用于微调或指导模型以提高准确性。还有一些工作是使用 LLM 嵌入进行金融异常检测以及使用专门针对金融的 LLM,这些 LLM 可能会更可靠地处理会计查询。虽然这些不是即插即用工具,但它们指示了未来改进的方向。
-
ChatGPT 插件和相关 SaaS – 一些第三方服务和插件旨在将 ChatGPT 与会计软件(QuickBooks、Xero 等)集成。例如,一些插件声称可以通过 ChatGPT “可视化地标记” QuickBooks 中的差异。对于 Beancount(基于文件且开放),此类插件尚不存在,但像 Fava 这样的人工智能友好界面与幕后的 LLM 的结合可能会出现。开源爱好者可能会创建一个 Fava 扩展,该扩展将查询发送到 LLM(例如,一个 Fava 选项卡,您可以在其中用自然语言询问有关您的账本的问题)。
总而言之,社区脚本、Beanborg 等专用工具以及前沿研究的混合正在推动 LLM 如何协助纯 文本会计的界限。即使并非每个任务都有完美的现成解决方案,技术用户也可以使用构建块和示例来组装自己的 AI 增强的簿记系统。
LLM 在 Beancount 工作流程中的机遇和局限性
LLM 为 Beancount 用户提供了令人兴奋的机遇:
-
显着的效率提升: 它们可以减少对交易进行分类和输入的手动工作。过去需要编写自定义代码或规则的任务通常可以通过简单地_要求_ AI 来完成。这降低了非程序员自动化其簿记的障碍(使用 ChatGPT“现在每个人都可以成为开发人员”)。企业主可以更多地关注审查财务见解,而不是数据输入。
-
自适应学习: 与僵化的规则不同,LLM 可以推广和处理边缘情况。如果您开始在新类别中消费,AI 可能会通过类比已知类别来优雅地处理它。此外,如果集成得当,它可以_从更正中学习_ – 例如,如果您覆盖一个建议,该信息可以用于微调未来的输出(无论是手动还是通过 Beanborg 等工具中的反馈循环)。这类似于随着时间的推移培训助手的方式。
-
自然互动: LLM 理解日常语言,从而可以使用对话界面进行会计处理。想象一下询问,“我这个月在咖啡上的总支出是多少?”并获得答案,甚至为您构建一个 Beancount 查询。虽然我们的重点是自动化,但查询功能是另一个好处 – ChatGPT 可以解析您的提问,并且如果被授予访问账本数据的权限,则可以制定结果。 这可以通过允许用纯英文进行临时问答来增强 Beancount 报告。
但是,有重要的局限性和担忧需要考虑:
-
准确性和可靠性: LLM 听起来 很自信,但如果它们不理解任务或缺乏适当的约束,则可能会产生不正确的输出。在会计中,单个错误分类或不平衡可能会导致报告出错。前面提到的研究发现,如果没有仔细的提示,只有极少数 LLM 生成的交易是完全正确的。即使语法正确,所选类别也可能存在争议。因此,AI 建议应由人工会计师审查,尤其是在关键账簿中。座右铭应该是“信任,但要验证”。始终对 AI 生成的条目使用 Beancount 的验证(例如,使用
bean-check检查平衡/语法错误)。 -
隐私和安全: 财务数据很敏感。许多 LLM 解决方案涉及将数据发送到外部服务器(OpenAI 等)。正如一位用户指出的那样, “ChatGPT 可能是一个很棒的帐户分类器…… 唯一的问题是隐私。” 与第三方 AI 服务共享银行交易可能会违反隐私政策或法规,并且存在数据泄露的风险。事实上,已经报告了通过云 AI 意外暴露数据的案例。为了缓解这种情况,选项包括:使用匿名数据(例如,在询问 AI 时用占位符替换真实姓名),在本地运行 LLM(您可以托管开源模型,虽然不如 GPT-4 强大,但可以处理更简单的任务),或使用混合方法(在本地进行初始处理,并且可能只将高级摘要发送到 API)。始终确保遵守与您的业务相关的任何数据保护要求。
-
成本和性能: 通过 API 使用像 GPT-4 这样的最先进的模型需要按令牌付费。对于偶尔的提示来说,这可以忽略不计,但如果您想分类数千个交易,则成本会增加。还有延迟 – 包含许多交易的大 提示可能需要一段时间才能处理。微调的小型模型或开源 LLM 可能更便宜/更快,但可能需要更多设置,并且未经数据微调可能无法达到相同的准确性。这是便利性(“开箱即用”的云 AI)和控制(您管理的本地 AI)之间的权衡。
-
过度拟合或不一致: 除非您将该信息嵌入到提示中,否则 LLM 没有关于您的特定会计科目表的固有概念。它们可能会发明您的账本中不存在的帐户名称(如前面的示例,当您可能更喜欢将其放在一般办公用品帐户下时,建议为“笔记本电脑支架”创建一个新的子帐户)。为了使 AI 的建议与您已建立的帐户保持一致,可能需要提供有效帐户的列表作为上下文,或者进行一些后处理以将其建议映射到最接近的现有帐户。同样,如果使用两种不同的措辞,LLM 可能会给出不一致的输出。建立标准化的提示方法,并可能为您的帐户制定一些“AI 风格指南”,可以帮助保持一致性。
-
理解范围: 虽然 LLM 在处理文本方面很棒,但它们并没有绝对精确地进行计算。例如,由于它们处理数字的方式(它们本质上不是计算器),要求 LLM 计算财务比率或进行求和可能会导致错误。在 Beancount 的上下文中,这意味着它们可能不是确保复杂的多过帐交易中的所有金额都正确求和的最佳选择(尽管它们通常可以,简单的算术触手可及,但可能会出现错误)。明智的做法是让 Beancount 本身进行繁重的数学运算(或验证总数),而不是依赖 AI 的算术。
尽管存在这些局限性,但趋势显然是会计领域出现更复杂和更可靠的 AI 助手。关键是将 LLM 用作助手,而不是自主会计师。它们擅长减少苦差事 – 例如,建议可能的分类(节省您的认知能量)并起草条目或 解释。您仍然是审查并最终确定哪些内容进入账簿的决策者。正如一位会计师所说, “ChatGPT 远非完美…… 但以前从未如此容易编写脚本而无需学习编程” – 同样的观点也适用于簿记任务。
结论
对于那些使用 Beancount 进行纯文本会计的人来说,大型语言模型正在证明是有价值的盟友。它们通过自动分类、发现异常、提供智能完成、将自然语言翻译成条目以及简化对帐来弥合原始财务数据和整洁的账本之间的差距。在 Beancount 工作流程中实施 LLM 可以带来显着的效率提升,甚至可以向技术含量较低的用户开放 Beancount(通过 AI 在幕后处理一些脚本编写和格式复杂性)。
对于 Beancount 用户的技术受众,现在是尝试这些 AI 工具的好时机。尝试使用 ChatGPT 或本地模型对一周的未分类交易进行分类,或解析您尚未为其编写导入器的新型对帐单。利用 Beanborg 等开源项目来获取灵感,并与社区分享您的发现。通过将 Beancount 的稳健性(它将保持您的账簿准确且可审计)与 LLM 的强大功能(可以显着减少体力劳动)相结合,您可以实现既高效又灵活的簿记工作流程。
最终,LLM 不会取代会计师的监督或企业主的判断,但它们可以_增强_这些角色。它们充当不知疲倦的助手,可以在几秒钟内处理繁重的工作,并从每次互动中学习。随着技术的成熟 – 解决当前在准确性和隐私方面的局限性 – 我们可以期待 AI 成为会计师工具包的标准组成部分。目前,通过谨慎使用,Beancount 用户已经可以利用 LLM 以更少的精力和更多的洞察力来保持其账簿的最新状态。简而言之,让机器人做重复的簿记工作 ,这样人类就可以专注于理解和决策。
来源:
- Franz A. (2023)。为忙碌的人记账(使用 AI) – 博客文章,说明 ChatGPT 如何通过编写导入脚本来协助 Beancount。
- Beancount Google Group (2023)。“ChatGPT & Beancount”讨论 – 用户实验,展示了 GPT-3 如何使用费用帐户对亚马逊交易进行分类。
- Fiandesio, L. (2025)。Beanborg – 用于 Beancount 的自动 AI 驱动的交易分类器 – GitHub README(开源工具,结合了规则、ML 和 ChatGPT 以进行交易导入)。
- Wafeq Blog (2023)。如何在簿记中使用 ChatGPT – ChatGPT 在簿记中的应用概述(数据输入、分类、对帐等)。
- Jaan Li (2024)。理智与情感:使用 LLM 进行会计 101 – GitHub Gist,介绍了提示 GPT-4 对交易进行分类并将其转换为 Beancount 格式,同时指出隐私问题。
- Harsh Daiya & Gaurav Puri (2024)。使用 LLM 进行实时异常检测 – DZone 文章,解释了 LLM 如何检测金融中的上下文异常(例如,异常支出模式)。
- Weber 等人 (2025)。通过用于纯文本会计的 DSL 评估 LLM 的财务知识 – 研究论文,使用 Beancount 来测试 LLM 在生成会计分录方面的准确性(发现如果没有指导,只有 8.33% 完全正确)。
- Beancount GitHub Issue #812 (2024)。“LLM 提示库”讨论 – 社区计划为基于 LLM 的会计机器人和轻松获胜的想法(例如,通过 LLM 自动分配 QuickBooks 代码)。
- MindBridge (2024)。AI 驱动的异常检测:超越资产负债表 – 博客,描述了财务数据中的异常类型以及 AI 在检测异常中的作用(异常用例的背景)。
- ShayCPA (2023)。如何安全地使用 ChatGPT 进行会计处理 – 文章指出,可以使用 ChatGPT 在银行对帐期间匹配交易并标记差异。(通过摘要访问)