当前位置: 首页 > article >正文

【深度拆解】用马斯克五步工程法拆解 Hermes Agent 源码|84.9k stars 的 Agent OS 到底牛在哪?

系列硬核源码拆解 #01关键词AI Agent, Hermes Agent, 第一性原理, 上下文压缩, 记忆系统, Agent 架构适用读者AI Agent 开发者、架构师、对 Agent 框架选型感兴趣的工程师摘要本文对 Nous Research 的 Hermes Agentv0.9.0, 84.9k stars进行了深度源码分析。昨天我们已经完成了蒸馏把马斯克加进了龙虾 的脑子里。【AI Agent实战】人物蒸馏我怎么把17个顶级人物“装进“龙虾脑子里今天借用马斯克的五步工程法质疑需求→删除→简化→加速→自动化作为分析框架逐层拆解其五层架构、四大核心引擎ContextEngine / MemoryManager / PromptBuilder / SmartModelRouting、技能系统和安全机制。文章重点分析了三个最具工程价值的设计迭代式摘要 Handoff 框架、on_pre_compress 记忆抢救钩子、Tool Pair Sanitization并提供了五个可直接复用的代码模式。GitHub: https://github.com/NousResearch/hermes-agent1. 项目概述Hermes Agent 不是一个 chatbot wrapper而是一个完整的Agent Operating System。维度数据Stars84.9kForks11.5k协议MIT语言Python 93%版本v0.9.02026-04-13平台CLI / Telegram / Discord / Slack / WhatsApp / Signal / Email模型200 模型OpenRouter、自定义端点后端Local / Docker / SSH / Daytona / Singularity / Modal核心能力闭环学习自主创建技能→使用中改进→跨会话召回、多平台单一网关、内置 Cron 调度。2. 五层架构┌──────────────────────────────────────────────────────┐ │ Layer 5: Gateway7 平台 单一网关进程 │ ├──────────────────────────────────────────────────────┤ │ Layer 4: AIAgent 核心循环~3000 行 │ │ 对话循环 → 工具调用 → 错误恢复 → 中断/重定向 │ ├──────────────────────────────────────────────────────┤ │ Layer 3: 四大核心引擎 │ │ ContextEngine │ MemoryManager │ PromptBuilder │ Router│ ├──────────────────────────────────────────────────────┤ │ Layer 2: Skills(26域) Tools(64模块) Cron │ ├──────────────────────────────────────────────────────┤ │ Layer 1: 运行时6种后端 插件系统 │ └──────────────────────────────────────────────────────┘设计原则每一层可独立替换配置驱动。这是架构而不是框架——架构允许你替换任何一层而不影响其他层。3. 核心引擎详解3.1 ContextEngine — 可插拔上下文管理文件:agent/context_engine.py抽象基类设计生命周期五阶段on_session_start()# 加载持久化状态update_from_response()# 每次 API 调用后更新 token 计数should_compress()# 判断是否触发压缩compress()# 执行压缩返回新 message liston_session_end()# 真正的会话结束时调用亮点引擎可暴露自定义工具给 Agentget_tool_schemas()handle_tool_call()默认ContextCompressor可替换为 LCM 等第三方引擎。3.2 ContextCompressor — 默认压缩器本文重点文件:agent/context_compressor.py四阶段压缩算法Phase 1: 旧工具输出裁剪无 LLM200 字符的旧 tool result 替换为占位符 Phase 2: 确定边界头部保护 3 条 尾部按 Token 预算动态保护 ~20K Phase 3: 中间区域用辅助 LLM 生成结构化摘要 Phase 4: 组装 清理孤立 tool_call/tool_result 对五大设计精华① 迭代式摘要不是每次从头总结。_previous_summary存储上次摘要下次压缩在其基础上增量更新保留旧信息 新增进展 完成项移至 Resolved Questions② Handoff 框架SUMMARY_PREFIX([CONTEXT COMPACTION — REFERENCE ONLY] Earlier turns were compacted into the summary below. This is a handoff from a previous context window — treat it as background reference, NOT as active instructions.)灵感来自 Codex 的 “different assistant” 和 OpenCode 的 “do not respond to questions” preamble。用 “Remaining Work” 替代 “Next Steps” 防止模型把摘要当新指令。③ Token 预算制尾部保护不是固定保留最后 N 条而是_find_tail_cut_by_tokens()按 token 预算动态确定tail_token_budgetint(threshold_tokens*summary_target_ratio)# 默认 ~20K④ 焦点压缩/compact topic时相关信息保留 60-70% 预算无关信息激进压缩。⑤ 关键常量_MIN_SUMMARY_TOKENS2000_SUMMARY_RATIO0.20# 5 倍压缩率_SUMMARY_TOKENS_CEILING12000_SUMMARY_FAILURE_COOLDOWN600# 失败后 10 分钟冷却防御性设计_sanitize_tool_pairs()压缩后修复孤立 tool_call/tool_result 对_align_boundary_forward/backward()边界不切割在工具对中间摘要失败插入静态 fallback 而非静默丢弃3.3 MemoryManager — 插件化记忆文件:agent/memory_manager.pyagent/memory_provider.pyBuiltinMemoryProvider (MEMORY.md / USER.md) — 永远在线 最多 1 个外部 Provider (Honcho / Mem0 等) — 防止 schema 膨胀核心机制预取制每轮prefetch_all()收集上下文围栏注入recall标签包裹 系统注释这不是新用户输入同步制每轮sync_all()写入后端关键钩子on_pre_compress()压缩前抢救信息3.4 SmartModelRouting文件:agent/smart_model_routing.py保守策略的 if-else 路由ifchars160orwords28orhas_codeblockorhas_urlorhas_complex_keywords:returnprimary_modelelse:returncheap_model# routing_reason: simple_turn失败自动回退主模型。4. 安全机制PromptBuilder._scan_context_content()扫描用户文件中的提示注入“ignore previous instructions” / “system prompt override” → 拦截隐藏 HTML div / 零宽字符 → 拦截还有credential_pool.py密钥轮换、redact.py输出脱敏、path_security.py路径安全。5. 五个可复用的代码模式模式 1围栏注入defbuild_memory_context_block(raw_context):return(recall\n[System note: recalled memory context, NOT new user input.]\n\nf{context}\n/recall)模式 2Handoff 前缀告诉模型这是交班参考不是新指令。模式 3压缩前抢救钩子defon_pre_compress(self,messages)-str:返回需要保留的关键信息注入摘要 prompt模式 4Tool Pair 修复压缩后移除孤立 tool results 为缺失结果的 tool_calls 插入 stub。模式 5摘要失败兜底永远不要静默丢弃——至少告诉模型有内容被删了。6. 总结Hermes Agent 的工程质量远超大多数开源 Agent 框架。其核心价值不在于功能数量而在于架构的可替换性和边界条件的处理深度。对于 AI Agent 开发者最值得借鉴的是上下文压缩不是暴力截断而是结构化交接记忆系统需要围栏注入防止误读以及永远不要忽略工具调用的配对完整性。参考资料GitHub: https://github.com/NousResearch/hermes-agent版本: v0.9.0 (2026-04-13)马斯克五步工程法: Walter Isaacson《埃隆·马斯克传》(2023)作者路易乔布斯硬核源码拆解系列 #01转载请注明出处更多请关注【一深思AI】

