乐于分享
好东西不私藏

2700欧接单,给德国公司做合规AI助手,八成时间在调教提示

2700欧接单,给德国公司做合规AI助手,八成时间在调教提示

给德国一家GDPR合规公司做完一套法律AI研究助手,到手2700欧元。项目交付后,现在正谈着每月维护的续费。这哥们儿在Reddit上分享,最大的感触是:做领域专用的RAG,80%的时间都花在调教提示词和设计元数据架构上,检索本身只占20%。

  • 核心挑战是让AI理解法律文件的权威层级:最高法院判例比下级法院意见更有分量,官方指南比博客文章更可靠。系统得懂这个规矩,回答时不能只看语义相似度。
  • 他搞了个三合一检索策略:标准检索、按类别优先级检索(LLM自上而下裁决冲突)、分层检索(确保每个权威层级都有代表)。光用标准RAG,AI可能因为下级文件语义更相似就乱答。
  • 40%的提示工程时间花在强制精确引用上。提示词里塞满了“绝不要做X”的指令,必须引用精确的文档标题、法院名称、条款编号,模糊引用在法律场景里一文不值。

为了让AI像个真律师,他下了哪些功夫

法律文件结构复杂,有嵌套条款、跨章节引用、脚注引文。他专门做了个自定义分块管道,能保留层级深度和章节关系。这些块在丢给LLM之前,会被组装成浓缩的“备忘单”,并用确定性哈希缓存,重复模式就跳过重新生成。

向量检索之后,还有个元数据注入层。通过一次批量查询,从数据库里把完整文档元数据——地区、类别、框架、日期、标签、所有用户批注——都抓过来,和块内容一起塞进提示词。

系统得双语硬控。用正则检测查询是德语还是英语,然后提示词强制LLM用检测到的语言输出,并且明确阻止它漂移到法语或其他语言。他说当源文档是多语言时,这种漂移发生得比你想的要多。

整套技术栈和部署细节

他把整个技术栈都摊开讲了,因为觉得生产级法律RAG的拆解不多见,而且他遇到了很多通用RAG教程没覆盖的问题。

后端:FastAPI
生成:AWS Bedrock with Claude
嵌入:AWS Bedrock Titan 用于生产,本地 Ollama 作为备用。从管理面板可切换,无需重启应用。
向量搜索:FAISS
元数据存储:PostgreSQL,存文档元数据和评论。
部署:工具本身要符合GDPR,所以部署在欧盟区域。

嵌入是按提供商和模型组合缓存的,用了线程安全锁,所以切换模型也不会搞坏任何东西。

回答通过SSE流式输出。还有个可选的简化第二遍:第二个LLM可以拦截完整流,把整个法律分析用大白话重写一遍,然后再把简化版作为单独的token流式输出。虽然增加了延迟,但非律师的客户需要GDPR复杂义务的通俗解释。

这单活干完,最大的收获是什么

他说,真正的难点在于让LLM表现得像个尊重权威层级、能正确引用的法律专业人士。检索出相关文本只是第一步,怎么让AI理解不同来源的法律分量,并且在生成答案时运用这个知识,才是核心价值所在。

那些“根据专业文献”之类的模糊引用,在测试阶段就被他抓出来,然后写进提示词里明令禁止。必须精确到文档标题、法院名字、条款编号。因为法律场景里,模糊的归属毫无价值。


留言聊聊
你觉得在专业领域做AI应用,是调教提示词难,还是设计数据架构难?你更愿意接这种定制开发,还是做通用产品?

来源:Reddit Artificial|原文:How I made €2,700 building a legal AI research ass