在项目中我需要实现的主要功能是法律文书生成,思考了该功能的使用人群,主要是律师,通过询问发行宝我得知律师制作的法律文书主要包括起诉状、答辩状、合同、起诉书等等,因此我生成的法律文书不包括裁判文书(由人民法院所制作),也不包括由官方机关书写的法律文书(例如起诉书、抗诉书等等)。
实现这个功能需要结合提示词生成(Prompt Engineering)和结构化请求设计,以优化输出质量。
首先我想到的是通过System Prompt限定角色(专业律师)和输出要求(语言法律化,引用中国现行有效法律法规,格式符合规范),然后直接生成法律文书,但是我发现这个方案虽然输出很快,但是生成的法律文书格式不可控,生成的法律文书可能引用过时发条和出现逻辑错误,只能用于生成简单的法律文书或者初稿。
然后我又只能设想别的方案,我想到网文作家写小说前都会先写出完整的大纲,来防止更新后期出现逻辑错误,于是我想到先生成文书的标准结构大纲,再根据大纲生成完整的法律文书,就跟写网文类似,这个方法使得文书的结构更工整,逻辑也更完整,分阶段生成还能确定关键部分不遗漏,但是缺点也很明显,多轮对话所消耗的时间和token会更多,成本更高。这个方案可以用于生成复杂的ai法律文书了,但仍没有解决可能引用过时的法律条文问题,甚至还存在不能一次直接输出法律文书的问题。
关于生成法律文书不够专业的问题上,我发现了答案,建立本地法律知识库,具体思路有来源于一篇博客,有了本地法律知识库,生成的法律文书可以保证引用最新的法律条文,但难度在于建设本地法律知识库和优化检索算法(RAG)。
最终决定使用最后一个方案