惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

S
SegmentFault 最新的问题
Google DeepMind News
Google DeepMind News
G
Google Developers Blog
Martin Fowler
Martin Fowler
MongoDB | Blog
MongoDB | Blog
月光博客
月光博客
Jina AI
Jina AI
宝玉的分享
宝玉的分享
人人都是产品经理
人人都是产品经理
D
DataBreaches.Net
V
V2EX
WordPress大学
WordPress大学
T
The Blog of Author Tim Ferriss
Last Week in AI
Last Week in AI
B
Blog
博客园 - 叶小钗
小众软件
小众软件
Stack Overflow Blog
Stack Overflow Blog
P
Proofpoint News Feed
A
About on SuperTechFans
J
Java Code Geeks
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Y
Y Combinator Blog
Microsoft Security Blog
Microsoft Security Blog

博客园 - 人艰不拆_zmc

AG-UI 是什么?一篇文章讲清楚 AI Agent 与前端如何交互 AI 里的“本体”到底是什么?一篇写给技术小白的通俗解释 15000mAh 到底是什么概念?一篇看懂电池容量 go2_ros2_sdk 到底是干什么的?从 Go2、官方 SDK、ROS2 一路讲到 SLAM 和 Nav2 买了宇树 Go2 以后怎么二次开发?写给第一次做机器狗项目的人 买了一块 NVIDIA Jetson,怎么在上面安装 ROS2?从 JetPack 到 ROS2 的完整入门指南 NVIDIA Jetson 到底是什么?写给第一次接触机器人和边缘 AI 的人 ROS / ROS2 到底是什么?写给第一次接触机器人开发的人 大模型到底能同时多少人用?一篇看懂并发、排队与容量估算 大模型为什么有快有慢?一篇看懂响应速度背后的关键因素 技术小白也能看懂:大模型里的量化、蒸馏到底是什么意思? Codex 使用技巧:从“会聊天”到“真正能干活” 我终于搞懂了:Codex 对话中插件和 Skill 到底怎么用 我终于搞懂了 Tool:原来不只是 Function Calling 里的函数 Skill 里的 Python 脚本,到底是不是 Tool? 我终于搞懂了 Codex 的 Plugin 和 Skill:顺便把 App、MCP 一次理清 我终于搞懂了 Codex 的“应用”:App 到底是什么,怎么添加和维护? 我终于搞懂了 Tool、Function Calling 和 MCP:大模型到底怎么知道该调哪个接口? 我终于搞懂了 MCP:从 HTTP API 到 ERP MCP Server 的完整入门 我终于搞懂了 Codex 的“记忆”是怎么回事 Codex 用久了越来越慢?我的上下文管理小技巧 我终于搞懂了 Codex 里的 Thread、Turn 和 Session 从 Qwen3.8-27B 到 FP8、NVFP4、MoE:一次搞懂几个常见大模型概念 FPS 是什么意思?简单理解 60 FPS、25 FPS 和视频帧率 DeepSeek Harness 明明像 AI Coding 工具,为什么又能用来构建各种 Agent? 使用 Codex 开发项目,怎么才能节约 Token? 模型里的 32K、128K、256K 是什么意思?简单聊聊上下文限制 Codex 一次对话到底会给模型发送什么?以 Spring Boot 项目为例讲清 Context、代码读取与 Token 消耗 AI Agent 中的 Rule 是什么?以 Codex 为例,小白也能看懂 我终于搞懂了 Harness:它不是论文,也不是标准,更不是 Codex 独有
我终于搞懂了 Agent Spec:它其实就是 Agent 的“标准设计图”
人艰不拆_zmc · 2026-09-07 · via 博客园 - 人艰不拆_zmc

最近看了 oracle/agent-spec 这个项目。

一开始我最迷糊的是:

Agent Spec 到底是什么?是 Agent 框架?是 Harness?还是一种配置文件?

看完项目 README 和官方文档后,我现在最简单的理解是:

Agent Spec = 用统一格式描述一个 Agent“应该长什么样”的标准设计语言。

它本身不是 Agent,不是 Harness,也不是运行时


1. 先用“房屋设计图”理解

假设我们要做一个“财务 Agent”。

它可能需要:

模型:GPT / DeepSeek
System Prompt:你是一名财务助手
Tools:查账、查发票、生成报表
输入:用户问题
流程:先查数据,再分析,再输出

如果直接使用不同 Agent 框架,每家的写法都不一样:

