从大模型应用到 Agentic AI:智能体开发与 Harness 工程化系列开篇
2026/7/17 5:40:54 网站建设 项目流程

最近几年,大语言模型技术快速发展,AI 应用也从最初的聊天问答、文本生成,逐步进入知识检索、数据分析、软件开发、业务自动化和企业系统集成等更加复杂的场景。

特别是随着模型推理能力、工具调用能力、多模态能力和长上下文能力不断提升,AI 应用的形态正在发生明显变化。

过去的大模型应用,通常是用户输入一个问题,模型生成一段回答。现在越来越多的系统开始让模型围绕一个目标,自主分析任务、制定计划、调用工具、获取反馈并持续执行,直到完成最终任务。

这种应用形态通常被称为AI Agent(智能体),或者更加广义的Agentic AI

与此同时,Function Calling、RAG、MCP、A2A、Agent Skills、多智能体协作、Agent Harness、Sandbox、长期记忆、可观测性和智能体评估等技术概念不断出现,各种 Agent 开发框架和平台也在快速更新。

Agent 已经成为当前 AI 应用开发中最受关注的方向之一。

但是对于很多有传统软件开发经验的前端和后端开发人员来说,真正开始学习 Agent 时,往往会遇到一个问题:

Agent 相关的资料很多,但缺少一条完整、清晰并且适合工程人员的学习路径。

有些资料重点介绍 Prompt,有些重点介绍某个 Agent 框架,有些讲多智能体,有些讲 MCP,也有一些内容开始讨论 Agent Harness 和智能体工程化。

这些知识单独来看都很重要,但如果没有建立完整的知识体系,学习者很容易出现以下情况:

  • 知道很多 Agent 相关名词,但不清楚它们之间的关系;

  • 能够使用框架完成一个简单示例,但不了解智能体的运行原理;

  • 能够做出一个演示项目,但不知道如何进入真实业务系统;

  • 过度关注 Prompt 和模型,却忽略状态、工具、权限、异常和运行环境;

  • 一开始就尝试多智能体,结果系统复杂度远高于实际收益;

  • 能够让 Agent“运行起来”,但无法保证它稳定、安全和可持续维护。

因此,我计划围绕 Agentic AI 智能体应用开发,整理并持续发布一系列学习和实践文章。

这不是一组简单的框架使用教程,也不是单纯介绍最新概念,而是希望从传统软件开发人员熟悉的工程视角出发,建立一条从基础理论到实际开发,再到工程化和生产落地的完整学习路线。

一、为什么要整理这一系列内容

AI 技术的发展正在逐渐改变软件开发的方式。

过去,软件系统中的业务流程、判断逻辑和操作步骤,大部分都需要由开发人员提前编写,并通过明确的代码和流程进行控制。

而在 Agentic AI 系统中,一部分过去需要人工判断或者提前固化的流程,可以交给模型根据目标、上下文和执行结果动态决定。

例如,一个智能体可以围绕“完成一份产品竞品分析”这一目标,自动完成:

  1. 理解分析目标;

  2. 拆分需要完成的任务;

  3. 搜索和读取相关资料;

  4. 调用数据分析工具;

  5. 比较不同产品的能力;

  6. 检查分析结果是否完整;

  7. 最终生成结构化报告。

从表面上看,这似乎只是一次更加复杂的大模型调用。

但真正实现时,它会涉及一系列工程问题:

  • 如何向智能体描述目标;

  • 如何让智能体选择正确的工具;

  • 如何维护多轮执行过程中的状态;

  • 如何限制智能体的执行范围;

  • 如何处理工具调用失败;

  • 如何避免智能体陷入无限循环;

  • 如何保存和恢复长时间运行的任务;

  • 如何让人工在关键节点进行确认;

  • 如何记录智能体完整的执行轨迹;

  • 如何判断智能体生成的结果是否正确;

  • 如何控制模型调用的成本和响应时间;

  • 如何保证企业数据、账号和系统操作安全。

这些问题已经超出了传统 Prompt Engineering 的范围,也不是简单引入一个 Agent 框架就能够全部解决的。

因此,学习 Agent 不能只学习如何调用模型,更需要理解智能体背后的设计模式、运行机制和工程体系。

