给美国法律代码装上 Git 版本控制
Git for US Legislation

程序员可以随时查看代码的每一次修改记录,但律师面对联邦法规时却往往束手无策。文章指出,由于缺乏类似 Git 的版本控制系统,LLM 在处理法律问题时经常无法追溯法规的演变历史,导致解读错误。作者通过重构美国法典的历史记录,展示了如何像管理代码一样追踪每一条法律条文的生效日期和修改来源。这种将法律视为可版本化代码的思路,不仅解决了法律研究中的时间有效性难题,也为 AI 准确理解法律提供了关键的数据基础。
程序员可以指向任何一行代码,查看是谁写的、何时写的,以及该文件在过去任何一天的样子。
HN 评论区
227- kfogel
NYT, 2007:
"... 想想版本控制软件对国会意味着什么 [...]。如果法案是在一个仔细追踪删除线和新增内容的系统中创建的,那么当法案在国会大厦推进时,公众就能知道是哪位立法者对拟议的法案做了哪些修改。
终于,立法过程将变得透明。最好的情况是,这会迫使立法者不敢插入那些违背公众利益、仅旨在回报政治捐款人的条款;最坏的情况是,这些插入行为会被公之于众,让选民能够惩罚做出这些行为的政客。..."
(来自 https://www.nytimes.com/2007/07/23/business/media/23link.htm...)
- Ericson2314
Hacker News 社区(哈哈)需要大力游说通过一项法律(多么完美的自举!),要求 https://en.wikipedia.org/wiki/Office_of_the_Law_Revision_Cou... 将其维护仓库作为职责的一部分,并且要回溯到美国法典的整个历史。
这是一个简单的想法;成本很低;没有未解决的技术问题;几乎人人受益。让我们把它做成吧。
- ShadowOfThePit
你并不严格需要 Git。
至少在瑞士的联邦层面,自 2020 年以来,法律也是用 HTML 创建的。你可以比较不同版本以及不同语言。
瑞士宪法,在“工具”下点击“版本比较” - https://www.fedlex.admin.ch/eli/cc/1999/404/en
我也尝试过做类似的事情,效果还凑合(德语版)
https://shadowofthepit.github.io/Projekt-Gesetzvergleich/Bun...
- TomAbel
让我想起一个关于法国法律的类似项目
法国法案演变的 Git 版本控制和可视化
法律工厂:作为 Git、开放数据和数据可视化的法国法案
https://www.lafabriquedelaloi.fr/
“法律即代码”在《法律工厂》:作为 Git、开放数据和数据可视化的法国法案 - https://news.ycombinator.com/item?id=7817357 2014 年 5 月(0 条评论)
- Avijit_Thawani
我们需要这个,但要集成在 GitHub UI 中,包含已合并/未合并的 PR、评论(辩论)和差异对比。
- codingdave
过去 15 年,我一直与政府机构合作进行文档管理,编写软件来实现我们此刻讨论的功能——对立法记录进行版本控制、追踪和发布,涵盖从撰写、审批周期到向公众发布的全过程。我虽然没有在联邦层面工作过,但曾与小型政府机构(如学区、小城镇等)合作。
这些年让我明白两点:
1) 是的,绝对需要对立法进行版本控制,这至关重要。
2) 但这并不意味着 Git 就是正确的答案。
由于我不在联邦层面工作,我不知道他们使用什么系统,但我知道他们的工作流已经基于具体的变更——他们会起草对文档的修改,然后应用这些修改并发布新文档。这些文档会发布在 congress.gov 上。所以他们确实有版本控制工作流和公众访问权限,只是风格与软件开发者习惯的不同。我相信这可以改进,但我也不确定强迫他们采用我们的工作方式是否是正确的做法。
这里真正的目标不是“使用 Git”。那只是一个实现细节,而且在我所在的行业细分领域里,这一点已经被提出并讨论过很多次了。大多数情况下,这是不受欢迎的。或者说,上次讨论时是不受欢迎的。Git 对软件工程师来说有意义,但对普通大众来说没有,对我合作过的任何文档作者来说也没有。也许我们可以加一个 UX 层来解决这个问题,但这并不是重点……
我们要做的是……
- pcblues
我之前没想到用 Git 来追踪立法变更。这是个很酷的想法。
在澳大利亚,我花了一些时间试图弄清楚如何查找哪位政治家投了什么票(州级和联邦级),这样在选举来临时,就能单独揪出那些投票支持特定法案的个人。我认为 AI 可能会让这事更容易,但挑战在于不要滥用对立法在线记录的“免费开放”访问。
到目前为止,手动完成这项任务大概是一个年薪 5 万美元的单人工作,而且公众立法记录的语言本身并不利于确定法案通过时实际变更的法律或权利。这些变更虽然被明确陈述,但很难用正则表达式、过滤器或其他分析工具来提炼(例如:“谁投票禁止电动滑板车时速超过 25 公里?”)。如果你试着去读一下立法文件,你就会明白我的意思。
“我们议会程序的完整公开记录”仍然需要人们花费大量时间去解读和总结(例如媒体、评论员等),这意味着这是一项耗时的爱好,或者是一份有偿工作。
- jbrun
很棒的项目,很好的讨论串。追踪美国的活动是一个巨大的挑战。我们建立的一家公司帮助数百家非营利组织努力追踪联邦和州层面的动态。事实上,如今大部分博弈都发生在州一级。请告诉我们你们对 https://billtrack50.com 的看法