@dzhng: 喜欢这个框架。软件工厂不应该要求人类审查每一行代码,但每一个*决策*都应该…
摘要
开发者 dzhng 分享了一个 GitHub 仓库,其中包含可组合的 AI 代理技能,用于构建软件工厂,实现自主目标驱动代码生成,并在决策点进行人工审查。
查看缓存全文
缓存时间: 2026/07/20 09:49
喜欢这个框架。软件工厂不应要求人类审查每一行代码,但每一个决策都应有人类审查支持。AI 是完美的执行机器,但决策仍不完美。已添加到我的技能仓库:https://github.com/dzhng/skills
dzhng/skills
来源:https://github.com/dzhng/skills
Skills
skills.sh (https://skills.sh/dzhng/skills)
用于构建软件工厂的 AI 技能
用于构建软件工厂的 AI 技能。 我的个人领域无关智能体技能库,在每个项目中复用。小巧、可组合、可破解——适用于任何支持技能的工具:Claude Code、Codex、opencode、Cursor、duet (https://duet.so) 以及其他 70 多种工具 (https://github.com/vercel-labs/skills)。
npx skills add dzhng/skills
添加 --list 来挑选单个技能,或者将任意 skills/<name>/ 文件夹复制到你的工具的技能目录(例如 .claude/skills/)。
为什么
软件正从任务转向工厂:智能体自主追求一个目标,直到输出可以被信任。难点不在于将目标分解为任务——而在于将其分解为独立可验证的片段,并且知道这些片段在哪里。这些技能运行这个循环。
将未知视为战争迷雾:绘制地形图,将其划分为独立构建和验证的领地,并递归地重新切分任何隐藏更多地图的部分。重新规划不会在规划结束时停止——规格说明是一份活的文档,在实现过程中,每当工作让智能体发现计划已过时时,就会更新并重新切分。
每一部分都必须证明自己——架构审查、代码审查以及对照基准的视觉审查——然后循环才会继续。每一次迭代都会变得更正确,直到目标完成。
一次自主运行——1 天 16 小时追求一个目标
证明:一次无人值守的 Codex 运行,基于这些技能追求单一目标长达 1d 16h,不断切分并迭代直到完成。
如何使用
-
计划。 让智能体对目标执行
/write-spec。它会采访你,研究未知项,并在specs/<name>/下生成一个规格说明——一个每个切片都可以独立验证的切片图。 -
构建。 启动循环:
/goal /implement-spec specs/<name>添加任何合适的框架:
在 xyz 分支上,或者让 /codex 作为实现者,而你扮演父编排者和审查者。 -
其余部分自动执行。 规格说明告诉循环何时调用其他技能——在每个切片结束时执行
/review检查,对任何视觉内容执行/screenshot-critique和/compare-screenshots,当最后一个切片完成时执行/close-spec——并在实现证明计划已过时时更新并重新切分计划。
每个技能也可以独立使用:随时手动调用任意一个。
技能
工程 — 切片、构建、验证、重复
| 技能 | 功能 |
|---|---|
| explore-unknowns | 引导用户逐个象限映射任务中的未知项——先已知已知,然后访谈、可反应的产物和盲区检查——最终得到完整的四象限地图。 |
| write-spec | 将大型功能分解为独立可验证、可供人类审查的切片,带有 API 接缝和可玩的检查点。 |
| implement-spec | 将现有规格说明构建完成,一次一个可审查的递进,并行委托独立的切片。 |
| implement-spec-with-codex | 运行 implement-spec,由 Codex 编写代码——你负责编排、集成和审查每个递进。 |
| close-spec | 归档已交付的规格说明,并将其从构建计划重写为持久的原理记录,指向代码本身。 |
| refactor-clean | 通过将所有权转移到一个清晰的概念上,而不是在问题旁边堆积兼容性沉积物,来进行重构。 |
| write-tests | 一次一颗 tracer bullet 编写测试,锁定实际行为——而不是实现细节、配置值或幸运样本。 |
| write-docs | 将文档编写为原则和指针的词汇表,从不镜像会腐烂的代码。 |
| code-review | 审计差异(diff)中过时的名称、死引用、不必要的复杂性以及叙述而非解释的注释——最终给出干净/不干净的判定。 |
| audit-choices | 审计实现者所做的选择,而非它的差异——一次纯粹的、从不阻塞的审计,其帐本披露了代表用户所做的架构和决策,供审查而非代码本身。 |
| review | 将完成的变更作为一次递进收尾——先 refactor-clean,然后 code-review,然后 write-docs——按顺序合并为单一判定。 |
| codex | 使用本地 Codex CLI 作为独立的第二智能体,用于审查和(在明确要求下)委托实现。 |
| claude | 使用 Claude Code (claude -p) 作为独立的第二智能体,用于咨询和(在明确要求下)委托实现。 |
视觉审查 — 绝不允许仅凭感觉接受视觉内容
| 技能 | 功能 |
|---|---|
| compare-screenshots | 判断哪张图片相对于你建立的目标错误更少——定位分歧的遥测,而非基线匹配。附带可复用的差异脚本。 |
| screenshot-critique | 在接受视觉工作之前,使用未预设的子智能体作为第二双眼睛;在声明视觉错误已修复之前必须执行。 |
| preview-shots | 在一个 macOS Preview 窗口中打开一组精选的图像截图,供用户目视检查。 |
创作 — 保持技能本身锋利
| 技能 | 功能 |
|---|---|
| write-skills | 创建或修改智能体技能:触发器、引导词、渐进式披露以及需要修剪的失败模式。 |
| eval-skills | 针对黄金案例评估技能——在全新子智能体中进行盲跑,使用独立的评判者,并通过差距驱动的编辑来改进。 |
图形
| 技能 | 功能 |
|---|---|
| renderer | 构建、调试或审查 WebGPU 渲染器工作——three.js/TSL 场景层、节点材质、WGSL 通道、深度语义以及浏览器验证的视觉效果。 |
许可证
MIT
Taelin (@VictorTaelin): 我想我终于搞清楚了如何大规模使用 AI
当然,Fable 好用是原因之一。但我也改变了工作方式,这一切归结为一个关键认识:你不需要审计代码,但你必须审计它所做的选择。如果你只做这一点,
相似文章
@hnshah: https://x.com/hnshah/status/2066761276945211442
Hiten Shah 反思了 AI 如何将 GitHub 从证据库转变为非编码人员可以直接将产品判断应用于软件工作流程的环境,从而弥合客户理解与代码之间的鸿沟。
@zachlloydtweets: https://x.com/zachlloydtweets/status/2077428025474355521
本篇文章介绍了如何构建一个自我改进的代码审查代理,作为云软件工厂的一部分,使用了代码审查技能、GitHub Actions以及一个外层循环代理来实现持续改进。
@dzhng: 将这篇文章输入Fable,我们创建了一个探索未知技能。它扫描你的代码库,然后逐个问题采访你……
一个用于构建软件工厂的可组合AI技能的个人库,包括一个探索未知技能,该技能扫描代码库并采访开发者以消除已知和未知的未知。
@dzhng: 实用建议:使用Fable-5进行规划并作为总的协调者和评审者,用Codex作为实际执行者,从而……
建议使用Fable-5作为协调者,Codex作为执行者以节省积分,并附有可组合AI代理技能库的链接,用于自主软件开发。
@addyosmani: https://x.com/addyosmani/status/2079442194449232227
Addy Osmani 的这篇文章探讨了将软件工厂视为规模化代理循环的概念,区分了有人类监督的明工厂和没有人类监督的暗工厂,并强调了理解与设计循环、调控机制和工厂结构的重要性。