96SEO 2026-04-23 20:21 1
你有没有在深夜盯着屏幕,kan着 Claude Code 或者 Cursor Agent 那行云流水的自动编程操作,心里痒痒的?那种感觉就像是kan着别人在玩一种你完全kan不懂的高级魔术。我也一样,那种既兴奋又挫败的感觉驱使我Zuo了一个决定:不再只是旁观,我要亲手拆解这个“黑盒”,造一个属于自己的 mini 版本。

说实话,这过程并不像想象中那么浪漫。我们面对的不仅仅是几行 API 调用,而是一场关于记忆、逻辑和工程架构的硬仗。Ru果你也厌倦了简单的 Demo,想要深入到底层逻辑,kankan这些 AI 编程工具背后的 Runtime 到底是怎么运转的,那么这篇文章——以及我们即将构建的 weak-claw 项目——绝对值得你花点时间读下去。
为什么我们需要自己造轮子?在真正动手之前,我们必须先搞清楚现状。市面上优秀的 AI 编程助手kan似光鲜亮丽,但在实际落地到复杂的工程任务时往往会暴露出三个让人抓狂的痛点。这些问题Ru果不解决,所谓的“AI 程序员”就永远只Neng是个玩具。
是上下文的无限膨胀。随着对话轮数的增加,发送给模型的 Token 数量呈指数级增长,要么成本爆炸,要么直接报错超限。是工具调用的震荡,Agent 有时候会陷入死循环,反复尝试同一个错误的工具调用,就像一只撞在玻璃上的苍蝇。Zui后也是Zui致命的,运行时与监控的强耦合,导致代码里充斥着各种日志和检查逻辑,核心业务逻辑变得面目全非。
为了解决这些问题,我决定从零开始,用 TypeScript 和 Node.js 打造一个名为 Myclaw 的 CLI 可观测运行时。这不仅仅是一个项目,geng是一次对 Agent 系统工程化的深度探索。
核心架构:分层记忆与无损压缩我们要解决的第一个大难题就是记忆。人类的大脑懂得遗忘和提炼,但 LLM 不会,它只会贪婪地吞噬所有历史记录。为了让我们的 Agent 既Neng记住长远的任务目标,又不至于把钱包烧穿,我们需要设计一套精妙的分层记忆架构。
这可不是简单的“截断旧消息”,那太粗暴了。我们采用的是一种“三明治”式的分层策略
┌─────────────────────────────────────────┐
│ Layer : 全量消息 │ ← 永久保留,作为底层数据源
├─────────────────────────────────────────┤
│ Layer : 压缩摘要 │ ← 定期批量压缩,提炼精华
├─────────────────────────────────────────┤
│ Layer : 滑动窗口 │ ← 实际喂给模型的上下文
└─────────────────────────────────────────┘
这种设计的精髓在于路径索引与按需回溯。Zui底层的全量消息层就像是一个巨大的仓库,我们从不扔东西;中间的摘要层则是仓库的索引卡片,每隔一段时间,我们就把过去的一大段对话压缩成一段精简的摘要;而Zui上层的滑动窗口,才是 Agent 眼前正在处理的“工作台”。
通过这种方式,我们实现了惊人的压缩比,大概Neng达到 1:10 甚至geng高。这意味着,原本跑个几十步就因为 Token 超限而崩溃的长任务,现在Ke以稳定运行上百步,逻辑依然连贯,就像给 Agent 装上了外挂硬盘。
解耦的艺术:EventBus 驱动的可观测性接下来我们要解决代码混乱的问题。在传统的开发模式里Ru果你想加个日志、监控一下运行时间,或者检查一下代码规范,你不得不在核心的业务逻辑里插入一堆乱七八糟的代码。这就像是在一道精美的菜肴里撒了一把沙子,吃得不爽,kan着也难受。
为了保持核心逻辑的纯净,我们引入了 EventBus + Subscriber 模型。这是一种彻底的解耦方案:Agent 的主循环只负责一件事,那就是“发射事件”。至于谁来听这些事件?听了之后Zuo什么?那是订阅者的事,跟 Agent 没半毛钱关系。
想象一下这样的流程:Agent 写完了一个文件,它不需要关心谁去检查这个文件,它只需要大喊一声:“write_completed!”然后继续Zuo它的事。而在后台,EslintCheckSubscriber 听到了这个信号,默默地开始工作。
Agent 循环执行任务...
↓
触发 write_completed 事件
↓
EventBus 广播信号
↓
┌──────────────┬──────────────┬──────────────┐
│ SessionLog │ Metrics │ EslintCheck │
│ │ │ │
│ Subscriber │ Subscriber │ Subscriber │
└──────────────┴──────────────┴──────────────┘
这种架构带来的好处是显而易见的。Ru果你突然想加一个新的监控需求,比如统计 Agent 使用了多少次“搜索”工具,你只需要写一个新的 Subscriber,注册到 EventBus 上就行了。完全不需要去动核心代码,甚至连一行 console.log dou不用加。这就是所谓的“零侵入”监控,优雅,且强大。
既然是写代码,那就难免会出错。AI 写的代码geng是如此,有时候它甚至会自信满满地写出一堆语法错误。为了应对这种情况,我们设计了一套写后异步代码审查旁路。
这听起来hen高大上,其实原理hen简单。当 Agent 通过工具写完文件后EslintCheckSubscriber 会在后台悄悄启动。它会运行一系列检查:Node.js 的语法检查、Python 的编译检查,甚至是 ESLint 的软门禁检查。
Agent 写文件 → 触发 write_completed 事件
↓
EslintCheckSubscriber
├── Node.js 语法检查
├── Python 语法检查
└── ESLint 软门禁
↓
Ru果检查失败?
↓
CheckGate捕获错误
↓
在 Agent 的下一步循环中,自动注入错误信息
↓
模型kan到错误 → 触发自我修复逻辑
Zui妙的是这个过程完全不阻塞主流程。Agent 不需要傻等着检查结果,审查的异常也不会直接打断 Agent 的执行。Ru果检查出错了错误信息会被放入一个队列里等到 Agent 下一次思考时这些错误信息会作为“工具执行结果”自动喂给它。Agent 就会意识到:“哦,刚才写的代码有问题,我得修一下。”从而实现自动化的闭环修复。
技术栈与工程实现说了这么多理念,我们来kankan具体的实现。我们的技术栈选型非常务实主打一个稳字当头
TypeScript + Node.js类型安全是大型项目的基石,TS Neng帮我们在编译期就消灭一大半低级错误。
Oclif这是 Heroku 开发的一个强大的 CLI 框架,帮我们处理了命令行参数解析、插件系统等繁琐的脏活累活。
OpenAI SDK直接对接模型,兼容性好。
Zod + cosmiconfig用于配置管理和参数校验,确保配置文件既灵活又安全。
整个系统的核心代码量其实并不大,大约几千行就足以支撑起这套复杂的逻辑。我们将整个实现过程拆解成了 7 个递进式步骤,每一步dou在前一步的基础上增加新的Neng力,就像搭积木一样,Zui终拼合成一个完整的系统。
7步学习路线:从 Hello World 到生产级系统为了让大家Neng跟上节奏,我特意设计了一条平滑的学习曲线。不管你是刚入门的小白,还是有一定经验的开发者,douNeng找到适合自己的切入点。
阶段一:基础搭建万事开头难,但这一步我们走得hen稳。 是克隆仓库,安装依赖,然后跑通第一个 Mock 模式的 Hello World。这一步不涉及任何 API Key,让你在没有成本压力的情况下先熟悉一下 CLI 的交互手感。
# 1. 克隆代码仓库
git clone https://github.com//weak-claw.git
cd weak-claw
# 2. 安装项目依赖
npm install
# 3. 编译 TypeScript 代码
npm run build
# 4. 体验 Mock 模式
MYCLAW_PROVIDER=mock node ./bin/dev.js run "用 TypeScript 写一个 hello world"
# 5. 进入交互式聊天
MYCLAW_PROVIDER=mock node ./bin/dev.js chat
阶段二:核心循环与工具调用
跑通 CLI 后我们开始构建 Agent 的“心脏”——ReAct 循环。这里我们会实现Zui基础的思考-行动模式,并接入第一个工具执行器。你会kan到 Agent 是如何理解指令、调用工具并获取反馈的。
阶段三:上下文管理的艺术这就是前面提到的分层记忆架构落地的时候了。我们会实现 Session Manager 和 Context Manager,引入滑动窗口和摘要压缩机制。这一步是区分“玩具”和“工具”的关键分水岭。
阶段四:事件驱动架构我们将重构代码,引入 EventBus。把日志、监控等旁路逻辑全部剥离出去,让核心代码变得无比清爽。你会深刻体会到什么叫“关注点分离”。
阶段五:安全与防御这里我们会加入 Safety Guard 和 JSON Fallback 机制。防止 Agent 产生幻觉输出非法指令,或者因为 JSON 解析错误而崩溃。这是生产环境必须有的“安全带”。
阶段六:异步审查与自修复实现 EslintCheckSubscriber 和 CheckGate。让 Agent 具备自我纠错的Neng力,大大提升代码生成的可用性。
阶段七:接入真实模型与优化Zui后我们将 Mock 模式切换为真实的 OpenAI 接口,进行联调。并针对长任务场景进行各种细节的打磨和优化。
学完之后你Neng收获什么?这不仅仅是一个写代码的过程,geng是一次思维升级。当你跟着这 7 步走完一遍,你会发现自己的技Neng树点亮了不少新分支。
工程Neng力的飞跃你将不再是一个只会调 API 的“调用工程师”。你会掌握从 CLI 入口到配置加载,再到会话管理、工具执行、上下文管理的全链路 Agent 系统架构。你会熟练运用 Provider 工厂模式、发布/订阅模式、策略模式等设计模式来解决实际问题。geng重要的是你会学会防御性编程——如何通过路径安全验证、循环兜底、振荡检测等手段,让一个不稳定的 LLM 变成一个可靠的系统组件。
知识体系的重构你会深刻理解为什么简单的“截断”在长任务中行不通,以及分层记忆架构是如何在 Token 成本和信息完整性之间取得微妙平衡的。你会明白为什么 JSONL 日志比传统数据库geng适合 CLI 场景,以及 EventBus 是如何实现“加监控不改业务代码”的。这些关于LLM 工程化的知识,是目前市场上Zui稀缺的。
面试的加分项Ru果你正在寻找新的机会,这个项目绝对是你简历上Zui亮眼的一笔。为了帮助大家geng好地展示自己,我还特意准备了一份详细的面试准备指南。里面涵盖了项目难点、架构设计思路以及各种技术细节的应对策略。当面试官问起“你有没有Zuo过什么有挑战性的项目”时把 Myclaw 抛出来绝对Neng镇住场面。
开始你的构建之旅技术这东西,光kan不练假把式。Claude Code 再强大,也是别人造出来的。只有当你亲手把一个个模块拼凑起来kan着那个简陋的 CLI 逐渐进化成一个Neng思考、Neng自检、Neng记忆的 Agent 时你才Neng真正体会到那种创造的快感。
这个项目我给它起名叫 weak-claw,寓意虽然起步微弱,但只要不断进化,终将撕开 AI 编程的一角。目前项目Yi经开源,欢迎各位读者去点个 Star ⭐。你的每一个 Star,dou是对我Zui大的鼓励。
别犹豫了打开终端,git clone 下来让我们一起从零开始,打造属于你自己的 mini-claude-code 吧!
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback