Go实现高并发本地缓存
一、需求场景高并发查询场景:先查缓存,缓存未命中再查数据库/计算。
核心要求:
并发安全:多goroutine同时读写
高性能:读多写少优化
过期机制:防止数据过时
二、最简实现:sync.Map1234567891011121314151617181920212223package cacheimport "sync"type Cache struct { data sync.Map}func New() *Cache { return &Cache{}}func (c *Cache) Get(key string) (any, bool) { return c.data.Load(key)}func (c *Cache) Set(key string, value any) { c.data.Store(key, value)}func (c *Cache) Delete(key string) { c.data ...
Go语言Channel深度解析
一、Channel的本质Go语言的channel是基于 CSP(Communicating Sequential Processes) 模型设计的。核心理念:
“不要通过共享内存来通信,而要通过通信来共享内存。”
Channel本质上是一个 线程安全的队列,遵循FIFO原则。
二、底层数据结构12345678910111213type hchan struct { qcount uint // 队列中元素个数 dataqsiz uint // 环形队列大小 buf unsafe.Pointer // 环形队列指针 elemsize uint16 // 元素大小 closed uint32 // 是否关闭 elemtype *_type // 元素类型 sendx uint // 发送索引 recvx uint // 接收索引 recvq waitq ...
Agent 学习扫盲与资料索引
这份文档不是系统教程,目标只有两个:
先把几个高频名词对齐
给大家一组值得看的资料
一、先统一几个词1. LLMLLM 就是大语言模型,是”会理解、会生成、会推理”的底层能力来源。
2. Agent可以先把 Agent 理解成”能围绕目标持续思考、调用工具、执行动作、再根据反馈继续迭代的智能体系统”。
3. 工作流(Workflow)工作流更偏”流程编排”。
Workflow 更强调固定流程和可控编排
Agent 更强调基于目标的自主决策
4. HarnessHarness 可以理解成 Agent 的”工作底座”或”运行外壳”。
二、必读资料1. Agent 是什么
文章:https://mp.weixin.qq.com/s/p1JPMhyM3yygJVCBhnBcaA
重点看:Agent 和普通问答/脚本调用的区别
2. Claude Code 设计
中文资料:https://github.com/shareAI-lab/learn-claude-code
重点看:”模型就是 Agent,代码更多是在做 Harness”
3. Go 的 Harness / Agent 框 ...
Claude Code 架构深度解析
基于 2026年3月31日泄漏的 v2.1.88 源码(1,884 个 TypeScript 文件,~512K 行代码)
一、整体架构概览Claude Code 是一个复杂的 AI 编程助手,采用 分层架构设计:基础设施层 → 服务层 → 工具层 → 协调层 → UI 层。
二、核心目录结构12345678910111213src/├── main.tsx # CLI 入口(785KB)├── tools/ # 40+ 内置工具├── commands/ # 50+ 命令实现├── services/ # 核心服务├── coordinator/ # 多 Agent 协调模式├── assistant/ # KAIROS 主动助手模式├── buddy/ # AI 伴侣系统(彩蛋)├── plugins/ # 插件系统├── skills/ # 技能系统├─ ...
Claude Code 源码泄漏事件:Clone与重写版本完整整理
事件时间:2026年3月31日 Anthropic 在 npm 发布时意外将 source map 一同打包上传,导致 51万行源码被公开还原。
事件背景
泄漏来源:npm 包的 source map
还原版本:v2.1.88
还原文件数:4756 个 TypeScript 文件(~512K 行代码)
一、重写版(Clean-room 实现)🔥 instructkr/claw-code ⭐ 76.3K历史最快破 50K stars 记录(仅 2 小时)
语言:Python → Rust(正在迁移)
特点:Clean-room 重写,不复制原始代码,仅模仿架构
作者:Sigrid Jin
Kuberwastaken/claude-code ⭐ 4.2KClaude Code in Rust
语言:Rust
特点:Rust 实现并附带架构解析文档
二、可运行的 TS 修复版NanmiCoder/claude-code-haha ⭐ 848本地可运行版本
完整 Ink TUI 交互界面
支持任意 Anthropic 兼容 API
支持 MCP、插件、Skills
三、源码 ...
Gallifrey Code 设计文档
Go 语言实现的 AI 编程助手
一、项目背景基于对 AI 编程助手架构的学习和研究,使用 Go 语言实现一个类似的 CLI 工具。项目名称 Gallifrey Code,灵感来源于《神秘博士》中时间领主的母星。
设计目标
单二进制部署 - 纯 Go 实现,无需运行时环境
双模式输出 - TUI 交互 + —print 无头模式
多 API 支持 - Anthropic API + OpenAI 兼容 API
可扩展工具系统 - 模块化的工具接口设计
二、架构设计2.1 分层架构12345678910111213141516┌─────────────────────────────────────────────────────────────┐│ CLI Layer ││ (cobra CLI, TUI with bubbletea, --print mode) │├───────────────────────────────────────── ...
Go-Claw-Code 设计说明
Go 语言实现 Claude Code 风格 AI 编程助手
GitHub 仓库:https://github.com/gallifreyCar/go-claw-code-gallifrey-self-use
一、项目背景基于 2026年3月31日泄漏的 Claude Code v2.1.88 源码架构分析,用 Go 语言实现一个类似的 AI 编程助手 CLI 工具。
为什么用 Go?
特性
TypeScript (原版)
Go
运行时
Node.js/Bun
单二进制
部署
需要 Node 环境
直接运行
性能
解释执行
编译优化
内存
V8 内存模型
GC + 值类型
依赖
node_modules
无外部依赖
二、架构设计2.1 分层架构参考泄漏代码的分层设计,采用清晰的分层架构:
12345678910111213141516┌─────────────────────────────────────────────────────────────┐│ CLI Layer ...
TDD开发模式:AI友好的工程实践
核心观点: TDD(测试驱动开发)是目前最适配AI编程的开发模式。先写测试、再写实现,让AI的每次输出都有明确的验证标准。
一、为什么TDD对AI友好传统开发 vs TDD传统开发流程
1234561. 理解需求2. 写代码3. AI生成/修改代码4. 手动测试5. 发现bug,回头改6. 循环3-5...
问题:AI修改后,不知道改对了没有,需要人工反复验证。
TDD开发流程
1234561. 写测试用例(明确预期)2. 运行测试 → 红色(失败)3. AI写实现代码4. 运行测试 → 绿色(通过)5. AI重构优化6. 运行测试 → 仍然绿色
优势:每一步都有自动化验证,AI输出质量可量化。
二、TDD的AI适配优势1. 测试即需求文档
传统文档
问题
测试用例
PRD/技术文档
AI理解歧义,实现可能偏离
精确的输入输出定义
口头沟通
信息丢失,AI无从得知
可执行的规格说明
注释/README
可能过时,与代码不同步
始终与代码行为一致
示例:
123456789101112131415// 传统文档:"查询用户订单,返回订单列表&q ...
从 Figma 到前端部署上线的闭环尝试
这不是一个”完美的 Figma 转代码工具”,而是一次尽量跑通真实业务闭环的尝试。
先说结果:我们做出了什么这次我们实际搭了一条可以跑起来的链路:产品修改figma,ai自动完成前端app对应修改并部署到线上(无感知)。
这条链路里,已经跑通的部分包括:
能从 Figma 版本里检测出真实变更
默认只比较相邻两次 Completed
能把变更限制在指定开发区间内
能让 Claude 读取本地 Flutter 仓库
能结合 Figma 文本层级推断代码落点
能把改动真实写进页面文件
能复用已有自动部署链路
一、我真正想解决的问题真实痛点是:
产品或设计同学改了 Figma,开发往往不能第一时间知道改了什么
即使知道改了,也要自己去 Figma 里定位节点、理解设计意图
改完还不算结束,还要提交、部署,最后才能去真实环境看效果
二、这次踩过的坑1. “生成成功”不等于”业务成功”模型很容易生成一个独立组件,看起来没问题,但没有真正挂到页面里。
2. 最大难点其实是”找到宿主页”比如一个节点叫 Frame 2087327689,你单看名字几乎得不到任何有用信息。
真正起作用的是: ...
后端工程师转Agent开发工程师转型指南
写给团队里的后端程序员:怎么从写 API 转成写 Agent,系统怎么设计,学什么,怎么上手。
一、为什么后端程序员适合做 Agent 开发后端工程师写 Agent 有天然优势——Agent 系统 本质上就是一个后端系统,只是「业务逻辑」由模型来决策。
1.1 先建立心智模型
你熟悉的后端概念
Agent 世界里的对应
HTTP Handler
Tool(工具)
Middleware
Context Manager(上下文管理)
事件循环 / Worker
Agent Loop(执行循环)
服务编排 / 微服务
Multi-Agent 协作
配置中心 / Feature Flag
System Prompt
日志 / 监控
Agent Observability
单测 / 集成测试
Agent Evals(评测)
一句话:你写的是 Harness(运行框架),模型是「业务逻辑层」。
1.2 Harness vs Agent:分清职责你的代码职责:
给模型提供工具:定义 Tool 的接口和实现
管理上下文:拼接 Prompt、维护对话历 ...
