从 Prompt Engineering 到 Agent Engineering:开发范式的代际跃迁

摘要

AI 开发范式正在经历从 Prompt Engineering 到 Agent Engineering 的代际跃迁。本文系统分析四代 AI 开发范式的本质差异------从"调提示词"到"设计系统",从"优化单次输出"到"构建自主循环"。深入对比两种范式在思维模式、技能要求、工程实践和质量评估四个维度的区别,给出从 Prompt 工程师向 Agent 工程师转型的学习路径和技能树。面向已有 LLM 应用开发经验、希望向 Agent 方向进阶的开发者。

📌 版本声明:本文涉及的工具和框架以 2026 年 9 月版本为准。范式演进的理论框架长期有效,具体工具会随生态发展而更新。

文章目录

    • 摘要
    • 一、范式跃迁的背景
      • [1.1 一个常见的误解](#1.1 一个常见的误解)
      • [1.2 为什么 Prompt Engineering 不够用](#1.2 为什么 Prompt Engineering 不够用)
    • 二、四代范式的本质对比
      • [2.1 范式定义](#2.1 范式定义)
      • [2.2 思维模式的转变](#2.2 思维模式的转变)
      • [2.3 转变一:从线性到循环](#2.3 转变一:从线性到循环)
      • [2.4 转变二:从静态到动态](#2.4 转变二:从静态到动态)
      • [2.5 转变三:从单点到系统](#2.5 转变三:从单点到系统)
    • 三、技能树的转变
      • [3.1 Prompt 工程师的技能 vs Agent 工程师的技能](#3.1 Prompt 工程师的技能 vs Agent 工程师的技能)
      • [3.2 Agent 工程师的技能图谱](#3.2 Agent 工程师的技能图谱)
      • [3.3 学习路径建议](#3.3 学习路径建议)
    • 四、工程实践的对比
      • [4.1 开发流程对比](#4.1 开发流程对比)
      • [4.2 代码结构对比](#4.2 代码结构对比)
      • [4.3 质量评估对比](#4.3 质量评估对比)
    • 五、范式转变的行业信号
      • [5.1 招聘需求的变化](#5.1 招聘需求的变化)
      • [5.2 技术社区的信号](#5.2 技术社区的信号)
    • 六、转型的痛点与建议
      • [6.1 常见转型痛点](#6.1 常见转型痛点)
      • [6.2 转型路线图](#6.2 转型路线图)
    • 七、适用边界
      • [7.1 Agent Engineering 的适用场景](#7.1 Agent Engineering 的适用场景)
      • [7.2 不适合的场景](#7.2 不适合的场景)
      • [7.3 两种范式不是替代关系](#7.3 两种范式不是替代关系)
    • 八、总结
      • [8.1 核心观点](#8.1 核心观点)
      • [8.2 对开发者的影响](#8.2 对开发者的影响)
      • [8.3 下篇预告](#8.3 下篇预告)
    • 参考资料

图:从Prompt Engineering到Agent Engineering的演进路线图

一、范式跃迁的背景

1.1 一个常见的误解

"Agent 不就是写个好 Prompt 再接几个工具吗?"

这是 2026 年最常见的 Agent 理解误区。持有这种观点的人通常的实践方式是:写一个很长的 System Prompt,定义一堆 Function,然后用一个 while 循环跑起来,就认为自己在做 Agent 工程了。

这种做法在 Demo 阶段确实能跑。但一到生产环境,问题就来了:

问题 Prompt Engineering 思路 Agent Engineering 思路
工具调错了 在 Prompt 里加更多说明 设计工具粒度和选择策略
Token 太贵 压缩 Prompt 设计上下文管理和模型路由
上下文太长 加大窗口 设计记忆分层和压缩策略
执行跑偏 在 Prompt 里加约束 设计规划-执行-反思循环
错误不恢复 在 Prompt 里说"失败了请重试" 设计错误分类和降级机制

核心区别:Prompt Engineering 试图用"更长的提示词"解决所有问题,Agent Engineering 用"系统设计"解决根本问题。

图:Prompt Engineering 在不同场景下的有效性边界

图:Prompt工程师与Agent工程师的技能树对比

1.2 为什么 Prompt Engineering 不够用

Prompt Engineering 的核心假设是:只要提示词写得足够好,模型就能输出足够好的结果

这个假设在单轮交互场景下基本成立------你确实可以通过优化 Prompt 让模型的一次性输出质量从 70 分提升到 90 分。

但在 Agent 场景下,这个假设失效了:
#mermaid-svg-wjUGmIJs0Dpj6sFV{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-wjUGmIJs0Dpj6sFV .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-wjUGmIJs0Dpj6sFV .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-wjUGmIJs0Dpj6sFV .error-icon{fill:#552222;}#mermaid-svg-wjUGmIJs0Dpj6sFV .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-wjUGmIJs0Dpj6sFV .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-wjUGmIJs0Dpj6sFV .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-wjUGmIJs0Dpj6sFV .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-wjUGmIJs0Dpj6sFV .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-wjUGmIJs0Dpj6sFV .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-wjUGmIJs0Dpj6sFV .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-wjUGmIJs0Dpj6sFV .marker{fill:#333333;stroke:#333333;}#mermaid-svg-wjUGmIJs0Dpj6sFV .marker.cross{stroke:#333333;}#mermaid-svg-wjUGmIJs0Dpj6sFV svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-wjUGmIJs0Dpj6sFV p{margin:0;}#mermaid-svg-wjUGmIJs0Dpj6sFV .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-wjUGmIJs0Dpj6sFV .cluster-label text{fill:#333;}#mermaid-svg-wjUGmIJs0Dpj6sFV .cluster-label span{color:#333;}#mermaid-svg-wjUGmIJs0Dpj6sFV .cluster-label span p{background-color:transparent;}#mermaid-svg-wjUGmIJs0Dpj6sFV .label text,#mermaid-svg-wjUGmIJs0Dpj6sFV span{fill:#333;color:#333;}#mermaid-svg-wjUGmIJs0Dpj6sFV .node rect,#mermaid-svg-wjUGmIJs0Dpj6sFV .node circle,#mermaid-svg-wjUGmIJs0Dpj6sFV .node ellipse,#mermaid-svg-wjUGmIJs0Dpj6sFV .node polygon,#mermaid-svg-wjUGmIJs0Dpj6sFV .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-wjUGmIJs0Dpj6sFV .rough-node .label text,#mermaid-svg-wjUGmIJs0Dpj6sFV .node .label text,#mermaid-svg-wjUGmIJs0Dpj6sFV .image-shape .label,#mermaid-svg-wjUGmIJs0Dpj6sFV .icon-shape .label{text-anchor:middle;}#mermaid-svg-wjUGmIJs0Dpj6sFV .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-wjUGmIJs0Dpj6sFV .rough-node .label,#mermaid-svg-wjUGmIJs0Dpj6sFV .node .label,#mermaid-svg-wjUGmIJs0Dpj6sFV .image-shape .label,#mermaid-svg-wjUGmIJs0Dpj6sFV .icon-shape .label{text-align:center;}#mermaid-svg-wjUGmIJs0Dpj6sFV .node.clickable{cursor:pointer;}#mermaid-svg-wjUGmIJs0Dpj6sFV .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-wjUGmIJs0Dpj6sFV .arrowheadPath{fill:#333333;}#mermaid-svg-wjUGmIJs0Dpj6sFV .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-wjUGmIJs0Dpj6sFV .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-wjUGmIJs0Dpj6sFV .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-wjUGmIJs0Dpj6sFV .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-wjUGmIJs0Dpj6sFV .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-wjUGmIJs0Dpj6sFV .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-wjUGmIJs0Dpj6sFV .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-wjUGmIJs0Dpj6sFV .cluster text{fill:#333;}#mermaid-svg-wjUGmIJs0Dpj6sFV .cluster span{color:#333;}#mermaid-svg-wjUGmIJs0Dpj6sFV div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-wjUGmIJs0Dpj6sFV .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-wjUGmIJs0Dpj6sFV rect.text{fill:none;stroke-width:0;}#mermaid-svg-wjUGmIJs0Dpj6sFV .icon-shape,#mermaid-svg-wjUGmIJs0Dpj6sFV .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-wjUGmIJs0Dpj6sFV .icon-shape p,#mermaid-svg-wjUGmIJs0Dpj6sFV .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-wjUGmIJs0Dpj6sFV .icon-shape .label rect,#mermaid-svg-wjUGmIJs0Dpj6sFV .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-wjUGmIJs0Dpj6sFV .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-wjUGmIJs0Dpj6sFV .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-wjUGmIJs0Dpj6sFV :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 是
不够
单轮交互场景
Prompt Engineering

有效吗?
✅ 提示词优化

可以提升输出质量
多轮Agent场景
Prompt Engineering

够用吗?
❌ 系统设计问题

无法通过提示词解决
上下文管理
错误恢复
成本控制
多步协调
记忆策略

图:Prompt Engineering 在不同场景下的有效性边界

Agent 场景的本质变化是:系统从"单次输入→单次输出"变成了"多步输入→多步输出→多步反馈"的循环系统。循环系统的行为不能仅靠输入端(Prompt)控制,还需要系统设计层面的架构控制。


二、四代范式的本质对比

2.1 范式定义

代际 范式名称 核心动作 优化目标 开发单元
第一代 Prompt Engineering 优化提示词 单次输出质量 一段 Prompt
第二代 RAG Engineering 构建检索管道 知识准确性 检索+生成 Pipeline
第三代 Function Engineering 设计工具接口 工具调用可靠性 工具+调用逻辑
第四代 Agent Engineering 设计系统架构 多步任务完成率 完整的 Agent 系统

2.2 思维模式的转变

#mermaid-svg-4670gZuLMFNFzHhm{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-4670gZuLMFNFzHhm .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-4670gZuLMFNFzHhm .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-4670gZuLMFNFzHhm .error-icon{fill:#552222;}#mermaid-svg-4670gZuLMFNFzHhm .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-4670gZuLMFNFzHhm .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-4670gZuLMFNFzHhm .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-4670gZuLMFNFzHhm .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-4670gZuLMFNFzHhm .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-4670gZuLMFNFzHhm .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-4670gZuLMFNFzHhm .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-4670gZuLMFNFzHhm .marker{fill:#333333;stroke:#333333;}#mermaid-svg-4670gZuLMFNFzHhm .marker.cross{stroke:#333333;}#mermaid-svg-4670gZuLMFNFzHhm svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-4670gZuLMFNFzHhm p{margin:0;}#mermaid-svg-4670gZuLMFNFzHhm .edge{stroke-width:3;}#mermaid-svg-4670gZuLMFNFzHhm .section--1 rect,#mermaid-svg-4670gZuLMFNFzHhm .section--1 path,#mermaid-svg-4670gZuLMFNFzHhm .section--1 circle,#mermaid-svg-4670gZuLMFNFzHhm .section--1 polygon,#mermaid-svg-4670gZuLMFNFzHhm .section--1 path{fill:hsl(240, 100%, 76.2745098039%);}#mermaid-svg-4670gZuLMFNFzHhm .section--1 text{fill:#ffffff;}#mermaid-svg-4670gZuLMFNFzHhm .node-icon--1{font-size:40px;color:#ffffff;}#mermaid-svg-4670gZuLMFNFzHhm .section-edge--1{stroke:hsl(240, 100%, 76.2745098039%);}#mermaid-svg-4670gZuLMFNFzHhm .edge-depth--1{stroke-width:17;}#mermaid-svg-4670gZuLMFNFzHhm .section--1 line{stroke:hsl(60, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-4670gZuLMFNFzHhm .disabled,#mermaid-svg-4670gZuLMFNFzHhm .disabled circle,#mermaid-svg-4670gZuLMFNFzHhm .disabled text{fill:lightgray;}#mermaid-svg-4670gZuLMFNFzHhm .disabled text{fill:#efefef;}#mermaid-svg-4670gZuLMFNFzHhm .section-0 rect,#mermaid-svg-4670gZuLMFNFzHhm .section-0 path,#mermaid-svg-4670gZuLMFNFzHhm .section-0 circle,#mermaid-svg-4670gZuLMFNFzHhm .section-0 polygon,#mermaid-svg-4670gZuLMFNFzHhm .section-0 path{fill:hsl(60, 100%, 73.5294117647%);}#mermaid-svg-4670gZuLMFNFzHhm .section-0 text{fill:black;}#mermaid-svg-4670gZuLMFNFzHhm .node-icon-0{font-size:40px;color:black;}#mermaid-svg-4670gZuLMFNFzHhm .section-edge-0{stroke:hsl(60, 100%, 73.5294117647%);}#mermaid-svg-4670gZuLMFNFzHhm .edge-depth-0{stroke-width:14;}#mermaid-svg-4670gZuLMFNFzHhm .section-0 line{stroke:hsl(240, 100%, 83.5294117647%);stroke-width:3;}#mermaid-svg-4670gZuLMFNFzHhm .disabled,#mermaid-svg-4670gZuLMFNFzHhm .disabled circle,#mermaid-svg-4670gZuLMFNFzHhm .disabled text{fill:lightgray;}#mermaid-svg-4670gZuLMFNFzHhm .disabled text{fill:#efefef;}#mermaid-svg-4670gZuLMFNFzHhm .section-1 rect,#mermaid-svg-4670gZuLMFNFzHhm .section-1 path,#mermaid-svg-4670gZuLMFNFzHhm .section-1 circle,#mermaid-svg-4670gZuLMFNFzHhm .section-1 polygon,#mermaid-svg-4670gZuLMFNFzHhm .section-1 path{fill:hsl(80, 100%, 76.2745098039%);}#mermaid-svg-4670gZuLMFNFzHhm .section-1 text{fill:black;}#mermaid-svg-4670gZuLMFNFzHhm .node-icon-1{font-size:40px;color:black;}#mermaid-svg-4670gZuLMFNFzHhm .section-edge-1{stroke:hsl(80, 100%, 76.2745098039%);}#mermaid-svg-4670gZuLMFNFzHhm .edge-depth-1{stroke-width:11;}#mermaid-svg-4670gZuLMFNFzHhm .section-1 line{stroke:hsl(260, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-4670gZuLMFNFzHhm .disabled,#mermaid-svg-4670gZuLMFNFzHhm .disabled circle,#mermaid-svg-4670gZuLMFNFzHhm .disabled text{fill:lightgray;}#mermaid-svg-4670gZuLMFNFzHhm .disabled text{fill:#efefef;}#mermaid-svg-4670gZuLMFNFzHhm .section-2 rect,#mermaid-svg-4670gZuLMFNFzHhm .section-2 path,#mermaid-svg-4670gZuLMFNFzHhm .section-2 circle,#mermaid-svg-4670gZuLMFNFzHhm .section-2 polygon,#mermaid-svg-4670gZuLMFNFzHhm .section-2 path{fill:hsl(270, 100%, 76.2745098039%);}#mermaid-svg-4670gZuLMFNFzHhm .section-2 text{fill:#ffffff;}#mermaid-svg-4670gZuLMFNFzHhm .node-icon-2{font-size:40px;color:#ffffff;}#mermaid-svg-4670gZuLMFNFzHhm .section-edge-2{stroke:hsl(270, 100%, 76.2745098039%);}#mermaid-svg-4670gZuLMFNFzHhm .edge-depth-2{stroke-width:8;}#mermaid-svg-4670gZuLMFNFzHhm .section-2 line{stroke:hsl(90, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-4670gZuLMFNFzHhm .disabled,#mermaid-svg-4670gZuLMFNFzHhm .disabled circle,#mermaid-svg-4670gZuLMFNFzHhm .disabled text{fill:lightgray;}#mermaid-svg-4670gZuLMFNFzHhm .disabled text{fill:#efefef;}#mermaid-svg-4670gZuLMFNFzHhm .section-3 rect,#mermaid-svg-4670gZuLMFNFzHhm .section-3 path,#mermaid-svg-4670gZuLMFNFzHhm .section-3 circle,#mermaid-svg-4670gZuLMFNFzHhm .section-3 polygon,#mermaid-svg-4670gZuLMFNFzHhm .section-3 path{fill:hsl(300, 100%, 76.2745098039%);}#mermaid-svg-4670gZuLMFNFzHhm .section-3 text{fill:black;}#mermaid-svg-4670gZuLMFNFzHhm .node-icon-3{font-size:40px;color:black;}#mermaid-svg-4670gZuLMFNFzHhm .section-edge-3{stroke:hsl(300, 100%, 76.2745098039%);}#mermaid-svg-4670gZuLMFNFzHhm .edge-depth-3{stroke-width:5;}#mermaid-svg-4670gZuLMFNFzHhm .section-3 line{stroke:hsl(120, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-4670gZuLMFNFzHhm .disabled,#mermaid-svg-4670gZuLMFNFzHhm .disabled circle,#mermaid-svg-4670gZuLMFNFzHhm .disabled text{fill:lightgray;}#mermaid-svg-4670gZuLMFNFzHhm .disabled text{fill:#efefef;}#mermaid-svg-4670gZuLMFNFzHhm .section-4 rect,#mermaid-svg-4670gZuLMFNFzHhm .section-4 path,#mermaid-svg-4670gZuLMFNFzHhm .section-4 circle,#mermaid-svg-4670gZuLMFNFzHhm .section-4 polygon,#mermaid-svg-4670gZuLMFNFzHhm .section-4 path{fill:hsl(330, 100%, 76.2745098039%);}#mermaid-svg-4670gZuLMFNFzHhm .section-4 text{fill:black;}#mermaid-svg-4670gZuLMFNFzHhm .node-icon-4{font-size:40px;color:black;}#mermaid-svg-4670gZuLMFNFzHhm .section-edge-4{stroke:hsl(330, 100%, 76.2745098039%);}#mermaid-svg-4670gZuLMFNFzHhm .edge-depth-4{stroke-width:2;}#mermaid-svg-4670gZuLMFNFzHhm .section-4 line{stroke:hsl(150, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-4670gZuLMFNFzHhm .disabled,#mermaid-svg-4670gZuLMFNFzHhm .disabled circle,#mermaid-svg-4670gZuLMFNFzHhm .disabled text{fill:lightgray;}#mermaid-svg-4670gZuLMFNFzHhm .disabled text{fill:#efefef;}#mermaid-svg-4670gZuLMFNFzHhm .section-5 rect,#mermaid-svg-4670gZuLMFNFzHhm .section-5 path,#mermaid-svg-4670gZuLMFNFzHhm .section-5 circle,#mermaid-svg-4670gZuLMFNFzHhm .section-5 polygon,#mermaid-svg-4670gZuLMFNFzHhm .section-5 path{fill:hsl(0, 100%, 76.2745098039%);}#mermaid-svg-4670gZuLMFNFzHhm .section-5 text{fill:black;}#mermaid-svg-4670gZuLMFNFzHhm .node-icon-5{font-size:40px;color:black;}#mermaid-svg-4670gZuLMFNFzHhm .section-edge-5{stroke:hsl(0, 100%, 76.2745098039%);}#mermaid-svg-4670gZuLMFNFzHhm .edge-depth-5{stroke-width:-1;}#mermaid-svg-4670gZuLMFNFzHhm .section-5 line{stroke:hsl(180, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-4670gZuLMFNFzHhm .disabled,#mermaid-svg-4670gZuLMFNFzHhm .disabled circle,#mermaid-svg-4670gZuLMFNFzHhm .disabled text{fill:lightgray;}#mermaid-svg-4670gZuLMFNFzHhm .disabled text{fill:#efefef;}#mermaid-svg-4670gZuLMFNFzHhm .section-6 rect,#mermaid-svg-4670gZuLMFNFzHhm .section-6 path,#mermaid-svg-4670gZuLMFNFzHhm .section-6 circle,#mermaid-svg-4670gZuLMFNFzHhm .section-6 polygon,#mermaid-svg-4670gZuLMFNFzHhm .section-6 path{fill:hsl(30, 100%, 76.2745098039%);}#mermaid-svg-4670gZuLMFNFzHhm .section-6 text{fill:black;}#mermaid-svg-4670gZuLMFNFzHhm .node-icon-6{font-size:40px;color:black;}#mermaid-svg-4670gZuLMFNFzHhm .section-edge-6{stroke:hsl(30, 100%, 76.2745098039%);}#mermaid-svg-4670gZuLMFNFzHhm .edge-depth-6{stroke-width:-4;}#mermaid-svg-4670gZuLMFNFzHhm .section-6 line{stroke:hsl(210, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-4670gZuLMFNFzHhm .disabled,#mermaid-svg-4670gZuLMFNFzHhm .disabled circle,#mermaid-svg-4670gZuLMFNFzHhm .disabled text{fill:lightgray;}#mermaid-svg-4670gZuLMFNFzHhm .disabled text{fill:#efefef;}#mermaid-svg-4670gZuLMFNFzHhm .section-7 rect,#mermaid-svg-4670gZuLMFNFzHhm .section-7 path,#mermaid-svg-4670gZuLMFNFzHhm .section-7 circle,#mermaid-svg-4670gZuLMFNFzHhm .section-7 polygon,#mermaid-svg-4670gZuLMFNFzHhm .section-7 path{fill:hsl(90, 100%, 76.2745098039%);}#mermaid-svg-4670gZuLMFNFzHhm .section-7 text{fill:black;}#mermaid-svg-4670gZuLMFNFzHhm .node-icon-7{font-size:40px;color:black;}#mermaid-svg-4670gZuLMFNFzHhm .section-edge-7{stroke:hsl(90, 100%, 76.2745098039%);}#mermaid-svg-4670gZuLMFNFzHhm .edge-depth-7{stroke-width:-7;}#mermaid-svg-4670gZuLMFNFzHhm .section-7 line{stroke:hsl(270, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-4670gZuLMFNFzHhm .disabled,#mermaid-svg-4670gZuLMFNFzHhm .disabled circle,#mermaid-svg-4670gZuLMFNFzHhm .disabled text{fill:lightgray;}#mermaid-svg-4670gZuLMFNFzHhm .disabled text{fill:#efefef;}#mermaid-svg-4670gZuLMFNFzHhm .section-8 rect,#mermaid-svg-4670gZuLMFNFzHhm .section-8 path,#mermaid-svg-4670gZuLMFNFzHhm .section-8 circle,#mermaid-svg-4670gZuLMFNFzHhm .section-8 polygon,#mermaid-svg-4670gZuLMFNFzHhm .section-8 path{fill:hsl(150, 100%, 76.2745098039%);}#mermaid-svg-4670gZuLMFNFzHhm .section-8 text{fill:black;}#mermaid-svg-4670gZuLMFNFzHhm .node-icon-8{font-size:40px;color:black;}#mermaid-svg-4670gZuLMFNFzHhm .section-edge-8{stroke:hsl(150, 100%, 76.2745098039%);}#mermaid-svg-4670gZuLMFNFzHhm .edge-depth-8{stroke-width:-10;}#mermaid-svg-4670gZuLMFNFzHhm .section-8 line{stroke:hsl(330, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-4670gZuLMFNFzHhm .disabled,#mermaid-svg-4670gZuLMFNFzHhm .disabled circle,#mermaid-svg-4670gZuLMFNFzHhm .disabled text{fill:lightgray;}#mermaid-svg-4670gZuLMFNFzHhm .disabled text{fill:#efefef;}#mermaid-svg-4670gZuLMFNFzHhm .section-9 rect,#mermaid-svg-4670gZuLMFNFzHhm .section-9 path,#mermaid-svg-4670gZuLMFNFzHhm .section-9 circle,#mermaid-svg-4670gZuLMFNFzHhm .section-9 polygon,#mermaid-svg-4670gZuLMFNFzHhm .section-9 path{fill:hsl(180, 100%, 76.2745098039%);}#mermaid-svg-4670gZuLMFNFzHhm .section-9 text{fill:black;}#mermaid-svg-4670gZuLMFNFzHhm .node-icon-9{font-size:40px;color:black;}#mermaid-svg-4670gZuLMFNFzHhm .section-edge-9{stroke:hsl(180, 100%, 76.2745098039%);}#mermaid-svg-4670gZuLMFNFzHhm .edge-depth-9{stroke-width:-13;}#mermaid-svg-4670gZuLMFNFzHhm .section-9 line{stroke:hsl(0, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-4670gZuLMFNFzHhm .disabled,#mermaid-svg-4670gZuLMFNFzHhm .disabled circle,#mermaid-svg-4670gZuLMFNFzHhm .disabled text{fill:lightgray;}#mermaid-svg-4670gZuLMFNFzHhm .disabled text{fill:#efefef;}#mermaid-svg-4670gZuLMFNFzHhm .section-10 rect,#mermaid-svg-4670gZuLMFNFzHhm .section-10 path,#mermaid-svg-4670gZuLMFNFzHhm .section-10 circle,#mermaid-svg-4670gZuLMFNFzHhm .section-10 polygon,#mermaid-svg-4670gZuLMFNFzHhm .section-10 path{fill:hsl(210, 100%, 76.2745098039%);}#mermaid-svg-4670gZuLMFNFzHhm .section-10 text{fill:black;}#mermaid-svg-4670gZuLMFNFzHhm .node-icon-10{font-size:40px;color:black;}#mermaid-svg-4670gZuLMFNFzHhm .section-edge-10{stroke:hsl(210, 100%, 76.2745098039%);}#mermaid-svg-4670gZuLMFNFzHhm .edge-depth-10{stroke-width:-16;}#mermaid-svg-4670gZuLMFNFzHhm .section-10 line{stroke:hsl(30, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-4670gZuLMFNFzHhm .disabled,#mermaid-svg-4670gZuLMFNFzHhm .disabled circle,#mermaid-svg-4670gZuLMFNFzHhm .disabled text{fill:lightgray;}#mermaid-svg-4670gZuLMFNFzHhm .disabled text{fill:#efefef;}#mermaid-svg-4670gZuLMFNFzHhm .section-root rect,#mermaid-svg-4670gZuLMFNFzHhm .section-root path,#mermaid-svg-4670gZuLMFNFzHhm .section-root circle,#mermaid-svg-4670gZuLMFNFzHhm .section-root polygon{fill:hsl(240, 100%, 46.2745098039%);}#mermaid-svg-4670gZuLMFNFzHhm .section-root text{fill:#ffffff;}#mermaid-svg-4670gZuLMFNFzHhm .section-root span{color:#ffffff;}#mermaid-svg-4670gZuLMFNFzHhm .section-2 span{color:#ffffff;}#mermaid-svg-4670gZuLMFNFzHhm .icon-container{height:100%;display:flex;justify-content:center;align-items:center;}#mermaid-svg-4670gZuLMFNFzHhm .edge{fill:none;}#mermaid-svg-4670gZuLMFNFzHhm .mindmap-node-label{dy:1em;alignment-baseline:middle;text-anchor:middle;dominant-baseline:middle;text-align:center;}#mermaid-svg-4670gZuLMFNFzHhm :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 范式转变
从线性到循环
Prompt: 输入→输出
Agent: 感知→规划→执行→反思→记忆
从静态到动态
Prompt: 固定提示词
Agent: 动态上下文+按需加载
从单点到系统
Prompt: 优化一个提示词
Agent: 设计一个系统
从手动到自主
Prompt: 人工编排步骤
Agent: Agent自主决策
从定性到定量
Prompt: "感觉输出变好了"
Agent: Eval流水线+指标体系

图:从 Prompt Engineering 到 Agent Engineering 的五大思维转变

下面逐一展开分析。

2.3 转变一:从线性到循环

Prompt Engineering 的核心是"输入→输出"的线性模式。你写一段 Prompt,模型返回一段输出,结束。

Agent Engineering 的核心是"感知→规划→执行→反思→记忆"的循环模式。Agent 不是"回答一次就结束",而是在一个循环中持续推进任务,每一步都会影响下一步的决策。

python 复制代码
# Prompt Engineering 模式
response = llm.chat(prompt="总结以下文章:...")
print(response)

# Agent Engineering 模式
agent = Agent(
    model=route_model(task_complexity),
    tools=load_tools(task_type),
    memory=MemorySystem(layers=["working", "session", "long_term"]),
    error_handler=ErrorHandler(retry=True, fallback=True),
)

while not task_complete:
    plan = agent.plan(current_state)      # 规划
    result = agent.execute(plan)          # 执行
    evaluation = agent.reflect(result)    # 反思
    agent.memory.update(result, evaluation)  # 记忆更新
    if evaluation.needs_replan:
        continue  # 重新规划
    task_complete = evaluation.is_done

两种模式的代码结构完全不同。Prompt Engineering 的代码是"一次调用",Agent Engineering 的代码是"一个循环系统"。

2.4 转变二:从静态到动态

Prompt Engineering 使用静态的、预定义的提示词。所有用户、所有场景看到同一个 Prompt。

Agent Engineering 使用动态的、按需加载的上下文。不同的任务类型加载不同的工具集,不同的用户加载不同的记忆,不同的复杂度路由到不同的模型。

python 复制代码
# 静态 Prompt
SYSTEM_PROMPT = "你是一个助手,请用中文回答问题。"

# 动态 Agent 上下文
def build_agent_context(user_id, task_type, complexity):
    """根据用户、任务类型、复杂度动态构建上下文"""
    tools = load_tools_by_type(task_type)  # 按类型加载工具
    user_prefs = load_user_preferences(user_id)  # 加载用户偏好
    model = route_model(complexity)  # 按复杂度选模型
    relevant_memories = retrieve_memories(user_id, task_type)  # 检索相关记忆
    
    return AgentContext(
        system_prompt=build_system_prompt(user_prefs, tools),
        tools=tools,
        model=model,
        memories=relevant_memories,
    )

2.5 转变三:从单点到系统

Prompt Engineering 的优化对象是"一段提示词"。你通过 A/B 测试不同 Prompt 的效果,选最好的。

Agent Engineering 的优化对象是"一个系统"。你需要同时优化模型选择、工具设计、记忆策略、错误处理、成本控制等多个维度。这些维度之间存在权衡关系------更长的记忆可能意味着更高的成本,更强的模型可能意味着更慢的响应。
#mermaid-svg-6L27rNQcC3KGahKy{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-6L27rNQcC3KGahKy .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-6L27rNQcC3KGahKy .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-6L27rNQcC3KGahKy .error-icon{fill:#552222;}#mermaid-svg-6L27rNQcC3KGahKy .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-6L27rNQcC3KGahKy .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-6L27rNQcC3KGahKy .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-6L27rNQcC3KGahKy .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-6L27rNQcC3KGahKy .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-6L27rNQcC3KGahKy .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-6L27rNQcC3KGahKy .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-6L27rNQcC3KGahKy .marker{fill:#333333;stroke:#333333;}#mermaid-svg-6L27rNQcC3KGahKy .marker.cross{stroke:#333333;}#mermaid-svg-6L27rNQcC3KGahKy svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-6L27rNQcC3KGahKy p{margin:0;}#mermaid-svg-6L27rNQcC3KGahKy .pieCircle{stroke:#000000;stroke-width:2px;opacity:0.7;}#mermaid-svg-6L27rNQcC3KGahKy .pieOuterCircle{stroke:#000000;stroke-width:1px;fill:none;}#mermaid-svg-6L27rNQcC3KGahKy .pieTitleText{text-anchor:middle;font-size:25px;fill:#000000;font-family:"trebuchet ms",verdana,arial,sans-serif;}#mermaid-svg-6L27rNQcC3KGahKy .slice{font-family:"trebuchet ms",verdana,arial,sans-serif;fill:#000000;font-size:17px;}#mermaid-svg-6L27rNQcC3KGahKy .legend text{fill:#000000;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:17px;}#mermaid-svg-6L27rNQcC3KGahKy :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 20% 15% 15% 15% 15% 10% 10% Agent Engineering 的优化维度占比 模型选择与路由 工具设计 记忆策略 错误处理 成本控制 Prompt 设计 监控评估

图:Agent Engineering 中各维度的优化精力分配

图:CSDN招聘数据中Prompt Engineer与Agent Engineer岗位数量变化

注意 Prompt 设计只占 10%------不是它不重要,而是它只占 Agent 工程的十分之一。在 Prompt Engineering 时代,这 100% 都是 Prompt 优化。


三、技能树的转变

3.1 Prompt 工程师的技能 vs Agent 工程师的技能

技能维度 Prompt Engineering Agent Engineering
核心能力 提示词设计与优化 系统架构设计
编程能力 基础(能调 API) 扎实(能写系统)
数据库 不需要 需要(记忆系统)
分布式 不需要 需要(多 Agent 部署)
运维 不需要 需要(监控、告警)
安全 基础(Prompt 注入) 系统级(沙箱、权限、审计)
评估 人工对比 自动化 Eval 流水线

3.2 Agent 工程师的技能图谱

#mermaid-svg-ioYatEVlQJbID5vV{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-ioYatEVlQJbID5vV .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-ioYatEVlQJbID5vV .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-ioYatEVlQJbID5vV .error-icon{fill:#552222;}#mermaid-svg-ioYatEVlQJbID5vV .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-ioYatEVlQJbID5vV .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-ioYatEVlQJbID5vV .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-ioYatEVlQJbID5vV .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-ioYatEVlQJbID5vV .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-ioYatEVlQJbID5vV .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-ioYatEVlQJbID5vV .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-ioYatEVlQJbID5vV .marker{fill:#333333;stroke:#333333;}#mermaid-svg-ioYatEVlQJbID5vV .marker.cross{stroke:#333333;}#mermaid-svg-ioYatEVlQJbID5vV svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-ioYatEVlQJbID5vV p{margin:0;}#mermaid-svg-ioYatEVlQJbID5vV .edge{stroke-width:3;}#mermaid-svg-ioYatEVlQJbID5vV .section--1 rect,#mermaid-svg-ioYatEVlQJbID5vV .section--1 path,#mermaid-svg-ioYatEVlQJbID5vV .section--1 circle,#mermaid-svg-ioYatEVlQJbID5vV .section--1 polygon,#mermaid-svg-ioYatEVlQJbID5vV .section--1 path{fill:hsl(240, 100%, 76.2745098039%);}#mermaid-svg-ioYatEVlQJbID5vV .section--1 text{fill:#ffffff;}#mermaid-svg-ioYatEVlQJbID5vV .node-icon--1{font-size:40px;color:#ffffff;}#mermaid-svg-ioYatEVlQJbID5vV .section-edge--1{stroke:hsl(240, 100%, 76.2745098039%);}#mermaid-svg-ioYatEVlQJbID5vV .edge-depth--1{stroke-width:17;}#mermaid-svg-ioYatEVlQJbID5vV .section--1 line{stroke:hsl(60, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-ioYatEVlQJbID5vV .disabled,#mermaid-svg-ioYatEVlQJbID5vV .disabled circle,#mermaid-svg-ioYatEVlQJbID5vV .disabled text{fill:lightgray;}#mermaid-svg-ioYatEVlQJbID5vV .disabled text{fill:#efefef;}#mermaid-svg-ioYatEVlQJbID5vV .section-0 rect,#mermaid-svg-ioYatEVlQJbID5vV .section-0 path,#mermaid-svg-ioYatEVlQJbID5vV .section-0 circle,#mermaid-svg-ioYatEVlQJbID5vV .section-0 polygon,#mermaid-svg-ioYatEVlQJbID5vV .section-0 path{fill:hsl(60, 100%, 73.5294117647%);}#mermaid-svg-ioYatEVlQJbID5vV .section-0 text{fill:black;}#mermaid-svg-ioYatEVlQJbID5vV .node-icon-0{font-size:40px;color:black;}#mermaid-svg-ioYatEVlQJbID5vV .section-edge-0{stroke:hsl(60, 100%, 73.5294117647%);}#mermaid-svg-ioYatEVlQJbID5vV .edge-depth-0{stroke-width:14;}#mermaid-svg-ioYatEVlQJbID5vV .section-0 line{stroke:hsl(240, 100%, 83.5294117647%);stroke-width:3;}#mermaid-svg-ioYatEVlQJbID5vV .disabled,#mermaid-svg-ioYatEVlQJbID5vV .disabled circle,#mermaid-svg-ioYatEVlQJbID5vV .disabled text{fill:lightgray;}#mermaid-svg-ioYatEVlQJbID5vV .disabled text{fill:#efefef;}#mermaid-svg-ioYatEVlQJbID5vV .section-1 rect,#mermaid-svg-ioYatEVlQJbID5vV .section-1 path,#mermaid-svg-ioYatEVlQJbID5vV .section-1 circle,#mermaid-svg-ioYatEVlQJbID5vV .section-1 polygon,#mermaid-svg-ioYatEVlQJbID5vV .section-1 path{fill:hsl(80, 100%, 76.2745098039%);}#mermaid-svg-ioYatEVlQJbID5vV .section-1 text{fill:black;}#mermaid-svg-ioYatEVlQJbID5vV .node-icon-1{font-size:40px;color:black;}#mermaid-svg-ioYatEVlQJbID5vV .section-edge-1{stroke:hsl(80, 100%, 76.2745098039%);}#mermaid-svg-ioYatEVlQJbID5vV .edge-depth-1{stroke-width:11;}#mermaid-svg-ioYatEVlQJbID5vV .section-1 line{stroke:hsl(260, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-ioYatEVlQJbID5vV .disabled,#mermaid-svg-ioYatEVlQJbID5vV .disabled circle,#mermaid-svg-ioYatEVlQJbID5vV .disabled text{fill:lightgray;}#mermaid-svg-ioYatEVlQJbID5vV .disabled text{fill:#efefef;}#mermaid-svg-ioYatEVlQJbID5vV .section-2 rect,#mermaid-svg-ioYatEVlQJbID5vV .section-2 path,#mermaid-svg-ioYatEVlQJbID5vV .section-2 circle,#mermaid-svg-ioYatEVlQJbID5vV .section-2 polygon,#mermaid-svg-ioYatEVlQJbID5vV .section-2 path{fill:hsl(270, 100%, 76.2745098039%);}#mermaid-svg-ioYatEVlQJbID5vV .section-2 text{fill:#ffffff;}#mermaid-svg-ioYatEVlQJbID5vV .node-icon-2{font-size:40px;color:#ffffff;}#mermaid-svg-ioYatEVlQJbID5vV .section-edge-2{stroke:hsl(270, 100%, 76.2745098039%);}#mermaid-svg-ioYatEVlQJbID5vV .edge-depth-2{stroke-width:8;}#mermaid-svg-ioYatEVlQJbID5vV .section-2 line{stroke:hsl(90, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-ioYatEVlQJbID5vV .disabled,#mermaid-svg-ioYatEVlQJbID5vV .disabled circle,#mermaid-svg-ioYatEVlQJbID5vV .disabled text{fill:lightgray;}#mermaid-svg-ioYatEVlQJbID5vV .disabled text{fill:#efefef;}#mermaid-svg-ioYatEVlQJbID5vV .section-3 rect,#mermaid-svg-ioYatEVlQJbID5vV .section-3 path,#mermaid-svg-ioYatEVlQJbID5vV .section-3 circle,#mermaid-svg-ioYatEVlQJbID5vV .section-3 polygon,#mermaid-svg-ioYatEVlQJbID5vV .section-3 path{fill:hsl(300, 100%, 76.2745098039%);}#mermaid-svg-ioYatEVlQJbID5vV .section-3 text{fill:black;}#mermaid-svg-ioYatEVlQJbID5vV .node-icon-3{font-size:40px;color:black;}#mermaid-svg-ioYatEVlQJbID5vV .section-edge-3{stroke:hsl(300, 100%, 76.2745098039%);}#mermaid-svg-ioYatEVlQJbID5vV .edge-depth-3{stroke-width:5;}#mermaid-svg-ioYatEVlQJbID5vV .section-3 line{stroke:hsl(120, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-ioYatEVlQJbID5vV .disabled,#mermaid-svg-ioYatEVlQJbID5vV .disabled circle,#mermaid-svg-ioYatEVlQJbID5vV .disabled text{fill:lightgray;}#mermaid-svg-ioYatEVlQJbID5vV .disabled text{fill:#efefef;}#mermaid-svg-ioYatEVlQJbID5vV .section-4 rect,#mermaid-svg-ioYatEVlQJbID5vV .section-4 path,#mermaid-svg-ioYatEVlQJbID5vV .section-4 circle,#mermaid-svg-ioYatEVlQJbID5vV .section-4 polygon,#mermaid-svg-ioYatEVlQJbID5vV .section-4 path{fill:hsl(330, 100%, 76.2745098039%);}#mermaid-svg-ioYatEVlQJbID5vV .section-4 text{fill:black;}#mermaid-svg-ioYatEVlQJbID5vV .node-icon-4{font-size:40px;color:black;}#mermaid-svg-ioYatEVlQJbID5vV .section-edge-4{stroke:hsl(330, 100%, 76.2745098039%);}#mermaid-svg-ioYatEVlQJbID5vV .edge-depth-4{stroke-width:2;}#mermaid-svg-ioYatEVlQJbID5vV .section-4 line{stroke:hsl(150, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-ioYatEVlQJbID5vV .disabled,#mermaid-svg-ioYatEVlQJbID5vV .disabled circle,#mermaid-svg-ioYatEVlQJbID5vV .disabled text{fill:lightgray;}#mermaid-svg-ioYatEVlQJbID5vV .disabled text{fill:#efefef;}#mermaid-svg-ioYatEVlQJbID5vV .section-5 rect,#mermaid-svg-ioYatEVlQJbID5vV .section-5 path,#mermaid-svg-ioYatEVlQJbID5vV .section-5 circle,#mermaid-svg-ioYatEVlQJbID5vV .section-5 polygon,#mermaid-svg-ioYatEVlQJbID5vV .section-5 path{fill:hsl(0, 100%, 76.2745098039%);}#mermaid-svg-ioYatEVlQJbID5vV .section-5 text{fill:black;}#mermaid-svg-ioYatEVlQJbID5vV .node-icon-5{font-size:40px;color:black;}#mermaid-svg-ioYatEVlQJbID5vV .section-edge-5{stroke:hsl(0, 100%, 76.2745098039%);}#mermaid-svg-ioYatEVlQJbID5vV .edge-depth-5{stroke-width:-1;}#mermaid-svg-ioYatEVlQJbID5vV .section-5 line{stroke:hsl(180, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-ioYatEVlQJbID5vV .disabled,#mermaid-svg-ioYatEVlQJbID5vV .disabled circle,#mermaid-svg-ioYatEVlQJbID5vV .disabled text{fill:lightgray;}#mermaid-svg-ioYatEVlQJbID5vV .disabled text{fill:#efefef;}#mermaid-svg-ioYatEVlQJbID5vV .section-6 rect,#mermaid-svg-ioYatEVlQJbID5vV .section-6 path,#mermaid-svg-ioYatEVlQJbID5vV .section-6 circle,#mermaid-svg-ioYatEVlQJbID5vV .section-6 polygon,#mermaid-svg-ioYatEVlQJbID5vV .section-6 path{fill:hsl(30, 100%, 76.2745098039%);}#mermaid-svg-ioYatEVlQJbID5vV .section-6 text{fill:black;}#mermaid-svg-ioYatEVlQJbID5vV .node-icon-6{font-size:40px;color:black;}#mermaid-svg-ioYatEVlQJbID5vV .section-edge-6{stroke:hsl(30, 100%, 76.2745098039%);}#mermaid-svg-ioYatEVlQJbID5vV .edge-depth-6{stroke-width:-4;}#mermaid-svg-ioYatEVlQJbID5vV .section-6 line{stroke:hsl(210, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-ioYatEVlQJbID5vV .disabled,#mermaid-svg-ioYatEVlQJbID5vV .disabled circle,#mermaid-svg-ioYatEVlQJbID5vV .disabled text{fill:lightgray;}#mermaid-svg-ioYatEVlQJbID5vV .disabled text{fill:#efefef;}#mermaid-svg-ioYatEVlQJbID5vV .section-7 rect,#mermaid-svg-ioYatEVlQJbID5vV .section-7 path,#mermaid-svg-ioYatEVlQJbID5vV .section-7 circle,#mermaid-svg-ioYatEVlQJbID5vV .section-7 polygon,#mermaid-svg-ioYatEVlQJbID5vV .section-7 path{fill:hsl(90, 100%, 76.2745098039%);}#mermaid-svg-ioYatEVlQJbID5vV .section-7 text{fill:black;}#mermaid-svg-ioYatEVlQJbID5vV .node-icon-7{font-size:40px;color:black;}#mermaid-svg-ioYatEVlQJbID5vV .section-edge-7{stroke:hsl(90, 100%, 76.2745098039%);}#mermaid-svg-ioYatEVlQJbID5vV .edge-depth-7{stroke-width:-7;}#mermaid-svg-ioYatEVlQJbID5vV .section-7 line{stroke:hsl(270, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-ioYatEVlQJbID5vV .disabled,#mermaid-svg-ioYatEVlQJbID5vV .disabled circle,#mermaid-svg-ioYatEVlQJbID5vV .disabled text{fill:lightgray;}#mermaid-svg-ioYatEVlQJbID5vV .disabled text{fill:#efefef;}#mermaid-svg-ioYatEVlQJbID5vV .section-8 rect,#mermaid-svg-ioYatEVlQJbID5vV .section-8 path,#mermaid-svg-ioYatEVlQJbID5vV .section-8 circle,#mermaid-svg-ioYatEVlQJbID5vV .section-8 polygon,#mermaid-svg-ioYatEVlQJbID5vV .section-8 path{fill:hsl(150, 100%, 76.2745098039%);}#mermaid-svg-ioYatEVlQJbID5vV .section-8 text{fill:black;}#mermaid-svg-ioYatEVlQJbID5vV .node-icon-8{font-size:40px;color:black;}#mermaid-svg-ioYatEVlQJbID5vV .section-edge-8{stroke:hsl(150, 100%, 76.2745098039%);}#mermaid-svg-ioYatEVlQJbID5vV .edge-depth-8{stroke-width:-10;}#mermaid-svg-ioYatEVlQJbID5vV .section-8 line{stroke:hsl(330, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-ioYatEVlQJbID5vV .disabled,#mermaid-svg-ioYatEVlQJbID5vV .disabled circle,#mermaid-svg-ioYatEVlQJbID5vV .disabled text{fill:lightgray;}#mermaid-svg-ioYatEVlQJbID5vV .disabled text{fill:#efefef;}#mermaid-svg-ioYatEVlQJbID5vV .section-9 rect,#mermaid-svg-ioYatEVlQJbID5vV .section-9 path,#mermaid-svg-ioYatEVlQJbID5vV .section-9 circle,#mermaid-svg-ioYatEVlQJbID5vV .section-9 polygon,#mermaid-svg-ioYatEVlQJbID5vV .section-9 path{fill:hsl(180, 100%, 76.2745098039%);}#mermaid-svg-ioYatEVlQJbID5vV .section-9 text{fill:black;}#mermaid-svg-ioYatEVlQJbID5vV .node-icon-9{font-size:40px;color:black;}#mermaid-svg-ioYatEVlQJbID5vV .section-edge-9{stroke:hsl(180, 100%, 76.2745098039%);}#mermaid-svg-ioYatEVlQJbID5vV .edge-depth-9{stroke-width:-13;}#mermaid-svg-ioYatEVlQJbID5vV .section-9 line{stroke:hsl(0, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-ioYatEVlQJbID5vV .disabled,#mermaid-svg-ioYatEVlQJbID5vV .disabled circle,#mermaid-svg-ioYatEVlQJbID5vV .disabled text{fill:lightgray;}#mermaid-svg-ioYatEVlQJbID5vV .disabled text{fill:#efefef;}#mermaid-svg-ioYatEVlQJbID5vV .section-10 rect,#mermaid-svg-ioYatEVlQJbID5vV .section-10 path,#mermaid-svg-ioYatEVlQJbID5vV .section-10 circle,#mermaid-svg-ioYatEVlQJbID5vV .section-10 polygon,#mermaid-svg-ioYatEVlQJbID5vV .section-10 path{fill:hsl(210, 100%, 76.2745098039%);}#mermaid-svg-ioYatEVlQJbID5vV .section-10 text{fill:black;}#mermaid-svg-ioYatEVlQJbID5vV .node-icon-10{font-size:40px;color:black;}#mermaid-svg-ioYatEVlQJbID5vV .section-edge-10{stroke:hsl(210, 100%, 76.2745098039%);}#mermaid-svg-ioYatEVlQJbID5vV .edge-depth-10{stroke-width:-16;}#mermaid-svg-ioYatEVlQJbID5vV .section-10 line{stroke:hsl(30, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-ioYatEVlQJbID5vV .disabled,#mermaid-svg-ioYatEVlQJbID5vV .disabled circle,#mermaid-svg-ioYatEVlQJbID5vV .disabled text{fill:lightgray;}#mermaid-svg-ioYatEVlQJbID5vV .disabled text{fill:#efefef;}#mermaid-svg-ioYatEVlQJbID5vV .section-root rect,#mermaid-svg-ioYatEVlQJbID5vV .section-root path,#mermaid-svg-ioYatEVlQJbID5vV .section-root circle,#mermaid-svg-ioYatEVlQJbID5vV .section-root polygon{fill:hsl(240, 100%, 46.2745098039%);}#mermaid-svg-ioYatEVlQJbID5vV .section-root text{fill:#ffffff;}#mermaid-svg-ioYatEVlQJbID5vV .section-root span{color:#ffffff;}#mermaid-svg-ioYatEVlQJbID5vV .section-2 span{color:#ffffff;}#mermaid-svg-ioYatEVlQJbID5vV .icon-container{height:100%;display:flex;justify-content:center;align-items:center;}#mermaid-svg-ioYatEVlQJbID5vV .edge{fill:none;}#mermaid-svg-ioYatEVlQJbID5vV .mindmap-node-label{dy:1em;alignment-baseline:middle;text-anchor:middle;dominant-baseline:middle;text-align:center;}#mermaid-svg-ioYatEVlQJbID5vV :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} Agent 工程师

技能树
基础能力
Python/JS 编程
LLM API 调用
Prompt 设计
Function Calling
架构能力
系统设计
多Agent编排
状态管理
错误处理
数据能力
向量数据库
RAG 管道设计
数据清洗
知识图谱
运维能力
监控告警
成本优化
高可用部署
日志分析
安全能力
沙箱执行
权限设计
审计日志
注入防御
评估能力
Eval 框架
A/B 测试
质量指标
回归测试

图:Agent 工程师的完整技能图谱

3.3 学习路径建议

#mermaid-svg-f5DskZXRq9xYgTcW{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-f5DskZXRq9xYgTcW .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-f5DskZXRq9xYgTcW .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-f5DskZXRq9xYgTcW .error-icon{fill:#552222;}#mermaid-svg-f5DskZXRq9xYgTcW .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-f5DskZXRq9xYgTcW .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-f5DskZXRq9xYgTcW .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-f5DskZXRq9xYgTcW .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-f5DskZXRq9xYgTcW .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-f5DskZXRq9xYgTcW .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-f5DskZXRq9xYgTcW .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-f5DskZXRq9xYgTcW .marker{fill:#333333;stroke:#333333;}#mermaid-svg-f5DskZXRq9xYgTcW .marker.cross{stroke:#333333;}#mermaid-svg-f5DskZXRq9xYgTcW svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-f5DskZXRq9xYgTcW p{margin:0;}#mermaid-svg-f5DskZXRq9xYgTcW .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-f5DskZXRq9xYgTcW .cluster-label text{fill:#333;}#mermaid-svg-f5DskZXRq9xYgTcW .cluster-label span{color:#333;}#mermaid-svg-f5DskZXRq9xYgTcW .cluster-label span p{background-color:transparent;}#mermaid-svg-f5DskZXRq9xYgTcW .label text,#mermaid-svg-f5DskZXRq9xYgTcW span{fill:#333;color:#333;}#mermaid-svg-f5DskZXRq9xYgTcW .node rect,#mermaid-svg-f5DskZXRq9xYgTcW .node circle,#mermaid-svg-f5DskZXRq9xYgTcW .node ellipse,#mermaid-svg-f5DskZXRq9xYgTcW .node polygon,#mermaid-svg-f5DskZXRq9xYgTcW .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-f5DskZXRq9xYgTcW .rough-node .label text,#mermaid-svg-f5DskZXRq9xYgTcW .node .label text,#mermaid-svg-f5DskZXRq9xYgTcW .image-shape .label,#mermaid-svg-f5DskZXRq9xYgTcW .icon-shape .label{text-anchor:middle;}#mermaid-svg-f5DskZXRq9xYgTcW .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-f5DskZXRq9xYgTcW .rough-node .label,#mermaid-svg-f5DskZXRq9xYgTcW .node .label,#mermaid-svg-f5DskZXRq9xYgTcW .image-shape .label,#mermaid-svg-f5DskZXRq9xYgTcW .icon-shape .label{text-align:center;}#mermaid-svg-f5DskZXRq9xYgTcW .node.clickable{cursor:pointer;}#mermaid-svg-f5DskZXRq9xYgTcW .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-f5DskZXRq9xYgTcW .arrowheadPath{fill:#333333;}#mermaid-svg-f5DskZXRq9xYgTcW .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-f5DskZXRq9xYgTcW .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-f5DskZXRq9xYgTcW .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-f5DskZXRq9xYgTcW .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-f5DskZXRq9xYgTcW .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-f5DskZXRq9xYgTcW .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-f5DskZXRq9xYgTcW .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-f5DskZXRq9xYgTcW .cluster text{fill:#333;}#mermaid-svg-f5DskZXRq9xYgTcW .cluster span{color:#333;}#mermaid-svg-f5DskZXRq9xYgTcW div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-f5DskZXRq9xYgTcW .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-f5DskZXRq9xYgTcW rect.text{fill:none;stroke-width:0;}#mermaid-svg-f5DskZXRq9xYgTcW .icon-shape,#mermaid-svg-f5DskZXRq9xYgTcW .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-f5DskZXRq9xYgTcW .icon-shape p,#mermaid-svg-f5DskZXRq9xYgTcW .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-f5DskZXRq9xYgTcW .icon-shape .label rect,#mermaid-svg-f5DskZXRq9xYgTcW .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-f5DskZXRq9xYgTcW .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-f5DskZXRq9xYgTcW .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-f5DskZXRq9xYgTcW :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 阶段1: 基础

1-2周
阶段2: 工具

2-3周
阶段3: 记忆

1-2周
阶段4: 架构

2-3周
阶段5: 工程

2-3周
阶段6: 运维

2-3周
能调通LLM API

写出基本Prompt
掌握Function Calling

能开发MCP Server
理解三层记忆

能实现向量检索
掌握多Agent架构

能设计编排引擎
掌握错误处理/测试

能搭建CI/CD
掌握监控/成本

能部署高可用

图:从 Prompt 工程师到 Agent 工程师的学习路径


四、工程实践的对比

4.1 开发流程对比

Prompt Engineering 开发流程

复制代码
写Prompt → 测试 → 调整Prompt → 再测试 → 上线

Agent Engineering 开发流程

复制代码
需求分析 → 架构设计 → 模型选型 → 工具设计 → 记忆策略 → 
错误处理 → 监控设计 → 成本估算 → 开发 → 测试 → 
Eval评估 → 灰度发布 → 生产监控 → 持续优化

4.2 代码结构对比

python 复制代码
# === Prompt Engineering 时代 ===
# 一个文件,几十行代码
import openai

response = openai.chat.completions.create(
    model="gpt-5",
    messages=[
        {"role": "system", "content": SYSTEM_PROMPT},
        {"role": "user", "content": user_input}
    ]
)
print(response.choices[0].message.content)

# === Agent Engineering 时代 ===
# 一个项目,多个模块
project/
├── agent/
│   ├── core.py          # Agent 核心循环
│   ├── memory.py        # 三层记忆系统
│   ├── planner.py       # 任务规划器
│   ├── executor.py      # 工具执行器
│   └── reflector.py     # 反思评估器
├── tools/
│   ├── base.py          # 工具基类
│   ├── search.py        # 搜索工具
│   ├── database.py      # 数据库工具
│   └── mcp_server.py    # MCP Server
├── config/
│   ├── models.yaml      # 模型路由配置
│   ├── tools.yaml       # 工具注册配置
│   └── policies.yaml    # 策略配置
├── eval/
│   ├── test_cases.py    # 测试用例
│   └── metrics.py      # 评估指标
└── deploy/
    ├── docker-compose.yml
    └── monitoring.yaml  # 监控配置

4.3 质量评估对比

Prompt Engineering 的评估:人工看几条输出,感觉好不好。

Agent Engineering 的评估:自动化 Eval 流水线 + 多维度指标。

评估维度 指标 测量方法
任务完成率 成功完成比例 端到端测试
工具调用准确率 选对工具的比例 工具调用日志分析
Token 效率 每任务 Token 消耗 成本监控
延迟 P50/P95/P99 响应时间 性能监控
错误恢复率 出错后恢复成功比例 错误日志分析
用户满意度 用户反馈评分 用户评价系统

五、范式转变的行业信号

5.1 招聘需求的变化

#mermaid-svg-U7AV2p2qiqueVEUW{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-U7AV2p2qiqueVEUW .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-U7AV2p2qiqueVEUW .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-U7AV2p2qiqueVEUW .error-icon{fill:#552222;}#mermaid-svg-U7AV2p2qiqueVEUW .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-U7AV2p2qiqueVEUW .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-U7AV2p2qiqueVEUW .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-U7AV2p2qiqueVEUW .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-U7AV2p2qiqueVEUW .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-U7AV2p2qiqueVEUW .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-U7AV2p2qiqueVEUW .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-U7AV2p2qiqueVEUW .marker{fill:#333333;stroke:#333333;}#mermaid-svg-U7AV2p2qiqueVEUW .marker.cross{stroke:#333333;}#mermaid-svg-U7AV2p2qiqueVEUW svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-U7AV2p2qiqueVEUW p{margin:0;}#mermaid-svg-U7AV2p2qiqueVEUW :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} AI 相关岗位关键词变化(CSDN 招聘数据) 2024Q1 2024Q3 2025Q1 2025Q3 2026Q1 2026Q3 5000 4500 4000 3500 3000 2500 2000 1500 1000 500 0 岗位数量

图:Prompt Engineer 与 Agent Engineer 岗位需求变化趋势

数据来源:CSDN 2026 年度技术趋势报告。Prompt Engineer 岗位在 2025 年初达到峰值后持续下降,Agent Engineer 岗位从 2024 年底开始爆发式增长,到 2026 年 Q3 已达到 Prompt Engineer 峰值的 4 倍。

5.2 技术社区的信号

  • CSDN 2026 年 Agent 相关文章数量同比增长 320%
  • GitHub 上 Agent 相关项目的 Star 增速是 Prompt Engineering 项目的 5 倍
  • CSDN 与 AMD 联合举办"智能体工坊"开发者沙龙,聚焦 Agent 工程化
  • 主流框架(OpenClaw、LangChain、Dify)全面转向 Agent 架构

六、转型的痛点与建议

6.1 常见转型痛点

痛点 表现 建议
思维惯性 什么都想用 Prompt 解决 先问"这是系统设计问题还是 Prompt 问题"
架构恐惧 不习惯设计系统 从简单的单 Agent 开始,逐步增加复杂度
评估缺位 不知道 Agent 好不好 尽早建立 Eval 流水线
过度工程 一上来就搞多 Agent 先单 Agent 跑通,再考虑多 Agent

6.2 转型路线图

复制代码
第1周:跑通第一个 Agent(本系列第05篇)
第2-3周:掌握 Function Calling 和 MCP(第08-10篇)
第4-5周:实现记忆系统(第14-15篇)
第6-8周:设计多 Agent 架构(第21-25篇)
第9-10周:搭建错误处理和监控(第37-49篇)
第11-12周:完成一个生产级 Agent 项目

七、适用边界

7.1 Agent Engineering 的适用场景

✅ 适合:

  • 多步任务自动化
  • 需要工具调用的业务流程
  • 需要跨会话记忆的应用
  • 需要自主决策的系统

7.2 不适合的场景

⚠️ 不适合:

  • 单轮问答(Prompt Engineering 足够)
  • 固定流程自动化(传统工作流更好)
  • 确定性要求极高的场景(LLM 有随机性)
  • 对延迟极敏感的实时系统

7.3 两种范式不是替代关系

Prompt Engineering 不会消失。它仍然是 Agent Engineering 的子集------每个 Agent 都需要 Prompt 设计,但 Agent 工程不只有 Prompt。


八、总结

8.1 核心观点

从 Prompt Engineering 到 Agent Engineering 的范式跃迁,本质是从"优化输入"到"设计系统"。这不是 Prompt 不重要了,而是只优化 Prompt 不够了。Agent 时代的开发者需要同时掌握 Prompt 设计、系统架构、工具开发、记忆管理、错误处理、监控评估------每一项都是独立的专业领域。

8.2 对开发者的影响

如果你现在的技能树是"写 Prompt + 调 API",那么向 Agent Engineering 转型是 2026 年最有价值的技术投资。本系列 100 篇文章就是你转型的完整路线图。

8.3 下篇预告

下一篇《从零搭建第一个 AI Agent:50 行代码实现一个能自主搜索+总结的智能体》将把理论变成代码------用不到 50 行 Python 代码,搭建一个能自主决策、调用工具、多步执行的最小可用 Agent。读完这篇你就有了自己的第一个 Agent。


参考资料

相关推荐
音视频开发进阶1 小时前
DuoShot:一次拍摄,让精彩多一种表达
android·duoshot
七夜zippoe1 小时前
AI Agent 的三位一体架构:模型(大脑)+ 工具(双手)+ 记忆(海马体)的深度解析
人工智能·ai·架构·agent·三位一体
柚稚姐姐1 小时前
npx @deepseek-ai/dsh web不跳转UI
ai
利刃大大2 小时前
我用 GPT-6 给江南大学建了个 3D 沙盘
gpt·3d·ai·blender·江南大学
2601_962298932 小时前
适配制造业的智能体自动化平台推荐
ai·rpa·制造业·流程优化·智能体自动化
我命由我123452 小时前
Android 控件 - ListAdapter
android·java·java-ee·android studio·android jetpack·android-studio·android runtime
ai小陈2 小时前
PyTorch梯度累积与裁剪实战:小显存也能稳定训练大批次
人工智能·pytorch·python·深度学习·ai·gpu算力
通问AI2 小时前
【实战】多模态图像模型批量生成电商主图:Prompt 模板化与自动化质检方案
人工智能·自动化·prompt