1. 核心范式转移 (The Paradigm Shift)
别再想着“写”程序,开始学着“训”程序。
| 维度 | Software 1.0 (旧世界) | Software 2.0 (新世界) |
|---|---|---|
| 核心资产 | 源代码 (Source Code) | 数据集 & 评价标准 (Data & Evals) |
| 编程语言 | Python, C++, Java | English (Prompts) & Python (Glue) |
| 开发动作 | 编写逻辑 (Writing Logic) | 约束搜索空间 (Constraining Search) |
| 调试 (Debug) | 查 Stack Trace,读日志 | 查 Bad Case,洗数据,修评价指标 |
| 性能瓶颈 | 算法复杂度 (Big O) | 数据质量 & 模型推理成本 |
| 成功关键 | 逻辑闭环,无 Bug | 概率逼近,容错设计 |
2. 新技术栈 (The New Stack)
Software 2.0 的基础设施层级。
-
L0: 计算层 (The Brain)
- Foundation Models: GPT-4, Claude 3.5 (聪明但贵); Llama-3, Qwen (便宜且快)。
- 原则: 永远不要只依赖一家模型商。设计时要考虑“模型无关性”。
-
L1: 记忆层 (The Context)
- Vector Database: Pinecone, Milvus, Weaviate (长短期记忆)。
- Graph Database: Neo4j (知识图谱,用于增强逻辑关联)。
-
L2: 编译层 (The Compiler)
- Prompt Optimizers: DSPy, TextGrad. (不要手写 Prompt,让算法帮你写)。
-
L3: 编排层 (The OS)
- Orchestration: LangChain, LlamaIndex (胶水层)。
- Agent Frameworks: LangGraph, AutoGen, MetaGPT (多智能体组织)。
-
L4: 质检层 (The Judge)
- Evaluation: Ragas, DeepEval, Arize Phoenix. (自动化阅卷)。
- 原则: 没有 Evaluation 就没有上线。
3. 开发工作流 (The 2.0 Lifecycle)
从“编写-编译-测试”进化为“定义-数据-优化”。
4. 关键设计模式 (Design Patterns)
把概率装进笼子里。
-
防御性护栏 (Guardrails):
- 📥 Input: 拒绝注入攻击、无关话题。
- 📤 Output: 拒绝幻觉、有害内容。
- 🛠️ 工具: NeMo Guardrails, Guardrails AI.
-
模型级联 (Model Cascade / FrugalGPT):
先用缓存 -> 再用小模型 -> 搞不定才用 GPT-4。
目的: 降本增效。 -
思维链 (Chain of Thought):
强制模型在回答前生成
<thought>。
目的: 提升推理准确率。 -
工具反思 (ReAct / Self-Correction):
模型执行工具 -> 观察报错 -> 自动修正参数重试。
目的: 增强 Agent 鲁棒性。 -
结构化输出 (Structured Output):
强制 JSON Schema。
目的: 方便代码解析,防止系统崩溃。
5. 黄金法则 (The Golden Rules)
Rule #1: 数据即代码 (Data is Code).
如果模型表现不好,别急着改 Prompt,先看你的 Few-Shot 例子是不是烂的。在 Software 2.0 中,清理数据就是重构代码。
Rule #2: 建立评估体系是第一要务 (Evaluation First).
如果你不能量化“好”是什么,你就无法优化它。在写第一行 RAG 代码前,先写好 50 个测试问答对。
Rule #3: 别信模型 (Trust No Model).
假设模型一定会产生幻觉。用 RAG 约束知识范围,用 Code Interpreter 执行数学计算,用 Guardrails 过滤输出。
Rule #4: 保持模块化 (Stay Modular).
别把所有逻辑塞进一个 2000 字的 System Prompt。拆分成多个小的 Agent 或 Chain,每个只做一件事,这叫“关注点分离”。