【Harness】[特殊字符] 深度解析Claude Code:什么是真正的AI Agent?小白也能看懂的Harness工程指南

【Harness】[特殊字符] 深度解析Claude Code:什么是真正的AI Agent?小白也能看懂的Harness工程指南

🔥 深度解析Claude Code:什么是真正的AI Agent?小白也能看懂的Harness工程指南

本文将带你从零理解AI Agent的本质,并通过Claude Code这个顶级案例,学习如何构建一个完整的Agent系统。读完本文,你将彻底理解为什么"模型就是Agent"这个核心观点。

📌 写在前面

你是不是也经常看到"AI Agent"、"智能体"这些词,感觉很高大上但又搞不清楚到底是什么?

网上各种"无代码Agent平台"、"拖拽式工作流"让人眼花缭乱,好像拖几个节点就能造出智能体了?

今天这篇文章,我要彻底打破你的认知——告诉你什么才是真正的Agent,以及我们应该如何正确地构建Agent系统。


🎯 核心观点:模型就是Agent

一句话总结

Agent是一个经过训练的神经网络模型,不是框架,不是提示词链,不是拖拽式工作流。

让我用一个更直白的比喻:

💡 人类 = Agent(智能体)眼睛/耳朵 = 感知环境大脑 = 推理决策手脚 = 执行行动

AI Agent = 模型 + Harness(工具环境)模型 = 大脑(做决策)Harness = 眼睛、耳朵、手脚(感知和执行)

Agent永远都是那个模型本身。而我们程序员要做的,是给这个大脑配上"身体"——这就是Harness工程。


📚 Agent发展史:事实胜于雄辩

让我们回顾一下AI Agent的发展历程,看看真正的Agent是怎么炼成的:

2013年 - DeepMind DQN玩Atari

一个神经网络,只看游戏画面和分数,就学会了7款Atari游戏,其中3款击败了人类专家。到2015年,同一个架构在49款游戏上达到了职业玩家水平。

没有游戏规则,没有决策树,就是一个模型自己学出来的。

2019年 - OpenAI Five征服Dota 2

五个神经网络,在10个月内自己跟自己打了45,000年的Dota 2,最后2-0击败了TI8世界冠军OG战队。公开比赛中99.4%的胜率。

没有写好的策略,没有团队协作逻辑,模型自己学会了配合。

2019年 - DeepMind AlphaStar制霸星际争霸II

10-1击败职业选手,在欧洲服务器打到宗师段位(前0.15%)。

信息不完全、实时决策、组合空间巨大——一个模型全搞定。

2019年 - 腾讯绝悟统治王者荣耀

5v5模式击败KPL职业选手,1v1模式职业选手15场只赢1场。训练强度:一天等于人类440年。

没有英雄克制表,没有阵容编排逻辑,模型从零开始学会了整个游戏。

2024-2025年 - LLM Agent重塑软件工程

Claude、GPT、Gemini这些大语言模型,被部署为编程Agent,能读代码、写实现、调试故障、团队协作。


❌ Agent不是什么

现在市面上有很多"Agent平台",实际上它们做的是什么呢?

提示词水管工

拖拽式工作流构建器 无代码"AI Agent"平台 提示词链编排库 

这些东西的共同幻觉是:把LLM API调用用if-else、节点图、硬编码路由串起来,就以为是"构建Agent"了。

❌ 这不是Agent,这是鲁布·戈德堡机械——一个过度工程化、脆弱的过程式规则流水线。

一个比喻

想象你要造一个会开车的人工智能:

错误做法(提示词水管工)正确做法(真正的Agent)
写一堆if-else:如果红灯就停,如果绿灯就行,如果…让模型在真实环境中学习,自己总结规律
遇到没写过的情况就崩遇到新情况能自主判断
代码量巨大,难以维护模型自己进化

智能是学出来的,不是编出来的。


🔄 心智转换:从开发Agent到开发Harness

当你听到"我在开发Agent"时,只有两种可能:

1️⃣ 训练模型(真正的Agent开发)

  • 强化学习
  • 微调
  • RLHF
  • 收集任务过程数据

