让Skill自己训练自己:8阶段Loop、3层评测、5维AND门控,从此实现自进化

关注腾讯云开发者,一手技术干货提前解锁👇

你是否想过,Skill 其实也可以像神经元参数一样被训练。你总想着授它以鱼,像个训斥孩子的妈妈,一遍一遍对着它苦口婆心地说教——你给我记住!你不许这样!这样不对!但好的教育难道不应该试着授它渔,给他一本书、一个目标,让他自己实践、碰壁、改错么?于是,我做了一个 skill 自己训练自己——自己迭代,自己评测,自己回归,最后选出一个最棒的 checkpoint 给你。是不是还有点意思?

   阅读导航

全文有效内容约 6000 字(不含导航与附录),通读约 15 分钟。前两章为主要思想,第三章为工程实践。

章

标题

一句话

属性

一

Skill 其实并没有看上去那么百依百顺

从我对 skill 的几个误解写起,慢慢走到为什么后来会把它看成一个 harness

法

二

这其实就是个「skill 的训练框架」

借用一点 深度学习 的类比,提出一种 skill 的训练循环、评测、门控和 trace方法

法

三

我把它做出来了,并且验证了可行性

19 轮自进化 + 真实业务 skill 实战,从自证到落地

术

后话

它不完美,但我还是试着相信它

局限、适用边界、如果你想试应该从哪里开始

反思

附录

技术支柱溯源

文中涉及的关键数据和相关技术来源

-

故事是这样的。

不久前的某个晚上,我做了一件看起来挺无聊,但其实异常上头的事,我让一个 skill 自己迭代去改它自己。

它一共跑了 19 轮,每一轮都揪出了至少一个我之前完全没看见的问题——有的是真 bug,有的是边界补全,有的是整块代码的职责重构。

其实这件事从技术上讲,并不复杂。

由于需要实现各个阶段的目标,我去检索了相关的paper和技术博客,吸收他们的思想。但让我最后决定把它记录下来的,不是这的个「吸收」过程,而是它真的在替我探索我不想费脑力触达的边界,这看起来更像是一个机器智能应该有的样子。于是,我把这些思路沉淀成了一个skill。

先从最开始说起吧。

01

Skill 并没有看上去那么百依百顺

   1.1 它看起来像 prompt,其实更像 harness

你大概已经感受到了,skill 正在以一种「到处都是」的势头渗进你生活的各个角落。各个AI巨头或许互相不对付,但在 skill 这件事上出奇地一致。

一个 SKILL.md 加上一堆参考资料和脚本,就可以打包成一个可分发的能力单元(关于 skill 本身就不展开了,大家请直接移步互联网)。

但有一件事我想说清楚。

skill 最容易让人误会的一点,是它看起来像 prompt,实际上更像 harness。

写一个能跑的 skill 不难,你随手糊一个 SKILL.md,模型就能照着做事了。但你要让它稳定干活,那就是另一回事了。触发边界怎么定?安全规则怎么加?references 之间的一致性谁来管?脚本版本兼容谁来保证?这些东西加在一起,早就不是「写一段 prompt」了,是在搭一套系统。

然后你就开始加规则。MUST 不能这样,NEVER 不能那样,遇到 X 情况走 Y 分支。你觉得规则加够了,它终于不崩了。

但很快你会碰到几个让人崩溃的事情。

稳定性。 你加了一个看起来特别对的安全检查,比如「git 状态不干净就拒绝执行」。所有测试都过了。但用户那边一个全新的、还没 git init 的 skill 目录,直接报错退出。你自己测不出来,因为你的测试环境里所有 skill 都已经在 git 下面了。

边界。 你的 cleanup 函数用字符串排序,iteration-1 到 iteration-9 都好好的。直到第 10 轮,iteration-10 突然排到了 iteration-2 前面,cleanup 把最新的结果给删了。你之前一直没发现,因为你的测试从来没跑超过 9 轮。

规则之间打架。 你加了一条安全规则保护 A 场景,结果它把 B 场景的正常路径给封死了,而 B 场景就写在你自己的协议文档里。你自己写的规则把自己写的协议给违反了。

规则越多,模型的行为越不确定。这不是模型的问题,是规则本身的复杂度在爆炸。

   1.2 更痛苦的是:skill 终于能跑了,但一点都不 match 你的数据

好不容易,你调了三天,它终于不崩了、不报错了、看起来能用了。

但它一点都不好用。

比如用户问「员工离职后邮箱还在不在」,skill 把它路由到邮箱分类,但正确答案在通讯录的「删除/禁用成员」章节。你知道这是问题,但你不知道有多少类似的问题,更不知道改了这个会不会弄坏别的。

这才是核心。一个「能跑」的 skill 和一个「真的好」的 skill 之间,有一条到西天取经那么具体的路。

「能跑」只是语法通过了、不崩了。「真的好」是它的行为 match 你的数据分布,在你定义的输入上,产出你期望的输出。就像训模型不是让代码编过,是让 loss 收敛。

写一版 SKILL.md → 手动测几个用例 → 觉得不对 → 改几行 → 再测 → 循环往复。质量完全取决于作者水平,有时候觉得我不是在写 skill,是在和自己过不去。

   1.3 我怎么走到这一步

