[控场AI]
· 6 分钟阅读· 3,115 字

Claude将全球法律搬进Git:语义化、版本化的法律查询新范式

Claude将全球法律搬进Git:语义化、版本化的法律查询新范式

开发者用Claude Code将全球法律转为Git仓库,实现版本化与Agent可查询。

「Global Law」项目利用Claude Code将各国法律条文转化为Git仓库,使法律具备语义化、版本化和可追溯性。项目为每个国家开启独立会话抓取官方数据,从修正案逆向重建历史版本,并通过跨会话共享经验提升效率。构建脚本确保哈希一致,保障数据完整性。设计目标为语义化、版本化和可归属,采用CC0开源。该项目在Hacker News登顶,为AI Agent提供了可靠的法律知识源,有望缓解法律问答中的幻觉问题,并催生法律科技新工具。

项目概览:当法律遇上版本控制

一位开发者在Hacker News上发布的项目「Global Law」登顶当日热榜,引发广泛讨论(原帖)。项目的核心思路很直接:利用Claude Code将全球各国的法律条文转化为Git仓库,让法律具备语义化、版本化和可追溯性,并且能被AI Agent直接查询。作者将其以CC0协议开源,仓库地址为github.com/lexifina/global-law。

reddit source: Using Claude to put all Global Law into Git

这个项目的野心不在于做一个法律数据库,而在于重新定义法律的“可编程性”。传统法律文本分散在各国政府网站,格式不一,历史版本难以追溯。通过Git的提交历史,每一条法律的生效、修订和废止都变成了一次commit,时间线清晰可见。

技术实现:Claude Code如何重构法律历史

分而治之的抓取策略

作者没有用一个庞大的脚本处理所有国家,而是为每个国家或国家组开启独立的Claude Code会话。每个会话负责读取该国官方发布网站或API,检查robots.txt和使用条款,然后编写脚本下载每部法律的每一个版本。这种分治策略降低了复杂度和合规风险,也让Claude能在各自上下文中专注处理该国的特殊规则。

robots.txt 是网站根目录下的一个文本文件,遵循「机器人排除协议」(Robots Exclusion Protocol),用于告知爬虫哪些路径可以抓取、哪些应当避开。它并非法律强制,而是行业惯例,大型网站常借此限制高频访问。在法律数据抓取场景中,遵守 robots.txt 和服务条款不仅是技术礼貌,更涉及合规风险:部分政府网站明确禁止批量下载,违反可能触发访问限制甚至法律纠纷。因此,为每个国家单独检查 robots.txt,实质是在工程效率与法律合规之间建立一道前置闸门。

从修正案重建历史版本

并非所有国家都直接发布法律的历史版本。有些来源只提供修正案(amending Acts),这意味着需要从当前文本逆向重建过去的状态。Claude编写的脚本会按时间顺序依次应用每一条修正案,从而还原出每个历史版本。这相当于为法律文本做了一次“反向编译”,让Git历史完整覆盖法律的演变过程。

修正案(amending Acts) 是立法机关对现行法律进行局部修改的法律文件,通常只描述「删除第 X 条」「在第 Y 条后插入 Z」这类增量变更,而不重新发布完整法律文本。许多国家的官方发布渠道只保留当前 consolidated 版本和历次修正案,历史全文并不直接可得。要从这些碎片还原过去某一时点的法律状态,必须按时间顺序逆向或正向应用修正案,处理条款编号偏移、跨法引用和生效日期差异等问题。这一过程在法律信息学中被称为「法律文本版本重建」,是构建可信法律时间线的核心难点。

跨会话知识共享

多个Claude Code会话之间并非孤立。它们会共享发现的问题,例如1970年之前的日期处理、夏令时边界情况以及其他特殊变更。这种协作机制让每个会话都能受益于其他会话的经验,减少了重复踩坑。作者提到,这些会话共享发现的方式是项目能够高效推进的关键之一。

可复现的构建与哈希一致性