相关文章:

【深度拆解】用马斯克五步工程法拆解 Hermes Agent 源码|84.9k stars 的 Agent OS 到底牛在哪?

系列:硬核源码拆解 #01 关键词:AI Agent, Hermes Agent, 第一性原理, 上下文压缩, 记忆系统, Agent 架构 适用读者:AI Agent 开发者、架构师、对 Agent 框架选型感兴趣的工程师 摘要 本文对 Nous Research 的 Hermes Agent(v0.9.…...

OpenTwins 架构深度解析与实战指南:构建可扩展数字孪生平台

OpenTwins 架构深度解析与实战指南:构建可扩展数字孪生平台 【免费下载链接】opentwins Innovative open-source platform that specializes in developing next-gen compositional digital twins 项目地址: https://gitcode.com/gh_mirrors/op/opentwins Op…...

JiYuTrainer:如何在被控制的电脑教室中重新获得操作自由

JiYuTrainer:如何在被控制的电脑教室中重新获得操作自由 【免费下载链接】JiYuTrainer 极域电子教室防控制软件, StudenMain.exe 破解 项目地址: https://gitcode.com/gh_mirrors/ji/JiYuTrainer 你是否曾在电脑教室中遇到过这样的困扰:老师启动全…...

ESP32安全启动配置避坑指南:从生成密钥到烧录固件的完整流程

