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

推荐订阅源

cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
B
Blog RSS Feed
宝玉的分享
宝玉的分享
腾讯CDC
博客园_首页
T
Tailwind CSS Blog
月光博客
月光博客
博客园 - 司徒正美
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
M
MIT News - Artificial intelligence
A
About on SuperTechFans
云风的 BLOG
云风的 BLOG
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
有赞技术团队
有赞技术团队
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
大猫的无限游戏
大猫的无限游戏
MongoDB | Blog
MongoDB | Blog
博客园 - 聂微东
V
Visual Studio Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
SecWiki News
SecWiki News
美团技术团队
P
Privacy International News Feed
H
Help Net Security
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Microsoft Security Blog
Microsoft Security Blog
Know Your Adversary
Know Your Adversary
Y
Y Combinator Blog
D
DataBreaches.Net
Project Zero
Project Zero
T
The Blog of Author Tim Ferriss
Cyberwarzone
Cyberwarzone
C
Cybersecurity and Infrastructure Security Agency CISA
C
Cisco Blogs
S
Schneier on Security
G
GRAHAM CLULEY
博客园 - 三生石上(FineUI控件)
Cisco Talos Blog
Cisco Talos Blog
小众软件
小众软件
Forbes - Security
Forbes - Security
D
Docker
T
Tenable Blog
S
Secure Thoughts
雷峰网
雷峰网
S
Security @ Cisco Blogs
T
The Exploit Database - CXSecurity.com
The Cloudflare Blog
博客园 - 【当耐特】
Spread Privacy
Spread Privacy
阮一峰的网络日志
阮一峰的网络日志

Tony Bai

