学习地址:https://github.com/Lordog/dive-into-llms/blob/main/README.md
第一部分:理论与日常开发的"破壁"映射
PDF 里讲的四个提示词概念,以前我觉得像文科生的文字游戏,现在我把它们直接等价到了我的运维和代码逻辑中:
1. 提示学习 (Prompt Learning):我的"声明式编程"
我意识到,随着模型参数越来越大(到了 70B 这个级别),我根本不需要像第一章那样去痛苦地挂 LoRA 补丁微调了。只要用对提示词,就能激发它的潜能。写 Prompt 本质上就是在写一种极度高级的"声明式代码",我只定义目标和格式,大模型自己去补全中间的计算逻辑。
2. 零样本提示 (Zero-shot):靠不住的"裸奔测试"
-
我的理解:就是不给任何前置示例,直接扔任务。
-
业务映射:在做 Agent 开发时,我发现绝不能在核心业务链路上使用 Zero-shot。让它"裸考"翻译或者闲聊还可以,但如果让它做"提取故障日志 IP 并输出 JSON",它极大概率会漏掉字段或者格式错乱。Zero-shot 只能用来做最基础的能力摸底。
3. 少样本提示 (Few-shot):规范 API 输出的"金标准"
-
我的理解 :在提问前,先给它举 2-3 个标准的
输入 -> 输出例子。 -
业务映射:这是我现在写 Agent 的救命稻草!当我的 Agent 频繁调用工具(Function Calling)失败,或者吐出的 JSON 格式总是少个括号时,我就会在 System Prompt 里硬编码几个标准的示例。
示例模板: 比如当遇到数据库报错时,你必须这样输出:
{"tool": "query_db", "args": {"sql": "SELECT *..."}} -
感悟:大模型本质上是个"接龙高手"。Few-shot 就是给它设定了一个不可违背的接龙模板(Schema),极大降低了它胡言乱语的概率。
4. 思维链 (CoT):Agent (智能体) 的真正灵魂
-
我的理解:在 Prompt 里加一句"请一步步思考并给出推导过程"。
-
业务映射:这一节解开了我心中最大的疑惑------为什么现在的 Agent(比如 ReAct 框架)能自己规划任务?原来底层全靠 CoT!
-
Agent 能实现自主循环(思考 -> 行动 -> 观察),本质上就是因为我们在底层 Prompt 里强迫它进行思维链拆解。不让它秒给结论,而是逼它把"打草稿"的过程打印出来,它的智商(逻辑推理能力)就能直线上升。
第二部分:代码实操的降维反思 (README & Notebook)
第二章的实操代码其实非常薄,就是教你怎么配置 API_KEY,然后拼接一串字符串发给大模型。虽然这部分我不用再练了,但我对这套机制有了更深的工程视角:
-
从"微调"到"API"的边界分明:
-
第一章的微调(SFT)是在改模型的长期记忆,成本极高。
-
第二章的提示词(Prompt)是在改模型的短期记忆(上下文),成本极低,见效极快。
-
我的架构原则:以后在公司落地 AIOps,能用 Prompt(配合 Few-shot 和 RAG)解决的问题,绝不去动微调。只有当模型的"语气"或"行业黑话"怎么都纠正不过来时,再去用第一章的 LoRA 方案。
-
-
Prompt 工程其实是个字符串拼接游戏 : 其实底层的代码逻辑,就是我在 Python 里写一大堆的
f-string。把用户的实时问题、数据库查出来的背景知识(Context)、以及我写好的 Few-shot 模板,拼接成一个巨大的长文本,一股脑塞给大模型的 API。这考验的不是算法能力,而是我对业务逻辑的抽象能力。
我的第二章全总结
如果说第一章是教我"怎么把服务器点亮",那第二章就是教我"怎么写 Shell 脚本去控制系统"。
对我这个有 Agent 开发经验的人来说,第二章最大的价值是帮我把碎片化的经验理论化了。我以前只知道"这样写它听得懂",现在我知道了"这叫 Few-shot,这叫 CoT"。有了这套标准化的黑话体系和底层理论,以后我再去调优我的 Agent 故障排查助手时,就知道该从哪个维度去修改系统提示词(System Prompt)了。