模型就是 Agent

在讨论代码之前,先把一件事彻底说清楚。

Agent 是模型。不是框架。不是提示词链。不是拖拽式工作流。

Agent 到底是什么

Agent 是一个神经网络 — Transformer、RNN、一个被训练出来的函数 — 经过数十亿次梯度更新,在行动序列数据上学会了感知环境、推理目标、采取行动。“Agent” 这个词在 AI 领域从诞生之日起就是这个意思。从来都是。

人类就是 agent。一个由数百万年进化训练出来的生物神经网络,通过感官感知世界,通过大脑推理,通过身体行动。当 DeepMind、OpenAI 或 Anthropic 说 “agent” 时,他们说的和这个领域自诞生以来就一直在说的完全一样: 一个学会了行动的模型。

历史已经写好了铁证:

  • 2013 — DeepMind DQN 玩 Atari。 一个神经网络,只接收原始像素和游戏分数,学会了 7 款 Atari 2600 游戏 — 超越所有先前算法,在其中 3 款上击败人类专家。到 2015 年,同一架构扩展到 49 款游戏,达到职业人类测试员水平 ,论文发表在 Nature 。没有游戏专属规则。没有决策树。一个模型,从经验中学习。那个模型就是 agent。
  • 2019 — OpenAI Five 征服 Data 2。 五个神经网络,在 10 个月内与自己对战了 45,000 年的 Dota 2 ,在旧金山直播赛上 2-0 击败了 OG — TI8 世界冠军。随后的公开竞技场中,AI 在 42,729 场比赛中胜率 99.4%。没有脚本化的策略。没有元编程的团队协调逻辑。模型完全通过自我对弈学会了团队协作、战术和实时适应。
  • 2019 — DeepMind AlphaStar 制霸星际争霸 II。 AlphaStar 在闭门赛中 10-1 击败职业选手 ,随后在欧洲服务器上达到 宗师段位 — 90,000 名玩家中的前 0.15%。一个信息不完全、实时决策、组合动作空间远超国际象棋和围棋的游戏。Agent 是什么?是模型。训练出来的。不是编出来的。
  • 2019 — 腾讯绝悟统治王者荣耀。 腾讯 AI Lab 的 ” 绝悟 ” 于 2019 年 8 月 2 日世冠杯半决赛上 以 5v5 击败 KPL 职业选手 。在 1v1 模式下,职业选手 15 场只赢 1 场,最多坚持不到 8 分钟 。训练强度:一天等于人类 440 年。到 2021 年,绝悟在全英雄池 BO5 上全面超越 KPL 职业选手水准。没有手工编写的英雄克制表。没有脚本化的阵容编排。一个从零开始通过自我对弈学习整个游戏的模型。
  • 2024-2025 — LLM Agent 重塑软件工程。 Claude、GPT、Gemini — 在人类全部代码和推理上训练的大语言模型 — 被部署为编程 agent。它们阅读代码库,编写实现,调试故障,团队协作。架构与之前每一个 agent 完全相同:一个训练好的模型,放入一个环境,给予感知和行动的工具。唯一的不同是它们学到的东西的规模和解决任务的通用性。

每一个里程碑都共享同一个真理: “Agent” 从来都不是外面那层代码。Agent 永远是模型本身。

Agent 不是什么

“Agent” 这个词已经被一整个提示词水管工产业劫持了。

拖拽式工作流构建器。无代码 “AI Agent” 平台。提示词链编排库。它们共享同一个幻觉:把 LLM API 调用用 if-else 分支、节点图、硬编码路由逻辑串在一起就算是 ” 构建 Agent” 了。

不是的。它们做出来的东西是鲁布·戈德堡机械 — 一个过度工程化的、脆弱的过程式规则流水线,LLM 被楔在里面当一个美化了的文本补全节点。那不是 Agent。那是一个有着宏大妄想的 shell 脚本。

