1. 聊天框和 Agent 到底差在哪一次真实的困惑刚接触 Claude Code 的时候我把它当成命令行版的 ChatGPT用了整整一周。问它怎么写正则、让它解释一段报错、让它帮我改个函数——用起来确实顺手但总觉得哪里不对这不就是把网页聊天搬到了终端里吗凭什么大家都在说它是 Agent直到有一次我丢给它一句帮我把项目里的 moment.js 全部换成 dayjs顺便把相关测试跑通然后去泡了杯咖啡。回来的时候它已经改完了 11 个文件、更新了 package.json、跑了一遍测试、发现两个用例挂了、自己读了报错、又改了一轮最后给我列了一份变更清单。那一刻我才意识到我面对的不是一个答题机器而是一个会自己拆任务、自己动手、自己验证的执行体。这个差异不是产品包装出来的背后是两套完全不同的工程机制在支撑。普通聊天框的工作流是你问一句、它答一句主动权永远在你手里Claude Code 的工作流是你给一个目标、它自己循环执行到完成主动权交给了它。支撑这个转变的核心就是本文要拆解的三件事LLM Loop大模型循环、Harness脚手架体系、Agentic Search智能体式检索。如果你正在用 Claude Code 但还停留在高级聊天框的用法或者想搞清楚 Agent 到底是怎么跑起来的这篇会给你一套可复制、可验证的认知框架。我会先讲清楚机制再给出一份能直接用的settings.json骨架最后带你做一次本地验证亲眼看到循环是怎么转起来的。2. 普通聊天 vs Agent四个维度的本质差异先把概念对齐。很多人把AI 聊天和AI 智能体混着说但它们在四个维度上有质的区别。维度普通 AI 聊天Agent如 Claude Code行为你问一句它答一句你说一个目标它自己规划并执行多步能力只能生成文字能读写文件、运行命令、搜索代码、调用工具主动性被动回答你不问它不动主动规划、主动发现问题、主动纠错记忆仅限当前对话可有长期记忆CLAUDE.md、Skills 等最关键的是能力和主动性两栏。普通聊天只能给你文字回复你得自己把代码复制进项目、自己跑命令、自己看报错Agent 能在你授权下直接操作文件系统、执行命令、安装依赖——它有手而聊天框只有嘴。主动性同样关键。聊天框是你问什么它答什么你不说它就沉默Agent 拿到目标后会自己拆成子任务、自己找要改的文件、自己写代码、跑测试、发现 bug、改 bug一直循环到任务完成。打个比方ChatGPT 像你问路人怎么去某个地方路人告诉你路线但路得你自己走Claude Code 像你叫了个代驾你只说目的地它自己把车开到。这个比喻的精髓在于主动权的转移——在聊天框里主动权永远在你手里在 Agent 里你交出的是目标它拿走的是过程。3. LLM LoopClaude Code 自主读代码、改代码、跑命令的引擎Claude Code 之所以是 Agent 而不是聊天框核心在于一套叫LLM Loop的机制。3.1 对话式 AI 的单步工作流在 ChatGPT / Claude.ai 这类对话式产品里工作流是单步的你问一句 → AI 答一句 → 结束。答案不满意你再问一次。AI 只是个高级回答机器主动权始终在你手里。3.2 Claude Code 的循环工作流Claude Code 的工作流是循环的你下达一个目标 → 它自己拆解步骤 → 调用工具 → 看结果 → 决定下一步 → 再调用工具 → ……一直循环到任务完成。这个不断思考-行动-观察-再思考的循环就是 LLM Loop。用伪代码表示大概是这样你给一个目标 ↓ 思考制定下一步计划 ↓ 行动调用工具 / 执行命令 ↓ 观察读取执行结果 ↓ 任务完成 ── 否 ──→ 回到思考 ↓ 是 交付结果3.3 LLM Loop 带来的三个能力跃迁第一处理模糊目标。你可以给它帮我做一个番茄钟这种高层目标它会自己拆成创建项目、装依赖、写组件、加样式、接计时器 API、写测试。第二自我纠错。执行过程中它会自己读错误信息——某条命令报错了它读报错、调整方案、再试。这和聊天框你把报错贴给它、它给你建议是完全不同的闭环。第三不一定每步都问你。它会自主决策不会每个动作都打断你。这是它高效的原因也是它偶尔跑偏的原因——所以开跑前你要给足上下文CLAUDE.md、Skills、计划。这里有个容易被忽略的点Claude Code 是程序 模型的组合底层模型其实可以替换。这也是为什么可以用统一的 Key/API 通道接入不同模型来驱动它。真正让它比聊天框强大的是这套 Loop 机制加上 Harness 工程。4. Agentic Search它怎么读懂整个代码库很多人对 Claude Code 有个误解以为它像其他 AI 工具一样需要先把项目代码上传到服务器建索引。事实是它不需要任何预先的代码库索引。官方把这种机制叫做 Agentic Search智能体式检索。4.1 Agentic Search 的工作方式它的工作方式和一个新人工程师冷启动项目完全一样你的需求 ↓ 浏览目录结构ls / find ↓ 读取关键文件cat / read ↓ 用 grep 搜索代码 ↓ 跟进引用 / 调用关系 ↓ 在本地理解代码 ↓ 执行任务它不会一次性把整个代码库塞进脑子——而是按需读取像经验丰富的工程师那样先看目录、找关键文件、读相关代码、跟引用关系、按需深入。4.2 与传统 RAG 检索的本质区别维度传统 RAG 检索Agentic Search工作方式预先嵌入整个代码库为向量查询时按相似度拼凑现场读文件、grep、追引用需要服务器索引需要且需持续维护不需要代码变动处理索引过期可能返回已删除或重命名的代码始终读取实时代码代码上传通常需要预先上传或建索引不需要预先上传/索引整个代码库适合场景老项目、不变代码库活跃开发中的项目、大型 monorepo这意味着它天生适合活跃代码库——不依赖可能过期的预建索引也不需要部署向量数据库。但要注意被读取进上下文的代码片段仍会发送给模型服务处理敏感代码时依然要遵守公司的安全规范。5. Harness 体系脚手架比模型更重要如果你问Claude Code 为什么这么强答案不只是背后的模型还有围绕模型搭建的脚手架——Harness。5.1 什么是 HarnessHarness 指模型之外的所有工程化能力上下文管理、工具调用、规则约束、子任务分发等等。一个粗略的公式是实际能力 模型能力 × Harness 质量模型能力是地板Harness 质量才是天花板。模型决定下限项目上下文、工具权限、规则文件和工作流决定上限。5.2 Harness 的 7 层扩展点官方把 Claude Code 的工程化能力抽象成 7 个扩展点建议按从底到顶的顺序理解——先打好上下文和规则基础再接入更复杂的外部工具层组件作用加载时机①CLAUDE.md项目上下文背景、约定、禁区每次会话自动加载②Hooks会话生命周期钩子启动/结束/文件写入等事件触发③Skills可复用的任务方法论如代码审查部署按需加载④Plugins打包一整套 Skills Hooks MCP 配置装上后始终生效⑤LSP给 AI 装上跳到定义/查找引用等 IDE 级导航始终生效⑥MCP 服务器打通与外部工具数据库、文档、票务系统始终生效⑦Subagents独立上下文窗口的实例只返回结论任务发出时创建前 3 层是纪律——项目上下文、规则钩子、专业知识后 4 层是武器——包分发、IDE 能力、外部工具、子代理。5.3 一个提醒顺序很重要初学者不要在基础没搭好时就急着上 MCP 或 Subagents。先把 CLAUDE.md、Hooks、Skills 这三层基本功做扎实。这和软件工程里先写单元测试再做微服务是同一个道理。6. 可复制的 settings.json 骨架与统一 Key 接入理解了机制接下来是能直接用的部分。Claude Code 的配置分两层项目级的CLAUDE.md上下文和用户级的settings.json行为与权限。下面这份骨架你可以直接抄。6.1 settings.json 骨架{ permissions: { allow: [ Read, Glob, Grep, Bash(npm run test:*), Bash(git status), Bash(git diff:*) ], deny: [ Bash(rm -rf:*), Bash(git push:*), Read(./.env), Read(./secrets/**) ] }, env: { ANTHROPIC_BASE_URL: https://taotoken.net/api, ANTHROPIC_AUTH_TOKEN: 你的统一Key }, hooks: { PostToolUse: [ { matcher: Write|Edit, hooks: [ { type: command, command: npx prettier --write $CLAUDE_FILE_PATHS } ] } ] } }几个关键点解释一下permissions.allow是白名单只放你信任的操作。Bash(npm run test:*)这种写法表示允许所有以npm run test开头的命令冒号后面的*是通配。permissions.deny是黑名单优先级高于 allow。把rm -rf、git push、.env这类危险操作挡在外面是 Harness 里最实用的一层纪律。env里配置的是统一 Key/API 通道。把ANTHROPIC_BASE_URL指向https://taotoken.net/api再用ANTHROPIC_AUTH_TOKEN填上你的 Key就能让 Claude Code 通过统一通道接入模型不用在多个供应商之间来回切换配置。hooks.PostToolUse是文件写入后的自动动作。上面这个例子是每次写完文件自动跑 prettier 格式化——这就是 Harness 里用钩子管住行为的典型用法。6.2 项目级 CLAUDE.md 骨架settings.json管行为CLAUDE.md管上下文。放在项目根目录每次会话自动加载# 项目约定 ## 技术栈 - 前端React 18 TypeScript Vite - 状态管理Zustand - 测试Vitest Testing Library ## 代码规范 - 组件用函数式禁止 class 组件 - 所有异步操作必须有错误处理 - 提交前必须跑 npm run test 和 npm run lint ## 禁区 - 不要修改 src/legacy/ 下的文件 - 不要动 package.json 里的依赖版本 - 不要提交任何 .env 相关文件这份文件的价值在于它把你脑子里的项目常识变成了它每次都能读到的上下文。没有它Claude Code 每次都要重新摸索有了它第一轮就能站在正确的起点上。7. 本地验证亲眼看到 LLM Loop 转起来配置好了怎么确认循环真的在工作做一次最小验证。7.1 准备一个带 bug 的小项目mkdir loop-demo cd loop-demo npm init -y npm install --save-dev vitest创建src/calc.jsexport function add(a, b) { return a - b; // 故意写错 } export function multiply(a, b) { return a * b; }创建src/calc.test.jsimport { describe, it, expect } from vitest; import { add, multiply } from ./calc.js; describe(calc, () { it(add 应该做加法, () { expect(add(2, 3)).toBe(5); }); it(multiply 应该做乘法, () { expect(multiply(2, 3)).toBe(6); }); });7.2 下达一个目标而不是问题在项目目录里启动 Claude Code输入跑一下测试如果有失败的用例找出原因并修复修完再跑一遍确认全绿。注意这句话的措辞——它不是这个测试为什么失败而是一个目标。这正是触发 LLM Loop 的关键。7.3 观察循环的四个阶段你会看到它依次做这些事思考先跑测试看看情况 行动Bash(npm run test) 观察add 用例失败期望 5 实际 -1 思考看 calc.js 里 add 的实现 行动Read(src/calc.js) 观察return a - b应该是 a b 思考改这一行 行动Edit(src/calc.js) 观察文件已修改 思考再跑一遍确认 行动Bash(npm run test) 观察全部通过 交付修复完成add 函数由减法改为加法整个过程你只说了一句话它自己完成了跑测试 → 读代码 → 定位 → 修改 → 复验的完整闭环。这就是 LLM Loop 在真实场景里的样子。7.4 验证统一 Key 通道是否生效如果你想确认请求确实走了统一通道可以在settings.json里临时加一个环境变量打印或者直接看 Claude Code 启动时的连接信息。正常情况下配置了ANTHROPIC_BASE_URL和ANTHROPIC_AUTH_TOKEN后所有模型请求都会经过你指定的通道不需要额外设置。8. 本篇常见错排查实际配置和使用中下面这几个坑最容易踩。报错一Invalid API key或401 Unauthorized先检查settings.json里的ANTHROPIC_AUTH_TOKEN有没有多余空格或换行。JSON 里字符串不能带尾随空格。另外确认ANTHROPIC_BASE_URL写的是https://taotoken.net/api不要漏掉/api路径。报错二Permission denied或工具调用被拦截这是permissions.deny生效了。如果你确认某个操作是安全的把它从 deny 移到 allow。注意 deny 优先级高于 allow同一个操作不能既在 allow 又在 deny 里。报错三Hook 不执行检查hooks里的matcher是否匹配到了正确的工具名。Write|Edit是正则表示匹配 Write 或 Edit。如果写成了write小写就匹配不上。另外确认 hook 命令本身能在终端里独立跑通。报错四循环卡住不动通常是某个命令在等待输入。比如npm run test进了 watch 模式或者某个交互式命令在等确认。解决办法是在 CLAUDE.md 里明确写测试命令用npm run test -- --run不要进 watch 模式或者把这类命令加进 deny。报错五改了不该改的文件这是没有配好 CLAUDE.md 的禁区部分。把不该动的目录和文件明确写进 CLAUDE.md 的禁区同时在settings.json的 deny 里加上对应的路径规则双保险。9. 把 Claude Code 当需要管理的实习生而不是无所不能的神回到开头那个困惑为什么 Claude Code 不只是命令行版聊天框现在答案清楚了——普通聊天是问答机器它是远程工程师普通聊天看代码靠塞上下文它靠现场读取 引用追踪普通聊天靠模型能力它靠模型 × Harness 的乘积。理解了这些你在用它的时候就不会再犯以为它什么都懂的错误。你会主动写 CLAUDE.md 给它上下文主动用 Skills 沉淀经验主动用 Hooks 管住它的行为主动用 permissions 划清边界。把它当成一个能力很强但需要被管理的实习生而不是一个许愿池。如果你还没配好统一 Key 通道可以从这里开始先拿到 API Key再按第 6 节的settings.json骨架填进去然后跑一遍第 7 节的验证。看到循环转起来的那一刻你对 Agent 的理解会从概念变成体感。接入配置与 Key 管理https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentclaude_code_harness_loop接入文档与参数说明https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentclaude_code_harness_loop想先验证模型对话效果https://taotoken.net/model-chat?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentclaude_code_harness_loop长期编码与 Agent 场景https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentclaude_code_harness_loop
企业数字化 ERP 产品动态
相关推荐
EEMD与样本熵:非平稳信号自适应分解与重构实战 拿到一段轴承振动信号,或者说一段生理信号,很多人的第一反应是直接看波形、看频谱,然后滤波、取特征。但如果是非平稳、非线性的数据,比如设备启停阶段、变转速工况,或者肌电、脑电这类本身就“不乖”的信号࿰… · 2026/9/26 17:12:10
AI如何重构GPU算子开发工作流:从CUDA Kernel到Triton编译器 1. 项目概述:这不是一篇关于“AI取代程序员”的危言耸听,而是一份来自GPU算子开发一线的实操手记 “我不得不把才华埋葬在昨天”——这句话乍看像文艺青年的自我哀悼,但放在GPU底层算子开发这个语境里,它精准刺中了过去五年最真实… · 2026/9/26 17:12:10
OBS直播推流设置完全指南:从安装到首播的避坑实战 1. 这不是软件说明书,而是一份“开播前不踩坑”的实战手记OBS Studio 不是点开就能用的播放器,它更像一台可编程的广播级调音台——界面里每一个下拉菜单、每一行参数、每一次勾选,背后都对应着真实的信号链路、硬件资源分配和网络传输逻辑。… · 2026/9/26 17:12:10
WorkBuddy实战:从AI助手到Agent操作系统的工程落地 过去大半年我一直在折腾 WorkBuddy,也拿它跟 CodeBuddy、Cursor 这类工具来回对比过很多次。先说结论:如果你只是想要一个聊天窗口,市面上任何一个 AI 助手都能满足你;但如果你想拿 AI 去搭一套真正能跑业务的 Agent 体系——差不… · 2026/9/26 18:34:39
如何读懂Loss曲线与Perplexity?How to Train Your GPT教你5步诊断训练失败原因 如何读懂Loss曲线与Perplexity?How to Train Your GPT教你5步诊断训练失败原因 【免费下载链接】how-to-train-your-gpt Build a modern LLM from scratch. Every line commented. Explained like we are five. 项目地址: https://gitcode.com/gh_mirrors/ho/how-… · 2026/9/26 18:34:39
使用 AWS SDK for Kotlin 调用 Amazon Comprehend:六个 NLP 检测与文档分类实战示例 示例工程教程后端 【免费下载链接】aws-doc-sdk-examples Welcome to the AWS Code Examples Repository. This repo contains code examples used in the AWS documentation, AWS SDK Developer Guides, and more. For more information, see the Readme.md file below. 项目地… · 2026/9/26 18:34:39
全等三角形判定的本质:从重合直觉到工程级刚性验证 1. 这不是背公式,是重建几何直觉:为什么全等三角形判定必须从“重合”讲起你有没有试过教孩子证明两个三角形全等,结果他盯着SAS、ASA这些字母组合发呆,嘴里念着“边角边…边角边…”,手却停在草稿纸上迟迟不敢落笔&am… · 2026/9/26 18:34:32
ResNet MRI脑肿瘤分类性能瓶颈突破指南 简介:本资源是一套基于ResNet系列模型实现MRI脑肿瘤多分类任务的完整迁移学习实践方案,面向深度学习初学者与医学影像分析方向的研究者,解决小样本医学图像分类建模难题。压缩包共2000个文件,主体为1995张标注清晰的MRI切片JPG图像… · 2026/9/26 18:34:32
QualityInspector 语义分割配置文件详解:从配置项到工业质检训练实战 人工智能计算机视觉预训练 【免费下载链接】PaddleSeg Easy-to-use image segmentation library with awesome pre-trained model zoo, supporting wide-range of practical tasks in Semantic Segmentation, Interactive Segmentation, Panoptic Segmentation, Image Matting,… · 2026/9/26 18:34:32
数据库课后习题答案别硬背:当测试用例集刷,效率翻倍 简介:万常选版《数据库原理与设计》课后习题答案资源,覆盖第2至6章及第9章,适合正在学习关系模型、数据库建模、关系数据理论与模式求精的本科生、自学者作为复习与自测材料。压缩包共7个文件,含3个doc参考答案、2个sql示例脚本、… · 2026/9/26 0:00:21
OpenClaw 替代品?Hermes Agent 踩坑实录:macOS 飞书接入 TaoToken 配置 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 0:00:40
向下兼容与向上兼容:接口设计中的兼容性策略与工程实践 一次版本升级事故,是很多团队绕不过去的坎。线上环境里,服务端明明已经上线了新版接口,老的移动端还在照着旧文档传参数。请求一到网关,校验直接拒绝,用户操作失败,客服群炸了锅,开发群里开始互… · 2026/9/26 0:00:46