第4章:Prompt工程基础

各位同学好,我是你们的老朋友。今天咱们聊聊Prompt工程——说白了,就是怎么跟大模型「好好说话」。

我刚开始做法律大模型时,总觉得模型「笨」。后来才发现,不是模型笨,是我没把问题说清楚。你想想看,你跟一个刚入行的实习生交代任务,说得含糊其辞,他能干好吗?大模型也一样。

4.1 Prompt设计原则:让模型听懂你的话

Prompt设计,核心就三个字:清、晰、准。我总结了几条铁律,你在项目中直接套用就行。

原则一:明确角色与任务

别让模型猜你是谁。直接告诉它:「你是一名资深律师」「你是一名法官助理」。我习惯在Prompt开头就定调。

✅ 好的Prompt:
「你是一名专攻合同纠纷的律师。请分析以下合同条款是否存在显失公平的情形。」

❌ 差的Prompt:
「看看这个合同有没有问题。」

原则二:提供上下文与约束

法律场景最怕「开放式回答」。你得给模型画个圈。比如限定法条范围、指定输出格式。

我的小技巧: 在Prompt里加一句「请依据《民法典》第XXX条回答」,模型输出质量能提升30%以上。

原则三:分步拆解复杂问题

别指望模型一口吃成胖子。把「这个案子怎么判」拆成:
1. 事实认定 → 2. 法律适用 → 3. 裁判结论。

嗯,这里要注意:每步之间用空行隔开,模型更容易理解逻辑层次。

4.2 Few-shot与Zero-shot学习:给不给例子,差别很大

这两个概念,说白了就是「要不要给模型看几个例子」。我刚开始也搞混过,后来踩了坑才明白。

Zero-shot:零样本,直接问

适合简单任务。比如「判断这个行为是否构成正当防卫」。模型凭预训练知识就能答。

# Zero-shot示例
Prompt: "判断:张三在遭受持刀攻击时,夺刀反击致对方轻伤。是否构成正当防卫?"
输出: "根据《刑法》第20条,构成正当防卫。"

Few-shot:给几个例子,让模型学套路

复杂任务必须用Few-shot。我做过一个实验:
- 不给例子:模型准确率 62%
- 给3个例子:准确率飙到 89%

避坑指南: 我曾经给模型看了5个例子,结果它「学歪了」——把例子的细节当成了规则。后来我总结:例子要典型,但别太特殊。3-5个最佳,多了反而干扰。
# Few-shot示例
Prompt: 
"示例1:合同约定违约金为合同金额的30%,法院认为过高,调整为实际损失的1.5倍。
示例2:租赁合同约定逾期一天罚1000元,法院认为过高,调整为实际损失的1.3倍。
问题:借款合同约定逾期利率为年化36%,法院应如何调整?"

输出: "法院可能调整为LPR的4倍(约年化14.8%),因为36%明显过高。"

4.3 Chain-of-Thought:让模型「边想边说」

这是我最喜欢的技巧。Chain-of-Thought(CoT),说白了就是让模型把推理过程写出来。就像你做数学题,不能只写答案,得写「因为...所以...」。

为什么CoT在法律推理中特别有用?

法律本身就是「三段论」:大前提(法条)→ 小前提(事实)→ 结论。CoT完美匹配这个结构。

我遇到过最典型的案例:
一个交通事故责任纠纷,直接问模型「谁全责」,它答错了。但加上「请逐步推理:1. 分析交通规则 2. 分析双方行为 3. 判断过错程度」,模型给出了完全正确的答案。

CoT的三种常用模式

模式 适用场景 示例Prompt
标准CoT 复杂法律推理 「请逐步分析:首先...其次...最后...」
Few-shot CoT 需要参考先例 「参考以下案例的推理过程...」
自洽性CoT 高精度要求 「请用三种不同路径推理,然后投票选出最合理的结论」

实战:用CoT分析合同纠纷

Prompt:
"你是一名合同纠纷律师。请用Chain-of-Thought逐步分析:

案情:A公司与B公司签订供货合同,约定A每月供货100吨,B按月付款。A连续3个月供货,B均未付款。A停止供货,B起诉A违约。

请按以下步骤推理:
1. 分析合同是否有效成立
2. 分析双方各自履行情况
3. 判断是否存在违约行为
4. 分析违约责任归属
5. 给出最终法律意见"

输出:
"步骤1:合同有效成立。双方主体适格,意思表示真实...
步骤2:A已履行供货义务,B未履行付款义务...
步骤3:B构成违约,A行使不安抗辩权合法...
步骤4:违约责任在B方...
结论:B公司应支付货款并承担违约责任,A公司不构成违约。"
我的经验: CoT的推理步骤不要超过5步。超过5步,模型容易「走神」,中间步骤开始胡扯。我一般控制在3-4步,刚刚好。

知识体系总览

下面这张图,是我自己梳理的Prompt工程知识框架。你照着这个结构去设计Prompt,基本不会跑偏。

Prompt工程知识体系 Prompt工程 设计原则 明确角色任务 提供上下文约束 分步拆解问题 学习方式 Zero-shot Few-shot Few-shot CoT 推理技术 标准CoT 自洽性CoT 思维树(ToT) 法律应用场景:合同分析 | 案例推理 | 法条检索 | 文书生成 图:Prompt工程三大核心模块及其在法律场景中的应用

小结

今天聊了三个核心点:
1. 设计原则:角色明确、上下文清晰、分步拆解
2. 学习方式:Zero-shot省事但精度低,Few-shot效果好但别贪多
3. CoT推理:让模型「边想边说」,法律三段论的最佳拍档

我个人建议:所有法律类任务,优先上CoT。哪怕你觉得问题简单,也让它走一遍推理流程。为什么?因为你能看到它的「思考过程」,方便纠错。这比直接给结论靠谱得多。

最后提醒一句: Prompt工程不是「万能药」。模型本身能力不行,再好的Prompt也救不了。但反过来,模型能力再强,Prompt写得稀烂,它也发挥不出来。两者相辅相成,缺一不可。

公众号:蓝海资料掘金营,微信deep3321