"YAML驱动(YAML-driven) "本质上是一种配置驱动开发模式,核心思想是:
把原本写在代码里的逻辑或参数,抽离到 YAML 配置文件中,通过修改配置来改变系统行为,而不是改代码。
一、YAML 是什么
YAML(YAML Ain't Markup Language)是一种人类可读的配置文件格式,常用于:
- 系统配置(Docker、K8s)
- AI应用配置(模型、Prompt、Agent)
- CI/CD 流程
示例:
yaml
model: gpt-4
temperature: 0.7
prompt: "你是一个客服助手"
二、什么叫"YAML驱动"
在"YAML驱动系统"里:
👉 程序逻辑 = 固定代码 + 可变配置(YAML)
也就是说:
| 传统方式 | YAML驱动 |
|---|---|
| 改行为 → 改代码 | 改行为 → 改配置 |
| 需要开发参与 | 产品/运营也能改 |
| 发布慢 | 调整快 |
三、在你截图里的含义(结合RAG/Agent场景)
你图里写的是:
- 模型
- Prompt
- Agent行为
- RAG策略
这些都可以用 YAML 配置,比如:
yaml
model:
name: gpt-4o
temperature: 0.3
prompt:
system: |
你是一个专业客服,回答要简洁
agent:
tools:
- search
- calculator
rag:
top_k: 5
vector_db: chroma
👉 系统运行时会读取这个 YAML,然后动态决定:
- 用哪个模型
- 怎么写提示词
- 是否调用工具
- 检索多少条知识
四、为什么现在AI系统特别强调 YAML驱动
在 RAG / Agent / LLM应用 里,变化非常频繁:
- Prompt 要天天调
- 模型随时切
- 策略不断优化
如果写死在代码里 → 开发成本爆炸
所以 YAML驱动的优势很明显:
1. 解耦(Decoupling)
配置 ≠ 代码
AI策略可以独立迭代
2. 快速试错
改 YAML → 立即生效(甚至热更新)
3. 非工程人员可参与
产品经理 / 运营也能调 Prompt
4. 更适合复杂系统(特别是RAG)
比如:
- 不同场景不同 Prompt
- 不同用户不同策略
- 多模型切换
五、通俗理解一句话
👉 YAML驱动 = 用"配置文件"控制系统行为,而不是改程序代码
六、什么时候你应该用 YAML驱动
如果你的项目有这些特征,强烈建议用:
- 有 Prompt 调优需求
- 有 RAG 检索策略
- 有多模型切换
- Agent 行为复杂
- 需要频繁调整