接着 3 月份 Karpathy 在 X 上发了一条博客,现在已经出圈到 Fortune 都发报道了(https://fortune.com/2026/03/17/andrej-karpathy-loop-autonomous-ai-agents-future/)。

他写了一个 630 行的 Python 脚本,叫 autoresearch(https://github.com/karpathy/autoresearch)。就干一件事,让一个 AI agent 去迭代一个 LLM 的训练代码,每次改一点,训练 5 分钟,看指标,好了留下,坏了回滚,不停往复。

两天里面,这个 AI agent 跑了 700 个实验。找出了 20 个能让训练变快的优化,性能提升了 19%。

我看到这条推的时候脑子里就一个念头,这不正是我想要的东西吗?

再过了几天,Udit Goenka(https://github.com/uditgoenka/autoresearch) 把 Karpathy 的思路从「优化 LLM 训练代码」泛化成了「优化任何可以测量的东西」,做成了一个 Claude Code skill。他提炼了 5 条原则,one metric、constrained scope、fast verification、automatic rollback、git as memory。

但 Udit 的版本要求用户自己说什么叫「好」什么叫「坏」。而 skill 评测是个非常特殊的问题,既不是跑单元测试那种纯确定性的东西,也不是跑 benchmark 那种纯数字的东西。它更像是语文老师批作文,带主观性,又要有一致性。

你说强巧不巧,Anthropic 自己的 skill-creator(https://github.com/anthropics/skills/tree/main/skills/skill-creator) 恰好提供了一整套 skill 评测和创建能力,quick_validate 做结构检查,grader 做逐条打分,comparator 做 A/B 盲审,还能自动生成 GT 测试用例。评测引擎的底座已经现成了。

接着,4 月初我又看到一篇Paper,斯坦福的 Meta-Harness(https://arxiv.org/abs/2603.28052)。

它说,你要让一个 AI 去优化另一个 AI,最关键的不是给它摘要,不是给它分数,而是给它完整的「原始执行轨迹」。论文的消融实验表示,当你只给LLM分数的相比于给它完整trace,效果差了 44%。

道理很朴素。你让一个医生看完整的病例、化验报告、影像,他能给出好诊断。你把这些压缩成一段 300 字的摘要喂给他,他只能靠猜。

于是我想,好像有什么东西要成了?

   1.4 拼在一起

Karpathy 给了外循环的骨架,Meta-Harness 告诉我诊断必须喂原始 trace,skill-creator 提供了评测和创建的完整底座。

或者说,外层用 autoresearch 的方式不断试错、回滚、保留。内层用 creator 的评测把「好不好」这件事测清楚。再用 Meta-Harness 的 trace,把每一次失败变成可诊断的证据,而不是一个模糊的分数。

那我要做的事情其实很清楚了,蒸馏他们!把三种已经被证明有效的思想,在 skill 这个对象上接成了一条能真正跑起来的闭环,能评测,能诊断,能回滚,也能自己迭代自己。

我给它取了个名字,skill-evolver。

Skill-Evolver = AutoResearch 的 loop 骨架 + Creator 的评测引擎 + Meta-Harness 的诊断大脑。

02

这其实就是个「skill 的训练框架」——有点像Torch,但用对话驱动

好了,来源聊完了,说说这东西到底怎么设计的。

   2.1 训模型 vs 训 Skill

如果你做过 ML,下面这张表应该一下就懂。没做过也没关系,不妨请接着往下读读:

一下子名词有点多,没关系,我们来拆解一下:

GT(Ground Truth) 就是你给 skill 准备的「标准答案」。比如用户问「员工离职后邮箱还在不在」,GT 里写着正确答案应该引用「通讯录/功能介绍.md」这个文件。skill-evolver 每一轮都拿 GT 来测 skill,看它答对了多少。

8 种 assertion 是 GT 里的检查方式。最简单的是 contains(输出里有没有某段文字),复杂的有 script_check(跑一个脚本看返回值)和 fact_coverage(让 LLM 逐条判断知识点有没有被覆盖)。6 种是程序直接判的,2 种需要 LLM 做 YES/NO 分类。

holdout split 是你故意藏起来不给优化器看的测试数据。迭代过程中,优化器只能看 dev 集。等迭代结束,再拿 holdout 集来验证,看 skill 是不是真的变好了,还是只是在 dev 集上「背答案」。

分层 mutation 是改动的粒度控制。先从最便宜的地方开始改(Layer 1 改触发关键词),改不动了再升级到中等代价(Layer 2 改 SKILL.md 正文),还改不动才碰最贵的(Layer 3 改辅助脚本和 references)。不准跨层,每轮只改一层的东西。

关键的一点——这不是让 skill 的「语法检查」通过率更高,是让 skill 贴合你的数据。你的 GT 定义了「好的 skill 应该在什么输入下产出什么结果」,loop 让 skill 不断逼近那个目标,跟 SGD 逼近 loss 最小值是一回事。另外如果你没有GT?没关系,你有AI,你可以提要求让他做,你也可以使用skill creator的eval功能自己生成。

除去以上,接下来我想详细拆解四个核心机制:8 阶段 Loop(整个迭代是怎么转的)、三层评测(怎么判断一轮改动好不好)、5 维 AND 门控(怎么决定 keep 还是 discard)、Trace 诊断(出了问题怎么定位)。

   2.2 8 阶段 Loop

Phase 0 做一次性 setup,之后的每一轮迭代都走 8 步:

Phase 0: Setup    → 创建 workspace + 生成评测计划 + 建立 baseline(一次性)---- 以下每轮循环 ----Phase 1: Review   → 读 memory + 执行 tracePhase 2: Ideate   → 从 trace 诊断失败原因,提出原子化改动Phase 3: Modify   → 执行 ONE 个改动Phase 4: Commit   → git commit(先 commit 再验证——保留审计轨迹)Phase 5: Verify   → 三层评测流水线Phase 6: Gate     → 5 维 AND 门控Phase 7: Log      → 写 results.tsv + experiments.jsonl + per-case tracePhase 8: Loop     → 继续 / 升层 / 停止

其中:

Phase 0(Setup) 不是简单的「初始化」。它要检查 SKILL.md 是否存在、git 状态是否干净、GT 数据是否准备好。然后它会分析你的 skill 和 GT 数据,自动生成一份 evolve_plan.md,里面包含评测策略、门控阈值、起始 mutation 层。这份 plan 决定了后面所有轮次的行为。

Phase 1(Review) 是每一轮的起点。它会去读最近 20 条 git log、最近 20 行 results.tsv、最近 10 条 experiments.jsonl,接着扫描上一轮哪些 case 失败了。从这些记忆里提取 5 个信号:

1. 哪些改法成功过 → 利用它们
2. 哪些改法失败过 → 避免重复
3. 哪些 case 持续失败 → 优先攻克
4. 哪些 case 脆弱 → 当回归守卫
5. 是不是已经卡住了 → 切换激进策略

Phase 2(Ideate) 按 6 级优先级决定这一轮改什么:先修崩溃 → 利用成功模式 → 攻克持久失败 → 探索新方向 → 简化 → 激进变异。有一条硬规矩:提出任何改动之前,必须引用具体的 trace 证据做反事实诊断——「Case X 因为 Y 失败了,如果改 Z,输出就会变成 W」。没证据就不许动手。

Phase 3(Modify) 只允许做一个原子化改动。怎么判断是不是原子化?一句话测试——如果描述这个改动需要用到「和」字,就该拆成两轮。改完之后 git diff --stat 检查一下,超过 5 个文件大概率不是原子的。

Phase 8(Loop) 决定是继续还是停。连续 K 轮没有 keep → 当前层 exhausted,升到下一层。连续 5 次 discard → 切换激进策略。三层都试过都没改善 → 终止,输出最终报告。

   2.3 三层评测——从硬规则到软判断,逐层递进

Phase 5 的评测不是一刀切的「跑一遍测试」,而是分三层,成本递增,便宜的每轮都跑,贵的条件触发:

L1 快速门卫(秒级,每轮都跑)。纯程序检查,不需要 LLM。它做 4 件事:

1. 检查 SKILL.md 结构是否完整
2. 调用 skill-creator 的 quick_validate 做格式校验
3. 跑一轮安全规则扫描(检测危险删除命令、硬编码 API key、硬编码绝对路径等 11 条规则)
4. 随机抽 3 个 GT case 检查基本结构

其中 2 条 critical 规则(危险删除命令、硬编码密钥)不过直接阻断,其余 warning 记录下来给 Phase 2 参考。**L1 挂了直接 discard,不跑 L2——坏的迭代成本压到最低。**

L2 Dev Eval(分钟级,每轮都跑)。拿全量 dev 集的 GT case,逐条跑 8 种 assertion 评测。程序能判的(contains、regex、script_check 等)程序判,需要语义理解的(path_hit、fact_coverage)让 LLM 做 YES/NO 分类,程序数 YES 的数量算分。结果写入 per-case JSON,供下一轮 Phase 1 诊断用。

L3 Strict Eval(~10 分钟,条件触发)。只在三种情况下跑:

1. 每 N 次迭代自动触发
2. dev pass_rate 超过某个阈值时
3. 层晋升之前

它跑的是 **holdout 集**(优化器从来没见过的数据,防过拟合)和 **regression 集**(确保老 case 没坏),还可以做 blind A/B 对比。

   2.4 5 维 AND 门控——每一轮改动的生死线

每一轮改动都要过一次「体检」。5 个问题全部回答 YES 才能保留,任何一个 NO 就 git revert,当这轮没发生过:

为什么是 AND 不是加权求和? 加权求和会让你在一个维度上拿高分来补另一个维度的低分。质量涨了 10% 但 token 消耗翻倍?加权求和可能给你 PASS。AND 逻辑不会。

   2.5 Trace 诊断——用原始执行记录定位问题

一般的优化工具告诉你「这轮得了 80 分」,然后你自己猜哪里出了问题。Skill Evolver 不是。

它把上一轮每个 case 的完整执行记录落盘成文件,下一轮诊断时直接告诉 proposer:这几个 case 挂了,trace 文件在这个路径,自己去看。不是把 10M token 的 trace 全塞进 prompt,而是给一张「地图」,让它自己去现场看。

proposer 的协议也很硬:先看 trace 再诊断再改,不准猜。 没有 trace 证据就不许动手。所以每一轮改动都是有据可查的,不是「感觉这里可以优化」,而是「Case 41 挂了,因为 agent 把离职问题路由到了邮箱分类,但正确答案在通讯录,所以我改 root_index.md 加个易混淆提示」。每一步都有 trace 背书,像写论文引文献一样。

好了,设计得差不多了。但设计好看没用,得跑起来才算数。

03

我把它做出来了,并且验证了可行性

Skill Evolver 本身也是一个 skill。那就让它优化自己呗。

这个动作的残酷之处在于——你的 SKILL.md 既是「菜谱」,告诉 AI 该怎么做菜,又是「被烤的蛋糕」,是被改的对象。任何一个协议上的缺陷,在执行过程中都会被自己暴露出来。

先看数字:

指标

数值

什么意思

迭代轮数

19 轮

10 轮修 bug 和文档、3 轮修安全漏洞、1 轮清理死代码、5 轮代码重构

被丢弃的轮次

0

每一轮都通过了 5 维门控,没有一轮被 revert

崩溃

0

19 轮里一次都没崩

测试用例

17 → 31

从 17 个扩到 31 个,多出来的 14 个都是迭代过程中发现新问题AI自动补的

最终通过率

71/71 = 100%

31 个用例共 71 个检查点(训练集 56 + 留出集 8 + 回归集 7),全绿

主文件行数

1411 → 557 行

减少 60%,从一个大文件拆成 13 个单一职责的小文件

19 轮全 keep、零回滚。听起来很丝滑对吧?但每一个 keep 背后都是一个我之前完全看不见的问题。

   3.1 这 19 轮都在改什么

把 19 轮按类型拆开看,发现了一个有意思的分布:

注意,不是全部都是「找 bug」。安全漏洞、幽灵文档、架构不一致这些,手工 review 很难系统性覆盖,但迭代体系会逼它一轮一轮往下挖。

实际跑下来,前 6 轮改的是文档和规范,第 7 轮开始进入代码层,第 15-19 轮连续做了 5 次重构。整个过程没有跨层,每轮只动一层的东西。

   3.2 一个印象深刻的例子,以及 agent 架构的好处

举个例子:

轮次

发生了什么

第 7 轮

工具给自己加了安全检查,git 状态不干净就拒绝执行。测试全过。

问题

但用户的 skill 可能还没 git init,这条路被封死了。我测不出来——我所有 skill 都在 git 下面。

第 12 轮

工具自己发现了这个回归,按协议重写了初始化逻辑

干净 git → 继续 脏 git → 报错 没有 git → 自动 init / git 没装 → 给安装指令

验证

自己在一个全新空目录上跑了端到端测试,通过

从发现到修复到验证,全是它自己完成的。

第 15 到 19 轮,工具连续做了 5 次代码重构,主文件从 1411 行拆成 13 个小文件,每个不超过 600 行。每次拆完立刻跑全量测试验证不变,一次都没偷懒。

这里有一个很重要的点——因为整个过程是在对话中进行的(agent 架构),你可以随时在迭代过程中插入自己的新想法。比如跑到第 10 轮我觉得代码太臃肿了,直接说「帮我把 gate 逻辑提取成独立文件」,它下一轮就照做,做完照样跑门控。不像传统的自动化管道,一旦启动就是黑盒。这里更像是和一个搭档一起迭代,你随时给方向,它随时执行+验证。

   3.3 我拿它去跑了一个真实业务

meta-evolution 是自己改自己。那拿去改别的 skill 呢?

比如最近我在优化一个客服问答 skill,从近千篇知识库文档里检索候选路径。这个 skill 手工调了好几轮,召回率已经到 96%。新需求是把候选数从 10 个压到 6 个,同时 recall 不能掉。91 条 GT,指标是 strict_full_recall。

压完候选数之后,召回率先掉到了 86%——75 个 case 里有大约 10 个开始 miss。然后交给 skill-evolver 迭代,修掉了 9 个,最后只剩 1 个 miss。

S1 路径召回从 86% 拉到了 98.67%,标准题 100%,难题 97.3%。候选数从 ~10 降到 ~6,Stage 2 处理压力降了 59%。

04

后话:它不完美,但我还是试着相信它

听起来很顺利对吧?坑确实也不少。

LLM 评测的噪声问题。 迭代中最让我头疼的不是 skill 本身——是评测。同一 skill 状态、同一份 GT,Claude 跑 4 次结果在 0.79~0.92 之间漂移。你改了一行规则文本,pass_rate 从 0.85 变成 0.87——这是你的功劳,还是 LLM 今天心情好?你分不清。解法是跑 3 次取均值,但评测成本也翻了 3 倍。天下没有免费的午餐。

GT 质量决定了天花板。 有个 case 48——「如何进入内部群」——GT 标注本身有争议。工具老老实实告诉你 case 48 没过,但无论怎么改 skill 都过不了,因为答案本身就没有共识。这个 case 最后标记为「不可修」,移到了回归集纯做防护用。这不是 bug,是 feature——当一个 case 在 5 轮迭代里都没被修复时,先怀疑你的数据而不是 skill。

自动也意味着昂贵。 meta-evolution 那 19 轮虽然是真正零人工干预,但跑完钱包里直接少了100刀也是真的(在这再一次感谢鹅给我们提供了充足的弹药)。

并且,坦率的讲,第一次用的时候别指望「丢进去睡一觉」就行。前 3-5 轮最好瞄一眼,帮它建立正确的迭代方向。之后它会越跑越准,因为 experiments.jsonl 积累了足够的 memory,proposer 不会重复犯同样的错。

做完这些后,我有两个特别深的感受。

第一:每一步都验证。

LLM 会偷懒(跳过验证步骤)、会过拟合(为了涨分硬编码 case)、会自作主张(并行你说了不能并行的 stage)。不是它坏,是它的概率本性决定了它不是一个好的状态机控制器。

与其写更长的 prompt 来「说服」它守规矩,不如把规矩写进代码——门控函数不通过就 git revert HEAD,没有商量余地。程序掌握控制流,LLM 只管单点生成。

第二个是认知层面的。

这 19 轮跑完之后,我坐了很久,发现:

Meta-evolution 最有价值的不是自动化节省时间,是它在替一个你还没见过的用户,跑一遍你自己永远跑不到的路径。

你自己测你的工具,只能在你熟悉的 regime 里测。你的 skill 全都在 git 下,你的迭代从来没超过 5 轮,你的工作区永远是干净的。你不知道你的工具在 regime 之外会怎样。

19 轮就是 19 个不同的 regime。每一次 rebaseline 都会暴露一类你之前想不到的失败。那 14 个新扩的 GT case,每一个都来自于「工具自己用的时候发现的问题」,不是来自于我脑子里想出来的测试。

我一直觉得 AI 时代最被误解的一件事,是人和 AI 的协作模式。很多人理解的协作是分工——你干一半我干一半。但我经过这 19 轮之后觉得,更准确的描述是互补——你在明处看着,AI 在暗处替你试错,你看不见的那一半就是 AI 能贡献的地方。

像 Karpathy 说的那样,spin up a swarm of agents to collaborate in tuning smaller models, promoting the most promising ideas to increasingly larger scales, with humans contributing on the edges optionally.

人在 edge 上 optionally 贡献。


回到最开头那个晚上,我在想,或许我那天一直想说但却一直没思考到关键的点是:skill 不该是你手工打磨的工艺品,它应该是一个可以被训练、被回滚、被选优的对象。 你只需要做好数据、定好指标,剩下的交给循环。

那一刻我感觉到的是一种特别奇怪的谦卑。

我意识到,在我写的每一行代码的背后,都藏着一整片我没有能力去观察的 regime。而那片 regime 里面,住着我真正的用户。

我没有办法一个一个跑遍所有的 regime。

但我可以做的事情是,写一个工具,让它替我跑。

让它替我,去那个我永远没法亲自到达的地方。

去看那个我永远没法亲眼看见的用户。

替我问一句,你还好吗?

这件事本身,可能比 skill-evolver 这个工具有意思 1000 倍。

   附录

技术支柱溯源(其余参考资料暂未列出,包含多篇技术博客,不胜感激)

支柱

来源

借了什么

自主迭代外循环

Karpathy autoresearch(https://github.com/karpathy/autoresearch)

8 阶段骨架 + 5 原则

通用化

uditgoenka/autoresearch(https://github.com/uditgoenka/autoresearch)

泛化到 Claude Code 生态

Trace 驱动诊断

Stanford Meta-Harness(https://arxiv.org/abs/2603.28052)

原始 trace 喂 proposer(+44%)

评测引擎 + 创建能力

skill-creator(https://github.com/anthropics/skills/tree/main/skills/skill-creator)

硬依赖,quick_validate + grader + comparator + GT 生成

Skill Evolver 的增量贡献:5 维 AND 门控 + 分层 mutation + Meta-Harness trace 架构 + workspace git 隔离 + meta-evolution 自证。

-End-

原创作者|张思宇

感谢你读到这里,不如关注一下?👇

图片

📢📢来抢开发者限席名额!点击下方图片直达👇

你对本文内容有哪些看法?同意、反对、困惑的地方是?欢迎留言,我们将邀请作者针对性回复你的评论,欢迎评论留言补充。我们将选取1则优质的评论,送出腾讯云定制文件袋套装1个(见下图)。5月26日中午12点开奖。

扫码领取腾讯云开发者专属服务器代金券!

图片

相关推荐

大模型的Agent Skill功能,在LLM HTTP底层交互流中是怎么承载的?

网络文章文本的 skill,昨天我实现了之后也就开始好奇起 Skills 的底层原理了——相比起各种花里胡哨的 agrnt 应用,我一直以来都很对大模型在纯粹的 HTTP 交互层面是如何交互的更感兴趣。Skill 的全部"魔法"都发生在 system prompt 的措辞和 SKILL.md 文件的编写质量上——本质上是一种 prompt engineering + 文件系统的组合。但是各种天花乱坠的 skills,是如何在底层的 HTTP 中,与大模型——这个只会嘴遁的工具交互的呢?

QcloudCommunity的博客 400

万字入门AI Infra:深入理解大模型中的数学与Infra优化

关注腾讯云开发者,一手技术干货提前解锁👇AI Infra科普、入门或者进阶 ~~ 不到 5 万字,带你融会贯通理解大模型的数学、算法、硬件到系统工程。任何问题欢迎沟通交流。可怕,我竟然有点认同这句话。当然大概率是因为姚顺宇太懂AI了,而我则是因为无知者无畏。不过仔细想想,大模型推理中的数学逻辑确实不复杂,很多原理只需要高中数学知识就能看懂。但是为什么像 vLLM 这种推理系统这么复杂呢?本文将拆解大模型中几个核心操作(RMSNorm、Softmax、Causal Mask、Sampling)背后的数学与

QcloudCommunity的博客 1156

平平无奇的源码,竟藏着Agent的核心秘密?

System Prompt 是剧本,Skill 是剧本的扩展包,Agent Loop 是演员按剧本行动。欢迎留言,我们将邀请作者针对性回复你的评论,我们将选取1则优质的评论,送出腾讯云定制文件袋套装。,让 Agent 能主动"巡逻",而不只是被动等待用户消息。OpenClaw 的 System Prompt 分层结构。的"行为底线",任何 Skill 或用户命令都无法覆盖它。精华 2:Skill 的"按需加载"避免 token 浪费。精华 1:System Prompt 是"分层乐高积木"

QcloudCommunity的博客 424

QQ音乐Harness Engineering实践

一个看似简单的需求,背后可能牵动服务调用链、配置、灰度、埋点、错误码、接口契约和历史兼容性。当 AI 开始快速生成大量代码,真正的瓶颈就不再是"写不出来",而是"看不完、想不清、管不住"。在对话式编码阶段,一种典型的工作模式逐渐流行:开发者把需求丢给 AI,扫一眼输出"看起来对"就直接采纳,不审 diff、不追问逻辑、不验证边界。以音乐商业化业务为例,一个需求可能从 TAPD 单开始,经过需求评审、技术方案、服务影响面分析、IDL 契约变更、业务代码实现、测试验证、CR、灰度上线,最后才进入稳定运行。

QcloudCommunity的博客 710

从Prompt、Context到Harness,工程的三次进化与终局之战

同时,强制要求散落各处的决策记录(Slack、邮件、文档)全部迁移至代码仓库,确保 Agent 的唯一信息来源是可信的、版本受控的仓库。更坑爹的是,研究表明,当上下文过长时,模型会出现"中间遗忘(Lost in the Middle)"现象:它对开头和结尾的内容记忆较好,对中间大段内容的关注度大幅下降。这篇文章,我想带你完整走一遍这三次进化的逻辑:它们分别解决了什么问题,它们之间是什么关系,它们的边界在哪里,以及:当三者融合,AI 工程师的终极形态究竟是什么?大语言模型的本质,就是这位金鱼助理。

QcloudCommunity的博客 712

只加两行代码,为什么要两天?一文深度理解业务系统的复杂性

关注腾讯云开发者,一手技术干货提前解锁👇业务系统复杂性一直是令开发者头痛的问题。复杂的不是增加一个需求需要耗费多少时间,而是在增加一个需求后带来的蝴蝶效应:其它功能会不会受到影响、要如何去找到这些影响,最终如何实现系统正常运行......功能之间隐秘增加的耦合、不可避免的代码腐化在导致业务复杂性增加。大家都在说的软件开发提效到底在提什么?程序员日常工作中应该如何提升开发效率?敏捷开发、瀑布流式开发孰是孰非?欢迎阅读。业务背景与目标我依然非常清晰地记得某个时候,我所在团队 Leader 曾讲过一段话:“我担

QcloudCommunity的博客 706

从零设计生产级 Multi-Agent Harness:架构、评估、记忆、成本与 MCP 工具接入全拆解

在 AI Agent 领域,Multi-Agent Harness 指的是把多个 Agent 的能力、工具、状态、通信、编排、监控统一收束在一个运行时之内的框架。第三,Agent 路由。一个输入框,一个大模型,几个工具,一段写得很漂亮的 System Prompt,再配上一个炫酷的前端,看起来就像一个能干活的“数字员工”。Multi-Agent 完全不一样——它有计划、有中间步骤、有工具调用、有 Agent 协作、有重试、有反思、有最终合成。增加 Budget、权限、重试、压缩、轨迹评估、审计、回归测试。

QcloudCommunity的博客 705

拆完Hermes源码,我发现Agent的“自我进化“根本不需要训练模型

两个月 5.2 万 Star,Hermes Agent 用一个"LLM 审判官"机制实现了 Agent 的自我进化——不改模型权重,只改"怎么用模型"的策略。OpenClaw(社区昵称"龙虾"🦞)是 2025-2026 年最火的开源 Agent 框架,30 万+ Star,插件市场 ClawHub 里有数千个插件,能接入 Telegram、WhatsApp、Slack、飞书、企业微信——几乎是一个"个人 AI 操作系统"。Skill 是英语写的,Memory 是英语写的,审查 Prompt 也是英语写的。

QcloudCommunity的博客 902

AI Infra 其实没有多少新东西

传统 Infra 追求横向扩展,而 AI Infra 呈现 “AI 大型机”特性,是因为传统后台服务的可以容忍毫秒级延迟,但 AI 集群不行,GPU 的算力是 CPU 的数百倍,微秒级的延时等待也会造成很大的算力损耗,需要硬件的高度集成。在可预见的1-3年的未来,这样的专用硬件+网络的集中式架构很难发生比较大的改变。与之相似,模型推理的批处理就是将多个输入样本打包(batch),将原本串行的 N 次轻量的推理计算,合并为 1 次重量的计算,实现单位时间内处理更多的请求,提高了 GPU 利用率。

QcloudCommunity的博客 818

程序员越早想通这些越好

永远没有正确架构,你永远无法偿还完所有的技术债务,如同你永远不会设计出完美的界面,请避开完美主义的陷阱,永远没有完美的代码,能够满足当前需求,又为未来不管是自己还是他人留有扩展空间,就很好了。我们努力的方向就是将现实世界映射到有限的数据结构中,这就需要用户自定义类型,如果你的代码中包含类似 trader portfolio 这样的概念,你就可以使用他们的名称来建模,而不是使用基本数据类型复杂嵌套表述你的目的。从另一个角度看,代码里的注释都是补丁,是碎片化的,局部的注释很难推导模块整体的顺序及耦合关系。

QcloudCommunity的博客 464

RAG已死?不,是Grep回归了!

这样一来可以直接复用已有的计算缓存,只为新增的增量部分付全价,前面累积的大头按约 1/10 的缓存价计费。所以实际的工具组合方式是灵活的:Grep(默认模式)→ Read 是最常见的路径,但 Grep(content 模式)可以独立使用,LLM 也可以直接调 Read(如果已经知道文件路径),或者一次同时发起多个 Grep 并行搜索。它从零开始构建自己的对话历史,不继承主对话的消息,这意味着它搜索过程中产生的大量 grep 结果、代码片段都留在自己的 context 里,主对话只收到一段总结性的文本结论。

QcloudCommunity的博客 570

深入浅出Harness Engineerring之核心模式与理念

在智能体生命周期的关键节点(如会话开始、工具调用后)自动触发预设动作(如代码格式化),由系统确保关键流程被执行,不依赖可能被模型遗忘的指令。简单讲就是利用向量存储这个技术,来实现模糊检索,原理是:即使字面不同,但语义相近的文本,其向量在数学空间中的位置也很接近。根据命令类型、参数和影响,自动评估其风险等级(安全、有风险、危险),并采取自动执行、请求确认或直接拦截等不同策略。关键特性是可隔离、可重建、可扩展。不是一次判断就定终身,允许你改变、允许情况复杂,通过不断观察、思考、调整,越来越懂真实的你。

QcloudCommunity的博客 621

Harness Engineering实践心得:如何高效驾驭AI?

但如果这些经验被拆成一条条 Rule、一个个 Skill、一项项 Script 检查——"XAML 不能有中文"、"编译要用这个路径的 MSBuild"、"SVN 命令必须带认证参数"——AI 就能在秒级时间里"吸收"十年的踩坑经验。然后可以看到下方的图,我的PM会很顺利的调度其他agent分别负责不同的事项,遇到问题的时候也能准确的找到合适的agent。MCP 本质上是在扩展 AI 的"感知范围"——Rule 管"该怎么做",Skill 管"怎么操作",MCP 管"能看到什么、能碰到什么"。

QcloudCommunity的博客 838

从第一性原理思考 Agentic Engineering

需要注意的是,这一结论是有条件的:如果 AI 缺乏领域知识,过早介入反而可能引入 1.2 节所述的"似是而非"损耗——因此上下文供给(实践 1)是 AI 全链条参与的前提,而非结果。通过一个专门的自迭代 Skill 实现——当 AI 在协作过程中识别到自己被纠正(用户否定了 AI 的输出并给出了正确方向),它自动评估这个错误的根因,搜索现有的 Rules 和 Skills 中是否已有针对该类问题的处理规则。事实上,越是复杂的项目,工程师的认知负担越重(公理 3),AI 分担认知负担的潜在边际价值也越大。

QcloudCommunity的博客 754

万字干货!Harness Engineering如何工程化落地?

关注腾讯云开发者,一手技术干货提前解锁👇Harness Engineering 的概念已经火了有一阵了,全网很多文章基本都是在讲理念,讲为什么今天做 AI 开发,不能只靠一段提示词,也不能把模型当一个“更聪明的代码补全”。但与此同时,一个问题也在持续地发酵:这个问题特别重要。因为 Harness 这个词听上去很大,很像一个抽象的方法论,但它如果不能落到工程、目录、文档、脚本、工作流里,那它最后就只是一句漂亮的话。事实上,不同项目落地出来的 Harness,表面上可能完全不一样。有的项目是 CI 很强,有的

QcloudCommunity的博客 1160

全方位对比:Hermes VS OpenClaw

多账号矩阵运营 如果你的业务涉及同时管理多个社交媒体账号、多个平台的内容分发、多渠道的客户互动——OpenClaw是目前市场上的"无可替代的底座"。一个有专业背景的个人,现在可以快速构建一个垂直领域的AI助手:比如"财务分析Hermes"、"法律咨询Hermes"、"技术架构Hermes",直接通过微信提供服务,积累自己的专业IP。跨平台生态融合 如果你的工作流涉及飞书、Slack、Discord等多个平台的深度集成,需要这些平台之间的数据流转和联动——OpenClaw的生态支持是强大的。

QcloudCommunity的博客 1216

一文讲透:Harness Engineering即控制论!

而研发模式的升级我认为将会是一个飞跃的过程,之所以现在我们仍然需要需要参与编码,一个非常大的原因就是缺乏传感器和基建,仍然需要人来串流程,比如需要人来验证UI是否正确、需要人来告诉AI代码不符合代码规范,因此在有些场景我们仍然感觉 AI 完成的很吃力,但这不是 AI 能力不行,而是我们并没有为 AI 提供友好的环境……控制论中的突变理论介绍了矫枉过正和飞跃现象之间的矛盾,如果质变中经历的中间过渡态是不稳定的,那么他就是一个飞跃的过程,如果中间过渡态是稳定的,那么他就是一个渐变的过程。但是这些阶段要解决的。

QcloudCommunity的博客 1201

神级开源插件!一句话让QClaw变3D小镇,Agent工作可视化,赛博云监工

这个架构是翻了几次车才想通的—原有AI的实现机制是用 setTimeout 猜动画时长导致了幽灵 NPC、工位撞车、越改越崩,后面我停下来换了思路,推翻原有的架构,按照“意图+回传”的架构进行重构,之前的问题一次性全部解决。15 天,我和 AI 吵了 185 次架, 4.5 万行代码,开发了一款 QClaw / OpenClaw 的UGC游戏插件,这可能是人类跟 Agents 交互的新范式,插件已完全开源,有需要的欢迎自取~我天天用,用着用着我就在思考,Agent 产品现在的交互体验,基本都一个样。

QcloudCommunity的博客 1193

一文搞懂Hermes:新顶流Agent如何从经验中自我进化

Voyager 是一个能在 Minecraft 中自主探索、学习技能、无限积累能力的 AI Agent,它提出了 "Skill Library"(技能库)的概念——Agent 将成功的行为序列编码为可复用的技能函数,存储在一个持续增长的代码库中。如果 Skill 的名称和描述不够精准,或者用户的任务描述与 Skill 的触发条件有语义差距,Agent 可能会错过相关的 Skill。如果进程在写入过程中崩溃,目标文件要么是旧内容(还没被替换),要么是新内容(替换已完成),绝不会出现写了一半的损坏文件。

QcloudCommunity的博客 2624

自掏腰包一万元,拥抱AI这一年,我的工具、实践和思考

其实也很好理解,过往的每个领域(比如前端、后端、设计、测试等等)都主要是这个领域的从业者在为它添砖加瓦,但是大模型时代的 AI 应用领域却几乎是所有使用 AI 的人类一起在迭代,无分领域,无分文理,无分老少。因为每个时期的 AI 都有着不同的特点,很多时候当我费尽心思去钻研,自以为有点弄明白 AI 应该怎么玩的时候,基座模型和行业范式常常就会迎来颠覆式的变革,很多过往的经验都会倾覆,然后只能从头再来。过去一年多,被热议的 AI 范式大概是沿着四个阶段递进演化,每一个阶段其实都在解决前一个阶段的核心问题。

QcloudCommunity的博客 626

办公Agent的CI/CD时刻到来了

核心观点是:企业给员工配了一堆 AI 工具,试点跑了几百个,但真正拖慢 AI 转型速度的瓶颈不在模型能力,在"最后一公里":AI 输出和实际工作流之间的那道鸿沟。代码写完,打个 tar 包,开 FTP 传到服务器上,SSH 进去解压,改配置文件,重启服务,刷一下页面祈祷别 500。你复制,切窗口,粘贴到腾讯文档里,发现 Markdown 格式全乱了,手动调标题层级,代码块重新标记语言类型,表格散架了重排一遍。模型是越来越聪明了,但"生成"到"落地"之间那段路,还是你自己在走,一步一步,手动搬运。

QcloudCommunity的博客 607

4亿token买来5个教训:让6个AI Agent连写4天代码发生了什么?

Watchdog 检测到崩溃 → 启动诊断 Agent 分析原因 → 诊断 Agent 跑满 20 轮没搞定 → Watchdog 判定“已修复”,重启系统 → 重启的系统因为诊断 Agent 留下的环境变量被继承,连续 3 次拒绝启动 → 触发连续失败保护退出 → Watchdog 第 3 次巡检,发现进程和记录文件都没了,尝试手动重启,自己也停了。启动前我翻了论文、做了架构设计、写了监控+修复异常的脚本。这个发现让我的情绪从沮丧变成了兴奋——不是那种"终于修好了"的释然,是"我找到根因了"的快感。

QcloudCommunity的博客 583

赛博斗蛐蛐:9大模型决战三国志,天命在谁?

我猜是这样的,当Gemini面临决策的时候,一系列关键词比如 守城,劣势,粮草,三国等等,在语义层面的关联性中LLM发现了竖壁清野这个关键词概率非常高,所以以此为策略,然后再根据这个策略完美执行操作。MiMo 的外交是三方中最精明的。Kimi作为国产模型,也同样颠覆了我对他的看法,最后的比赛他甚至一度是优势者,存在很多夺冠的可能性,要知道他的对手可是claude和gemini,而他经常出兵慢,回过头来想想或许正是他的策略,毕竟中后期他的优势都来自于稳健的发展和较少的战斗频率(和claude比).

QcloudCommunity的博客 870

Claude Code是怎么知道你在骂他的?这 12 条发现值得关注

确实存在——5,500+ 行,集成了消息队列、工具装配、MCP 编排、会话状态、权限、分析、文件持久化和优雅关闭,基本上一个文件干了所有事。对抗虚假声明——"不要在输出显示失败时声称所有测试通过,不要压缩或简化失败的检查来制造绿色结果"。完整的 KAIROS 是一个持续驻留的守护进程,能感知你在不在电脑前、主动寻找有用的工作做,更像是住在终端里的全职同事。源码里藏着一个叫 "Buddy" 的电子宠物系统,完整度令人惊讶——这不是一个 TODO,而是一个从数值系统到 ASCII 动画都实现了的完整功能。

QcloudCommunity的博客 700

逆向深扒Claude Code源码,我发现了什么!?

Anthropic 内部用户获得更严格的质量控制 prompt、更好的验证机制(独立 Verification Agent)、以及针对 model 弱点的专门对策(如 Capybara v8 的 29-30% 错误声明率对策)。这不是代码混乱的标志——它是整个 Agent Loop 的心脏,所有的流式处理、工具调度、上下文压缩、子代理管理都在这个文件中协调。这种"胖核心"设计是刻意的:保持核心循环的原子性,避免分散到多个模块导致的协调复杂度。核心价值:Fork 代理的工具输出不会回到主代理的上下文窗口。

QcloudCommunity的博客 885

一文讲透如何构建Harness——六大组件全解析

本文将从"裸模型的四个硬伤"出发,逐一拆解 Harness 的六大组件——文件系统、Bash + 沙箱、记忆(AGENTS.md)、Web Search + MCP、上下文工程、编排 + Hooks——带你看清 AI Agent 真正的竞争壁垒,不在模型层,而在 Harness 层。如果你用过 Agent 做复杂任务,你一定有过这样的体验:一开始 Agent 的表现很好,但随着对话变长,它开始"变笨"——遗忘之前的约定,重复之前犯过的错误,甚至对同一个问题给出前后矛盾的回答。对于简单的问答场景,这无所谓。

QcloudCommunity的博客 758

Harness Engineering 来了,SDD 还有意义吗?

他们的解法是把「品味」编码进规则,然后用一个定期运行的「doc-gardening」Agent 自动扫描漂移、发起修复 PR——「技术债务就像一笔高息贷款,不断地以小额贷款的方式偿还,总比让债务不断累积要好」。代码仓库本地的、已版本化的工件,才是 Agent 所能看到的全部。在 Vibe Coding 模式下(即不做规划、随意向 AI 提需求的开发方式),大量设计决策、跨服务约定、「为什么不选另一个方案」的讨论,全部停留在一次性的 AI 对话里——下一个人,或者下一次 AI 会话,完全无从获取。

QcloudCommunity的博客 417

零废话!一文讲透从0构建AI Agent

每个工具都要写一套"定义→解析→执行"的胶水代码。上下文管理就是在"记住足够多"和"别超标"之间找平衡,常见策略包括滑动窗口、摘要压缩、RAG 检索增强。上下文窗口是 Agent 的"工作记忆",但它有硬性限制。LLM 负责"动脑"决策,代码负责"动手"执行。这是从"聊天机器人"进化到"Agent"的关键一步。每次调 API 都把完整对话历史发过去,LLM 本身是无状态的,"记忆"完全靠客户端的数组模拟。这样 Agent 一开始就知道自己"在哪里"、"手头有什么",不需要先花一轮工具调用去探索环境。

QcloudCommunity的博客 709

距离AI把小编我裁掉还有72小时

这是一个基于 OpenClaw 开源生态打造的本地化 AI Agent 助手,已于上周开启全量公测,无需复杂配置,三步即可上手,自带安全防护,支持微信直连绑定,内置多款优质国产大模型,现阶段也是完全免费使用,基本上前面提到过的痛点都可以靠它解决。对了,这里特别强调一点,上面的截图让产品同事汗流浃背,再三找我确认 QClaw 思考过程中优美的“草”字说法,不会是默认出现的吧?AI 好,AI 得学,但更重要的是,在你的工作和生活里,哪些东西是能结构化地被 AI 所接入的,不要死守着那些脏活累活不放。

QcloudCommunity的博客 672

龙虾盛宴下的冷思考

举个我自己的例子:在电商项目里,商品列表页的 CRUD 逻辑、TypeScript 类型定义、接口联调的模板代码,这些任务交付标准很明确,接口对了、类型没报错、列表渲染正常,交给 Agent 做又快又稳。当然这个做法我还在摸索,效果不确定,毕竟前面刚说了 Agent 写的代码质量有问题,凭什么相信 Agent 的审查更靠谱?LLM 优化的目标是「看起来合理」,不是「行为正确」。他的原话大意是:不喜欢看文章的人不会因为有了 AI 就开始看,真喜欢看的人也不需要 AI 整理,算上折腾的时间省没省还不好说。

QcloudCommunity的博客 373
上一篇: 只加两行代码,为什么要两天?一文深度理解业务系统的复杂性
下一篇: 从Prompt、Context到Harness,工程的三次进化与终局之战
腾讯云开发者
腾讯云开发者 企业官方账号 企业官方账号
博客等级 码龄10年 6289粉丝 1962原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值