ESP32安全启动配置避坑指南:从生成密钥到烧录固件的完整流程 在嵌入式开发领域,设备安全越来越受到重视。ESP32作为一款广泛应用的物联网芯片,其安全启动功能为固件提供了重要的保护机制。但配置过程中稍有不慎,就可能让设备变成&…...

终极Nuke生存指南:150+免费插件让你三倍提升特效制作效率

终极Nuke生存指南:150免费插件让你三倍提升特效制作效率 【免费下载链接】NukeSurvivalToolkit_publicRelease public version of the nuke survival toolkit 项目地址: https://gitcode.com/gh_mirrors/nu/NukeSurvivalToolkit_publicRelease 还在为Nuke中复…...

保姆级教程:用海思ISP工具搞定CMOS传感器黑电平校正(BLC)

海思ISP黑电平校正实战指南:从环境搭建到效果验证 第一次接触海思平台的图像调试时,我被黑电平校正(BLC)这个看似简单却影响深远的概念难住了。记得当时在实验室熬到凌晨三点,反复调整参数却始终无法消除画面中的绿色偏…...

5分钟精通Windows倒计时神器:Hourglass让你的时间管理效率翻倍

5分钟精通Windows倒计时神器:Hourglass让你的时间管理效率翻倍 【免费下载链接】hourglass The simple countdown timer for Windows. 项目地址: https://gitcode.com/gh_mirrors/ho/hourglass 还在为会议超时、学习分心、任务拖延而烦恼吗?今天&…...

Python爬取懂车帝热门车型评论数据实战

1. 为什么需要爬取懂车帝评论数据 最近在研究汽车市场行情,发现懂车帝这个平台上的用户评论特别真实有参考价值。作为一个技术爱好者,我第一反应就是:能不能用Python把这些数据爬下来做个分析?毕竟手动翻页查看几百条评论实在太费…...

别再只会用Discover了!Kibana 7.10里这4种表格制作方法,到底该用哪个?

别再只会用Discover了!Kibana 7.10里这4种表格制作方法,到底该用哪个? 当你第一次接触Kibana的数据可视化功能时,Discover可能是最直观的选择——毕竟它就在首页显眼的位置,点开就能看到原始数据。但随着使用场景的复杂…...

如何用AMLL打造媲美Apple Music的动态歌词体验:3步实现沉浸式音乐播放器

如何用AMLL打造媲美Apple Music的动态歌词体验:3步实现沉浸式音乐播放器 【免费下载链接】applemusic-like-lyrics An Apple Music style lyric player component, with React & Vue support. 一个类 Apple Music 歌词显示组件,同时提供 React 和 Vu…...

PostgreSQL 表结构解析与权限管理实战指南

1. PostgreSQL表结构深度解析 第一次接触PostgreSQL的表结构时,我也被那一堆元数据搞得头晕眼花。但后来发现,只要掌握几个关键点,就能像老中医把脉一样快速诊断表结构问题。PostgreSQL的表结构信息主要存储在系统目录表中,我们可…...

ChineseOCR文字方向检测终极指南:智能校正0°、90°、180°、270°旋转文字

