| name | gan-style-harness |
| description | 受 GAN 启发的生成器-评估器智能体线束,用于自主构建高质量应用。基于 Anthropic 2026 年 3 月的线束设计论文。 |
| origin | ECC-community |
| tools | Read, Write, Edit, Bash, Grep, Glob, Task |
GAN 风格线束技能
灵感来自 Anthropic 的长时间运行应用开发的线束设计(2026 年 3 月 24 日)
一种将生成与评估分离的多智能体线束,创建对抗性反馈循环,将质量推远超单个智能体所能达到的水平。
核心洞察
当被要求评估自己的工作时,智能体是病态的乐观主义者——它们赞美平庸的输出,并说服自己忽略合理的问题。但工程化一个独立的评估器使其无情地严格,远比教生成器自我批评更可行。
这与 GAN(生成对抗网络)的动态相同:生成器产出,评估器批评,反馈驱动下一次迭代。
何时使用
- 从一行提示构建完整应用
- 需要高视觉质量的前端设计任务
- 需要工作功能的全栈项目,而不仅仅是代码
- 任何不接受"AI 垃圾"美学的任务
- 愿意投资 $50-200 获得生产级质量输出的项目
何时不使用
- 快速的单文件修复(使用标准
claude -p)
- 预算紧张的任务(<$10)
- 简单重构(改用去凌乱化模式)
- 已经有测试明确规范的任务(使用 TDD 工作流)
架构
┌─────────────┐
│ 规划器 │
│ (Opus 4.6) │
└──────┬──────┘
│ 产品规格
│ (特性、冲刺、设计方向)
▼
┌────────────────────────┐
│ │
│ 生成器-评估器 │
│ 反馈循环 │
│ │
│ ┌──────────┐ │
│ │ 生成器 │--构建-->│──┐
│ │(Opus 4.6)│ │ │
│ └────▲─────┘ │ │
│ │ │ │ 实时应用
│ 反馈 │ │
│ │ │ │
│ ┌────┴─────┐ │ │
│ │ 评估器 │<-测试---│──┘
│ │(Opus 4.6)│ │
│ │+Playwright│ │
│ └──────────┘ │
│ │
│ 5-15 次迭代 │
└────────────────────────┘
三个智能体
1. 规划器智能体
角色: 产品经理——将简短提示扩展为完整产品规格。
关键行为:
- 接受一行提示并产生 16 个特性、多冲刺的规格
- 定义用户故事、技术需求和视觉设计方向
- 刻意雄心勃勃——保守的规划导致令人失望的结果
- 产生评估器稍后使用的评估标准
模型: Opus 4.6(规格扩展需要深度推理)
2. 生成器智能体
角色: 开发者——根据规格实现特性。
关键行为:
- 在结构化冲刺中工作(或使用更新模型的连续模式)
- 在编写代码前与评估器协商"冲刺契约"
- 使用全栈工具:React、FastAPI/Express、数据库、CSS
- 在迭代间使用 git 进行版本控制
- 读取评估器反馈并在下一次迭代中纳入
模型: Opus 4.6(需要强编码能力)
3. 评估器智能体
角色: QA 工程师——测试实时运行的应用,而不仅仅是代码。
关键行为:
- 使用 Playwright MCP 与实时应用交互
- 点击功能、填写表单、测试 API 端点
- 按四个标准评分(可配置):
- 设计质量 — 是否感觉像一个连贯的整体?
- 原创性 — 自定义决策 vs 模板/AI 模式?
- 工艺 — 排版、间距、动画、微交互?
- 功能性 — 所有特性是否实际工作?
- 返回带评分和具体问题的结构化反馈
- 被工程化为无情严格——从不赞美平庸的工作
模型: Opus 4.6(需要强判断力 + 工具使用)
评估标准
默认四个标准,每项 1-10 分:
## 评分标准
### 设计质量(权重:0.3)
- 1-3:通用的、模板化的、"AI 垃圾"美学
- 4-6:合格但不突出,遵循惯例
- 7-8:独特的、连贯的视觉标识
- 9-10:可以冒充专业设计师的作品
### 原创性(权重:0.2)
- 1-3:默认颜色、素材布局、没有个性
- 4-6:有一些自定义选择,大部分是标准模式
- 7-8:清晰的创意愿景,独特的方法
- 9-10:令人惊喜、令人愉悦、真正新颖
### 工艺(权重:0.3)
- 1-3:损坏的布局、缺失的状态、没有动画
- 4-6:能用但感觉粗糙、间距不一致
- 7-8:精致的、平滑的过渡、响应式
- 9-10:像素级完美、令人愉悦的微交互
### 功能性(权重:0.2)
- 1-3:核心功能损坏或缺失
- 4-6:正常路径工作,边缘情况失败
- 7-8:所有功能工作,良好的错误处理
- 9-10:无懈可击,处理每个边缘情况
评分
- 加权分数 = sum of (标准分数 * 权重)
- 通过阈值 = 7.0(可配置)
- 最大迭代次数 = 15(可配置,通常 5-15 次足够)
用法
通过命令
/project:gan-build "构建一个带看板、团队协作和深色模式的项目管理应用"
/project:gan-build "构建一个食谱分享平台" --max-iterations 10 --pass-threshold 7.5
/project:gan-design "为加密投资组合追踪器创建一个落地页"
通过 Shell 脚本
./scripts/gan-harness.sh "构建一个音乐流媒体仪表板"
GAN_MAX_ITERATIONS=10 \
GAN_PASS_THRESHOLD=7.5 \
GAN_EVAL_CRITERIA="functionality,performance,security" \
./scripts/gan-harness.sh "构建一个任务管理 REST API"
通过 Claude Code(手动)
claude -p --model opus "你是一个产品规划器。阅读 PLANNER_PROMPT.md。将这个简短提示扩展为完整产品规格:'构建一个看板应用'。将规格写入 spec.md"
claude -p --model opus "你是一个生成器。阅读 spec.md。实现冲刺 1。在端口 3000 启动开发服务器。"
claude -p --model opus --allowedTools "Read,Bash,mcp__playwright__*" "你是一个评估器。阅读 EVALUATOR_PROMPT.md。测试 http://localhost:3000 的实时应用。按评分标准打分。将反馈写入 feedback-001.md"
claude -p --model opus "你是一个生成器。阅读 spec.md 和 feedback-001.md。解决所有问题。提高分数。"
跨模型能力的演进
线束应随模型改进而简化。遵循 Anthropic 的演进:
阶段 1 — 较弱模型(Sonnet 级别)
- 需要完整的冲刺分解
- 冲刺间重置上下文(避免上下文焦虑)
- 最少 2 个智能体:初始化器 + 编码智能体
- 大量脚手架补偿模型局限
阶段 2 — 能力模型(Opus 4.5 级别)
- 完整 3 智能体线束:规划器 + 生成器 + 评估器
- 每个实现阶段前的冲刺契约
- 复杂应用的 10 冲刺分解
- 上下文重置仍有用但不那么关键
阶段 3 — 前沿模型(Opus 4.6 级别)
- 简化线束:单次规划,连续生成
- 评估减少到单次最终通过(模型更智能)
- 不需要冲刺结构
- 自动压缩处理上下文增长
关键原则: 每个线束组件都编码了关于模型单独不能做什么的假设。当模型改进时,重新测试这些假设。剥离不再需要的部分。
配置
环境变量
| 变量 | 默认值 | 描述 |
|---|
GAN_MAX_ITERATIONS | 15 | 最大生成器-评估器循环次数 |
GAN_PASS_THRESHOLD | 7.0 | 通过的加权分数(1-10) |
GAN_PLANNER_MODEL | opus | 规划器智能体模型 |
GAN_GENERATOR_MODEL | opus | 生成器智能体模型 |
GAN_EVALUATOR_MODEL | opus | 评估器智能体模型 |
GAN_EVAL_CRITERIA | design,originality,craft,functionality | 逗号分隔的评估标准 |
GAN_DEV_SERVER_PORT | 3000 | 实时应用端口 |
GAN_DEV_SERVER_CMD | npm run dev | 启动开发服务器的命令 |
GAN_PROJECT_DIR | . | 项目工作目录 |
GAN_SKIP_PLANNER | false | 跳过规划器,直接使用规格 |
GAN_EVAL_MODE | playwright | playwright、screenshot 或 code-only |
评估模式
| 模式 | 工具 | 最适用于 |
|---|
playwright | 浏览器 MCP + 实时交互 | 带有 UI 的全栈应用 |
screenshot | 截图 + 视觉分析 | 静态站点、仅设计 |
code-only | 测试 + linting + 构建 | API、库、CLI 工具 |
反模式
-
评估器过于宽松——如果评估器在第 1 次迭代就通过所有内容,你的评分标准太宽松了。收紧评分标准并对常见 AI 模式添加显式惩罚。
-
生成器忽略反馈——确保反馈作为文件传递,而非内联。生成器应在每次迭代开始时读取 feedback-NNN.md。
-
无限循环——始终设置 GAN_MAX_ITERATIONS。如果生成器在 3 次迭代后无法突破分数平台期,停止并标记为人工审查。
-
评估器表面测试——评估器必须使用 Playwright 交互实时应用,而不仅是截图。点击按钮、填写表单、测试错误状态。
-
评估器赞美自己的修复——永远不要让评估器建议修复然后评估这些修复。评估器只批评;生成器修复。
-
上下文耗尽——对于长时间会话,使用 Claude Agent SDK 的自动压缩或在主要阶段之间重置上下文。
结果:预期什么
基于 Anthropic 公布的结果:
| 指标 | 单一智能体 | GAN 线束 | 改进 |
|---|
| 时间 | 20 分钟 | 4-6 小时 | 12-18 倍 |
| 成本 | $9 | $125-200 | 14-22 倍 |
| 质量 | 勉强可用 | 生产就绪 | 质的飞跃 |
| 核心功能 | 损坏的 | 全部工作 | N/A |
| 设计 | 通用 AI 垃圾 | 独特的、精致的 | N/A |
权衡是明确的: 约 20 倍的时间和成本,换来输出质量的质的飞跃。这适用于质量至关重要的项目。
参考文献