偿还十年技术债:深度拆解 Go 1.27 的 GODEBUG 强力清理计划 浏览器里的“安全阴谋”:为什么 Go 1.27 的 UUIDv7 会离奇丧失随机性? Go 1.27新特性前瞻:泛型方法落地,标准库内建 UUID - Tony Bai AI 正在撕裂研发团队:狂欢的“托管派”与心碎的“守夜人” - Tony Bai 屠榜 CNCF!为什么在云原生时代,Go 语言能把 Java、C++ 和 Rust 堵在门外? 上千程序员自爆 AI 的“卧槽时刻”:是推开神界大门,还是跌入黑盒地狱? - Tony Bai 大模型正在见顶!传奇架构师:欢迎来到“平坦曲线时代” - Tony Bai Anthropic 40万大样本揭秘:AI 时代为什么“专家”身价暴涨? - Tony Bai 在 AI 编码时代,为什么我们依然选择 Go 而不是 Rust? DeepMind 亮出王炸:别再手写 Agent Harness 了,AI 已经学会自己写了! 为什么说“编译通过,就能运行”?Google 专家 Alice 揭秘 Rust 的工程美学与底层逻辑 谷歌 SRE 重磅白皮书:当 AI 自动写出 10 倍代码,谁来阻止系统崩溃? 别再省 Token 了!硅谷新共识:浪费算力才是唯一捷径 - Tony Bai Linux 内核顶级维护者:写了 35 年 C,是 Rust 让我重新找回了编程的乐趣 拒领上亿、封杀 AI:Zig 之父为什么 10 年不发 1.0? 写地道的 Go 语言,是否能让你成为了一个更好的开发者? - Tony Bai RSA 将死?Let’s Encrypt 押注 MTCs 迎战后量子时代 C++ 的权力游戏:一部关于妥协、背叛与重生的“史诗神剧” - Tony Bai 终结十年纠结:Go 新提案允许 Example 支持任意函数签名 - Tony Bai 2026年,大厂重构核心系统为何集体投向 Go? - Tony Bai “辛辛苦苦考上985,却发现AI能替代我90%的工作”:今天的高考,我们还在为什么而战? - Tony Bai 传奇黑客 Geohot 炮轰 AI Agent:这是软件工程史上代价最昂贵的灾难! 别把 Go 写成 Java:毁掉项目从过度架构开始 - Tony Bai 开源维护者的困境 - Tony Bai AI 时代如何真正掌握一门新技术?这份非主流学习指南建议永久收藏 - Tony Bai Go 生态17年大浪淘沙:2026年最值得引入的10个“神仙级”QoL工具包 - Tony Bai 再见样板代码!Go 官方新提案:函数一键转接口 - Tony Bai 写代码快 10 倍,不等于研发快 10 倍!Google 揭秘 AI 系统级瓶颈 Google I/O 2026:Jeff Dean 携 DeepMind 众神宣告,AI Agent 正在终结“标准化软件”时代 AI 优化 1.5ms,手写 0.02ms!Ghostty 作者痛批 AI 编程“平庸陷阱” Redis 之父吐槽现代前端的复杂性:我们到底是在解决问题,还是在制造问题? - Tony Bai 无痛消灭技术债:Google I/O 2026 开启 Go 自动重构时代 省下 10% CPU!Uber 揭秘 Go 栈扩容的隐秘代价 从 Go 迁移到 Rust - Tony Bai 悄悄用 Go 重写 AI 基础设施:NVIDIA 的 GPU 云平台为何选择 Go? Shopify 23,000 名工程师背后的 Claude Code 配置方案(你可以直接复刻的完整配置) Google 开源 AX 与 Agent Substrate:构建以 Agent 为核心的云原生计算底座 十年难题终获突破:揭秘 Go 1.27 接口逃逸分析优化 - Tony Bai 大洗牌!Google 内部确认:Go 正取代 C++,成为 AI Agent 时代的“通用语言” AI 编码胜率榜:Go 与 Rust 完胜 C++ 代码可以让 AI 写,但设计得由你做:重塑工程师的“算法直觉” - Tony Bai 别神话 Rust 重写了:搞定1%热路径,Go 性能照样起飞 - Tony Bai 如何在大型代码库中运用 Claude Code:最佳实践及入门指南 - Tony Bai 写了 10 年 Java/TS,Go 语言终于治好了我的“过度设计”绝症 AI 时代,软件大师们为什么都倒戈向 Go 和 Rust 了? 别再瞎写 go.mod 了!一行 go 1.xx,竟藏着 7 个足以颠覆你认知的“秘密开关” 谁说 Rust 在中国火了?扒开 2025 全年数据,我看到了令人尴尬的真相 “用 Go 打天下,用 Rust 救火”:这才是 2026 年后端架构的唯一正解 对话 Uber 前 CTO:我如何用 5000 个微服务驯服这头失控的巨兽 Anthropic 工程师发文:别用 Markdown 了,HTML 才是 AI 的终极语言! 火爆外网的 Go 开源神器 CLI Printing Press:一键生成 Agent 专属 CLI 工具 Bun 创始人带头“叛逃”:放弃 Zig,用 AI 把项目重写成 Rust? AWS 大神发文炮轰:Go 的并发就是个“笑话”,JVM 的方案要更优越 - Tony Bai Robert Griesemer 亲述:只解决 90% 问题的“箭头函数”该长什么样? “AI 让每个人都成了开发者”,就像“相机让每个人都成了摄影师” - Tony Bai AI 正在把我们推向“双输”深渊:顶级论文揭示“AI 裁员陷阱” - Tony Bai “AI 正在用垃圾代码摧毁一切!”:Flask 之父对话 Pi 作者,揭开 AI 编程的残酷真相 从“Vibe-Coding”到“Agentic Engineering”:Andrej Karpathy 的 AI 时代程序员生存法则 开源社区“内战”爆发:Bun 创始人预言“未来将禁止人类贡献”,硅谷大佬纷纷站队! - Tony Bai Ghostty 之父带头“出走”GitHub!官方 CTO 紧急道歉,并揭秘正在使用 Go 语言救火 Go 1.27 将默认开启 SIMD for amd64,可移植 SIMD 包提案出炉 Go 语言“内战”迎来终局?Go 圣经作者亲自下场,为“三元运算符”发起折中提案! - Tony Bai “我们想用 Rust 重写的次数是:零”:云平台 Render 靠“无聊”的 Go 撑起了千亿流量 对话 Martin Kleppmann:DDIA 第二版揭秘,以及 AI 将如何颠覆分布式系统 为什么人人爱 Rust,但 RedMonk 榜单却给它泼了一盆冷水? - Tony Bai Go 代码设计的“第一天原则”:一份能让你少走五年弯路的实战模式清单 - Tony Bai HashiCorp 创始人亲口“认错”:AI 让我重新爱上了 Go (文末福利) 聊聊为什么我要花这么大精力,带大家手写 Agent Harness? - Tony Bai “我把公司卖了,却感觉一无所有”:OpenClaw 之父 TED 亲述如何靠 AI 重获新生 薄驾驭,厚技能:YC 掌门人揭秘拉开 1000 倍效率差距的 AI 工程化心法 从“开源英雄”到“社区公敌”,Ollama 到底做错了什么? - Tony Bai GPU 计算的起源 - Tony Bai Rust 还没进前十,TIOBE 就开始唱衰了? - Tony Bai 为什么说 go 语句是新时代的 goto?四大法则拯救失控 goroutine C++ 社区内部大讨论:新特性到底是“生产力革命”,还是“叠加的复杂性”? - Tony Bai 别再无脑 go func() 了!Go 资深布道师 Dave Cheney 的 Goroutine 管理哲学 AI 时代,敏捷宣言已死?听听 Martin Fowler 和 Kent Beck 怎么说 Go Command 工作组成立:这几个用了十年的命令可能要被废! - Tony Bai Ruby on Rails 之父最新访谈:AI 正在推高顶尖程序员的身价 别搞“小而美”了!Rust 开发者请愿:求求标准库学学 Go 吧 - Tony Bai 倒计时 33 个月?Go 前安全负责人:量子计算机将“摧毁”互联网 - Tony Bai 从 1960 到 2026:一文看透 Java、Go、Python 垃圾回收器的原理与演进 AI 编程时代,我挖出了一本 1999 年的“删库跑路”指南 - Tony Bai 当AI 榨干了编程所有的乐趣:我不再是程序员,而是“Claude Code”的项目经理 - Tony Bai 2026 编程语言“饱和度”榜单出炉:JavaScript/Python 已“烂大街”,Go/Rust 成最大赢家? - Tony Bai 一天重写 JSONata,我用 400 美元干掉了公司 50 万美元的 K8s 集群
REST 已老,AI 时代的智能体需要怎样的 API? - Tony Bai
2026-04-03 · via Tony Bai

