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

从对话到执行:一文读懂AI Coding Agent的底层原理

为什么 Claude Code 等 AI Agent 能自己写代码、改 bug、提交 PR为什么它和 ChatGPT 完全不一样这篇文章用最简单的语言拆解 AI Agent 的底层工作原理。一句话说清楚AI Coding Agent 和普通 AI 有什么不同普通 AI如 ChatGPT 对话一问一答你输入 → 它输出 → 结束AI Coding Agent如 Claude Code自主循环你给目标 → 它自己规划、执行、观察结果、调整、再执行……直到完成直观对比看看区别有多大场景给登录模块加邮件验证 普通 AIChatGPT的工作方式你帮我写一个登录函数AI输出一段代码文本你复制粘贴到编辑器你有个 bug再帮我改AI输出修改后的文本你再复制粘贴……你是执行者AI 只是建议者 AI Coding AgentClaude Code的工作方式你给登录模块加邮件验证Claude ✓ 读取现有代码 ✓ 理解架构 ✓ 制定计划 ✓ 写入文件 ✓ 运行测试 ✓ 发现错误 → 自己修复 ✓ 测试通过 → 提交 PRClaude 是执行者你是审批者能力对比表差距在哪里能力维度普通 AI 对话AI Coding Agent 读取文件需要你粘贴给它自己读取✏️ 修改代码输出文本你手动改直接写入文件⚙️ 运行命令告诉你要跑什么自己执行 处理错误你复制错误信息给它看到输出自己调整 多步任务每步都要你介入自主完成多步骤⏱️ 持续工作一轮结束就停可以跑几小时核心差异Agent 有感知 → 思考 → 行动的循环能力普通 AI 只有思考 → 输出。Agent 的核心秘密循环机制The Agent Loop这是 Agent 能自主工作的关键。理解这个循环就理解了 Claude Code 为什么这么强大。 完整循环的 6 个步骤步骤 ① 接收目标 完整上下文Claude 接收的不只是你的指令还包括• 你的指令• CLAUDE.md 项目规范• 之前读取的所有文件内容• 上一轮命令的输出• 历史对话记录这个输入包可能长达数万个 Token。示例你说给登录模块加邮件验证Claude 实际接收到- 你的指令- CLAUDE.md 中的项目规范- 之前读取的 auth/login.ts 文件内容- 上次运行测试的输出- ...步骤 ② 思考 规划Claude 分析整个上下文决定下一步做什么。内部推理过程需要先了解现有的 login 函数结构→ 应该先读取 auth/login.ts→ 然后再决定怎么修改在 Plan Mode 下这个推理过程会展示给你审批普通模式下 Claude 直接进入下一步。步骤 ③ 生成工具调用请求关键点Claude 不是直接执行操作而是生成一个请求。Claude 生成的请求{ tool: Read, input: { path: src/auth/login.ts }}这个请求会被发送给 Claude Code 进程。步骤 ④ 宿主进程执行权限检查在这里Claude Code 进程收到请求后的处理流程1. 触发 PreToolUse Hook如果配置了2. 检查 settings.json 权限规则 - deny直接拒绝 - ask询问用户 - allow通过3. 执行真正的操作读文件、写文件、运行命令等4. 触发 PostToolUse Hook如果配置了5. 返回结果给 Claude示例权限检查Read(src/auth/login.ts) → 匹配 allow 规则 → 执行执行结果读取文件内容返回给 Claude步骤 ⑤ 观察结果更新上下文工具执行的结果文件内容、命令输出、错误信息被追加到上下文窗口。Claude 在下一轮会看到这个结果就像眼睛看到了执行的效果。追加到上下文[Tool result]:export async function login(email, password) { // TODO: add validation const user await db.find(email) ...}步骤 ⑥ 决定继续 or 结束Claude 判断• ✅ 任务完成了吗• 还需要什么信息• 下一步该做什么如果任务未完成回到步骤 ②开始新一轮循环。Claude 的判断已读取文件看到了 TODO 注释→ 需要编写邮件验证逻辑→ 继续循环下一步Edit 文件 上下文是循环的记忆• 每次循环的结果都被追加到上下文窗口• Claude 在下一轮看到完整历史• 这就是为什么 Claude 能记得几步之前做了什么但这也是最大的局限• 上下文窗口有限如 200k Token• 太长的任务需要压缩/compact或拆分为子任务• 上下文用完后记忆就断了这正是 CLAUDE.md、session logs 存在的原因——提供不依赖上下文的持久记忆。工具系统Agent 的手语言模型本身只能生成文本。工具Tools让它能真正影响世界。没有工具Claude Code 和普通对话 AI 没有区别。️ 核心工具清单工具功能Read读取文件Write写入文件Edit精确编辑替换指定内容Bash执行命令Glob查找文件支持通配符Grep搜索内容WebFetch获取网页WebSearch搜索引擎TodoWrite任务管理MCP 工具外部服务扩展 工具调用的技术实现三个关键点1️⃣Claude 生成请求不直接执行• Claude 生成结构化的 JSON 请求• 描述它想做什么2️⃣Claude Code 进程真正执行• 接收请求• 执行操作• 返回结果3️⃣Claude 没有文件系统权限• 通过委托宿主执行来影响世界• 所有操作都经过权限检查 形象类比Claude 大脑思考和决策Claude Code 进程 手臂实际执行工具调用 神经信号大脑告诉手臂做什么工具结果 感觉反馈手臂告诉大脑发生了什么 工具调用实战示例看看一个完整的循环是什么样的// ① Claude 决定读取文件{ tool: Read, input: { path: src/auth/login.ts } }// ② Claude Code 执行返回文件内容{ result: export function login(email, password) { ... } }// ③ Claude 看到内容后决定修改{ tool: Edit, input: { path: src/auth/login.ts, old_string: // TODO: add validation, new_string: if (!isValidEmail(email)) throw new Error(#x27;...#x27;)}}// ④ Claude Code 执行编辑{ result: File updated successfully }// ⑤ Claude 决定跑测试{ tool: Bash, input: { command: npm test auth }}这个循环每秒可能发生数次构成了 Claude Code 自主工作的底层机制。Claude Code 的五层架构理解这五层就理解了整个系统是如何协作的。 第 1 层你用户角色目标提供者 最终审批人你不是执行者是决策者。提供目标、审批计划、处理边界情况。接口终端 / VS Code / 浏览器 / 手机Remote Control/ 语音/voice⚙️ 第 2 层Claude Code 进程编排层角色在 Claude 和真实环境之间做翻译和守门核心职责• 管理 Agent 循环• 权限检查• Hooks 触发• 会话状态管理• 上下文压缩配置文件settings.json控制这一层的行为边界 第 3 层Claude 模型大脑层角色理解意图、规划步骤、生成工具调用输入• System Prompt• CLAUDE.md 内容• 对话历史• 工具结果输出下一步行动工具调用请求配置文件CLAUDE.md注入到这一层的 System Prompt 第 4 层工具层执行层角色把 Claude 的想法转化为真实世界的操作工具集Read / Write / Edit / Bash / WebFetch / MCP……扩展性MCP 服务器让工具无限延伸数据库、Slack、浏览器…… 第 5 层真实环境被操作的世界包含• 文件系统• Git 仓库• 终端进程• 外部 API• 浏览器• 数据库这是 Agent 最终影响的对象。 数据流向一次完整任务的旅程从你的指令到代码落地数据是这样流动的你的指令 ↓Claude Code 进程接收 ↓读取 settings.json 权限配置 ↓注入 CLAUDE.md 内容到 System Prompt ↓发送给 Claude 模型含完整上下文 ↓Claude 生成工具调用请求 ↓Claude Code 检查权限deny/ask/allow ↓触发 PreToolUse Hook如有 ↓执行工具读写文件、跑命令 ↓触发 PostToolUse Hook如有 ↓工具结果追加到上下文 ↓返回给 Claude 模型下一轮循环 ↓Claude 决定继续执行 or 任务完成 ↓你看到最终结果 为什么这样设计Q1: 为什么是循环而不是一次性生成① 现实任务有不确定性• 你不可能在开始时就知道所有需要的信息• 读了文件才知道架构• 跑了测试才知道有没有 bug• 循环允许 Claude 边做边学② 错误是不可避免的• 一次性生成的代码必然有错• 循环让 Claude 能看到错误 → 理解原因 → 自我修正• 无需你介入③ Token 限制• 一次性生成整个功能会超出输出 Token 限制• 循环允许分步处理每次只生成一小部分④ 人类介入点• 循环在每个工具调用前暂停ask 模式• 给你审批或纠正的机会• 而不是等到最后才发现整个方向错了Q2: 为什么工具调用要经过宿主进程① 安全隔离• Claude 模型运行在 Anthropic 的服务器上• 不能直接访问你的文件系统• 通过宿主进程可以实施权限检查settings.json② 可审计性• 所有工具调用经过宿主进程• 可以记录日志• 可以触发 Hooks• 可以通知用户③ 可扩展性• 新工具MCP 服务器只需向宿主进程注册• Claude 模型无需更新就能使用新能力⚠️ Agent 的核心局限 应对策略每个配置工具都在针对 Agent 的某个固有局限提供解决方案。局限根本原因应对策略 会忘记早期指令上下文窗口稀释效应CLAUDE.md持久注入 /compact压缩 方向跑偏没有规划就执行Plan Mode 先规划后执行 重复犯同类错误没有跨会话记忆lessons.md记录 CLAUDE.md累积规则⚡ 危险操作无法撤销工具有副作用settings.jsondeny 规则 Hooks 拦截 并发任务互相干扰共享文件系统git worktree给每个 Agent 独立工作区这就是 Claude Code 整个配置体系存在的原因。 总结AI Coding Agent 不是更强的 ChatGPT而是一种全新的工作模式。核心区别普通 AI你问 → 它答 → 你执行AI Coding Agent你定目标 → 它自己规划、执行、修正、完成三大核心机制这种转变的核心是 循环机制- 感知 → 思考 → 行动 → 感知 → ……️ 工具系统- 让 AI 能真正影响世界 上下文管理- 让 AI 能记住之前做了什么最后一句话当你看到 Claude Code 在终端里不断输出、读文件、改代码、跑测试……那不是魔法而是一个精心设计的循环系统在运转感知工具结果→ 思考Claude 推理→ 行动工具调用→ 感知新的结果→ ……这就是 AI Coding Agent 的本质。理解了这些你就理解了为什么 Claude Code 能自主工作。

相关文章:

从对话到执行:一文读懂AI Coding Agent的底层原理

为什么 Claude Code 等 AI Agent 能自己写代码、改 bug、提交 PR?为什么它和 ChatGPT 完全不一样?这篇文章用最简单的语言,拆解 AI Agent 的底层工作原理。一句话说清楚:AI Coding Agent 和普通 AI 有什么不同?普通 AI…...

4个关键步骤:用vscode-ai-toolkit实现智能应用开发全流程

4个关键步骤:用vscode-ai-toolkit实现智能应用开发全流程 【免费下载链接】vscode-ai-toolkit 项目地址: https://gitcode.com/GitHub_Trending/vs/vscode-ai-toolkit AI Toolkit for Visual Studio Code是一款专为简化生成式AI应用开发设计的强大VS Code扩…...

教你把歌曲原声调小的5个技巧!简单又好用 赶紧收藏

在日常生活中,调整歌曲原声调小是非常常见的音频处理需求。比如在剪辑视频时,可能需要降低背景音乐的音量以突出旁白;或者在制作播客时,需要平衡人声与背景音的比例;还有在手机上听音乐时,某些歌曲突然出现…...

Kurento Media Server与OpenVidu集成:打造企业级视频会议系统

Kurento Media Server与OpenVidu集成:打造企业级视频会议系统 【免费下载链接】kurento-media-server [ARCHIVED] Contents migrated to monorepo: https://github.com/Kurento/kurento 项目地址: https://gitcode.com/gh_mirrors/ku/kurento-media-server K…...

STM32环境监测系统在烟花爆竹仓库的应用

1. 项目概述与背景烟花爆竹作为一种特殊商品,其存储环境的安全管理一直是行业痛点。传统的人工巡检方式存在明显的滞后性——我曾亲眼见过一家小型烟花仓库因为夜间温湿度骤变而引发自燃,等值班人员发现时火势已难以控制。这个基于STM32的环境监测系统正…...

Winhance:重塑Windows体验的系统优化与个性化解决方案

Winhance:重塑Windows体验的系统优化与个性化解决方案 【免费下载链接】Winhance-zh_CN A Chinese version of Winhance. PowerShell GUI application designed to optimize and customize your Windows experience. 项目地址: https://gitcode.com/gh_mirrors/wi…...

HOOI算法里的‘skip’参数到底在干嘛?深入TensorLy源码讲透Tucker分解迭代过程

HOOI算法中的skip参数机制解析:从数学原理到TensorLy实现 当你在实现高阶正交迭代(HOOI)算法进行Tucker分解时,是否曾被multi_mode_dot函数中那个神秘的skip参数困扰过?这个看似简单的参数背后,实际上隐藏着…...

Kali Linux 2026.1 重磅发布,内核升至6.18

作为全球最受欢迎的渗透测试与安全审计Linux发行版,Kali Linux在2026年迎来了年度首发版本——Kali Linux 2026.1。这次更新不仅延续了每年“.1”版本的视觉刷新传统,更特别致敬BackTrack Linux 20周年,引入“BackTrack模式”,同时升级内核至6.18,并新增8款实用工具。无论…...

zh3100组合式选粉机的设计【说明书+27张CAD图纸】

zh3100组合式选粉机作为粉体分级领域的核心设备,其设计融合了流体力学、机械传动与颗粒分离理论,通过优化结构参数与气固两相流场分布,实现高精度、低能耗的粉体分级作业。该设备采用模块化组合设计理念,将选粉室、导流装置、分级…...

CA6140车床拨叉831003加工工艺及铣左端面夹具设计【说明书+CAD图纸+SW三维】

CA6140车床拨叉831003作为机床传动系统中的关键零件,其加工质量直接影响设备运行的稳定性。该零件的加工工艺需兼顾尺寸精度与表面粗糙度要求,重点在于左端面的铣削加工。传统工艺方案多采用通用夹具定位,存在装夹效率低、重复定位精度差等问…...

Sentaurus实战解析:SiC NMOS仿真中的关键参数设置与优化

1. SiC NMOS仿真基础与Sentaurus环境搭建 碳化硅(SiC)功率器件因其优异的耐高温、高压特性,正在电力电子领域掀起一场革命。作为第三代半导体材料的代表,SiC的临界击穿电场强度达到硅的10倍,热导率更是硅的3倍。但在实际器件开发中&#xff0…...

嵌入式NTP客户端库:高精度时间同步与自动时区管理

1. NTP客户端库深度解析:嵌入式系统中的高精度时间同步与时区管理1.1 库定位与工程价值NTP(Network Time Protocol)客户端库是嵌入式系统中实现网络时间同步的关键组件。该库并非简单封装UDP通信,而是构建了一套完整的“时间服务栈…...

XUnity.AutoTranslator:如何为Unity游戏构建高效的多语言本地化系统

XUnity.AutoTranslator:如何为Unity游戏构建高效的多语言本地化系统 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator XUnity.AutoTranslator是一个专为Unity游戏设计的自动翻译插件&#xff0c…...

手把手教你用Python处理脑电信号:从MRCP到SMR的实战指南

手把手教你用Python处理脑电信号:从MRCP到SMR的实战指南 脑电信号处理一直是神经科学和脑机接口领域的热门研究方向。对于开发者而言,掌握Python处理脑电信号的技能不仅能提升科研效率,还能为医疗辅助设备开发打下坚实基础。本文将带你从零开…...

**实时内核中的任务调度机制:从理论到C++实现的深度探索**在嵌入式系统和高实时性应用中,**实时内核(Real-

实时内核中的任务调度机制:从理论到C实现的深度探索 在嵌入式系统和高实时性应用中,实时内核(Real-Time Kernel) 是整个系统稳定运行的核心。它不仅负责资源分配,还承担着任务调度、中断响应、同步机制等关键职责。本文…...

慕尼黑工业大学全新突破:让2D图片生成器变身3D世界建造师

这项由慕尼黑工业大学领导的研究发表于2026年的计算机视觉与模式识别顶级会议,论文编号为arXiv:2603.19708v1。有兴趣深入了解的读者可以通过该编号查询完整论文。当你使用手机拍摄一张美丽风景照片时,你可能从未想过,这张平面照片其实包含了…...

MATLAB分类学习器保姆级教程:从鸢尾花数据集到模型导出全流程

MATLAB分类学习器实战指南:从鸢尾花分类到工业级模型部署 当你第一次面对MATLAB中那个名为"Classification Learner"的图标时,可能不会想到这个看似简单的交互式工具能够如此高效地完成从数据探索到生产级模型部署的全流程。不同于传统编程式机…...

PyMobileDevice3 高效异步架构解析:深入理解iOS设备通信协议栈实现

PyMobileDevice3 高效异步架构解析:深入理解iOS设备通信协议栈实现 【免费下载链接】pymobiledevice3 Pure python3 implementation for working with iDevices (iPhone, etc...). 项目地址: https://gitcode.com/gh_mirrors/py/pymobiledevice3 PyMobileDev…...

【技术解析】PSMNet:如何通过金字塔池化与堆叠沙漏3D CNN革新立体匹配?

1. PSMNet为何能成为立体匹配的里程碑? 第一次看到PSMNet在KITTI榜单上霸榜时,我正在调试自己的立体匹配模型。当时最让我震惊的不是它的精度数字,而是那些传统算法总出错的遮挡区域、弱纹理区域,在PSMNet的视差图里竟然都清晰可辨…...

Python异步编程新选择:用Channels替代Celery实现实时消息推送(Django 3.2+演示)

Python异步编程新选择:用Channels替代Celery实现实时消息推送(Django 3.2演示) 当你的Django应用需要处理实时消息推送时,传统的CeleryWebhook方案可能已经无法满足你对低延迟的需求。本文将带你探索如何利用Django Channels和Web…...

SimpleMem:基于语义无损压缩的三阶段 Agent 终身记忆框架

📌 一句话总结: 本工作提出 SimpleMem,一个基于语义结构化压缩的终身记忆系统,通过“压缩—合成—规划”三阶段机制,在固定上下文预算下显著提升 LLM Agent 的长期交互能力与检索效率。 🔍 背景问题&…...

基于Flowable全局监听器实现智能节点跳过:告别重复审批

1. 为什么需要智能跳过重复审批节点? 想象一下这样的场景:你设计了一个采购审批流程,部门经理需要先后审批"采购申请"和"采购确认"两个节点。但当这两个节点都分配给同一位经理时,他会在系统里看到两个完全相…...

5B00,5B01,5B02,1700,1701,1702,1704,P07清零软件G3800,TS3480 ,TS3380 ,G3000,G1810,TS9020, TS8020,TS3480

下载地址:链接:https://pan.baidu.com/s/1j7Nwv715wX1JL3qidnGyXA?pwd0000 提取码:0000 常见 佳能打印机 型号: G5080 G6080 G7080 G1810 G2810 G3810 G4810 G1800 G2800 G3800 G4800 G5010 G6010 G7010 G1010 G2010 G3010 G4010 G1000 G2000 G3000 G40…...

5B00,5B01,5B02,1700,1701,1702,1704,P07清零软件G3800,TS3480 ,TS3380 ,G3000,G1810,TS9020, TS8020,TS3480秒修复

下载地址:链接:https://pan.baidu.com/s/1j7Nwv715wX1JL3qidnGyXA?pwd0000 提取码:0000 常见 佳能打印机 型号: G5080 G6080 G7080 G1810 G2810 G3810 G4810 G1800 G2800 G3800 G4800 G5010 G6010 G7010 G1010 G2010 G3010 G4010 G1000 G2000 G3000 G40…...

DXVK 2.7.1:Vulkan驱动的Direct3D转换层性能提升15%的技术突破

DXVK 2.7.1:Vulkan驱动的Direct3D转换层性能提升15%的技术突破 【免费下载链接】dxvk Vulkan-based implementation of D3D9, D3D10 and D3D11 for Linux / Wine 项目地址: https://gitcode.com/gh_mirrors/dx/dxvk 一、技术突破:从API翻译到性能…...

Open62541内存泄漏实战:如何用Valgrind揪出隐藏的‘内存杀手‘

Open62541内存泄漏实战:用Valgrind精准定位与修复策略 引言:当OPC UA应用开始"悄悄吃内存" 在工业自动化领域,OPC UA服务器的稳定性直接影响着生产系统的可靠性。最近三个月,我们团队接手了四个因为内存泄漏导致系统崩溃…...

Kangaroo运动控制器Packet Serial通信协议详解

1. Kangaroo运动控制器底层通信技术解析 Kangaroo运动控制器是由RoboClaw系列厂商推出的专用闭环步进/伺服电机驱动模块,其核心价值在于将复杂的PID调节、电流环控制、位置反馈处理等算法固化于硬件中,使上位机仅需通过精简的串行协议即可完成高精度运动…...

SunnyUI的UITreeView控件实战:从拖拽到动态加载的完整指南

SunnyUI的UITreeView控件实战:从拖拽到动态加载的完整指南 在企业级应用开发中,树形结构数据展示几乎是每个.NET开发者都会遇到的场景。传统的WinForms TreeView控件虽然基础功能完善,但在现代UI体验和开发效率上逐渐显得力不从心。SunnyUI框…...

告别重装!用Timeshift给你的Ubuntu系统做个‘时光机’,轻松备份与整盘迁移

用Timeshift打造Ubuntu系统的时光回溯神器:零门槛备份与迁移指南 每次系统崩溃后重装Ubuntu的痛苦,相信不少用户都深有体会——那些精心配置的开发环境、收藏多年的工作文档、调试许久的个性化设置,都可能在一瞬间化为乌有。对于习惯图形化操…...

保姆级教程:用UniApp+佳博打印机实现小票与条形码打印(含完整TSC/ESC指令封装)

UniApp佳博打印机实战:从蓝牙连接到小票打印的全流程解析 在移动零售和仓储管理场景中,蓝牙小票打印是提升工作效率的关键环节。本文将手把手带您实现UniApp与佳博打印机的深度整合,涵盖蓝牙连接管理、TSC/ESC指令封装、40mm50mm小票排版等核…...