Claude Code 实战:Agent Skills摘要:面向已用 Claude Code 写代码的开发者,讲清 Skills 三层结构与完整实操路径,帮你把重复工作流封装成可复用、可 Review Agent Skills 换了一个思路:先给 Agent 一份「技能目录」,只有任务匹配时才展开完整说明书。 Agent Skills 的三层与此同构: 层级放什么何时进入上下文元数据name、description(YAML frontmatter)Claude Code 扫描时指令SKILL.md 正文里的流程、约束、输出格式Agent 决定启用该 Skill 后资源scripts/、references/、assets/Agent 按指令需要时 Read 或执行核心概念到此为止只保留三个:渐进式披露 Agent 通过 Bash 工具执行脚本,脚本逻辑留在磁盘上——这正是 Skills 能同时「可编程」又「省 Token」的原因。
设 user 存到 ~/.claude/agent-memory/,设 project 存到 .claude/agent-memory/,跑完一次它会自己往里面写东西,下次还能看到。 它目前还是实验功能,需要先开启:{ "env": { "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1" }}加到你的 settings.json 开启后,告诉 Claude 你要一个 Agent Team,描述清楚任务和团队结构,它会自动建队、派成员、分配任务:I'm designing a CLI tool that helps developers 注意事项Agent Teams 的 token 消耗比 Subagents 高很多,每个 teammate 是独立的 Claude 实例。 Subagents 从 /agents 命令创建一个,写好 description 和 tools 就能跑;Agent Teams 加一行环境变量,告诉 Claude 你要一个 team 就行。
「我想用 Claude Code 自动化我的工作。」 「我想让 AI 帮我处理重复任务。」 「我想构建一个自己的 Agent。」 这些都是美好的愿望。 今天,用三个步骤,介绍从 0 构建一个 Claude Code Agent 工作流的方法。 一、设计阶段:定义你的「AI 军团」 一个好的 Agent 工作流,始于角色定义。 这个方案很有趣:用 Git 做同步 Agent 通过写文件来「锁定」任务 完成后 push 到共享仓库 其他 Agent pull 最新更改 Git 自动解决冲突(Claude 很聪明,能自己处理) 这就是去中心化协作的魅力 3.1 Agent Loop:永不停歇的循环 一个关键模式: while true; do claude --dangerously-skip-permissions -p "$(cat AGENT_PROMPT.md 参考文献 [1] Medium: How to Set Up and Use Claude Code Agent Teams. [2] Claude Code Overview. [3] Anthropic
一、背景:一个SDK解决什么问题在Claude的技术体系中,存在明确的分层:层级定位适用场景ClaudeAPI底层消息接口,一次请求一次响应分类、摘要、提取、固定流程Q&AClaudeAPI+ToolUse =帮你包好了Agent常需的一切基础设施,你只需定义任务和边界。 3.2权限系统——安全地给Agent放权Agent的危险在于"能力越大,破坏越大"。 停止时PermissionRequest—权限请求时四、MCP协议:扩展Agent能力的标准方式MCP(ModelContextProtocol)是Anthropic推出的工具扩展协议,让Agent可以连接任意外部数据源和工具 通过"Agent"工具触发子Agent,两者共享allowed_tools白名单。
大家好,我是"不一样的猿生",作为一个长期钻研 AI Agent 的爱好者,今天特别想跟大家分享一个让我眼前一亮的项目——learn-claude-code。 (亲测最快路径) 1. git clone https://github.com/shareAI-lab/learn-claude-code 2. cd learn-claude-code 3. pip AI Agent 的未来在于工程化 对我来说,learn-claude-code 的最大价值在于:它把那些“工程化的骨架”用最小成本摊开给你看。 你自己撸一遍,收获绝对比让Claude帮你写一百个需求都大。 2026年的AI时代,Prompt 已经不是壁垒,真正拉开差距的是系统设计能力。 项目链接再次放这里:https://github.com/shareAI-lab/learn-claude-code 你上手了吗?
1.2 什么是 Claude Agent SDK?为什么它如此强大? 简单来说,Claude Agent SDK 是著名AI助手 Claude Code 背后的核心引擎。 1.4 技术栈 我们将使用以下现代且强大的技术栈来完成本次构建: • 运行时 (Runtime): Claude Code CLI - 这是Agent SDK的官方运行环境。 第一步:安装 Claude Code CLI 2. Claude Code CLI 是Agent SDK的运行环境。打开你的终端,输入以下命令进行全局安装: 3. • @anthropic-ai/claude-agent-sdk 是我们的主角——核心SDK。 Claude Agent SDK 提供了更多强大的功能,可以帮助你构建更复杂的应用。以下是一些值得你深入探索的方向: • 子代理 (Subagents): 当任务变得异常复杂时怎么办?
2.2候选B:ClaudeAgentSDK——厂商一等公民定位:Anthropic官方agent运行时,与Claude、ClaudeCode、Skills、MCP同源。 它的世界观:Agent是Claude+工具集+Skill集+MCPservers的协同。框架的工作是把这套协同变得"无摩擦"。 某天Claude推出了一个杀手级特性,需要切到ClaudeAgentSDK才能用。没有Adapter:业务代码深度依赖LangGraph,迁移需要3人×2个月。 AP6:把multi-agent当默认隐喻错误:默认招"AI同事"——产品agent、工程agent、QAagent。正确:先用singleagent+skills;多agent仅在职责正交时引入。 LangGraph适合复杂状态图+模型多样性;ClaudeSDK适合深度Claude+重度Skills;自研适合有硬约束+长期承诺。不要跨界使用。3.锁定不可避免。
Claude Agent SDK 就是为这种场景设计的。它让代理能自主调用工具、根据发现调整策略、判断何时信息足够。几行代码,一个能搜索网络、阅读文档、综合结论的研究代理就跑起来了。 最简实现 Claude Agent SDK 的核心是 query() 函数。 Claude Agent SDK 默认缓冲区为 1MB,处理图像时建议设为 10MB。 research_agent.query("分析 research_agent/projects_claude.png") async for msg in research_agent.receive_response 代码来自 Anthropic Claude Cookbooks(https://github.com/anthropics/claude-cookbooks)的 claude_agent_sdk/00_
后台运行:进程独立的存在主义最颠覆认知的一点:所有Agent会话后台独立存活。 海德格尔谈“向死而生”,放在这里恰好贴切:每一条Agent会话拥有独立生命周期,它的运行不依赖人类持续注视。程序员的身份,从执行者,慢慢过渡为调度者、观测者。 Claude采用GitWorktree做天然沙盒隔离:展开代码语言:TXTAI代码解释my-project/├──.git/├──.claude/worktrees/│├──session-abc123 /#会话A独立工作区│└──session-def456/#会话B独立工作区└──src/#本地主目录(保持纯净只读)每一个Agent拥有独立工作副本,互不污染、互不冲突。 我见过两类截然不同的使用者:有人凡事无脑新建会话,最后管理任务的成本远超编码本身;有人只把机械、重复、探索性工作交给Agent,自己死守架构与决策。
Claude据此判断自动调用。 2.7 官方文档 Skills 文档 · Agent Skills 开放标准 · 官方插件仓库示例 三、Sub-Agent 完整规范 3.1 定义 Sub-Agent 是一个独立的 Claude 实例, 3.7 内置 Sub-Agent 名称 用途 特点 Explore 只读代码扫描 不加载CLAUDE.md/GitStatus/Memory,极省token(~3K) Plan 规划与研究 同上,轻量级 4.2 Sub-Agent 上下文组成 组件 是否继承 说明 自己的System Prompt ✅ 独立 来自AGENT.md body CLAUDE.md(全局+项目) ✅ 继承 无条件继承 User 特殊规则 Explore和Plan故意跳过CLAUDE.md/Git/Memory以保持轻量(~3K token),General-purpose和自定义Agent则全部加载。
,options=ClaudeAgentOptions(model="claude-opus-4-6",allowed_tools=["WebSearch"]),):messages.append(msg ClaudeAgentOptions(model="claude-opus-4-6",allowed_tools=["WebSearch","Read"],))asresearch_agent:#第一次查询 ))asresearch_agent:awaitresearch_agent.query("分析research_agent/projects_claude.png")...图像在消息中会base64编码 =10*1024*1024,))asresearch_agent:#分析图表awaitresearch_agent.query("分析research_agent/projects_claude.png 代码来自AnthropicClaudeCookbooks(https://github.com/anthropics/claude-cookbooks)的claude_agent_sdk/00_The_one_liner_research_agent.ipynb
Claude Code 的 Agent Teams 解决的就是这个问题。 源码中有这样一段注释: // We intentionally don't set CLAUDE_CODE_AGENT_ID for the team lead because: // 1. Setting it would cause isTeammate() to return true, breaking inbox polling leader 不会被设置 CLAUDE_CODE_AGENT_ID mailbox 的实现机制:每个 teammate 有一个独立的 inbox 文件,存储在 .claude/teams/{team_name}/inboxes/{agent_name}.json。 把整条链路串起来 Agent Teams 的核心流程可以压缩成下面这张图: 这条链路的核心不是”把模型复制几份”,而是给每个 agent 补齐团队成员所需的运行上下文: 如果只说“Claude Code
但 Claude Code 这类 AI Agent 面对的不是单轮任务。它要读文件、查调用链、运行命令、分析报错、修改代码、补测试,还要根据工具结果继续调整方向。 在 Agent 场景里,Prompt 只是 Context 的一部分。真正的上下文还包括项目规则、历史会话、工具描述、代码文件、运行结果、错误日志、外部文档、长期记忆、当前任务状态。 这就是 Agent 时代和普通聊天时代的关键区别:Prompt 决定模型怎么听指令,Context 决定模型基于什么做判断。 这对 AI Agent 特别致命。 因为 Agent 的任务通常很长。它会不断读取文件,不断运行工具,不断追加输出。如果不控制上下文质量,当前窗口很快会被低价值信息填满。 AI Agent 也应该如此。 所以 claude-mem 最好的使用方式,不是让 Claude Code 背下所有历史,而是让它在任务开始时先检索相关记忆。
当语言停歇时 灵魂的触碰才刚刚开始 Claude Code 近几个月火速更新,前几天发布了最新版v2.1.71,带来了一个看似不起眼但杀伤力极大的新功能:/loop。 review-pr 520 翻译成人话: "每隔 5 分钟帮我瞅一眼部署挂了没" "每 15 分钟扫一遍错误日志,能修的 bug 直接提 PR" "每 20 分钟自动执行 /review-pr 520" Claude 不存在的 比传统 cron 多一层"防手残"保险 ️ 但它也有"做不到"的事 实际应用场景(抄作业区) /loop的发布,进一步打开了claude code的并行化执行的能力。
平台化潜力:正是这种分层设计,使得Claude Code从一个封闭的工具,转变为一个开放的、可插拔的本地AI Agent平台。 交互核心:TUI/REPL层与Query/Agent内核的设计奥秘 在Claude Code的架构中,如果说CLI层是启动引擎,那么TUI/REPL交互层与Query/Agent执行内核则构成了整个系统的 资源,并将这个远程Agent的“句柄”(TeammateHandle)返回给本地的Claude Code核心。 Claude Code的Swarm(蜂群)扩展层,正是为了模拟这种团队协作而生。 Swarm不是简单的同时运行多个Agent。它定义了一套Agent间的通信协议、角色分工与协作流程。 智能调试与根因分析:当你遇到一个棘手的Bug时,Claude Code的Agent内核可以像一位资深同事一样,被“委派”去分析问题。
Claude Code 以代码能力见长,坐稳了"SWE-bench榜首"的位置;OpenClaw 以247K GitHub星标稳坐开源Agent生态的头把交椅;而一个新面孔——Hermes Agent— Claude Code:IDE 里的编码副驾驶 Claude Code的核心场景是软件开发。你坐在电脑前,打开终端或IDE,让它帮你写代码、改代码、跑测试。 一句话总结:Claude Code是一个坐在你IDE里的顶级编码助手。 OpenClaw:多渠道运营的通用 Agent 网关 OpenClaw的核心定位是多渠道AI网关。 三、技术规格对比表 维度 Claude Code OpenClaw Hermes Agent GitHub Stars ~140K 247K 27K 定位 IDE编码助手 多渠道Agent平台 自我进化的个人 Claude Code是你IDE里的顶级编码助手,OpenClaw是你多渠道运营的中枢,而Hermes Agent是你服务器上7×24小时待命的私人助理。它们解决的是不同问题,完全可以共存。
一、 核心辨析:Claude Code 的神话,是谁的功劳? 【Claude Code 核心能力进化路径】 Claude 基础智力 (Opus 4.8 / Fable 5 强大的长考与长时序逻辑) ▲ │ Claude Code 如今全面接入了全新的 Claude Opus 4.8 以及处于限制预览阶段的 Fable 5 架构。这次模型底层最可怕的进化,在于其原生思维链的“抗泛化漂移”能力。 Claude Code 真正拉开与 Cursor、Artifacts 之间代差的,是其终端原生(Terminal-native)的 Agent 细节设计:真正的非交互式主权(Autonomous Delegation 在旧版中,Claude Code 还是一个单线作战的“独行侠”。
维度静态WorkflowDynamicWorkflow谁写编排人提前写好Claude运行时生成适配性通用模板任务定制子Agent数通常较少可达几十~上百并行Token消耗相对可控显著更高适合任务重复性流程复杂 (技术直觉)Workflow启动后,Claude会:动态规划——根据prompt拆子任务Fan-out——并行拉起子Agent(可选独立worktree)检查——结果合并前先验证合成——回到单一协调答案编排逻辑在对话上下文之外执行 五、官方6种编排模式(值得背下来)Anthropic工程博客总结了Claude构建Workflow时最常用的模式——可以当作提示Claude的词汇表。 1.Classify-and-act(分类路由)先用分类Agent判断任务类型,再路由到不同子Agent或行为。 Skills×Workflows把成熟Workflow保存到~/.claude/workflows(Workflow菜单按s)或通过Skill引用WorkflowJS作为模板(非死板脚本,允许Claude
Claude Code 之所以产生质变,是因为 Anthropic 在“最懂代码的模型”之上,构建了一套“最懂程序员直觉”的 Agent 架构。 Claude Code 最让我激赏的,是它在 Agent 顶层设计哲学 上的重大突破。在它之前,行业的风向标是 Devin 那种“全自动、全栈、带有独立独立浏览器和沙盒环境”的宏大 Agent。 Claude Code 内部实现了一套非常高效的 Patch 机制。模型在修改代码时,Agent 要求其输出一种类似于 Git Diff 的紧凑格式,或者通过特定的行号替换指令。 Claude Code 的 Agent 会在后台对终端输出进行智能截断与摘要。 七、 总结:没有神话,只有工业级工程对前沿模型的极致压榨回到我们最初的问题:Claude Code 的强大,到底是模型强还是 Agent 细节强?
Claude Code 最近推出了一个很值得关注的新能力:Dynamic Workflows(动态工作流)。有了它,Claude Code 就能动态地写出一套自己的多 Agent Harness。 Claude Code 动态工作流的特点是,让 Agent 不只是在一个对话里完成任务,而是可以为当前任务临时搭出一套执行框架。 Claude Code 本身就有一套默认 Harness,是这个编程 Agent 背后的执行框架。 动态工作流 vs 静态工作流在 Dynamic Workflows 之前,开发者也可以用 Claude Agent SDK,或者 claude -p 指令去协调多个 Claude Code 实例,做一套 从动态工作流看 Agent Harness 设计如果只看功能,Dynamic Workflows 是 Claude Code 的一个新能力:让 Claude 根据任务生成工作流,调度多个子 Agent。