面向开发者的 LLM 入门课程(个人笔记记录-2026.03.30)
一、面向开发者的提示工程
第一章 简介
两种类型的大型语言模型 (LLM):
-
基础 LLM:基于文本训练数据预测下一个词
-
指令微调 LLM (Instruction Tuned):尝试遵循指令,并根据指令和良好的指令执行尝试进行微调。
RLHF(reinforcement learning from human feedback): 带有人类反馈的强化学习
**tone:**在人工智能领域,语气指的是模型语言所传达的风格、情感色彩和人际态度。常见的语气包括正式、专业、中性、友好、严肃、热情、幽默、权威、简洁、同理心、鼓励和批判。
例如:我是一名正在撰写论文的大学生。这在提示语中通常被称为用户背景 、用户画像 或角色设定 ,更具体地说,它可以包括角色 、经验水平 、领域背景 和任务背景。在人工智能系统中,这些信息有助于模型调整解释深度、术语密度和响应风格,从而更好地匹配用户的知识水平和目标。
大型模型的输入称为Prompt ,大型模型返回的输出称为Completion。
prompting LLMs: 提示 LLM 是一种实践,它通过提供结构化的指令和上下文来引导大型语言模型达到所需的风格、推理深度和输出。
第二章 提示原则
指导学习学习模型的两个原则:
-
编写清晰、具体的指令
- 分隔符````,""",<>,`,防止提示词注入
- 结构化的输出,如json、html,指定要输出的键
- 检查是否满足条件,边缘情况
- 提供少量示例
-
给予模型充足思考时间
-
指定步骤,指定输出格式
请使用以下格式: 文本:<要总结的文本> 摘要:<摘要> 翻译:<摘要的翻译> 名称:<英语摘要中的名称列表> -
中先要求语言模型自己尝试解决这个问题,思考出自己的解法,然后再与提供的解答进行对比
-
局限性:虚假知识:模型偶尔会生成一些看似真实实则编造的知识(幻觉Hallucination)
第三章 迭代优化
第一版 Prompt 应该满足明确和给模型思考时间两个原则。在此基础上,一般的迭代流程是:首先尝试一个初版,分析结果,然后继续改进 Prompt,逐步逼近最优。许多成功的Prompt 都是通过这种多轮调整得出的。
任务实现阶段:初始提示(完整给出内容和需求)-> 提示优化1:解决生成文本太长(给字数限制)-> 提示优化2: 处理抓错文本细节(限制需求,面向什么受众)-> 使用什么方式表示出来(表格、html)
总结:每一步都需要把上一步不足的点指出来,迭代到自己把完整的需求表达清楚
第四章 文本概括
文本摘要功能:
- 单一文本概括
- 限制输出文本长度(字数)
- 设置关键角度侧重
- 关键信息提取【**文本提取(Extract)**指的是过滤其他所有信息,**概括(Summarize)**后可能还会有额外的冗余信息 】
- 多条文本
- for循环 +promote
第五章 推断
情感推断:情感倾向分析(正面/负面) -> 识别情感类型(具体的词语)-> 识别愤怒/喜悦
信息提取(电商为例):商品信息提取(json)-> 情感推断+信息提取(json中,"是否生气"的值可以设为true或false)、
主题推断:推断讨论主题(4-5关键词)-> 为特定的主题制作新闻提醒(关键词:0/1,与什么关键性有关或无关,方便做筛选;**零样本(Zero-Shot)**学习:指模型在没有见过某项任务的专门训练样本的情况下,仅凭已有通用知识或指令理解,直接完成该任务的能力。)
第六章 文本转换
-
文本翻译
让模型学习"大量双语文本之间的对应关系",从而把一种语言映射成另一种语言来实现(大规模高质量平行语料)
Fine-tune 是"微调",指在一个已经训练好的通用模型上,再用某一类专门数据继续训练,让它更适合特定任务或领域。
应用实现:翻译为XX语、识别语种 、多语种翻译、同时进行语气转换(分别展示正式与非正式语气)、通用翻译器【开发一个识别语种并进行多语种翻译的工具,将大大降低语言障碍带来的交流成本。】
-
语气与写作风格调整
正式类:商务信函、学术写作、公文通知、法律文书、合同条款、申请书、报告体、说明书、新闻报道、会议纪要、公告声明。 半正式类:工作邮件、项目汇报、产品介绍、求职信、简历描述、客户沟通、客服回复、教学说明、演讲稿、答辩陈述。 日常类:口语化、聊天式、亲切型、自然型、轻松型、礼貌型、温和型、随意型。 情感类:真诚、热情、冷静、严肃、坚定、委婉、安慰、鼓励、感谢、道歉、祝贺、劝说、请求、关怀。 表达强度类:客观、中立、克制、直接、强硬、果断、批判性、讽刺性、幽默、风趣、夸张、煽动性。 写作风格上也常见这些:简洁、专业、正式、优雅、文学性、叙事性、描述性、分析性、论证性、科普型、营销型、宣传型、技术型、故事化、摘要式、条理化。 -
文件格式转换(将json转为html)
-
拼写及语法修正(
Redlines包,详细显示并对比纠错过程)
第七章 文本扩展
定制客户邮件,感谢评价之后根据客户的评论写合适的回复
引入温度系数(超参数temperature:0-1),给ai发挥的空间,控制语言模型生成文本的随机性;temperature值越小,越倾向输出高概率的内容(温度越高越不稳定)
第八章 聊天机器人
1-7章都使用的是get_completion,适用于单轮对话,这章引入 get_completion_from_messages,传消息列表,可以来自不同的角色
给定身份(你是XXX) -> 构建上下文(context,在模型的输入中提供早期的交流)
订餐机器人,ui库panel,创建json摘要,温度低
二、搭建基于 ChatGPT 的问答系统
检查输入 - 审核
审查内容:性(sexual)、仇恨(hate)、自残(self-harm)、暴力(violence)
小类别:性/未成年(sexual/minors)、仇恨/恐吓(hate/threatening)、自残/母的(self-harm/intent)、自残/指南(self-harm/instructions)、暴力/画面(violence/graphic)
**Prompt 注入:**提示注入是指用户试图通过提供输入来操控 AI 系统,以覆盖或绕过开发者设定的预期指令或约束条件
检测和避免 Prompt 注入的两种策略:
-
在系统消息中使用分隔符(delimiter)和明确的指令。
没有分隔符的话,可以用对应的指令绕开系统指令,比如系统是"英语回答",但是在用户指令中明确要求"中文回答"的情况下,用户的指令级别是更高的;有分割符在的情况下,系统指令级别更高,比如用####{用户输入}####
-
额外添加提示,询问用户是否尝试进行 Prompt 注入(监督分类)。