把 Claude Code 那套 Agent 内核,改写成了一个可读可用的工业级框架

起因

Claude Code 这一年多在工程师群体里口碑炸裂,核心不在模型,在 Agent 内核: 工具调用、权限管控、错误自愈、子任务隔离、子 Agent 协作 —— 把这些做扎实,模型才能干活。

我顺着把这套体系拆解了一遍,把核心理念重写成了一个 任意厂商可换、任意工具可注册、任意业务可嵌入 的 Python 框架:mega_agent

它做什么

python

from mega_agent import agent_loop, TOOL_HANDLERS

# 注册你自己的业务工具
TOOL_HANDLERS["query_user"] = lambda inp: my_db.fetch(inp["user_id"])

# 一行跑起来
msgs = agent_loop("查一下用户 u123 最近的活动并总结")

就这么多。背后内核会替你处理:LLM 调用 / 工具派发 / 权限分级 / 错误兜底 / 重试预算 / 子 Agent 并发 / 任务图调度 / 收件箱合流 …… 一直循环到 LLM 输出 end_turn

7 个值得借鉴的设计
  1. Errors are observations —— 工具异常不让 loop 崩,而是封装成 is_error=true 的结果让 LLM 在下一轮自己应对。这是 Agent 鲁棒性的基石。
  2. 外部信号汇聚单通道 —— 后台子进程结果、子 Agent 回信、重试告警 …… 全部以 <tag>...</tag> 块注入下一轮用户消息。只有一个输入面,LLM 处理逻辑因此异常简单。
  3. 三态权限闸 —— allow / ask / deny, 按工具名前缀 (read/list/get/... vs delete/remove/drop/...) 和 bash 命令形态 (rm -rf / dd if= / mkfs / shutdown) 自动分级。生产场景必不可少。
  4. 重试预算自动禁用 —— 连续失败 N 次的工具被禁用,下一轮通过 <retry-budget> 标签告诉 LLM 换路。避免无限循环踩同一个坑。
  5. Git Worktree 隔离子任务 —— 每个子 Agent 在真实的 git worktree add 出来的独立分支上工作,多人改文件零冲突,worktree_closeout 收尾时一键删分支或保留。
  6. 多 Agent 协作 + JSONL 收件箱 —— 主 Agent 用 spawn 起子线程跑 teammate, 角色化的 6 种消息类型 (chat /result/shutdown /plan_approval ...),autonomous=true 的子 Agent 还会自己从任务图里 claim 匹配自己 role 的任务。
  7. 加密 Profile + 语义路由 —— 多 key 用 Fernet + PBKDF2-HMAC-SHA256 (20 万轮) 加密落盘;@code 派给 Claude、@write 派给 GPT-4o、默认走自建网关 —— 路由表也是持久化的。
工程化亮点
  • 13 个小模块, 一下午读完 (kernel / llm / permissions / hooks / retry / tasks / worktree / background / teams / mcp / profiles / tools / cli)
  • 29 个内置工具(文件 IO / Shell / 任务图 / Worktree / 后台 + Cron / 多 Agent / MCP)
  • 3 种 LLM 后端:Anthropic 原生 / OpenAI 兼容网关 (LiteLLM / OpenRouter /vLLM/ 自建均可)/ Mock 测试桩
  • MCP 一行接入:mcp.register("github", ["mcp-server-github"])
  • 5 个可运行示例: 从最小嵌入到 hooks 审计 / 多路由 / 单测一应俱全
  • 热路径仅依赖标准库,SDK 与加密库都是软导入,装哪个用哪个
你能拿它干什么
  • 学 Agent 工程化设计 —— 直接读源码,13 个模块的边界划分都是现成的
  • 快速搭一个内部 Agent 服务 —— from mega_agent import agent_loop, 套上自己业务工具就能上线
  • 基于它魔改 —— LLM 后端 / 存储 / 权限 UI / 系统提示词都有清晰的扩展点
仓库

🔗 github.com/wangxfholly/agent_basicMIT License · Python 3.10+ · v0.2.0

设计可借鉴,代码可直接用,欢迎 Star / Issue / PR。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容