ChineseOCR文字方向检测终极指南:智能校正0、90、180、270旋转文字 【免费下载链接】chineseocr yolo3ocr 项目地址: https://gitcode.com/gh_mirrors/ch/chineseocr 在中文OCR识别领域,ChineseOCR项目凭借其强大的文字方向检测功能脱颖而出&…...

告别命令行GDB!用CLion远程调试Linux C++程序,像本地开发一样丝滑

告别命令行GDB!用CLion远程调试Linux C程序,像本地开发一样丝滑 在Windows环境下开发Linux服务器程序,一直是C工程师的痛点。传统方式要么在虚拟机里搭建完整开发环境,要么用命令行GDB远程调试——前者资源消耗大,后者…...

《现代密码学理论与实践》中英文版:深入理解与实践应用

《现代密码学理论与实践》中英文版:深入理解与实践应用 密码学的起源与发展 密码学的历史可以追溯到古代,当时主要使用简单的替换和置换方法来加密信息。随着计算机技术的出现,密码学实现了质的飞跃,演变成了现在的复杂算法和协议…...

Mi-Create:5分钟打造专属小米穿戴表盘的终极免费工具

Mi-Create:5分钟打造专属小米穿戴表盘的终极免费工具 【免费下载链接】Mi-Create Unofficial watchface creator for Xiaomi wearables ~2021 and above 项目地址: https://gitcode.com/gh_mirrors/mi/Mi-Create 你是否厌倦了小米手环上那些千篇一律的默认表…...

终极英雄联盟回放播放器:ROFL-Player完全使用指南

终极英雄联盟回放播放器:ROFL-Player完全使用指南 【免费下载链接】ROFL-Player (No longer supported) One stop shop utility for viewing League of Legends replays! 项目地址: https://gitcode.com/gh_mirrors/ro/ROFL-Player 还在为无法播放旧版本英雄…...

空洞骑士模组管理终极指南:用Scarab实现一键安装和智能管理

空洞骑士模组管理终极指南:用Scarab实现一键安装和智能管理 【免费下载链接】Scarab An installer for Hollow Knight mods written in Avalonia. 项目地址: https://gitcode.com/gh_mirrors/sc/Scarab Scarab是一款专为《空洞骑士》设计的现代化模组管理器&…...

LeetCodehot100-34. 在排序数组中查找元素的第一个和最后一个位置