LangGraph 有 LangGraph 的写法
AutoGen 有 AutoGen 的写法
CrewAI 有 CrewAI 的写法

Agent Spec 想做的事情就是:

先用一套统一格式,把“这个 Agent 是什么样”描述清楚。

至于最后由哪个框架运行,再交给 Runtime Adapter 去转换。

可以这样理解:

Agent Spec
= Agent 的标准设计图

LangGraph / AutoGen / CrewAI
= 不同施工队

Runtime Adapter
= 把标准设计图翻译成施工队能执行的形式

2. Agent Spec 主要描述什么?

项目里最核心的两类可运行组件是:

Agent
Flow

Agent

就是智能体本身,可以描述:

Agent 名称
模型配置
System Prompt
Tools
输入输出

Flow

就是结构化工作流程,例如:

查询客户
↓
检查合同
↓
生成报告
↓
人工确认

还可以把 Agent、Flow 继续组合成更复杂的多 Agent 系统。


3. Agent Spec 最重要的价值

我觉得最核心的一句话是:

把“Agent 怎么设计”和“Agent 用什么框架运行”分开。

以前可能是:

Agent设计
+
LangGraph代码
=
绑在一起

换成 AutoGen,可能需要重新适配。

Agent Spec 希望变成:

Agent Spec
↓
统一描述 Agent
↓
Runtime Adapter
↓
LangGraph / AutoGen / CrewAI

这样 Agent 的定义就更容易:

迁移
复用
保存
比较
测试

项目官方甚至拿 ONNX 做类比:

ONNX
= 让机器学习模型更容易跨框架表示

Agent Spec
= 让 Agent 更容易跨框架表示

这个比喻非常好理解。


4. Agent Spec 最终长什么样?

它可以通过 SDK 创建,也可以序列化成:

JSON
YAML

例如下面只是为了帮助理解:

name: 财务助手

model:
  provider: openai
  model_id: xxx

system_prompt: |
  你是一名财务助手。

tools:
  - query_invoice
  - query_payment

它表达的是:

“这个 Agent 应该这样配置。”

不是:

“Agent Spec 自己马上把 Agent 跑起来。”

真正执行还需要 Runtime。


5. Agent Spec 和 Harness 的区别

Agent Spec

回答:

这个 Agent 是什么样的?

例如:

用什么模型
有什么 Prompt
有什么 Tool
流程怎么组织

Harness / Runtime

回答:

这个 Agent 怎么真正跑起来?

例如:

调用模型
执行 Tool
维护 Session
管理 Context
运行 Agent Loop

所以:

Agent Spec
= 设计图

Harness / Runtime
= 真正让 Agent 跑起来的发动机

项目文档也明确说明:执行 Agent Spec 配置需要 Runtime Adapter,把 Agent Spec 转成具体 Agent 框架能执行的形式。


6. Agent Spec 和 MCP 的区别

MCP

主要解决:

Agent 怎么标准化连接外部 Tool 和资源。

例如:

Agent
↓
MCP
↓
OA MCP Server
↓
查询待办 Tool

Agent Spec

主要解决:

整个 Agent 应该怎么描述。

例如:

模型是谁
Prompt 是什么
有哪些 Tool
Agent 之间怎么组合
Workflow 怎么设计

所以:

MCP
= 怎么连接外部能力

Agent Spec
= 怎么描述整个 Agent

它们不是竞争关系,可以一起使用。


7. 为什么不直接在 Harness 里配置?

当然可以。

如果你:

只用一个 Harness
只在一个系统里运行
也不准备迁移

直接配置完全没问题。

Agent Spec 更适合:

同一个 Agent 想在不同框架运行
想把 Agent 定义保存成统一格式
想在不同团队之间交换 Agent
想做 Agent 平台和标准化管理

所以它不是:

“没有 Agent Spec 就做不了 Agent。”

而是:

“能不能把 Agent 的定义标准化,不要和某个框架彻底绑死。”


最后总结

我现在把 Agent Spec 理解成:

Agent Spec
= Agent 的标准设计图 / 配置语言

它可以描述:

模型
Prompt
Tool
输入输出
Agent
Flow
多 Agent 组合

但它不负责真正运行。

真正执行 Agent 的还是:

Runtime / Harness / Agent Framework

最后只记一句:

Agent Spec 负责“定义 Agent”,Harness 负责“运行 Agent”,MCP 负责“连接外部 Tool”。

这三个概念分开以后,Agent Spec 就不难理解了。