本文永久链接 – https://tonybai.com/2026/04/03/agentic-api-in-action

大家好,我是Tony Bai。

在过去的十几年里,如果你问任何一位后端工程师:“我们应该如何设计 API?”得到的答案几乎是统一的:RESTful

我们将世界抽象为一个个“资源(Resources)”,用名词来命名 URI(比如 /users, /orders),用 HTTP 动词(GET, POST, PUT, DELETE)来表达对这些资源的操作。这套基于 CRUD(创建、读取、更新、删除)的法则,优雅地统治了移动互联网和微服务时代。

然而,时代变了。

当我们步入 AI 时代,尤其是当各种大语言模型(LLM)驱动的智能体(AI Agent)开始接管我们的软件系统时,一个尖锐的矛盾浮出水面:这群“硅基同事”在面对我们精心设计的 REST API 时,表现得像个无所适从的笨蛋。

今天,作为本专栏的开篇,我想和你探讨一个极其现实的工程问题:为什么在 AI 时代,统治后端十年的 REST 架构正在失效?我们又该如何为 AI 智能体设计下一代接口——Agentic API?

AI 智能体的“认知障碍”:REST API 的三大罪状

为了理解 REST 的局限性,我们不妨先来做个角色互换。

假设你现在不是一个人类工程师,而是一个被赋予了任务的 AI Agent。你的主人对你说:“帮我把昨天那个发错的订单取消掉,并给客户退款。”

作为 Agent,你拥有一个极其强大的大脑(比如 GPT-5.x 或 DeepSeek-V3.x),并且你被授权访问公司内部的订单系统 API。你兴冲冲地查看了该系统的 Swagger 文档,看到了以下几个端点:

  • GET /orders/{id} (获取订单)
  • PUT /orders/{id} (更新订单)
  • DELETE /orders/{id} (删除订单)
  • POST /refunds (创建退款)

这时候,你的“认知障碍”出现了。

罪状一:意图的丢失

你要“取消订单”,但在 REST 的世界里,并没有一个叫“取消”的操作。

