11年技术路,从研发工程师到研发效率平台负责人,用技术改变世界,用博客记录成长 🌿
🎯 我的技术博客
为什么写博客?
工作 11 年,从研发工程师一路成长为研发效率平台负责人,技术积累非常深厚。
写博客的意义:
- ✅ 记录工作中的所学所感
- ✅ 提升对技术的理解(费曼学习法)
- ✅ 为技术演讲做准备
- ✅ 结识同行好友,互相交流

Dev together, innovate, fun! 时光如水流逝,我们一起前行,一起探索,一起创新,一起玩耍!
11年技术路,从研发工程师到研发效率平台负责人,用技术改变世界,用博客记录成长 🌿
工作 11 年,从研发工程师一路成长为研发效率平台负责人,技术积累非常深厚。
写博客的意义:

把"用 Agent 帮我学习"从一句话变成可执行的工业级流程:
5 Agent × 周分级 × 极简哲学 = 70 篇文章不是目的,掌握才是。
| 维度 | 旧版(4 Agent) | 新版(5 Agent) |
|---|---|---|
| 协作 | 4 步循环 + 双适用 | 5 步:Week Review 加入 |
| 难度 | 全程一样 | 🌱 W1 → 🌿 W2-3 → 🌳 W4-6 |
| 文档 | V2/V3/V4 历史 + 9×3 思维表 | 极简:5 步 + 难度表 |

