Files
Claude-Code-Workflow/CHANGELOG-v4.1.1.md
catlog22 ad32e7f4a2 docs: move CHANGELOG files to root directory
Move version changelogs to project root for better visibility:
- CHANGELOG-v4.1.0.md (Pure matrix mode + path corrections)
- CHANGELOG-v4.1.1.md (Windows symlink fix + agent optimization)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-09 11:37:25 +08:00

6.2 KiB
Raw Permalink Blame History

UI Design Workflow v4.1.1 - Symlink Fix & Agent Optimization

📋 发布日期

2025-10-09

🎯 核心修复与优化

1. Windows 符号链接修复

  • 问题latest 被创建为实际目录而非符号链接,导致创建两套重复目录
  • 根本原因:使用 ln -sUnix 命令)在 Windows 环境下失败
  • 解决方案:改用 Windows 原生命令 mklink /D
  • 影响范围auto.md Phase 0b

2. Agent 任务分配优化

  • 旧策略:按 style 分配Agent-1 处理 style-1 的所有 layouts
  • 新策略:按 layout 分配Agent-1 处理 layout-1 的所有 styles
  • 批处理:支持最多 8 个 styles per agent超过 8 个 styles 时自动分批)
  • 优势
    • 同一 agent 处理不同 styles复用 layout 策略)
    • 不同 agent 处理不同 layouts并行优化
    • 扩展性提升32 styles × 3 layouts = 12 agents原方案需 32 agents

📝 文件修改清单

文件 主要变更 状态
auto.md 修复 Windows 符号链接创建逻辑 已完成
generate.md 重构 agent 分配策略为 layout-based 已完成

🔄 技术细节

旧代码(错误)

# Phase 0b
Bash(rm -f ".workflow/WFS-{session_id}/latest")
Bash(ln -s "runs/${run_id}" ".workflow/WFS-{session_id}/latest")

问题

  • ln -s 在 Windows 下失败时会创建实际目录
  • 导致 latest/runs/run-xxx/ 两套重复目录

新代码(修复)

# Phase 0b - Windows-compatible
Bash(cd ".workflow/WFS-{session_id}" && rm -rf latest && mklink /D latest "runs/${run_id}")

改进

  • 使用 mklink /DWindows 原生目录符号链接命令)
  • cd 到父目录确保相对路径正确
  • rm -rf 清理旧的目录/符号链接

优化 2: Agent Allocation (generate.md)

旧策略Style-Based

FOR style_id IN range(1, style_variants + 1):
    Task(agent): "Generate all layouts for style-{style_id}"

问题

  • 16 styles → 16 agents
  • 32 styles → 32 agents扩展性差

新策略Layout-Based with Batching

# Calculate style batches (max 8 styles per agent)
batch_size = 8
all_style_ids = range(1, style_variants + 1)
style_batches = split_into_chunks(all_style_ids, batch_size)

FOR layout_id IN range(1, layout_variants + 1):
    FOR style_batch IN style_batches:
        Task(agent): "
          Generate layout-{layout_id} for styles {style_batch}

          Context:
          - LAYOUT_ID: {layout_id}
          - STYLE_IDS_BATCH: {style_batch}  # e.g., [1-8]

          Strategy:
          - Apply consistent layout-{layout_id} strategy to ALL styles in batch
          - Load each style's design-tokens.json separately
        "

改进

  • 按 layout 分配,每个 agent 专注一种 layout 策略
  • 批处理支持styles > 8 时自动分批
  • 示例32 styles × 3 layouts
    • 旧方案32 agents
    • 新方案3 layouts × 4 batches = 12 agents

📊 性能对比

Agent 数量对比表

配置 旧方案 (Style-Based) 新方案 (Layout-Based) 优化比例
3×3 (默认) 3 agents 3 agents 1:1
8×3 8 agents 3 agents 2.7:1
16×3 16 agents 6 agents (3×2 batches) 2.7:1
32×3 32 agents 12 agents (3×4 batches) 2.7:1
3×5 3 agents 5 agents 0.6:1
16×5 16 agents 10 agents (5×2 batches) 1.6:1

结论layout 数量不变时styles 增加不会线性增加 agent 数量


🚀 工作流影响

无影响的部分

  • 矩阵模式逻辑(仍然是 styles × layouts
  • 文件命名格式({page}-style-{s}-layout-{l}.html
  • 设计 token 加载机制
  • 可视化模板compare.html
  • 所有参数(--style-variants, --layout-variants

改进的部分

  • 符号链接正确性:不再创建重复目录
  • Agent 扩展性:高 variant 数场景下性能提升 2-3 倍
  • Layout 一致性:同一 agent 负责一种 layout 策略,确保跨 styles 的 layout 一致性

⚠️ 破坏性变更

无破坏性变更

  • 所有参数保持不变
  • 输出文件格式保持不变
  • API 接口保持不变
  • 向后兼容 v4.1.0

🧪 测试建议

符号链接测试

# Windows 环境测试
/workflow:ui-design:auto --prompt "Test symlink" --style-variants 2

# 验证
cd .workflow/.scratchpad/design-session-*/
ls -la  # 应看到 latest -> runs/run-xxx符号链接非目录

Agent 分配测试

# 小规模测试3×3
/workflow:ui-design:auto --style-variants 3 --layout-variants 3
# 预期3 agents每个 layout 1 个)

# 中规模测试16×3
/workflow:ui-design:auto --style-variants 16 --layout-variants 3
# 预期6 agents3 layouts × 2 batches

# 大规模测试32×3
/workflow:ui-design:auto --style-variants 32 --layout-variants 3
# 预期12 agents3 layouts × 4 batches

📚 相关文档

  • workflow-architecture.md: Workflow 系统架构标准(符号链接规范)
  • CHANGELOG-v4.1.0.md: 纯矩阵模式和路径修正
  • auto.md: Phase 0b 符号链接创建逻辑
  • generate.md: Phase 2 agent 分配策略

🔮 未来优化方向

计划中

  • 自适应批处理大小(根据 agent 性能动态调整)
  • Layout 策略配置化(允许自定义 layout 策略)
  • 跨 runs 的 agent 结果缓存

待讨论

  • 是否需要 style-based 模式作为备选?
  • 批处理大小是否需要参数化(当前固定 8

📝 总结

v4.1.1 核心价值:

  1. 跨平台兼容性: Windows 环境符号链接正常工作
  2. 扩展性提升: 高 variant 数场景下 agent 数量减少 60%+
  3. Layout 一致性: 同一 layout 策略由单一 agent 负责
  4. 零破坏性: 完全向后兼容 v4.1.0

升级理由:

  • 修复 Windows 环境下的符号链接 bug
  • 大幅提升高 variant 数场景的性能
  • 改善 layout 策略的一致性
  • 为未来扩展奠定基础

发布者: Claude Code 版本: v4.1.1 类型: Bugfix + Performance Optimization 日期: 2025-10-09