你应该调用 DELETE /orders/{id} 吗?如果你真的这么做了,你可能就把这条订单的物理记录从数据库里抹掉了,这在真实的电商系统中是灾难性的(通常我们需要软删除或者状态流转)。

还是说,你应该调用 PUT /orders/{id},并在 JSON Payload 里传一个 {“status”: “CANCELLED”}?这听起来合理一些,但如果你传的是 {“status”: “DELETED”} 呢?API 会报错吗?

REST API 强迫调用者去猜测后端的业务逻辑映射。 对于人类开发者,我们可以通过阅读厚厚的 API 接入文档,或者直接去问写这个接口的同事来澄清。但对于 AI Agent,它只能基于常识去“猜”。当 AI 开始猜你的系统设计时,就是灾难的开始。

罪状二:原子性与编排的噩梦

更糟糕的是,主人的任务是“取消订单并退款”。

在 REST 架构下,订单资源(/orders)和退款资源(/refunds)通常是分离的。AI Agent 必须自己完成以下编排:

  1. 调用 PUT /orders/{id} 将状态改为 CANCELLED。
  2. 解析步骤 1 的响应,确认成功。
  3. 调用 POST /refunds,并小心翼翼地把订单的金额、支付流水号等信息拼装到 Payload 中。

如果步骤 1 成功了,但步骤 2 因为网络超时失败了怎么办?AI Agent 需要具备复杂的错误恢复机制和分布式事务处理能力(比如发起撤销操作)。我们把极其复杂的系统状态一致性问题,推给了客户端(AI)。

罪状三:权限的过度宽泛

为了让 AI 能够完成上述操作,你需要给它分配什么样的权限?

在传统的 OAuth 2.0 体系中,你可能不得不给它 order:write 和 refund:write 权限。这意味着,这个 AI Agent 不仅能取消订单,它还能修改订单金额,甚至能随意发起退款!

REST API 以“资源”为粒度划分权限,这对于非确定性的 AI 来说,权限敞口太大了。 我们真正想给 AI 的权限是“仅限取消特定状态的订单”,但这在传统的 REST 模型中极难优雅地表达。

破局之道:从“面向资源”到“面向任务”

面对上述痛点,业界最近非常流行一种解决方案:让 AI 使用工具(Tool Calling / Function Calling)。

比如 Anthropic 推出的 MCP(Model Context Protocol)协议,它的核心思想是:在 AI 和系统之间架设一个中间件(MCP Server),将系统的能力包装成一个个具体的 Tool(工具)暴露给 AI。

这确实缓解了部分问题,AI 可以直接调用名为 cancel_order_and_refund 的工具了。但请注意,这治标不治本。

这相当于我们在后端依然写着糟糕的、极难编排的 REST API,然后派人写了一堆中间层胶水代码(Glue Code)来适配 AI。随着系统变得复杂,维护这些“胶水工具”的成本将呈指数级上升,状态同步和权限控制的难题依然存在。

我们真正需要的,是一场后端架构范式的革命:从源头上设计对 AI 友好的 API。

这就是本微专栏要向你隆重介绍的 Agentic API 理念。

Agentic API 的核心思想是:放弃将世界强行扭曲为“资源(名词)”,回归人类和 AI 最自然的交流方式——“任务与意图(动词)”。

我们来看一个对比。

传统 REST API 的思维模式:

“这里有一个 Order 资源。你可以对它执行 POST, GET, PUT, DELETE。”

Agentic API 的思维模式:

“这里有一个业务系统。你可以执行 CANCEL(取消订单), REFUND(发起退款), NOTIFY(发送通知)等明确的任务。”

我们用一张简单的时序图来对比一下这两种模式下,AI Agent 完成“取消并退款”任务的复杂度差异:

在 Agentic API 模式下:

  1. 意图极其明确:API 端点本身就是一个清晰的动词(或动词组合),AI 不需要猜测 PUT 到底意味着什么。
  2. 后端掌控状态:复杂的编排逻辑(改状态、调退款接口、处理分布式事务)被收敛到了后端。后端永远是状态的最终防线。
  3. 权限精准控制:我们可以给 AI 颁发一个名为 action:cancel_and_refund 的细粒度 Token,即使 AI 产生幻觉想去改订单金额,也会被 API 网关直接拦截。

