我们对待大模型,应该像对待人一样,类似对待一个刚毕业的实习博士生,他懂得很多,但是不懂业务,你要是想让他干活,必须给他明确的目标,合适的工具,他才能把任务完成的更好。

提示词工程

提示词工程(Prompt Engineering)是通过设计有效的输入提示(Prompt)来引导大模型生成预期输出的技术。其核心在于优化提示的清晰度、结构和上下文,以减少模型误解并提高输出质量。常用方法包括:

  • 明确指令:直接指定输出格式或要求,例如“用三点概括以下内容”。
  • 示例引导(Few-shot Learning):提供输入输出示例,帮助模型理解任务模式。
  • 角色设定:通过赋予模型特定角色(如“资深律师”)约束输出风格。

适用场景:快速适配新任务、无需修改模型参数的轻量级优化。

  • 举例说明:
    • 反例: 订一张票
    • 正例: 订一张本周五从杭州到广州的票,出发时间是下午2-点,综合考虑时间,价格等因素;

RAG(检索增强生成)

RAG(Retrieval-Augmented Generation)结合检索系统与大模型,通过外部知识库增强生成内容的准确性。典型流程:

  • 检索阶段:根据用户查询从数据库或文档中提取相关片段。
  • 生成阶段:将检索结果作为上下文输入大模型,生成最终回答。

优势:解决模型幻觉问题,适合知识密集型任务(如问答、事实核查)。需注意检索效率与数据更新机制的平衡。

适用场景:快速适配新知识、无需修改模型参数的轻量级优化, 回答精准。

  • 举例说明:
    • 国家每年都会发布新政策,所以需要不断地更新知识库

Function Calling

Function Calling 是大模型根据用户请求自动调用预定义函数(API)的能力,实现与外部工具的交互。关键点:

  • 函数描述:用自然语言或结构化格式(如OpenAI的JSON Schema)定义函数功能及参数。
  • 动态调用:模型解析用户意图后,返回需调用的函数及参数,由系统执行。

典型应用:实时数据查询(天气、股票)、数据库操作、多模态处理(如图像生成)。

Function Calling 是大模型的一种扩展能力,各厂商有各自的实现标准(OpenAI 格式是事实标准)。使用时需要在请求中按特定 JSON 格式注入工具描述,模型会返回结构化的调用请求,由开发者执行实际函数后,再将结果回传给模型完成对话。

  • python 代码
tools = [
    # 工具1 获取当前时刻的时间
    {
        "type": "function",
        "function": {
            "name": "get_current_time",
            "description": "当你想知道现在的时间时非常有用。",
            # 因为获取当前时间无需输入参数,因此parameters为空字典
            "parameters": {},
        },
    },
    # 工具2 查找最近点
    {
        "type": "function",
        "function": {
            "name": "find_point",
            "description": "Find the nearest point in the database to the given coordinates",
            "parameters": {
                "type": "object",
                "properties": {
                    "target_point": {
                        "type": "array",
                        "items": {
                            "type": "number"
                        },
                        "description": "The target point coordinates [x, y]"
                    }
                },
                "required": ["target_point"]
            }
        }
    }
]



微调(Fine-tuning)

微调通过在大模型基础上使用领域数据继续训练,使其适配特定任务或行业。技术要点:

  • 数据准备:需高质量、任务相关的标注数据,数据量通常从数千到百万级不等。
  • 训练策略:全参数微调(计算成本高)或参数高效方法(如LoRA、Adapter)。
  • 评估指标:准确率、F1值等,需验证过拟合风险。

适用场景:垂直领域(医疗、法律)或独特需求(风格化文本生成)。需权衡训练成本与性能提升。


选型建议

  • 轻量需求:优先提示词工程或RAG,成本低且部署快。
  • 复杂交互:Function Calling适合需实时连接外部系统的场景。
  • 长期专业化:微调在数据充足且需求明确时效果最佳,但需投入训练资源。
  • RAG 和 微调选型比对
    • RAG 适合不断更新,立即获取最新知识,成本低; 微调则需要训练时间,无法立即交付,且成本高;
    • 微调适合 特定任务或行业, 回答更加的专业; RAG 则是根据检索到的文本片段,作为问题的一部分 通过通用大模型回答;
Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