二、这个系列主要面向哪些读者

本系列主要面向具有一定软件开发经验,希望系统进入 Agentic AI 应用开发领域的工程人员,包括:

  • Java、Python、JavaScript 或 TypeScript 开发人员;

  • 前端、后端和全栈开发人员;

  • 已经接触过大模型 API,希望进一步学习 Agent 的开发者;

  • 使用过 LangChain、LangGraph、Spring AI、LangChain4j 等框架,但希望理解底层原理的开发者;

  • 希望开发企业知识助手、数据分析助手、研发助手或业务智能体的技术人员;

  • 希望建设企业级智能体平台、AI 应用平台或 AI 软件工厂的架构师和技术负责人。

本系列不会以模型训练、深度学习算法和数学原理为重点。

读者不需要具备大模型训练经验,也不需要先掌握复杂的机器学习知识。

整个系列将重点关注:

  • 大模型如何与应用系统结合;

  • 智能体如何规划和执行任务;

  • 智能体如何调用真实业务工具;

  • 智能体应用如何进行架构设计;

  • 智能体如何进入生产环境;

  • 前端和后端开发人员如何将已有经验迁移到 Agent 开发中。

三、Agent 不只是一个能够调用工具的大模型

在开始整个系列之前,需要先明确一个基本认识:

Agent 并不等于大模型加上几个工具调用接口。

一个最基本的智能体,通常会涉及以下组成部分:

  • 模型:理解任务、分析上下文并生成决策;

  • 指令:定义角色、目标、规则和限制;

  • 上下文:为模型提供完成任务所需要的信息;

  • 工具:连接搜索、数据库、业务系统和外部服务;

  • 记忆:保存会话、用户偏好和历史经验;

  • 规划:将复杂目标拆解为可以执行的步骤;

  • 状态:记录任务当前执行到什么阶段;

  • 执行环境:提供代码、浏览器、文件和命令执行能力;

  • 反馈机制:检查执行结果是否满足要求;

  • 安全护栏:限制权限和高风险操作;

  • 评估与观测:记录运行过程并判断执行质量。

从运行过程来看,一个智能体通常会形成如下循环:

这意味着 Agent 本质上不是一次模型调用,而是一个由模型参与决策、由程序控制执行的动态系统。

模型只是智能体系统的一部分。

决定一个 Agent 是否真正可用的,不仅是模型能力,还包括工具、上下文、状态、工作流、反馈机制和工程环境。

四、为什么设计模式是 Agent 学习中的重要部分

随着任务复杂度增加,单次调用模型很难可靠地完成所有工作。

开发人员需要将复杂任务拆解,并根据不同场景采用相对稳定的组织方式。例如:

  • 使用提示链模式将复杂任务拆成多个连续步骤;

  • 使用路由模式将不同问题交给不同工具或智能体;

  • 使用并行化模式同时处理多个独立子任务;

  • 使用反思模式检查并修正模型生成的结果;

  • 使用规划模式处理包含多个步骤的长期任务;

  • 使用人在回路模式在关键操作前等待人工确认;

  • 使用异常恢复模式处理工具调用和任务执行失败;

  • 使用多智能体模式让不同角色协同完成复杂目标。

这些模式并不是某个具体框架的专属功能,而是智能体系统中可以重复使用的设计思路。

学习 Agentic 智能体设计模式,可以帮助开发人员解决三个问题:

  1. 一个复杂任务应该如何拆解;

  2. 模型决策和程序控制应该如何分工;

  3. 什么场景应该使用单智能体,什么场景才需要多智能体。

本系列的设计模式部分,将参考《Agentic Design Patterns》等相关资料,同时结合真实的软件系统和企业应用场景进行重新组织。

不会简单按照某一本书或某个框架的目录介绍,而是按照从基础到复杂、从单智能体到多智能体的方式逐步展开。

五、为什么还要专门讨论 Agent Harness

在很多 Agent 入门教程中,重点通常集中在模型、Prompt、工具调用和工作流上。

这些内容能够帮助我们快速开发一个 Agent Demo,但当智能体进入真实项目时,仅有这些能力还远远不够。