这是DeepMind、OpenAI、Anthropic在做的事。

2️⃣ 构建Harness(我们大多数人做的事)

Harness就是Agent在特定领域工作所需要的一切:

┌─────────────────────────────────────────────────────┐ │ Harness 组成 │ ├─────────────────────────────────────────────────────┤ │ 🛠️ Tools 文件读写、Shell、网络、数据库、浏览器 │ │ 📚 Knowledge 产品文档、领域资料、API规范、风格指南 │ │ 👁️ Observation git diff、错误日志、浏览器状态 │ │ 🎬 Action CLI命令、API调用、UI交互 │ │ 🔐 Permissions 沙箱隔离、审批流程、信任边界 │ └─────────────────────────────────────────────────────┘ 

模型做决策 → Harness执行 → 模型推理 → Harness提供上下文

角色类比
模型驾驶员
Harness汽车
模型大脑
Harness身体(手脚眼耳)

🏗️ Harness工程师到底在做什么?

作为一名Harness工程师,你的工作内容是:

1. 实现工具 - 给Agent一双手

文件读写、Shell执行、API调用、浏览器控制、数据库查询 

设计原则:原子化、可组合、描述清晰

2. 策划知识 - 给Agent领域专长

产品文档、架构决策记录、风格指南、合规要求 

关键:按需加载,不要前置塞入

3. 管理上下文 - 给Agent干净的记忆

  • 子Agent隔离(防止噪声泄露)
  • 上下文压缩(防止历史淹没)
  • 任务系统(让目标持久化)

4. 控制权限 - 给Agent边界

  • 沙箱化文件访问
  • 破坏性操作需审批
  • 信任边界管理

5. 收集任务过程数据

Agent执行的每一条行动序列都是训练信号,可以用于微调下一代Agent模型。


🎓 Claude Code:Harness工程的最佳教材

为什么这个仓库专门拆解Claude Code?

因为Claude Code是最优雅、最完整的Agent Harness实现。

它没有试图成为Agent本身,没有强加僵化的工作流,没有用决策树替模型做判断。它只做了该做的事:

Claude Code 架构解剖 ==================== ┌─────────────────────────────────────────┐ │ Agent Loop(智能体循环) │ │ ↓ │ │ Tools(工具集) │ │ - bash, read, write, edit, glob, grep │ │ - browser, web_fetch... │ │ ↓ │ │ 按需 Skill 加载 │ │ ↓ │ │ 上下文压缩 │ │ ↓ │ │ 子 Agent 派生 │ │ ↓ │ │ 带依赖图的任务系统 │ │ ↓ │ │ 异步邮箱的团队协调 │ │ ↓ │ │ Worktree 隔离的并行执行 │ │ ↓ │ │ 权限治理 │ └─────────────────────────────────────────┘ 

Agent本身是Claude(一个模型)。Harness给它双手、双眼和工作空间。


📖 12个递进课程:从零到精通

这个仓库设计了12个课程,每个课程添加一个Harness机制:

📊 学习路径图

第一阶段: 循环基础 第二阶段: 规划与知识 ==================== ==================== s01 Agent循环 ──→ s02 Tool Use s03 TodoWrite ──→ s04 子智能体 ↓ ↓ ↓ 理解核心循环 工具注册机制 任务规划 独立上下文 ↓ s05 Skills 知识按需加载 ↓ s06 上下文压缩 第三阶段: 持久化 第四阶段: 团队协作 ==================== ==================== s07 任务系统 ──→ s08 后台任务 s09 智能体团队 ──→ s10 团队协议 ↓ ↓ ↓ ↓ 文件持久化 异步执行 队友+邮箱 沟通协议 ↓ s11 自治智能体 看板认领 ↓ s12 Worktree隔离 并行不冲突 

每个课程的格言