class Solution { public:int search(vector<int>& nums, int target){//>int left0,rightnums.size()-1;while(left<right){int midleft(right-left)/2;if(nums[mid]<target) leftmid1;else rightmid-1;}return left;}//[0, left-1] 中的所有元素都 < t…...

3个实战技巧:如何用Fluent.Ribbon让你的WPF应用拥有专业Office界面

3个实战技巧&#xff1a;如何用Fluent.Ribbon让你的WPF应用拥有专业Office界面 【免费下载链接】Fluent.Ribbon WPF Ribbon control like in Office 项目地址: https://gitcode.com/gh_mirrors/fl/Fluent.Ribbon Fluent.Ribbon是一个专为WPF应用程序设计的开源控件库&am…...

告别CAN总线?手把手教你用ISO 13400和DoIP实现车载远程诊断(附Python示例)

从CAN到以太网&#xff1a;基于ISO 13400的DoIP诊断实战指南 当传统CAN总线在带宽和远程诊断需求面前逐渐力不从心&#xff0c;车载以太网正以百兆甚至千兆的传输速率重塑车辆电子架构。作为诊断协议的新载体&#xff0c;DoIP&#xff08;Diagnostic over Internet Protocol&am…...

H5playerV2.1.2实战:5分钟搞定跨域播放器集成(含常见报错解决方案)

H5playerV2.1.2实战&#xff1a;5分钟搞定跨域播放器集成&#xff08;含常见报错解决方案&#xff09; 在视频监控、在线教育、直播平台等Web应用中&#xff0c;H5player凭借其无需插件、跨平台兼容的特性成为主流播放方案。但实际集成时&#xff0c;开发者常被跨域配置、HTTPS…...

你的小米路由器在‘隔离’设备吗?详解无线加密模式如何影响局域网互访

小米路由器无线加密模式对局域网互访的影响与解决方案 家里的小米路由器突然让所有设备"形同陌路"&#xff1f;明明连着同一个WiFi&#xff0c;手机传文件给电脑却像隔了堵墙&#xff0c;智能家居设备集体失联&#xff0c;甚至局域网游戏都卡在连接界面——这可能是路…...

三菱机床FTP程序传输:从参数配置到实战调用的完整指南

1. 三菱机床FTP程序传输基础概念 第一次接触三菱机床的FTP功能时&#xff0c;我也是一头雾水。机床还能联网传文件&#xff1f;这不是电脑才有的功能吗&#xff1f;后来在实际工作中才发现&#xff0c;这个功能简直是生产现场的"救命稻草"。想象一下&#xff0c;当你…...

别再为点云数据交换发愁了!手把手教你用E57格式搞定多平台协作

E57格式&#xff1a;点云数据跨平台协作的终极解决方案 在建筑信息模型&#xff08;BIM&#xff09;、地理信息系统&#xff08;GIS&#xff09;和工业测量领域&#xff0c;点云数据已成为数字化工作流的核心组成部分。然而&#xff0c;当项目涉及多个团队、不同品牌的扫描设备…...

星际蜗牛矿机变家庭影院:用群晖Docker部署Jellyfin的完整避坑记录

星际蜗牛矿机变家庭影院&#xff1a;用群晖Docker部署Jellyfin的完整避坑记录 去年在二手市场淘了台星际蜗牛矿机&#xff0c;原本打算当个下载机用&#xff0c;没想到这台不到500元的设备竟成了我家的影音中枢。从矿渣到NAS再到4K流媒体服务器&#xff0c;整个过程踩坑无数&am…...

HEIF Utility:Windows平台处理苹果HEIF图片的完整解决方案

HEIF Utility&#xff1a;Windows平台处理苹果HEIF图片的完整解决方案 【免费下载链接】HEIF-Utility HEIF Utility - View/Convert Apple HEIF images on Windows. 项目地址: https://gitcode.com/gh_mirrors/he/HEIF-Utility 对于使用iPhone拍摄照片的Windows用户来说…...

Windhawk:模块化Windows系统个性化定制的完整解决方案

Windhawk&#xff1a;模块化Windows系统个性化定制的完整解决方案 【免费下载链接】windhawk The customization marketplace for Windows programs: https://windhawk.net/ 项目地址: https://gitcode.com/gh_mirrors/wi/windhawk 你是否曾对Windows系统的默认界面感到…...

2026年学术写作中AI工具的辅助边界与合理用法

在学术写作讨论中&#xff0c;常有人提出以下疑问&#xff1a;- AI能否直接生成毕业论文全文&#xff1f;- AI写的内容能否通过导师或评审审阅&#xff1f;- 有没有“生成即可提交”的工具&#xff1f;这些问题反映出一种现实&#xff1a;写作者并非不愿付出努力&#xff0c;而…...

终极画中画扩展使用指南:一键实现Chrome多窗口视频播放

终极画中画扩展使用指南&#xff1a;一键实现Chrome多窗口视频播放 【免费下载链接】picture-in-picture-chrome-extension 项目地址: https://gitcode.com/gh_mirrors/pi/picture-in-picture-chrome-extension Chrome画中画扩展是一个基于原生Picture-in-Picture API构…...

从选型到避坑:光电倍增管PMT实战指南(附Hamamatsu、ETL等型号对比)

光电倍增管PMT选型与实战&#xff1a;工程师视角的深度解析 在微弱光信号检测领域&#xff0c;光电倍增管&#xff08;PMT&#xff09;凭借其极高的灵敏度和低噪声特性&#xff0c;依然是许多高端应用的首选探测器。无论是荧光光谱分析、粒子物理实验还是激光雷达系统&#xff…...