例如,一个编码 Agent 如果要修改真实项目,需要知道:

  • 项目的目录结构;

  • 使用了哪些技术框架;

  • 应该遵守什么编码规范;

  • 哪些文件允许修改;

  • 应该执行哪些测试;

  • 如何判断修改结果是否正确;

  • 命令可以在哪个环境中运行;

  • 是否允许访问网络;

  • 是否能够读取密钥;

  • 失败后如何恢复;

  • 修改完成后需要输出什么结果。

围绕模型建立的这些指令、工具、环境、权限、反馈和控制机制,可以统称为Agent Harness

可以用一个相对简化的方式理解:

Agent = Model + Harness

模型负责理解、推理和生成。

Harness 负责让模型能够在一个可控的工程环境中稳定工作。

一个相对完整的 Harness 通常包括:

  • 系统指令和项目规则;

  • 上下文和记忆管理;

  • 工具、MCP 和 Skills;

  • 文件系统和代码仓库;

  • Sandbox 和容器环境;

  • Agent 执行循环;

  • 工作流和状态管理;

  • Hooks 和中间件;

  • 测试与结果校验;

  • 权限与安全控制;

  • 日志、Trace 和可观测性;

  • 成本、模型和资源管理。

同一个模型,在不同 Harness 中的表现可能会存在明显差异。

因此,模型决定了智能体能力的上限,而 Harness 决定了这些能力能否被稳定、可靠和安全地发挥出来。

Harness 工程化也将是本系列区别于普通 Agent 入门教程的重要内容之一。

六、整个系列将按照什么路径展开

为了方便有一定开发经验的读者系统学习,整个系列将按照“先建立认知,再完成开发,最后进入工程化”的方式展开。

整体可以划分为以下几个阶段。

第一阶段:认识 Agentic AI

首先介绍:

  • Agentic AI 为什么受到关注;

  • AI Agent、Agentic AI 和普通大模型应用有什么区别;

  • 一个智能体由哪些部分组成;

  • ReAct、Plan-and-Execute 等基本运行机制;

  • Workflow 与 Agent 之间是什么关系。

这一阶段主要解决“Agent 是什么”和“为什么需要 Agent”。

第二阶段:掌握大模型应用开发基础

这一阶段将介绍:

  • Token 和上下文窗口;

  • System、User、Assistant 和 Tool 消息;

  • Structured Output;

  • Function Calling;

  • Prompt Engineering;

  • Context Engineering;

  • RAG;

  • Embedding 和检索;

  • 模型成本、延迟和能力选择。

这些内容是开发智能体应用必须具备的基础,但不会过度展开模型训练和算法细节。

第三阶段:完成第一个可运行的 Agent

在掌握基础概念之后,将从代码层面实现一个最小智能体,包括:

  • 模型调用;

  • 工具注册;

  • 工具选择;

  • Agent Loop;

  • 状态管理;

  • 终止条件;

  • 超时和重试;

  • 流式输出;

  • 人工确认。

这一阶段会先尝试不依赖复杂框架,手写一个最小 Agent,以便真正理解 Agent 框架帮助开发者封装了什么。

之后再介绍如何使用 Spring AI、LangChain4j、LangGraph、Vercel AI SDK 等框架完成更完整的应用开发。

第四阶段:系统学习 Agentic 设计模式

设计模式部分将重点介绍:

  • 提示链;

  • 路由;

  • 并行化;

  • 反思;

  • 工具调用;

  • 任务规划;

  • 记忆;

  • 异常恢复;

  • 人在回路;

  • Agentic RAG;

  • 多智能体协作;

  • 安全护栏;

  • 评估和监控。

每一种模式都会尽量从以下几个方面展开:

  • 模式解决什么问题;

  • 模式的基本结构;

  • 适合哪些业务场景;

  • 如何通过代码实现;

  • 有哪些常见问题;

  • 什么情况下不应该使用。

第五阶段:理解 MCP、A2A 和 Agent Skills

随着智能体生态的发展,智能体不仅需要调用应用内部的函数,还需要连接越来越多的工具、数据和其他智能体。

这一阶段将介绍:

  • MCP 如何统一工具和数据接入;

  • MCP 与 Function Calling、REST API 的关系;

  • A2A 如何支持智能体之间的发现和协作;

  • Agent Skills 如何封装可以重复使用的领域能力;

  • Tool、Skill、Agent 和 Workflow 之间的边界。