课程主题格言
s01Agent循环One loop & Bash is all you need
s02Tool Use加一个工具,只加一个handler
s03TodoWrite没有计划的agent走哪算哪
s04子智能体大任务拆小,每个小任务干净的上下文
s05Skills用到什么知识,临时加载什么知识
s06上下文压缩上下文总会满,要有办法腾地方
s07任务系统大目标要拆成小任务,排好序,记在磁盘上
s08后台任务慢操作丢后台,agent继续想下一步
s09智能体团队任务太大一个人干不完,要能分给队友
s10团队协议队友之间要有统一的沟通规矩
s11自治智能体队友自己看看板,有活就认领
s12Worktree隔离各干各的目录,互不干扰

💻 核心代码:Agent循环

这是所有Agent的核心模式,整个仓库的12个课程都在这个循环之上叠加机制:

defagent_loop(messages):""" Agent循环 - 所有智能体的核心 """whileTrue:# 1. 调用模型 response = client.messages.create( model=MODEL, system=SYSTEM, messages=messages, tools=TOOLS,)# 2. 记录模型输出 messages.append({"role":"assistant","content": response.content })# 3. 如果不需要工具调用,返回文本结果if response.stop_reason !="tool_use":return# 4. 执行工具调用 results =[]for block in response.content:if block.type=="tool_use": output = TOOL_HANDLERS[block.name](**block.input) results.append({"type":"tool_result","tool_use_id": block.id,"content": output,})# 5. 把工具结果加入对话,继续循环 messages.append({"role":"user","content": results})

流程图解

用户输入 ↓ messages[] ──→ LLM调用 ──→ response ↑ | | ↓ | stop_reason == "tool_use"? | / \ | yes no | | | |执行工具 返回文本 | | |工具结果 | | └───┘ 

这就是最小循环。每个AI Agent都需要这个循环。模型决定何时调用工具、何时停止。代码只是执行模型的要求。


🚀 快速开始

# 克隆仓库git clone https://github.com/shareAI-lab/learn-claude-code cd learn-claude-code # 安装依赖 pip install-r requirements.txt # 配置API Keycp .env.example .env # 编辑 .env 填入你的 ANTHROPIC_API_KEY# 从这里开始! python agents/s01_agent_loop.py # 完整递进终点 python agents/s12_worktree_task_isolation.py # 总纲:全部机制合一 python agents/s_full.py 

Web交互平台

cd web &&npminstall&&npm run dev # 访问 http://localhost:3000

包含交互式可视化、分步动画、源码查看器和每个课程的文档。


🌟 学完之后能做什么?

方式一:Kode Agent CLI(开源编程助手)

npm i -g @shareai-lab/kode 

支持Skill & LSP,适配Windows,可接GLM/MiniMax/DeepSeek等开放模型。

方式二:Kode Agent SDK(嵌入你的应用)

可以把Agent能力嵌入后端、浏览器插件、嵌入式设备等任意运行时。


🌍 更大的愿景

这不只是关于编程Agent。

每一个人类从事复杂工作的领域,都可以有Agent:

领域Harness组成
🏠 庄园管理模型 + 物业传感器 + 维护工具 + 租户通信
🌾 农业模型 + 土壤/气象数据 + 灌溉控制 + 作物知识
🏨 酒店运营模型 + 预订系统 + 客户渠道 + 设施API
🔬 医学研究模型 + 文献检索 + 实验仪器 + 协议文档
🏭 制造业模型 + 产线传感器 + 质量控制 + 物流系统
📚 教育模型 + 课程知识 + 学生进度 + 评估工具

循环永远不变。工具在变。知识在变。权限在变。Agent——那个模型——泛化一切。


📝 总结

记住这三句话

  1. 模型就是Agent —— 不是框架,不是提示词链,不是拖拽式工作流
  2. 代码是Harness —— 我们是在为智能体构建工作环境
  3. 造好Harness,Agent会完成剩下的

学习建议

  • 初学者:从s01开始,一步一步敲代码理解每个机制
  • 有经验者:直接看s_full.py理解完整架构
  • 想深入研究:阅读docs目录下的详细文档

Bash is all you need. Real agents are all the universe needs.

模型就是Agent。代码是Harness。造好Harness,Agent会完成剩下的。