实战演练:用 Go 构建你的第一个 Agentic API

光说不练假把式。接下来,我们将用 Go 语言,从零开始将一个传统的 REST 接口改造为 Agentic API。

假设我们正在开发一个博客系统,我们需要一个接口让 AI 帮我们“总结一篇文章的核心观点”

项目目录准备

请确保你已安装 Go 1.21 或以上版本。我们将使用标准库 net/http 来保持代码最简。

创建一个新目录并初始化模块:

mkdir agentic-api-demo
cd agentic-api-demo
go mod init agentic-demo
touch main.go

传统的 RESTful 实现 (反模式)

在传统的 CRUD 思维下,很多开发者可能会这么设计:

让客户端发送一个 POST /documents/{id}/summary 请求,或者使用一个万能的 PATCH /documents/{id},带上一个 action=summarize 的字段。

这虽然能工作,但语义不够清晰,扩展性极差(如果明天需要翻译、提取关键字呢?)。

Agentic API 的实现思路

在 Agentic API 的设计中,我们提倡使用明确的动词驱动路由。针对这种数据处理类的任务,我们可以定义一个 COMPUTE 或 ANALYZE 大类。

让我们在 main.go 中写下这段优雅的代码:

// ch01/agentic-api-demo/main.go
package main

import (
    "encoding/json"
    "fmt"
    "log"
    "net/http"
    "strings"
)

// AgenticRequest 代表了 AI 智能体发来的标准任务请求
type AgenticRequest struct {
    // 明确的意图动作
    Action string json:"action"
    // 动作的目标上下文 (例如文档ID)
    ContextID string json:"context_id"
    // 动作需要的特定参数
    Parameters map[string]interface{} json:"parameters,omitempty"
}

// AgenticResponse 代表了返回给 AI 的标准结构化响应
type AgenticResponse struct {
    Status  string      json:"status" // SUCCESS, FAILED, REQUIRE_CONFIRM
    Result  interface{} json:"result,omitempty"
    Message string      json:"message,omitempty"
}

func main() {
    // 定义一个面向动作的路由前缀
    http.HandleFunc("/api/v1/actions", actionHandler)

    fmt.Println("Agentic API Server started on :8080")
    log.Fatal(http.ListenAndServe(":8080", nil))
}

// actionHandler 充当了“任务调度中心”
func actionHandler(w http.ResponseWriter, r *http.Request) {
    if r.Method != http.MethodPost {
        http.Error(w, "Only POST is allowed for actions", http.StatusMethodNotAllowed)
        return
    }

    var req AgenticRequest
    if err := json.NewDecoder(r.Body).Decode(&req); err != nil {
        sendResponse(w, http.StatusBadRequest, "FAILED", nil, "Invalid JSON payload")
        return
    }

    // 核心:基于 Action (动词) 进行路由分发,而不是基于资源名词
    switch strings.ToUpper(req.Action) {
    case "SUMMARIZE":
        handleSummarize(w, req)
    case "TRANSLATE":
        // handleTranslate(w, req)
        sendResponse(w, http.StatusNotImplemented, "FAILED", nil, "Action TRANSLATE not implemented yet")
    default:
        sendResponse(w, http.StatusBadRequest, "FAILED", nil, fmt.Sprintf("Unknown action: %s", req.Action))
    }
}

// handleSummarize 处理具体的总结任务
func handleSummarize(w http.ResponseWriter, req AgenticRequest) {
    docID := req.ContextID
    if docID == "" {
        sendResponse(w, http.StatusBadRequest, "FAILED", nil, "context_id (Document ID) is required")
        return
    }

    // 解析可选参数 (Agentic API 应该允许 AI 传入控制参数)
    maxLength := 100 // 默认值
    if ml, ok := req.Parameters["max_length"].(float64); ok {
        maxLength = int(ml)
    }

    // 模拟从数据库获取文档并进行总结的复杂逻辑
    log.Printf("Executing SUMMARIZE for doc: %s, max length: %d\n", docID, maxLength)

    // 模拟生成的摘要
    mockSummary := fmt.Sprintf("这是关于文档 %s 的核心总结,长度被限制在 %d 字以内:Agentic API 是未来的趋势。", docID, maxLength)

    // 返回标准化响应
    sendResponse(w, http.StatusOK, "SUCCESS", mockSummary, "Document summarized successfully")
}

