当前位置: 首页 > article >正文

深入拆解AI Coding Agent 的底层原理

本文基于Amazon Q Developer CLI和Claude Code两个开源项目从架构层面拆解AI Coding Agent的核心设计。详细分析了Agent Loop智能体循环、工具系统、四层安全模型、Context Window管理策略、MCP工具扩展协议等关键技术总结了七大设计原则。这些工具通过LLM大脑工具手脚的模式实现了给AI放权和不让AI搞破坏的平衡为开发者理解AI Coding工具的工作原理和安全边界提供了宝贵参考。Cursor、Claude Code、Amazon Q、Windsurf… 2026 年 AI Coding 已经卷成红海。但你有没有想过这些工具到底是怎么工作的本文基于Amazon Q Developer CLIRust 实现和Claude CodeTypeScript Python两个已开源项目的源码从架构层面拆解 AI Coding Agent 的核心设计。看完你会明白为什么这些工具能写代码、能改文件、能跑命令——以及它们是如何在「给 AI 放权」和「不让 AI 搞破坏」之间做平衡的。1 先搞清楚一件事AI Coding ≠ 聊天机器人很多人以为 AI Coding 工具就是 ChatGPT 套了个 IDE 的壳。大错特错。聊天机器人只能「说」AI Coding Agent 能「做」。区别在哪Tool Use工具调用。当你让 Claude Code 帮你改一个 bug 时背后发生的事情是这样的 你「帮我修一下 src/app.js 里的 bug」⬇️ LLM 思考我需要先看看这个文件 LLM 输出工具调用fs_read(src/app.js)⬇️⚙️ Agent 执行读取文件内容 → 返回给 LLM⬇️ LLM 思考找到 bug 了第 42 行有问题 LLM 输出工具调用fs_write(src/app.js, ...)⬇️⚙️ Agent 执行修改文件 → 返回结果⬇️ LLM「搞定了问题出在…」这个过程叫Agent Loop智能体循环是所有 AI Coding 工具最核心的设计模式。关键概念LLM 不直接操作你的电脑。它通过结构化的 JSON 请求告诉 Agent「我想做什么」Agent 验证权限后代为执行。这样所有操作都可审计、可拦截、可回滚。2 Agent Loop一个精巧的状态机Amazon Q CLI 在 Rust 里实现了一个显式的有限状态机来管理整个 Agent 循环▲ Agent Loop用户输入 → Prompt → LLM → 流式解析 → 工具执行 → 循环▲ 6 种状态的有限状态机Idle → ExecutingRequest → ExecutingHooks → WaitingForApproval → ExecutingTools → 循环这个状态机看起来简单但有几个精妙之处循环是自动的—— LLM 调用工具后结果会自动注入对话并再次调用 LLM直到 LLM 决定停下来。你跟它说「帮我重构这个模块」它可能会连续调用 20 多次工具才停下。⚡工具可以并行执行—— LLM 一次可以返回多个 tool_useAgent 用 Tokio 的 FuturesUnordered 并行执行然后打包所有结果一起发回。️每次工具调用都过权限检查—— Allow 直接执行Ask 弹出确认Deny 直接拒绝并告诉 LLM 原因。3 工具系统AI 的「手和脚」AI Coding Agent 的能力上限完全取决于它有哪些工具。来看 Amazon Q CLI 的内置工具集▲ LLM 一次返回多个 tool_use → TaskExecutor 并行执行 → 打包结果发回 LLM工具描述的艺术这里有一个很多人不知道的细节工具的 description 不是给人看的文档而是给 LLM 看的行为指令。它的质量直接决定 Agent 的表现。比如 ExecuteCmd 的描述里写着这段描述的目的是引导 LLM 优先使用 FsRead/FsWrite 等专用工具而不是什么都用 bash 命令——因为专用工具更安全、更可控。⚠️这是 Prompt Engineering 最被低估的领域工具描述的措辞差异可以让 Agent 的行为从「靠谱」变成「灾难」。一个写得好的 description 比调整模型温度有用 10 倍。__tool_use_purpose让 AI 「三思后行」Amazon Q CLI 有一个精妙的设计——每次工具调用都强制 LLM 填写一个 purpose 字段这个字段的作用① 用户能看到 AI 为什么做这个操作② 迫使 LLM「思考」后再行动减少无意义的调用③ 所有操作都有审计记录。4 安全模型四层纵深防御给 AI 能力越大安全就越重要。Amazon Q CLI 实现了四层安全架构▲ Amazon Q CLI 四层纵深防御Hook → 用户确认 → 路径权限 → 工具白名单其中路径权限是最有意思的一层所有路径都会先做canonicalize规范化处理防止用../这种路径穿越攻击绕过权限。Claude Code 这边则用 Hook 实现了声明式安全策略自动检测 9 种常见安全风险命令注入、XSS、eval() 滥用、SQL 注入、硬编码凭证等等。5 Context Window 管理最核心的稀缺资源这是 AI Coding 和传统软件最大的架构差异。▲ 五层 Prompt 架构System Prompt → Context Entries → Tool Specs → 对话历史 → 用户消息传统软件的瓶颈是 CPU、内存、IO。AI Coding 的瓶颈是Context Window—— LLM 一次能处理的 token 上限。超了就「失忆」之前的对话全忘了。Amazon Q CLI 用了四个策略来管理这个稀缺资源1自动压缩Compact—— 当上下文溢出时调用 LLM 对历史对话生成摘要。200K tokens 的历史压缩成 2K tokens 的摘要 最近 20 条消息。2消息截断—— 读取大文件时只保留前 10000 字符附带...truncated提示。3历史裁剪—— 保留最近的消息删除最早的。但要维护结构完整性不能破坏 tool_use/tool_result 配对。4资源文件限制—— 自动包含的资源文件不超过 10KB。 Amazon Q CLI 的终端提示符会实时显示 Context Window 使用率[default] 42% _→ 正常[default] 85% ! _→ 警告该 /compact 了6 MCP 协议工具扩展的事实标准两个项目都采用了MCPModel Context Protocol作为工具扩展协议。MCP 正在成为 AI Coding 领域的事实标准。简单说MCP 就是 AI Agent 调用外部工具的「USB 接口」▲ MCP 协议AI Agent 通过 JSON-RPC 与 MCP Server 通信McpManager 用 Actor 模型管理多个 ServerAmazon Q CLI 用 Actor 模型管理多个 MCP Server —— 每个 Server 是一个独立的 Actor通过消息通信支持独立的连接管理、错误恢复和工具发现。这意味着你可以用任何语言写一个 MCP Server定义自己的工具比如查数据库、调内部 API、操作 K8s 集群然后任何支持 MCP 的 AI Agent 都能用。7 插件体系Claude Code 的五维扩展Claude Code 定义了 5 种正交的扩展点每种解决不同的需求▲ 五种扩展点 Hook 事件生命周期最有意思的是feature-dev插件的 7 阶段工作流展示了 Agent 编排的最佳实践。注意 Phase 2 ——并行启动多个子 Agent去探索不同的代码路径这就是 Multi-Agent 协作在实际产品中的落地。8 两个项目的架构对比维度Amazon Q CLIClaude Code语言Rust系统级性能TypeScript Python架构单体 Agent Actor 并发核心引擎 插件生态并发Tokio async ActorNode.js 事件循环 子进程扩展MCP Hook 脚本5 维插件体系状态SQLite 持久化文件系统 会话状态优势性能、类型安全、编译时保证开发效率、生态丰富、灵活性一个走性能路线一个走生态路线。但核心范式完全一致LLM Agent Tool Use Streaming Safety MCP。▲ Rust vs TypeScript 两种技术路线的详细对比▲ 流式处理全链路LLM API → StreamParseState 增量解析 → 实时渲染/工具执行 → 终端 UI9 七大设计原则总结原则 1LLM 是大脑工具是手脚LLM 不直接操作系统通过结构化的 Tool Use 间接操作。所有操作可审计、可拦截、可回滚。原则 2流式处理优先不等完整响应增量解析 实时渲染。用户体验接近实时对话。原则 3安全是架构级关注点权限不是事后补丁而是从工具定义到用户确认的完整链路。原则 4Context Window 是稀缺资源所有设计都围绕「如何在有限窗口内塞入最有价值的信息」。原则 5工具描述即 Prompt工具的 description 直接决定 Agent 选择和使用工具的方式。原则 6MCP 标准化工具生态统一的工具接口协议支持跨 Agent 复用。原则 7状态机驱动对话管理不是简单的一问一答而是带有明确状态转换的有限状态机。写在最后AI Coding 看起来像魔法但拆开看本质就是一个循环 一堆工具 一套权限。理解了这些底层原理你会发现 为什么有时候 Agent 会「失忆」—— Context Window 满了 为什么它有时候不用最好的方法 —— 工具描述引导不够好 为什么不同工具的「手感」差很多 —— 状态机和错误处理的精细度不同 为什么 MCP 这么重要 —— 它是工具生态的 USB 接口如果你正在做 AI 相关的开发或者在考虑自己搭 Agent 系统这两个开源项目是最好的学习材料。代码不会说谎。 参考项目• Amazon Q Developer CLIgithub.com/aws/amazon-q-developer-cli• Claude Codegithub.com/anthropics/claude-code如何学习大模型 AI 由于新岗位的生产效率要优于被取代岗位的生产效率所以实际上整个社会的生产效率是提升的。但是具体到个人只能说是“最先掌握AI的人将会比较晚掌握AI的人有竞争优势”。这句话放在计算机、互联网、移动互联网的开局时期都是一样的道理。我在一线互联网企业工作十余年里指导过不少同行后辈。帮助很多人得到了学习和成长。我意识到有很多经验和知识值得分享给大家也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限很多互联网行业朋友无法获得正确的资料得到学习提升故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。第一阶段10天初阶应用该阶段让大家对大模型 AI有一个最前沿的认识对大模型 AI 的理解超过 95% 的人可以在相关讨论时发表高级、不跟风、又接地气的见解别人只会和 AI 聊天而你能调教 AI并能用代码将大模型和业务衔接。大模型 AI 能干什么大模型是怎样获得「智能」的用好 AI 的核心心法大模型应用业务架构大模型应用技术架构代码示例向 GPT-3.5 灌入新知识提示工程的意义和核心思想Prompt 典型构成指令调优方法论思维链和思维树Prompt 攻击和防范…第二阶段30天高阶应用该阶段我们正式进入大模型 AI 进阶实战学习学会构造私有知识库扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架抓住最新的技术进展适合 Python 和 JavaScript 程序员。为什么要做 RAG搭建一个简单的 ChatPDF检索的基础概念什么是向量表示Embeddings向量数据库与向量检索基于向量检索的 RAG搭建 RAG 系统的扩展知识混合检索与 RAG-Fusion 简介向量模型本地部署…第三阶段30天模型训练恭喜你如果学到这里你基本可以找到一份大模型 AI相关的工作自己也能训练 GPT 了通过微调训练自己的垂直大模型能独立训练开源多模态大模型掌握更多技术方案。到此为止大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗为什么要做 RAG什么是模型什么是模型训练求解器 损失函数简介小实验2手写一个简单的神经网络并训练它什么是训练/预训练/微调/轻量化微调Transformer结构简介轻量化微调实验数据集的构建…第四阶段20天商业闭环对全球大模型从性能、吞吐量、成本等方面有一定的认知可以在云端和本地等多种环境下部署大模型找到适合自己的项目/创业方向做一名被 AI 武装的产品经理。硬件选型带你了解全球大模型使用国产大模型服务搭建 OpenAI 代理热身基于阿里云 PAI 部署 Stable Diffusion在本地计算机运行大模型大模型的私有化部署基于 vLLM 部署大模型案例如何优雅地在阿里云私有部署开源大模型部署一套开源 LLM 项目内容安全互联网信息服务算法备案…学习是一个过程只要学习就会有挑战。天道酬勤你越努力就会成为越优秀的自己。如果你能在15天内完成所有的任务那你堪称天才。然而如果你能完成 60-70% 的内容你就已经开始具备成为一名大模型 AI 的正确特征了。这份完整版的大模型 AI 学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】