提示词水管工式 “Agent” 是不做模型的程序员的意淫。 他们试图通过堆叠过程式逻辑来暴力模拟智能 — 庞大的规则树、节点图、链式提示词瀑布流 — 然后祈祷足够多的胶水代码能涌现出自主行为。不会的。你不可能通过工程手段编码出 agency。Agency 是学出来的,不是编出来的。

那些系统从诞生之日起就已经死了:脆弱、不可扩展、根本不具备泛化能力。它们是 GOFAI(Good Old-Fashioned AI,经典符号 AI)的现代还魂 — 几十年前就被学界抛弃的符号规则系统,现在喷了一层 LLM 的漆又登场了。换了个包装,同一条死路。

心智转换:从 ” 开发 Agent” 到开发 Harness

当一个人说 ” 我在开发 Agent” 时,他只可能是两个意思之一:

1. 训练模型。 通过强化学习、微调、RLHF 或其他基于梯度的方法调整权重。收集任务过程数据 — 真实领域中感知、推理、行动的实际序列 — 用它们来塑造模型的行为。这是 DeepMind、OpenAI、腾讯 AI Lab、Anthropic 在做的事。这是最本义的 Agent 开发。

2. 构建 Harness。 编写代码,为模型提供一个可操作的环境。这是我们大多数人在做的事,也是本仓库的核心。

Harness 是 agent 在特定领域工作所需要的一切:

Harness = Tools + Knowledge + Observation + Action Interfaces + Permissions
 
    Tools:          文件读写、Shell、网络、数据库、浏览器
    Knowledge:      产品文档、领域资料、API 规范、风格指南
    Observation:    git diff、错误日志、浏览器状态、传感器数据
    Action:         CLI 命令、API 调用、UI 交互
    Permissions:    沙箱隔离、审批流程、信任边界

模型做决策。Harness 执行。模型做推理。Harness 提供上下文。模型是驾驶者。Harness 是载具。

编程 agent 的 harness 是它的 IDE、终端和文件系统。 农业 agent 的 harness 是传感器阵列、灌溉控制和气象数据。酒店 agent 的 harness 是预订系统、客户沟通渠道和设施管理 API。Agent — 那个智能、那个决策者 — 永远是模型。Harness 因领域而变。Agent 跨领域泛化。

这个仓库教你造载具。编程用的载具。但设计模式可以泛化到任何领域:庄园管理、农田运营、酒店运作、工厂制造、物流调度、医疗保健、教育培训、科学研究。只要有一个任务需要被感知、推理和执行 — agent 就需要一个 harness。

Harness 工程师到底在做什么

如果你在读这个仓库,你很可能是一名 harness 工程师 — 这是一个强大的身份。以下是你真正的工作:

  • 实现工具。 给 agent 一双手。文件读写、Shell 执行、API 调用、浏览器控制、数据库查询。每个工具都是 agent 在环境中可以采取的一个行动。设计它们时要原子化、可组合、描述清晰。
  • 策划知识。 给 agent 领域专长。产品文档、架构决策记录、风格指南、合规要求。按需加载(s05),不要前置塞入。Agent 应该知道有什么可用,然后自己拉取所需。
  • 管理上下文。 给 agent 干净的记忆。子 agent 隔离(s04)防止噪声泄露。上下文压缩(s06)防止历史淹没。任务系统(s07)让目标持久化到单次对话之外。
  • 控制权限。 给 agent 边界。沙箱化文件访问。对破坏性操作要求审批。在 agent 和外部系统之间实施信任边界。这是安全工程与 harness 工程的交汇点。
  • 收集任务过程数据。 Agent 在你的 harness 中执行的每一条行动序列都是训练信号。真实部署中的感知 - 推理 - 行动轨迹是微调下一代 agent 模型的原材料。你的 harness 不仅服务于 agent — 它还可以帮助进化 agent。

你不是在编写智能。你是在构建智能栖居的世界。这个世界的质量 — agent 能看得多清楚、行动得多精准、可用知识有多丰富 — 直接决定了智能能多有效地表达自己。

造好 Harness。Agent 会完成剩下的。