提示词工程 (Prompt Engineering) 已死:未来属于“模型路由”与“流程编排”

Dr. Ethan Wright
2025-12-09
← 返回列表
# 提示词工程 (Prompt Engineering) 已死:未来属于“模型路由”与“流程编排” **发布日期:** 2026年4月 | **作者:** 明见万川 AI 实验室 | **分类:** Agent, AI 架构 > **摘要**: > 2023年,我们像炼金术士一样,在 Prompt 里小心翼翼地加入“深呼吸”、“一步步思考”等魔法咒语,试图让 GPT-4 变得更聪明。 > 2025年,这种手动微调 Prompt 的做法正在变得不可持续。随着 **DSPy** 的出现和 **Agentic Workflows** 的普及,AI 开发的重心已经从“如何跟模型聊天”转移到了“如何设计系统架构”。 > 本文将论证:**提示词工程作为一门手艺(Craft)正在消亡,但作为一门工程(Engineering)正在重生。** --- ## 一、 为什么手动写 Prompt 是一条死胡同? 如果你维护过一个复杂的 RAG 系统,你一定经历过这种崩溃: 1. 你精心调教了一个 Prompt,让 GPT-4 完美回答了 A 类问题。 2. 为了修复 B 类问题的 Bug,你修改了 Prompt 的一句话。 3. 结果,A 类问题的回答突然崩了(Regression)。 4. 即使是同样的 Prompt,换成 Claude 3 或 Llama 3 后,效果完全不同。 这种**“脆弱性”**和**“不可迁移性”**,注定了手动 Prompt Engineering 无法支撑大规模的企业级应用。我们需要将 Prompt 视为**模型权重**的一部分,让算法去自动优化它,而不是人类。 --- ## 二、 救世主 DSPy:从“写作文”到“写代码” 斯坦福大学推出的 **DSPy (Declarative Self-improving Language Programs)** 框架,彻底改变了这一现状。 ### 2.1 核心理念 DSPy 的核心思想是:**你只需要定义“输入”和“输出”的签名(Signature),中间的 Prompt 长什么样,让 DSPy 里的“优化器(Optimizer)”通过少样本学习(Few-Shot)自己去编译出来。** 这就像 PyTorch:你定义神经网络层,PyTorch 帮你通过反向传播更新权重。在 DSPy 里,Prompt 就是权重。 ### 2.2 代码实战:用 DSPy 重构 RAG 看看这段 Python 代码,你会发现**完全没有 Prompt 字符串**: ```python import dspy # 1. 定义签名 (Signature):告诉 DSPy 你想要什么 class GenerateAnswer(dspy.Signature): """根据上下文回答问题,答案要简练。""" context = dspy.InputField(desc="可能会包含相关事实的文档片段") question = dspy.InputField() answer = dspy.OutputField(desc="针对问题的回答,少于50字") # 2. 定义模块 (Module):类似于 PyTorch 的 nn.Module class RAG(dspy.Module): def __init__(self, num_passages=3): super().__init__() self.retrieve = dspy.Retrieve(k=num_passages) self.generate_answer = dspy.ChainOfThought(GenerateAnswer) # 自动应用思维链 def forward(self, question): context = self.retrieve(question).passages prediction = self.generate_answer(context=context, question=question) return dspy.Prediction(context=context, answer=prediction.answer) # 3. 编译 (Compile):这一步是魔法发生的地方 # Teleprompter 会自动尝试不同的 Prompt 组合,利用训练集数据, # 选出效果最好的那个 Prompt(可能包含你意想不到的 Few-Shot 示例) from dspy.teleprompt import BootstrapFewShot teleprompter = BootstrapFewShot(metric=dspy.evaluate.answer_exact_match) compiled_rag = teleprompter.compile(RAG(), trainset=my_dataset) ``` **结果**:当模型升级(例如从 GPT-3.5 换到 GPT-4)时,你不需要重写 Prompt,只需要重新运行 `compile()`。 --- ## 三、 Agentic Workflows:吴恩达眼中的未来 除了 Prompt 的自动化,另一个趋势是 **Agentic Workflows(智能体工作流)**。 吴恩达(Andrew Ng)曾指出:**“GPT-3.5 + 良好的 Agent 工作流,效果往往优于 GPT-4 直接回答。”** ### 3.1 四种核心设计模式 (Design Patterns) 1. **反思 (Reflection)**: 让模型先生成草稿,然后自己批评自己:“这段代码有 Bug 吗?”,最后根据批评修改草稿。 * *效果*:代码生成准确率大幅提升。 2. **工具使用 (Tool Use)**: 模型不只是回答,还能调用 Google Search、Python 解释器、数据库查询。 3. **规划 (Planning)**: 模型将复杂任务(“写一个贪吃蛇游戏”)拆解为子任务(“写UI”、“写逻辑”、“写控制”),并按顺序执行。 4. **多智能体协作 (Multi-agent Collaboration)**: 扮演“产品经理”的 Agent 写需求,扮演“程序员”的 Agent 写代码,扮演“测试”的 Agent 找 Bug。 ### 3.2 编排工具:LangGraph 要实现这种复杂的循环和状态管理,传统的 LangChain 线性链条已经不够用了。我们需要 **LangGraph** 这样的图编排工具。 ```python from langgraph.graph import StateGraph, END # 定义状态 class AgentState(TypedDict): messages: Annotated[Sequence[BaseMessage], operator.add] # 定义节点 def planner_node(state): # ... 生成计划 ... return {"messages": [plan]} def executor_node(state): # ... 执行代码 ... return {"messages": [result]} # 定义图 workflow = StateGraph(AgentState) workflow.add_node("planner", planner_node) workflow.add_node("executor", executor_node) # 定义边 (循环逻辑) workflow.set_entry_point("planner") workflow.add_edge("planner", "executor") workflow.add_conditional_edges( "executor", should_continue, # 判断函数:如果执行出错,回退给 planner;如果成功,结束 { "continue": "planner", "end": END } ) app = workflow.compile() ``` --- ## 四、 模型路由 (Model Routing):经济学与智能的平衡 在 Agent 工作流中,不同的步骤需要不同的“智商”。 * **Router (路由器)**:使用极其便宜的模型(如 Claude 3 Haiku 或 微调过的 Llama-3-8B)来判断意图。 * **Planner (规划者)**:使用最高智商的模型(如 GPT-4o 或 Claude 3.5 Sonnet)来进行任务拆解。 * **Worker (搬砖者)**:使用中等模型(如 GPT-3.5 Turbo)来执行具体的代码补全或文本扩写。 通过**模型路由**,我们可以在保持系统整体智商上限的同时,将成本降低 60% 以上。 --- ## 五、 MJMatrix 的技术雷达 在 MJMatrix 的技术演进路线中,我们已经明确了方向: 1. **De-emphasize Manual Prompting**:不再招聘专门的“提示词工程师”,转而培训全栈工程师使用 DSPy。 2. **Embrace Graphs**:所有的复杂业务逻辑,都从线性的 Chain 迁移到有环的 Graph (LangGraph) 上。 3. **Data-Driven**:建立自动化的评估集(Evaluation Set),让 Prompt 的优化变成一个基于指标(Metric-based)的自动化过程。 **Prompt Engineering 没有死,它只是变成了 System Engineering。** 以前我们在通过自然语言对模型进行“微操”,现在我们在通过代码对系统进行“编排”。这才是 AI 工程化的必经之路。
Dr. Ethan Wright

Dr. Ethan Wright

首席 AI 科学家

前 OpenAI 研究员,斯坦福博士。专注于 RAG 引擎底层架构与 LLMOps。

查看作者专栏 →