相关文章:

深入拆解AI Coding Agent 的底层原理

本文基于Amazon Q Developer CLI和Claude Code两个开源项目,从架构层面拆解AI Coding Agent的核心设计。详细分析了Agent Loop智能体循环、工具系统、四层安全模型、Context Window管理策略、MCP工具扩展协议等关键技术,总结了七大设计原则。这些工具通过…...

React核心语法:组件化与声明式编程

React 的核心语法围绕“组件化”“声明式编程”展开,从最初的类组件,到如今的函数组件Hooks,开发体验不断优化。以下是开发和面试中最常用的核心语法,附实战代码、考点解析和避坑指南,确保拿来就用、记了就会。2.1 核心…...

SpringBoot 业务逻辑层架构设计:Service+DTO+ 参数校验

SpringBoot业务逻辑层设计:服务接口+通用抽象+异常处理+DTO设计 💡 摘要: 本文系统讲解SpringBoot业务逻辑层的完整设计方案,深入解析服务层架构设计、通用服务抽象实现、业务异常处理体系、数据传输对象设计以及服务层性能优化策略。包含5个常见业务逻辑层陷阱解决方案(职责…...

一些论文word格式

三线图右键选择表格属性选择边框和底纹,设置无,然后选择宽度,最后点击上下边框,然后就成了页码插入——页码 找到要用到页码的那页,从本页插入奇偶数设置页眉插入——页眉页脚——奇偶数不同统一改样式目录目录在引用…...

清华开源新成果,国内首个L4来了!

B站:啥都会一点的研究生公众号:啥都会一点的研究生 AI科技圈最近一周又发生了啥新鲜事? Cursor 发布 Composer 2 Cursor 推出其智能编程助手的全新版本 Composer 2,该版本核心升级为支持跨多个文件的协同编辑与深度上下文理解能…...

电脑密码忘了怎么办?【图文讲解】登录密码?密码设置?修改密码?密码错误

一、问题背景有没有这样一个崩溃瞬间?开机,输入密码。提示:密码错误。再试一次,还是错。第三次,心开始慌了。明明昨天还在用,今天却被电脑拒之门外。文件在里面,资料在里面,工作也在…...

正点原子2026开发板教程——从0开始配置Linux内核(5)——设备树在内核中的使用

正点原子2026开发板教程——从0开始配置Linux内核(5)——设备树在内核中的使用教程已经在Github上开源: https://github.com/Awesome-Embedded-Learning-Studio/imx-forge 欢迎尝试和围观!为什么要谈内核中的设备树 上一章我们讲了…...

计算机毕业设计 java 疫情期间物资分配管理系统 SpringBoot 疫情物资智能分配管理平台 JavaWeb 疫情期间物资申请分配系统

计算机毕业设计 java 疫情期间物资分配管理系统 714499,末尾的数字和英文也要加上 (配套有源码 程序 mysql 数据库 论文)本套源码可以先看具体功能演示视频领取,文末有联 xi 可分享疫情期间,各类防控物资的合理分配与高…...

正点原子IMX6ULL史诗级新内核移植教程(2)—— 编译内核(新瓶子装旧酒)

正点原子IMX6ULL史诗级新内核移植教程(2)—— 编译内核(新瓶子装旧酒) 前言:为什么这篇文章这么长 说实话,编译 Linux 内核这件事本身并不复杂——不就是 make 一下吗?但问题在于,…...

第 2 章 应用层 总述|《计算机网络:自顶向下方法》精读版

本文是计算机网络经典教材精读系列的第二章,承接第一章因特网总述,正式进入自顶向下的核心学习路径 —— 从用户最直观接触的应用层出发,拆解网络应用的工作原理、通信范式与核心协议,搭建应用层完整知识框架。一、应用层定位&…...

ai向量数据化中的余弦相似度计算

这个问题问得特别到位,很多人一开始都会懵:明明数学里余弦是邻边比斜边(x/r),怎么放到文本相似度里就“越大越相近”了? 我用最简单、不绕弯的方式给你讲明白,保证你一下就通。 1. 先记住一句话…...

【Koopman 算子】深度学习用于非线性动力学的通用线性嵌入研究(Python、Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...

利用傅立叶变换(FFT)预测股价

一、数学原理 假设股价的对数收益率(为什么用对数收益率呢?是因为对数收益率更能满足平稳性要求)是随时间周期变化的函数,用表示,根据傅立叶变换的原理,可以表示成如下形式: 为复数&#xff0c…...

云原生基础工具:Docker入门:容器化的第一步

云原生基础工具:Docker入门:容器化的第一步📚 本章学习目标:深入理解Docker入门的核心概念与实践方法,掌握关键技术要点,了解实际应用场景与最佳实践。本文属于《云原生、云边端一体化与算力基建&#xff1…...

面试官灵魂一问:MySQL 深度分页如何优化?(修订版)

在线 Java 面试刷题(持续更新):https://www.quanxiaoha.com/java-interview面试考察点问题识别能力:面试官不仅仅是想知道优化方案,更是想看你能否识别出深度分页的性能瓶颈——为什么 LIMIT 1000000, 10 会慢&#xf…...

微电网黑科技】两台三电平逆变器如何玩转线路阻抗差异?手把手拆解下垂控制核心代码

下垂功率均分-两台T型三电平逆变器在不同阻感性线路阻抗下实现有功均分与无功均分,采用积分改进法(阻抗相消法),电压电流双闭环控制,中点电位平衡控制,SPWM调制。 1.下垂,电压电流双闭环控制 2.…...

小程序容器技术方案分析:选型决策框架

本文不推荐任何特定产品,仅提供技术维度对比和决策框架,帮助读者根据自身需求做出判断。 一、技术原理回顾 小程序容器的核心价值在于双线程架构,将业务逻辑与UI渲染隔离: 方案类型 架构特点 性能表现 适用场景 H5 单线程,UI与逻辑互阻塞 启动慢,滑动掉帧 简单展示类页面…...

光伏板在直流母线上抖着腿晒太阳的时候,蓄电池和超级电容这对“储能兄弟“正在后台疯狂抢活。咱们今天要聊的这个光储并网系统,本质上就是个大型动态功率分配现场

光储并网直流微电网simulink仿真模型,光伏采用mppt实现最大功率输出。 储能由蓄电池和超级电容构成的混合储能系统。 为了确保微网并网时电能质量,采用二阶低通滤波法对光伏输出功率进行抑制,通过设置不同截止频率将高频功率给超级电容响应&a…...

Spring Boot 3 + Vue 3 全栈开发课程指南:从零到独立开发通用管理系统,一篇看懂学什么、怎么学

如果你是一名Java后端开发者,你一定听过这样的声音:“后端程序员也要会前端了。” “毕设要做Web项目,Spring Boot Vue到底怎么学?” “网上课程要么只讲后端接口,要么源码堆砌脱离实际,学完还是不会做项目…...

CH32X035 RISC-V USB游戏手柄固件设计与HID协议实现

1. 项目概述CH32X035_USBGamepad 是一款面向沁恒半导体(WCH)CH32X035 系列 RISC-V 架构微控制器的高性能 USB HID 游戏手柄固件库。该库并非通用 HID 抽象层封装,而是深度耦合 CH32X035 特定硬件资源的嵌入式驱动实现,其核心目标是…...

ILI9341 LCD驱动库:新旧芯片版本兼容与确定性初始化

1. 项目概述Bonezegei ILI9341 是一款面向嵌入式系统的轻量级、高兼容性 LCD 驱动库,专为广泛使用的 ILI9341 显示控制器设计。该库不依赖 HAL 或 CMSIS-RTOS 抽象层,采用纯 C 实现,直接操作 GPIO 和 SPI 外设寄存器(或通过标准外…...

面试官问‘JS 和 DOM 啥关系’,我答‘人和房子’,当场发 offer!

这是一个很关键的问题。很多人学前端时,会把 JavaScript 和 DOM 混为一谈,觉得“JS就是用来操作网页元素的”,但实际上,它们是完全不同的两个东西,只是配合得特别紧密。 我用对比的方式来帮你理清。 文章目录一、它们…...

从静态建模到动态建模:仓储空间认知能力的关键跃迁路径—— 基于镜像视界多视角视频融合、无感定位与行为认知的三维空间计算框架

从静态建模到动态建模:仓储空间认知能力的关键跃迁路径—— 基于镜像视界多视角视频融合、无感定位与行为认知的三维空间计算框架一、引言:仓储空间认知的代际跃迁在仓储信息化发展过程中,空间建模技术经历了从二维图纸到三维模型的演进&…...

Git-RSCLIP零样本迁移实战:将预训练能力迁移到极地/海洋等特殊遥感场景

Git-RSCLIP零样本迁移实战:将预训练能力迁移到极地/海洋等特殊遥感场景 1. 引言:当通用模型遇见特殊场景 想象一下,你拿到一张北极冰盖融化的卫星图,或者一片深海珊瑚礁的遥感影像。你想让AI模型告诉你,这张图里到底…...

霜儿-汉服-造相Z-Turbo团队协作开发:使用GitHub进行模型版本管理与代码协作

霜儿-汉服-造相Z-Turbo团队协作开发:使用GitHub进行模型版本管理与代码协作 你是不是也遇到过这样的情况?和几个朋友一起捣鼓“霜儿-汉服-造相Z-Turbo”这个AI模型,想加点新功能或者修个bug。结果,你改的代码发给我,我…...

用过才敢说!千笔AI,风靡全网的AI论文软件

你是否曾为论文选题发愁,绞尽脑汁却找不到方向?是否在深夜面对空白文档无从下笔,反复修改却仍不满意?论文写作不仅是知识的较量,更是时间与耐心的挑战。面对查重率、格式规范、文献检索等重重难题,很多学生…...

CreativeRobotix教育机器人Arduino库深度解析

1. Creative Robotix 教育机器人平台 Arduino 库深度解析Creative Robotix 是由 Creative Science Foundation 发起的开源教育机器人平台,其核心设计理念是“可定制、低成本、全年龄友好”。该平台采用模块化机械结构设计,所有主体部件(如躯干…...

保姆级教程:Windows10修改Users文件夹名称后如何同步注册表设置

Windows10用户文件夹重命名后的注册表同步全指南 1. 为什么修改Users文件夹名称后需要同步注册表? 在Windows操作系统中,用户文件夹名称与注册表中的配置项紧密关联。当你直接重命名C盘下的用户文件夹时,系统并不会自动更新注册表中的相关路径…...

STM32定时器实战:用TIM2实现精准1ms延时(标准库版)

STM32定时器实战:用TIM2实现精准1ms延时(标准库版) 在嵌入式开发中,精准的延时控制往往是项目成败的关键。无论是传感器数据采集、电机控制还是通信协议处理,毫秒级的时序偏差都可能导致整个系统失效。而STM32的通用定…...

手把手用C++实现一个基于Protobuf的简易聊天程序(附完整源码)

从零构建基于Protobuf的C聊天程序:完整实现与深度解析 在分布式系统开发中,高效的数据序列化与网络通信是核心挑战。本文将带您完整实现一个基于Protobuf的聊天程序,涵盖协议设计、网络通信模型到实际部署的全流程。不同于简单的代码示例&…...