在传统软件工程领域,人们常常依赖"模式"来应对复杂性。然而,在当今的Agent时代,我们不得不重新审视这一观念:虽然规则依然重要,但意图才是更为关键的因素。模式仅能告诉我们"怎么做",而意图则能回答"为什么做"这一更为本质的问题。
函数与流

OOP
万物都是「对象」,把数据(属性) 和操作这些数据的行为(方法)绑死在同一个单元里,用真实业务的实体关系来映射代码结构。
它的根基是四个核心特性:封装(藏内部细节,只留对外接口) / 继承(复用共性逻辑) / 多态(同一接口不同实现) / 抽象(剥离无关细节)
// 订单是个对象,自己的数据自己管 class Order { private List<Item> items; // 行为绑定在数据上 public double calcTotal() { double sum = 0; for (Item item : items) { sum += item.getPrice() * item.getQty(); } return sum; } }
FP
「函数」是第一等公民(可以像变量一样传参、返回值),拒绝可变状态、拒绝隐式副作用,所有逻辑本质都是「输入数据 → 纯计算 → 输出新数据」的管道,不会修改任何外部原有的东西。
// 就是个纯计算过程,不绑在任何对象上,传什么数据进来只算结果,绝不改原items const calcTotal = (items) => items.reduce((sum, item) => sum + item.price * item.qty, 0);
LLM巨大的纯函数
LLM 本质上是一个巨大的、无状态的纯函数,可以用以下公式表示。
输出 = f(权重,上下文)
权重(Weight):在推理阶段,模型的权重是冻结的。无论调用多少次,模型本身都不会发生任何改变。
上下文(Context): 这是唯一的变量。Agent 的 "记忆" 并非存储在模型内部(不像人类的海马体),而是每次以参数形式显式传入。
响应式的觉醒:从堵塞等待到异步实践
在传统的编程范式中,开发者的时间观是线性的:代码第1行执行完毕后,才会执行第2行。这种同步阻塞(Synchronous Blocking)的模型符合人类阅读清单的习惯,但在高延迟的数据时代,可能成为性能瓶颈,甚至引发系统性问题。
-
CPU 空转:主线程在 99% 的时间里干等着进度条,无法进行任何其他有用的工作。
-
系统失聪:在这 10s 期间,如果用户试图取消任务或插入新指令,系统将完全无响应------因为它被牢牢地阻塞在那个漫长的 HTTP 请求上,对外界 "充耳不闻"。

数据流的哲学:世界不是快照
"快照思维"认为:真理是静态的,就存储在磁盘的某个扇区里。
然而,在 Agent 的世界观中,赫拉克利特是对的:世界并非一张静态的照片,而是一部不断演进的电影。
日志即真理
随着分布式系统(如 Kafka)和事件溯源(Event Sourcing)的兴起,软件工程界重新发现了一种"古老"的智慧:数据库只是日志的投影,日志才是真理本身。
-
数据库:告诉我"现在是什么"(状态)。
-
日志:告诉我"发生了什么"(事件)。
对 Agent 而言,"发生了什么"往往比"现在是什么"更重要。
为上下文工程铺路
静态视角:将知识库视为一个固定的书架,需要不断整理,把书摆放整齐。
流式视角:将上下文视为一条流动的河流------新的 Token 不断涌入,旧的 Token 则逐渐被冲刷到远处。
Agent 的核心能力,不再是对静态数据的增、删、改、查,而是在这条奔流不息的信息河流中,实时地捕捉(Capture)、过滤(Filter)和变换(Transform)有价值的信号。
微服务带来的API

API 的由来
2002 年,杰夫·贝索斯(Jeff Bezos)向亚马逊全体员工发出了一封著名的内部邮件,其大意是:"所有团队必须通过服务接口(Service Interface)对外公开数据和功能;禁止直接读取数据库;禁止使用后门访问。违者将被解雇。"
它确立了一项核心原则:功能必须解耦为服务,服务必须通过协议进行通信。
正是这场持续二十余年的"接口化"运动,将物理世界与数字世界封装成成千上万个标准化的 RESTful API 或远程过程调用(Remote Procedure Call,RPC)接口。
为机器准备的大餐
在 Agent 出现之前,API 主要是供开发者使用的工具。然而,随着 Agent 的出现,我们惊喜地发现:API 简直是为 LLM 量身定制的"触手"。
-
Swagger/OpenAPI 规范:最初旨在生成清晰的 API 文档,如今却直接成为 Agent 的 "工具说明书"。Agent 只需要读取一份 JSON 定义,便能理解如何调用该服务。
-
无头服务(Headless Services):微服务倡导将用户界面与业务逻辑解耦。这意味着 Agent 可以绕过复杂的 HTML/CSS 渲染层,直接与后端业务逻辑交互。