为了保证版本控制系统的可靠性,作者要求Claude编写构建脚本,确保两次独立构建产生逐字节相同的哈希。作者坦言,通常他会认为这种要求“过度设计”,但对于法律这种需要高度可信的版本控制系统来说,哈希一致性是必要的保障。这意味着任何人克隆仓库并重新构建,都能得到完全相同的结果,从而验证数据的完整性。

哈希一致性 指对相同输入执行相同构建流程后,输出文件的密码学哈希值(如 SHA-256)完全一致。它要求构建过程排除时间戳、随机数、文件系统顺序等不确定因素,实现「可复现构建」(reproducible build)。在软件供应链中,这一特性用于验证二进制产物未被篡改;在法律数据仓库中,它同样关键:任何人克隆仓库并重新抓取、重建后,若哈希与发布版本吻合,即可证明数据在传输和存储中未被悄悄修改。这为法律文本的完整性和可审计性提供了密码学级别的保证。

设计决策:语义化、版本化与Agent可查询

项目的设计目标有三个关键词:语义化、版本化、可归属。语义化意味着法律文本不再是扁平的PDF或HTML,而是结构化的数据,便于机器理解和查询。版本化通过Git的提交历史实现,每一次修改都有明确的时间戳和变更内容。可归属则体现在git blame上,每一条法律条文都能追溯到具体的提交和来源。

作者强调,这些信息应当自由获取,因此选择了CC0许可证,允许任何人以任何方式使用。这种开放态度与法律信息本身应当公开透明的理念一脉相承。对于AI Agent而言,一个结构化的、可查询的法律仓库意味着它们可以更准确地回答法律相关问题,而不是依赖可能过时或错误的训练数据。

社区反响与潜在挑战

该项目在Hacker News上登顶,说明开发者社区对法律数据的可编程化有浓厚兴趣。讨论中可能涉及的问题包括:法律文本的准确性如何保证、不同国家法律体系的差异如何处理、以及大规模抓取是否会对政府网站造成压力。作者在帖子中表示欢迎所有评论和建议,显示出开放协作的姿态。

从技术角度看,全球法律的Git化仍面临不少挑战。法律文本的更新频率不一,有些国家频繁修订,有些则相对稳定。Git仓库的体量可能变得庞大,尤其是当每个历史版本都被完整存储时。此外,法律语言的复杂性和歧义性对语义化处理提出了很高要求,Claude在解析和结构化法律文本时的准确性需要持续验证。

对AI Agent与法律科技的意义

这个项目最吸引人的地方在于它为AI Agent提供了一个可靠的法律知识源。当前的大语言模型在法律问答中常出现幻觉,引用不存在的法条或过时的规定。一个版本化的法律Git仓库可以作为检索增强生成(RAG)的底层数据,让Agent在回答时能够引用具体的提交和版本,从而提高可信度。

对于法律科技行业,这种模式可能催生新的工具和服务。律师事务所可以用类似方法管理内部法律知识库,合规团队可以追踪法规变化对业务的影响,开发者可以构建基于法律版本历史的分析应用。CC0许可证进一步降低了使用门槛,鼓励商业和非商业的创新。

当然,项目仍处于早期阶段,覆盖范围和准确性需要社区检验。但它的方向值得关注:将法律从静态文档转变为动态的、可编程的数据资产,这或许是法律信息学走向实用的重要一步。

检索增强生成(RAG) 是一种让大语言模型在生成回答前先检索外部知识库的技术架构。与依赖模型参数中固化的训练数据不同,RAG 将用户问题转化为查询,从向量数据库或结构化仓库中召回相关文档片段,再将其作为上下文交给模型生成答案。其优势在于知识可更新、来源可追溯、幻觉可抑制。对于法律问答而言,RAG 使 Agent 能够引用具体法条、版本和提交记录,而非凭记忆编造。Global Law 这类版本化 Git 仓库恰好可作为 RAG 的底层数据源,让每次回答都锚定在可验证的法律文本上。

#Claude Code#全球法律#Git版本控制#法律科技#AI Agent#语义化法律#开源项目
分享:

相关推荐