// 统一的响应封装助手
func sendResponse(w http.ResponseWriter, statusCode int, status string, result interface{}, message string) {
    w.Header().Set("Content-Type", "application/json")
    w.WriteHeader(statusCode)
    resp := AgenticResponse{
        Status:  status,
        Result:  result,
        Message: message,
    }
    json.NewEncoder(w).Encode(resp)
}

运行与验证

在终端运行该代码:

go run main.go

现在,假设你是一个 AI Agent,你决定执行“总结文章”的任务,你可以构造如下清晰的 Payload 发送给后端:

curl -X POST http://localhost:8080/api/v1/actions \
-H "Content-Type: application/json" \
-d '{
  "action": "SUMMARIZE",
  "context_id": "doc_9527",
  "parameters": {
    "max_length": 50
  }
}'

你会得到一个标准化的、极易解析的响应:

{
  "status": "SUCCESS",
  "result": "这是关于文档 doc_9527 的核心总结,长度被限制在 50 字以内:Agentic API 是未来的趋势。",
  "message": "Document summarized successfully"
}

看出区别了吗?

我们建立了一个统一的 /actions 门户。AI 只需要指明它想做什么(Action: SUMMARIZE),针对什么目标(ContextID: doc_9527),以及有何要求(Parameters)

后端完全掌控了路由分发、参数校验和复杂的业务实现。如果你明天需要增加一个“翻译”功能,对于 AI 来说,只是换了一个动词(TRANSLATE),它的交互模式(Schema)没有任何改变。这种一致性极大地降低了 AI 的试错成本和代码生成复杂度。

专栏剧透:我们将如何系统性地驯服 AI 智能体?

刚才的实战只是开胃菜。要让你的整个微服务集群、成百上千个接口都变成“Agent-Ready(AI 就绪)”,我们需要一套完整的架构方法论。

这就引出了我们这个《Agentic API 实战:为 AI 智能体设计下一代接口》微专栏,以及后续的安排。

在接下来的 5 讲中,我将摒弃那些空洞的 AI 概念,从一名后端架构师的视角出发,带你一步步把这套理念落地为真实的生产级能力。所有核心模式都会配备详实的 Go 语言可运行代码。

以下是我们接下来的“作战路线图”:

  • 第 02 讲 | 重新定义动作:掌握 ACTION 接口分类法
    我们会深入探讨 Agentic API 的“六大核心动词”(获取、计算、交易、集成、编排、通知)。你会学到如何彻底抛弃 CRUD 思维,用 AI 最容易理解的意图来重塑你的路由设计。
  • 第 03 讲 | 语义可发现性:让 AI 自己“读懂”你的系统能力
    当你有 100 个接口时,把文档全部喂给 AI 是愚蠢且昂贵的。我们将用 Go 实现一个动态的 DISCOVER 端点,让 AI 能够像人类查字典一样,按需、动态地探索你系统的能力边界和前置条件。
  • 第 04 讲 | OpenAPI 进化:用 Agentic 扩展赋能机器阅读
    我们不需要推翻现有的基础设施。这一讲,我将教你如何利用 OpenAPI (Swagger) 的 x- 自定义扩展机制,把“不可逆风险”、“副作用”等业务约束“藏”进标准文档里,让死文档变成 AI 的“行动护栏”。
  • 第 05 讲 | 复杂任务编排:链式调用 (Chaining) 与测试模式 (Dry Run)
    这是保证 AI 绝对安全的核心!当 AI 需要连续调用三个接口完成扣款时,如何在网络抖动中保全业务状态?我们将设计基于后端的链式调用,并引入价值连城的“Dry Run(安全演习)”模式,把 AI 犯错的成本降到最低。
  • 第 06 讲 | 演进与落地:如何将现有系统平滑升级为 Agentic API?
    现实是骨感的,你的公司里堆满了 5 年前写的陈旧 REST 接口。大结局中,我将演示一种优雅的“代理与适配器(Proxy & Adapter)”架构,教你在不修改任何一行老代码的前提下,为遗留系统穿上“AI 外骨骼”。