参考资料


如果这篇文章对你有帮助,欢迎点赞收藏关注,有问题欢迎在评论区讨论! 🙏

Read more

【开源项目】AIRI 一个能陪你打游戏、交谈的开源 AI 伴侣(二次元老婆)

【开源项目】AIRI 一个能陪你打游戏、交谈的开源 AI 伴侣(二次元老婆)

引言 作为一个喜欢折腾开源项目的技术爱好者,最近我试用了 Project AIRI ——一个能自己部署的虚拟伴侣系统。它不只是聊天机器人,还能陪你打游戏、实时语音互动,甚至作为桌宠常驻桌面。最吸引我的是它的开源属性(MIT 协议)和可定制性,所有数据都在本地运行,隐私无忧。 正文 1. 部署安装:简单三步快速体验 Project AIRI 支持多平台(Web/macOS/Windows),以下是实测可用的部署方式: * Windows 一键安装(小白友好) 在 GitHub Releases 下载 AIRI_0.7.1_windows_amd64-setup.exe,安装后任务栏会出现 AIRI 图标。右键可调整位置(如置底左),设置中绑定 API 后即可对话。 * NAS

AI世界模型(World Model)全解析:技术原理、研究进展与产业落地

AI世界模型(World Model)全解析:技术原理、研究进展与产业落地 摘要:世界模型(World Model)作为连接AI感知、决策与行动的核心枢纽,正成为突破通用人工智能(AGI)瓶颈的关键技术。本文从概念溯源、理论基础出发,系统剖析世界模型的技术架构、核心分类与实现方法,结合2024-2026年最新研究成果(如LeCun团队潜在动作世界模型、DIAMOND扩散模型)与产业落地案例,深入探讨其在强化学习、游戏开发、自动驾驶、机器人等领域的应用价值,最后梳理当前技术挑战并展望未来研究方向。全文兼顾学术深度与工程实践,为AI研究者与技术从业者提供全面的世界模型知识体系。 一、引言:从“符号拟合”到“世界理解”,AI的认知革命 1.1 大语言模型的认知瓶颈 自ChatGPT掀起大模型浪潮以来,大语言模型(LLM)凭借海量文本数据的统计拟合能力,在语义理解、内容生成、逻辑推理等领域展现出惊人实力。但在杨立昆、李飞飞等顶尖学者眼中,当前LLM仍是“

LLM - 将业务 SOP 变成 AI 能力:用 Skill + MCP 驱动 Spring AI 应用落地不完全指南

LLM - 将业务 SOP 变成 AI 能力:用 Skill + MCP 驱动 Spring AI 应用落地不完全指南

文章目录 * 概述。 * 一、从「工具调用」到「任务完成」 * 1.1 传统工具调用的三个痛点 * 二、MCP:统一「接外部世界」的模型上下文协议 * 2.1 MCP 是什么 * 2.2 典型 MCP 架构:谁和谁在「说话」 * 三、Skill:把「会用工具」变成「会做事情」 * 3.1 Skill 的基本概念 * 3.2 Skill 解决了 MCP 解决不了的问题 * 四、Skill vs MCP:概念与职责对比 * 4.1 核心对比表

2026年3月18日 AI 每日动态

2026年3月18日 AI 每日动态

1. 【AI Coding 工具】Claude Code 终于有了"长期记忆"——claude-mem 爆红 Claude Code 用起来顺手,但每次开新会话就像把同事的记忆清零——项目背景要重新交代,之前做过的决策一问三不知。现在有个叫 claude-mem 的开源插件彻底改变了这件事。 它的工作方式很直接:自动抓取每次会话里的工具调用记录(读了哪些文件、改了哪些代码、跑了什么命令),会话结束后用 AI 把这些信息压缩成结构化摘要,下次开工时自动注入进来。一万 Token 的操作记录,最终压缩到 500 Token 左右,同时还支持自然语言检索历史("上次那个 React 重复渲染是怎么解的?")。 目前已有超 3 万人收藏,宣称能节省 90% 的 Token