同时会结合企业文件、知识库、业务审批和研发工具等场景,演示如何将已有系统能力开放给智能体。

第六阶段:进入 Agent Harness 工程化

Harness 部分将重点讨论:

  • 系统指令和项目规则如何设计;

  • 上下文如何组装、裁剪和压缩;

  • 文件系统如何成为智能体的工作空间;

  • 如何提供安全的代码执行环境;

  • 如何通过 Hooks 和 Middleware 控制执行过程;

  • 如何使用测试和静态分析反馈结果;

  • 如何支持 Checkpoint 和任务恢复;

  • 如何控制工具权限和凭证;

  • 如何为编码 Agent 建设完整的项目 Harness。

这一阶段主要解决如何从“能够运行的 Agent”进入“能够长期使用的 Agent”。

第七阶段:生产级智能体系统

当 Agent 真正进入企业系统后,需要面对传统软件系统同样存在,甚至更加复杂的工程问题。

这一阶段将介绍:

  • 会话、任务、步骤和事件模型;

  • 同步与异步任务;

  • 消息队列和 Worker;

  • 长任务运行;

  • 状态持久化;

  • 任务暂停、取消和恢复;

  • 可观测性;

  • Agent 评估;

  • Prompt 和工具版本管理;

  • 模型路由;

  • Token 和成本控制;

  • 多租户和权限隔离;

  • 数据安全和操作审计。

最终目标是建立一套完整的企业级 Agent Runtime 和治理体系。

第八阶段:多智能体与 AI 软件工厂

在完成单智能体和工程化学习之后,系列还将进一步讨论:

  • Supervisor 与 Worker;

  • Planner 与 Executor;

  • Reviewer 与 Critic;

  • 层级式多智能体;

  • 事件驱动式多智能体;

  • Agent Team;

  • Agent Mesh;

  • 人与数字员工协作;

  • 多智能体软件研发流程;

  • AI 软件工厂;

  • 企业级智能体平台。

这一部分不会只描述多智能体的理想形态,也会重点分析它的实际限制。

例如:

  • 多智能体是否真的比单智能体更好;

  • 多个角色是否只是增加了模型调用次数;

  • Agent 之间如何共享信息;

  • 如何避免任务重复和目标冲突;

  • 多智能体带来的成本是否值得;

  • 哪些研发任务可以交给 Agent;

  • 哪些工作仍然需要有经验的专业人员完成。

七、整个系列将采用什么样的技术路线

考虑到读者可能来自不同技术背景,系列中的示例不会限定在单一语言和框架。

Java 后端方向

技术栈:Java 21 + Spring Boot 3 + Spring AI / LangChain4j + PostgreSQL + Redis + RocketMQ + Docker + MCP Java SDK
侧重:企业系统集成、任务模型、异步执行、安全权限和生产部署

Python 原型方向

技术栈:Python + LangGraph + Pydantic + FastAPI + Jupyter Notebook
侧重:快速展示 Agent 原理、设计模式和模型调用过程

前端与 TypeScript 方向

技术栈:TypeScript + React/Vue + Vercel AI SDK + LangChain.js + SSE + WebSocket + Agent UI
侧重:流式输出、工具调用状态、执行步骤展示、人工审批、文件上传、长任务状态、Agent 运行轨迹

整个系列更关注技术原理和架构思路,不会让内容过度依赖某一个具体框架。

框架可能快速变化,但智能体的任务拆解、状态管理、工具调用、安全控制和反馈机制会长期存在。

八、系列文章将尽量结合真实业务场景

为了避免内容停留在简单的天气查询或计算器示例,后续文章将尽量结合企业应用中更接近真实需求的案例。

例如:

  • 企业知识助手:文档导入、内容检索、权限过滤、引用来源、多轮问答、用户反馈。

  • 智能文档处理 Agent:文件识别、文档解析、内容提取、自动摘要、数据分类、信息审核、结构化输出。

  • 需求分析 Agent:接收自然语言需求、提取用户角色和业务场景、生成需求条目、查找需求冲突、输出需求清单。

  • 编码 Agent:分析代码仓库、制定修改计划、修改代码、执行测试、修复问题、生成变更说明。

  • 多智能体研发团队:产品经理 Agent、需求分析 Agent、架构 Agent、开发 Agent、测试 Agent、审查 Agent、项目管理 Agent。