这是一次从思维方式到工程实现的全面升级。如果你准备好了迎接 AI 带来的自动化红利,并且希望成为团队里那个“最懂如何让机器调接口”的架构师,那么,请扫描下方二维码,紧跟我的步伐。

本讲小结

今天,我们站在了一个新时代的起点。

  1. 认知翻新: 传统的 RESTful API 围绕着“静态资源(名词)”展开,要求调用方(无论人还是机器)了解系统的内在状态流转。这在 AI 时代变成了沉重的认知负担,导致意图丢失、编排复杂、权限泛滥。
  2. 范式转移: Agentic API 提倡转向“任务驱动(动词)”。API 端点应该直接表达操作意图(如 SUMMARIZE, CANCEL_ORDER),由后端收敛复杂的业务编排和状态管理。
  3. 实战起航: 我们用 Go 构建了一个极简的动作分发网关,展示了如何用统一的结构(Action, Context, Parameters)来响应 AI 智能体的请求。

这仅仅是冰山一角。在接下来的专栏中,我们将深入探讨 Agentic API 的骨架:六大核心 ACTION 分类法。我们将学习如何让 AI 自动“发现”你的系统能力,如何通过扩展 OpenAPI 规范生成完美的智能体说明书,以及如何设计让 AI 执行复杂连锁任务的“沙盒测试模式”。

世界正在不可逆转地走向自动化,懂 AI 调用的 API 架构师,将成为下个十年最稀缺的资源。我们下一讲见!

本讲涉及的示例代码和脚本可以在这里下载。

思考题

在你的日常开发中,有没有遇到过一个传统的 REST API(比如一个修改用户状态的 PUT 接口),它的内部逻辑其实非常复杂(包含了发邮件、写审计日志、调起其他微服务等操作)?

如果让你用 Agentic API 的思维(动词驱动)重新设计这个接口的访问方式,你会怎么命名这个 Action?它的 Payload 结构会是什么样的?

欢迎在评论区留下你的思考和设计,我会和你一起讨论。


还在为“复制粘贴喂AI”而烦恼?我的新专栏 AI原生开发工作流实战 将带你:

  • 告别低效,重塑开发范式
  • 驾驭AI Agent(Claude Code),实现工作流自动化
  • 从“AI使用者”进化为规范驱动开发的“工作流指挥家”

扫描下方二维码,开启你的AI原生开发之旅。


原「Gopher部落」已重装升级为「Go & AI 精进营」知识星球,快来加入星球,开启你的技术跃迁之旅吧!

我们致力于打造一个高品质的 Go 语言深度学习AI 应用探索 平台。在这里,你将获得:

  • 体系化 Go 核心进阶内容: 深入「Go原理课」、「Go进阶课」、「Go避坑课」等独家深度专栏,夯实你的 Go 内功。
  • 前沿 Go+AI 实战赋能: 紧跟时代步伐,学习「Go+AI应用实战」、「Agent开发实战课」、「Agentic软件工程课」、「Claude Code开发工作流实战课」、「OpenClaw实战分享」等,掌握 AI 时代新技能。
  • 星主 Tony Bai 亲自答疑: 遇到难题?星主第一时间为你深度解析,扫清学习障碍。
  • 高活跃 Gopher 交流圈: 与众多优秀 Gopher 分享心得、讨论技术,碰撞思想火花。
  • 独家资源与内容首发: 技术文章、课程更新、精选资源,第一时间触达。

衷心希望「Go & AI 精进营」能成为你学习、进步、交流的港湾。让我们在此相聚,享受技术精进的快乐!欢迎你的加入!

img{512x368}


商务合作方式:撰稿、出书、培训、在线课程、合伙创业、咨询、广告合作。如有需求,请扫描下方公众号二维码,与我私信联系。

© 2026, bigwhite. 版权所有.

Related posts:

  1. 从 P2H 到 P2A2H:软件架构的终极倒置——为智能体设计软件
  2. 别再卷前端 UI 了!未来万亿级用户的产品,根本没有界面
  3. 坚守内核,拥抱变量:我的 2025 年终复盘与 2026 展望
  4. 代码Agent没有护城河?我用Go标准库和DeepSeek证明给你看!
  5. gRPC服务的响应设计