learn-claude-code 拆解:AI Agent 的工具调用与状态管理是如何实现的
2026/8/29 10:36:01 网站建设 项目流程

learn-claude-code 拆解:AI Agent 的工具调用与状态管理是如何实现的

【免费下载链接】learn-claude-codeBash is all you need - A nano claude code–like 「agent harness」, built from 0 to 1项目地址: https://gitcode.com/GitHub_Trending/an/learn-claude-code

learn-claude-code 是一个基于 Claude Code 逆向经验整理的开源教程项目,把 agent 循环、工具分派、上下文压缩、多 agent 协作拆成 17 个可独立运行的章节,帮助开发者理解并自建一套 AI Agent 工具调用与状态管理的最小实现。

这个项目到底在解决什么问题

很多对 agent 的理解停留在"串几个 LLM 接口加工作流"。这个项目的核心主张是:智能来自模型训练,工程要负责的是"挽具(harness)"——工具、知识、上下文、权限这些让模型能干活的配套。

它把 Claude Code 的实际做法拆成从 0 到 1 的课程:每个机制单独成章,每章一个code.py可以脱离整套系统直接跑通。对想自建 agent 的读者来说,它回答的是三个具体问题:工具调用到底怎么分派?长任务里上下文不爆掉靠什么?多个子 agent 并行时状态怎么保持一致?

工具调用如何从"能调用"变成"调得准"

工具注册与分派

项目里注册工具的口号是"加一个工具就是加一个 handler":每个工具函数登记到一张分派表(TOOL_HANDLERS)里,主循环本身不动。模型返回tool_use时,代码按工具名查表执行,不需要为每个工具写分支。

能力匹配与参数处理

选哪个工具由模型根据工具名和描述判断,代码只负责执行。模型给出的是结构化参数,harness 在执行前校验参数,缺参或非法时不盲目执行。

执行结果回写

工具返回值被规范化成tool_result块,追加回messages列表,模型下一轮才能"看到"结果并决定继续调工具还是收尾。也就是说,调用是否"准"很大程度取决于描述写得好不好、结果回写得干不干净。

skills/agent-builder/SKILL.md里还能看到技能描述、工具模板和最小 agent 示例,适合照着定义自己的新工具。

状态管理如何支撑长任务

上下文分层缓存与压缩

s08_context_compact/code.py演示了一套分级压缩:先压工具结果的占用,再对更早的历史做摘要,分多步执行而不是"一刀切"清空。关键信息保留、冗余输出丢弃,就是优先级淘汰的落地方式。

多 Agent 状态同步

多 agent 场景下,s10_task_systems13_agent_teams用磁盘持久化的任务图加原子任务认领来保证一致性:子 agent 各自用独立的消息列表工作,但任务状态落在文件里,谁认领了哪个任务不会冲突。tests/下针对子 agent 与团队协作的用例,验证了这些同步行为在异常情况下依然成立。

从哪个示例开始读,怎么快速跑起来

建议顺序:s01_agent_loop(一个循环加 bash)→s02_tool_uses08_context_compacts13_agent_teams。每章文件夹里都有英文版 README、中英日三语翻译和可运行代码,按章节号顺序读即可,部分章节依赖前一章的运行时。

git clone https://gitcode.com/gh_mirrors/an/learn-claude-code cd learn-claude-code pip install -r requirements.txt python s01_agent_loop/code.py

想看所有机制合在一起的版本,直接读s15_integrated_harness/。旧的 12 章内容保留在agents/docs/里,章节编号与新轨不同,别混着引用。

给 Agent 开发者的可复用经验

  • 工具注册进分派表,主循环保持单一:一个 while 循环加一张工具表就是骨架,别给循环打补丁。
  • 上下文当资源管理:压缩分步走,先工具结果、后历史摘要,别等撑爆了再处理。
  • 多 agent 协作靠磁盘加原子操作,不靠内存共享:任务图和认领记录落盘,状态才经得起并发。
  • 把每个机制做成可独立运行的章节:既能单独测试,也能当作自己的设计文档。

循环归模型,车子归工程师。从s01_agent_loop/code.py起步,沿着这套章节路径走一遍,就能搭出自己的 agent harness。

【免费下载链接】learn-claude-codeBash is all you need - A nano claude code–like 「agent harness」, built from 0 to 1项目地址: https://gitcode.com/GitHub_Trending/an/learn-claude-code

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询