通过这些场景,可以更好地理解每一种模式和工程机制在真实系统中的作用。

九、这个系列不会把 Agent 描述成万能工具

Agentic AI 的发展速度很快,相关技术也受到越来越多的关注。

但在学习和应用过程中,需要避免两个极端。

第一个极端是低估 Agent,认为它只是聊天机器人换了一个新的名称。

随着模型能力、工具生态和工程基础设施的发展,Agent 确实能够完成越来越复杂的任务,并且会逐步改变应用软件的交互和实现方式。

第二个极端是高估 Agent,认为只要接入一个先进模型,就可以完全替代传统软件开发和专业人员。

实际情况是,Agent 仍然存在许多限制:

  • 模型输出具有不确定性;

  • 复杂任务容易偏离目标;

  • 长任务会受到上下文限制;

  • 工具调用可能出现错误;

  • 自我反思并不一定能够发现真正的问题;

  • 多智能体可能增加复杂度和成本;

  • 企业场景中的权限、安全和审计不能交给模型自由判断;

  • 没有领域知识和工程约束的 Agent 很难稳定完成专业任务。

因此,本系列会坚持一个基本原则:

能够使用确定性程序解决的问题,不必全部交给模型;需要模型判断的问题,也应该尽可能通过流程、工具、规则和反馈机制进行约束。

Agent 的价值并不是让所有系统都变得自主,而是在确定性程序和模型智能之间找到合理的边界

十、希望通过这一系列解决什么问题

完成整个系列后,希望读者能够逐步具备以下能力:

  • 清楚解释 Agent 与普通大模型应用的区别;

  • 理解 Agent 的基本运行循环;

  • 使用 Function Calling 连接真实业务系统;

  • 独立开发一个工具型 Agent;

  • 根据任务选择合适的 Agent 设计模式;

  • 判断什么时候使用 Workflow,什么时候使用 Agent;

  • 理解 MCP、A2A 和 Skills 的作用;

  • 为智能体建设基本的 Harness;

  • 设计可恢复、可观测的长任务;

  • 评估 Agent 的执行质量;

  • 控制智能体的权限、成本和安全风险;

  • 设计单智能体、多智能体和企业级 Agent 平台。

更重要的是,希望读者在学习各种新框架和新概念时,能够拥有一套相对稳定的判断标准。

不再只是跟随热点调用某个框架,而是能够分析:

  • 它解决的到底是什么问题;

  • 它属于智能体系统的哪一个层次;

  • 它与现有软件架构是什么关系;

  • 是否适合自己的业务场景;

  • 引入之后会增加哪些工程复杂度;

  • 如何让它真正进入生产环境。

十一、写在最后

Agentic AI 正在成为大模型应用发展的重要方向。

从聊天问答到工具调用,从固定工作流到动态规划,从单智能体到多智能体,从简单 Demo 到 Agent Harness 和企业级 Runtime,智能体应用的技术体系正在快速形成。

对于传统前端和后端开发人员来说,这并不意味着过去的软件开发经验失去了价值。

恰恰相反,状态机、工作流、API、数据库、消息队列、分布式任务、权限控制、测试、安全和可观测性等传统工程能力,正在成为建设可靠 Agent 系统的重要基础。

大模型为软件系统增加了理解、推理和生成能力。

传统软件工程则负责将这些能力放入一个稳定、可控和可以持续演进的系统中。

接下来的系列文章,将从 Agentic AI 的基本概念开始,逐步进入工具调用、应用开发、设计模式、MCP、A2A、Agent Skills、Harness 工程化、生产级治理和多智能体系统。

希望这一系列不仅能够帮助读者“学会使用 Agent 框架”,还能够真正理解:

一个智能体为什么能够工作,它应该如何设计,以及怎样才能从一个演示项目成长为可以在真实业务中稳定运行的软件系统。


如果你觉得本文对你有帮助,欢迎分享给更多朋友。后续还会分享更多Agentic AI+Office文档服务落地的实战经验,敬请关注。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询