从 V1 一个脚本走天下,到 V2 引入 4 Agent 协作,我的学习系统一直在演进。
但 V2 有几个不得不承认的问题:
痛点 1:版本分歧
痛点 2:代码冗余
痛点 3:state.json 越用越大
转折点是 6-26 那一天 — DeepSeek v4-pro 介入了。它对我的整个系统做了一次"工业级"重构。我花了一周时间消化、理解每一个 commit、跑通端到端验证。
今天这篇文章,总结这次重构的核心价值。
| 维度 | V2 | V3/V4 | 提升 |
|---|---|---|---|
| 脚本文件 | 1 个 | 3 个模块(Pipeline + Runtime + State) | 关注点分离 |
| 版本分歧 | 3 个并存 | 1 个统一版本 | 消除用户困惑 |
| Prompt 注入 | inline 拼装 | 自动从 agents/<name>.md 读取 |
消除 prompt 发散 |
| 状态管理 | 1 个膨胀的 state.json | 分层(state + progress + reviews) | 永远 < 2KB |
| 落盘自动化 | 手动处理输出 | 自动落盘到对应目录 | 零遗漏 |
| 答案输入 | input() 阻塞 |
三种 Provider 切换 | 支持无人值守 + 测试 |
| 思维激活 | 7 大(Content 用 3) | 9 大全激活 | 0 闲置 |
| 错误分析 | markdown 不可分析 | 结构化字段提取 | 可聚合统计 |
| 进度可视化 | 简单打印 | 思维统计 + 薄弱点检测 + 周报状态 | 盲点自动检测 |
| 框架接入 | Hermes 专有 delegate_task |
Runtime ABC,任意 Agent SDK 都能接入 | 可扩展 |
之前所有的"跑 Agent"逻辑都直接写 rt.delegate_task(...)。这意味着整个系统只能跑在 Hermes 上。
V4 引入 AgentRuntime ABC + StubRuntime + HermesRuntime:
class AgentRuntime(ABC):
@abstractmethod
def delegate_task(self, goal, context, toolsets) -> dict: ...
@abstractmethod
def delegate_tasks(self, tasks) -> list[dict]: ...
class HermesRuntime(AgentRuntime):
"""真实实现 — 用 Hermes delegate_task"""
def delegate_task(self, goal, context, toolsets):
return delegate_task(goal=goal, context=context, toolsets=toolsets)
def delegate_tasks(self, tasks):
return delegate_task(tasks=tasks)
class StubRuntime(AgentRuntime):
"""测试实现 — 返回固定 mock 数据"""
def delegate_task(self, goal, context, toolsets):
return {"summary": f"[Mock] {goal}", "tokens": {"input": 0, "output": 0}}
def delegate_tasks(self, tasks):
return [self.delegate_task(**t) for t in tasks]
这意味着什么?
LEARNING_OS_RUNTIME=hermes|stubV2 一个 state.json 包含:
V4 分成 4 层:
codebases/<name>/
├── state.json # 只存核心摘要(永远 < 2KB)
│ ├── schema_version
│ ├── day # 当前学到第几天
│ ├── colors # 5 大组件颜色地图
│ ├── scores # 考试分数历史
│ ├── errors # 错题薄弱点历史
│ ├── weekly_reports # 已完成周复盘
│ ├── plan # 6 周结构化计划(dict)
│ └── thinking_log # 每日使用的思维方法
│
├── progress/
│ ├── day-1.json # Day 1 完整每日结果
│ ├── day-2.json
│ └── week-N-review.json # 周复盘结构化摘要
│
├── content/
│ ├── day-1.md # Day 1 学习内容
│ ├── day-2.md
│ └── src-map.md / learning-plan-6weeks.md(Day 0 输出)
│
├── exams/
│ ├── exam-day-1.md # Day 1 考试题
│ └── exam-day-2.md
│
├── errors/
│ └── error-day-N.md # Day N 错题分析存档
│
└── reviews/
└── week-N-review.md # Week N 周复盘完整存档
好处:
V2 里每次调用 Content Agent 都要这样写:
content_result = rt.delegate_task(
goal="输出 Day N 学习内容",
context=f"""
【你的角色】
1. 分析代码库
2. 抽象建模
3. 类比推理
...
【任务】
生成 markdown,包含...
"""
)
结果:每次都要重复一段长长的 inline prompt,prompt 发散风险很高 — 我第 1 天写的和第 10 天写的不一样。
V4 引入 load_agent_prompt(),自动读 agents/content-agent.md 全文并注入:
content_prompt = load_agent_prompt("content") # 读 agents/content-agent.md
content_result = rt.delegate_task(
goal="输出 Day N 学习内容",
context=f"""
【你的角色 Prompt — 必须遵守】
{content_prompt} # 自动注入完整角色定义
代码库: {codebase_name}
今日目标: {today_goal}
Day {day-1} 结果: {previous}
...
"""
)
好处:
agents/<name>.md,单一事实来源这是 V4 解决的一个隐蔽但关键的问题 — 跑题。
V2/V3 里,Content Agent 在生成 Day 5 内容时,可能会"自然漂移"到 Day 10 的主题(比如它读完代码觉得某个概念重要就直接讲了)。结果就是:你的学习顺序被打乱。
V4 引入 Meta Agent 输出的 next_day_focus 作为硬约束:
previous = get_daily_result(codebase_name, day - 1) or {}
next_focus = previous.get("next_day_focus", "")
focus_constraint = ""
if next_focus:
focus_constraint = f"""
【⚠️ 强制聚焦 — 不可偏离】
上日 Meta Agent 明确指定今日聚焦: **{next_focus}**
你必须围绕这个主题生成今日内容,不可跳到其他周/模块。
"""
机制:
next_day_focus(指定 Day N+1 应聚焦的主题)progress/day-N.json 的 next_day_focus 字段V2 状态:7 大思维被使用,2 个闲置(deduction 推论假设从未用于 Content)。
V4 状态:9 大思维全部由某个 Agent 激活。
| 思维 | 负责 Agent | 强化方式 |
|---|---|---|
| 推论假设 (Deduction) | Content | 读代码前必须做 3 个假设 |
| 实验验证 (Empirical Testing) | Exam | 所有题目必须可在 REPL 跑通 |
| 类比推理 (Analogical) | Content | 每个组件找一个已知类比 |
| 归纳总结 (Induction) | Error + Meta | 找出错误规律 + 总结本周模式 |
| 第一性原理 (First Principles) | Content | 拆到不可拆 |
| 抽象建模 (Abstraction) | Content | 提取"组件 = 字段"模型 |
| 批判思维 (Critical) | Error | 找反例 + 边界 |
| 系统思维 (Systems) | Meta | 看整体关系 |
| 反事实推理 (Counterfactual) | Exam | 至少 1 道"如果不...会怎样"题 |
关键数据:在我的 show_progress 里,9 大思维使用统计可视化:
=== 9 大思维使用统计(共 2 天)===
abstraction ██░░░░░░░░ 2/2 (content,error)
analogical ██░░░░░░░░ 2/2 (content)
first-principles ██░░░░░░░░ 2/2 (content)
empirical-testing ██░░░░░░░░ 2/2 (exam)
counterfactual ██░░░░░░░░ 2/2 (exam)
critical-thinking ██░░░░░░░░ 2/2 (error)
induction ████░░░░░░ 4/2 (meta,error) ← Meta + Error 都用
systems-thinking ██░░░░░░░░ 2/2 (meta)
deduction ██░░░░░░░░ 2/2 (content) ← V4 新激活
零闲置。
V4 + Day 1 学 AgentScope Message 基座后,实际成绩:
{
"day": 1,
"content": "Day 1: Message 基座 — Msg 字段模型 + 6 种 Block + 3 工厂函数",
"exam_score": 88,
"exam_total": 100,
"evaluation": "A",
"level": "L3 (复现) + 接近 L4",
"color_change": "🔴 → 🟡",
"thinking_used": ["abstraction", "analogical", "first-principles", "counterfactual"],
"weak_points": [
"model_validator 完整逻辑",
"Pydantic discriminator 模式",
"6 种 Block 的具体字段",
"URLSource.type 永远 = 'url' 的设计哲学"
],
"completed_at": "2026-06-25",
"next_day_focus": "Block 子类(_block.py L11-100)"
}
4 大关键指标:
V3/V4 重构最深的体会,是把"少即是多,职责分离"做到了极致:
agents/<name>.md副产物:
ClaudeRuntime 就好)V5(接下来的):
一句话:从"几个 Agent 跑一跑"到"工业级多 Agent 系统",只差一个 DeepSeek v4-pro 介入。
欢迎在评论区聊聊你的学习系统是怎么设计的。
V1 → V2 关键升级:从"4 Agent 各自独立"到"4 Agent 协作循环"
核心改进:Content Agent 从"一次性生成 6 周计划"变成"每日学习教练"——根据前日结果动态调整当日内容。
V1 的 4 Agent 是"独立工具",但...
V1 的问题:
❌ Content Agent 一次性输出 6 周计划(静态)
❌ Exam Agent 一次性出 5 道题(一次性)
❌ 没有状态管理(每天从头开始)
❌ 用户能力没有"昨日数据"反馈给"今日内容"
从"理论"到"代码":4 个独立子 Agent 协作的完整方案
之前的文章《在 Hermes 上实现多 Agent 元认知学习系统》我写得太"理想化"——
把 4 个 Agent 当成 4 个完全独立的 AI 进程。
实际上,Hermes 的 4 Agent 实现有 3 种方式:
让 AI 帮你学习 = 从 L1 看过到 L5 精通的自动化路径
我做了 11 年技术,5 年 AI 转型,14 篇论文精读 + 95+ 博客。
今天这篇博客,是我把"元认知学习系统"从"概念"变成"可运行的 Hermes 多 Agent 系统"的完整方案。
我用 4 个 Agent(Content / Exam / Error / Meta)构建了一个完整的学习闭环:
从"问过"到"会做" = 从 L1 到 L5 的进化
我做了十几年的技术工作,5 年管理,最近几年系统化 AI 转型(十几篇论文精读 + 几十篇博客 + 多个 AI 项目作品)。
这条路上我最大的感悟不是"AI 有多强",而是**"我的学习本身需要元认知"**。
我曾经以为"我看过了 = 我会了",结果:
最近在学习 AgentScope 2.0 框架的源码,整个仓库 70+ 模块、几百个文件,一上来直接 cat 实现很容易迷失。
让 CodeBuddy 总结它"读源码的方法论"——结果它给出了一套四层索引 + 并行扫描的策略。我边读边整理成本文,重点是这套方法本身可复用到任何大型框架(LangChain、LlamaIndex、vLLM 等都适用)。
⚠️ 本文不是 AgentScope 源码解析,是学习大型 AI 框架的通用方法论。
写给每一个想做 AI 时代架构师的工程师
今天早上 9 点,我和我的 AI 助理小 bot 一起精读了 Meta-Harness: End-to-End Optimization of Model Harnesses(普林斯顿大学,2026-06-12)。
这篇文章不是讲"新模型",也不是讲"新算法"——它是给"AI 时代的工程师"下了一个新定义:Harness 工程师。
读完这篇论文,我十几年的工程化经验重新被定义了。
今天这篇文章,是我 + 小 bot 一起的"学习复盘",也是我"AI 转型"的关键里程碑。
写给每一个想在 AI 时代不被淘汰的人
我做了十几年的技术工作,5 年团队管理,最近几年开始系统化 AI 转型。
从 0 到 1 精读十几篇 AI Agent 论文,从 0 到 1 输出几十篇博客,从 0 到 1 做出完整 AI 项目作品(几十小时)。
这条路上我最大的感悟不是"AI 有多强",而是**"学习本身需要重建"**。
AI 时代的学习者,必须兼具"孩童的好奇心"与"科学家的方法论",把技术工具转化为认知加速器。