Prompt / RAG / 规则 / Skills —— 定位、协作与实现路线

一、一句话定位

  • Prompt(提示):每次对话临时写的自然语言指令,是「原料」。提示词工程 = 研究怎么把指令写清楚、写到位。
  • Skills(技能):把高频、值得标准化的「Prompt + 流程」固化、文件化、加触发条件自动注入,是「预制菜谱」。
  • RAG(检索增强生成):临时检索外部文档,把相关内容塞进上下文再回答,解决「记不住 / 会编」。
  • 规则(Rules):写死在系统里的硬约束(if-then / 校验),不可违反,是确定性红线兜底。

二、Prompt 与 Skills 的区别

维度 Prompt Skills
存在位置 每次临时写,转瞬即逝 文件化存磁盘,跨会话持久
触发方式 手动写 / 粘贴 匹配条件自动加载,或 @ 调用
结构 自由文本,想到哪写到哪 固定骨架(触发词/步骤/工具/约定)
目的 解决「一个」具体任务 沉淀「一类」任务的最佳实践
维护者 随手写 可版本管理、共享、迭代

三、前台输入 → 真正发给大模型,中间发生什么

  • 策略一 · 直接拼接(最常见):用户原话一字不改,前后多塞一段隐藏 System 指令(角色/风格/约束/知识引用)。是「叠加」而非「改写」。
  • 策略二 · 先改写/编译(进阶):用一个小/快模型(或模板引擎)把粗糙输入优化成结构化 prompt,再拼 System 指令发出 ------ 即「用 prompt 改写再发过去」。
  • 策略三 · 模板渲染(确定性填空):{角色}{用户问题}{参考文档},纯字符串拼接,不是 LLM 改写。

为什么前台不显示那层 prompt:① 关注点分离,用户不该被系统指令干扰;② 护商业逻辑 + 防越狱;③ 保一致性,所有用户输出风格质量稳定。

四、改写步骤的三条实现路线

  • 路线 A · 规则模板:jinja / {{}} 填空,零延迟、零成本;缺点僵硬、难应对模糊输入。
  • 路线 B · LLM 改写:元提示「你是提示词专家,改写并保留全部原意」+ 小模型;延迟 +1 次调用、成本翻倍;须把用户原话逐字附在最后防丢失约束;离线还可迭代优化(见第五节)。
  • 路线 C · 混合(生产首选):规则定骨架,小模型润色意图;延迟小、成本低。

成本缓兵之计:prompt caching 让很长的 System 提示与检索内容不重复计费。

五、真实框架 / 工具清单

  • 规则模板:Jinja2 / Mustache / LangChain PromptTemplate / few-shot example selector
  • LLM 改写 · 迭代优化:DSPy(Stanford,把 prompt 当可编译程序)、OPRO(Google,黑盒优化)、APE(自动提示工程师)
  • 缓存:prompt caching(OpenAI 及主流厂商支持)

六、一句话决策法则

  • 只做一次 → 直接写 Prompt(最快)
  • 反复做且步骤固定 → 提成一个 Skill 固化
  • 需要外部准确知识 → 加 RAG 检索注入
  • 有不可违反红线 → 用规则兜底

光谱定位:Skill ≈ 路线 A 确定性沉淀;多智能体里的「规划 agent 先把需求拆解成子任务 prompt 再派发」 ≈ 路线 B 动态编译。二者不是替代,而是同一根光谱上的两点。

相关推荐
zhangphil1 小时前
Python Web后端框架FastAPI vs Flask
python·ai·llm
山甫aa2 小时前
JavaWeb后端开发学习手册
java·开发语言·数据库·学习·mysql·springboot·web
zlinear数据采集卡2 小时前
数据采集卡从入门到精通(42):项目实战三——设备预测性维护系统,从布点到预警
开发语言·单片机·嵌入式硬件·安全·fpga开发
csdn_aspnet2 小时前
C# 高效便利的处理数据
开发语言·windows·c#
ly76892 小时前
XML 从入门到实践:语法、命名空间、XPath、XSD 与 Java 安全解析
xml·java·python
Chester_19992 小时前
CSP202209.B何以包邮?
c语言·开发语言
caimouse2 小时前
ReactOS 窗口系统分析(13):滚动条 — scrollbar.c + scrollex.c
c语言·开发语言·reactos
Sagittarius_A*2 小时前
【好靶场】PHP反序列化入门练习2
开发语言·web安全·信息安全·php·代码审计·反序列化