<!-- title: 拆algorithmic-art：给随机上锁 -->

# 拆algorithmic-art：给随机上锁

## 概述

本期是本栏目第2轮的例行单件深拆（定期观察，选当期最值得说的一件）。这次拆的对象是 Anthropic 官方示例仓库里的 **algorithmic-art**——一个教 Claude 做“算法生成艺术”的技能。它在生态里常被当成冷门摆件，但它是官方仓库里**方法论密度最高**的单文件件之一：不讲工具、不讲 API，只讲一件事——如何把“创作自由”兑换成“参数纪律”。本期以本环境实装副本（个人技能与 `example-skills:algorithmic-art` 插件双份在册）和官方仓库长期公开的版本为据；星数、更新时间等运营数据本期未逐项联网复核，文中不作精确引用。

## 评测对比表

取本环境同门的四件创作类官方件做定性对比（评分 1–5 星，为本期拆解后的定性判断，非实测跑分）：

| 维度（权重） | algorithmic-art | canvas-design | theme-factory | frontend-design |
|---|---|---|---|---|
| 功能完整度（25%） | ★★★★ | ★★★★ | ★★★☆ | ★★★★★ |
| 设计质量（25%） | ★★★★★ | ★★★★ | ★★★★ | ★★★★★ |
| 实战效果（20%） | ★★★★ | ★★★★ | ★★★☆ | ★★★★ |
| 上手难度（15%） | ★★★★★（越低越好） | ★★★★ | ★★★★★ | ★★★☆ |
| 社区活跃度（15%） | ★★★★ | ★★★★ | ★★★★ | ★★★★★ |

单项加权后，algorithmic-art 在“设计质量”上拿下同门最高：它是四件里唯一**不教 Claude 用什么，只教 Claude 怎么想**的。下面拆开看它凭什么。

## 主体：一件“单文件件”的六个部件

### 部件一：门牌（frontmatter）

和所有 SKILL.md 一样，它靠 frontmatter 里的 `name` 和 `description` 两行过日子。这个名字起得极克制：`algorithmic-art`，kebab-case，纯技术词，不带任何营销形容词。对比生态里大量“大师级艺术助手”“超级画师”式的命名，官方的做法是把名字完全让给检索——因为技能的触发不靠名字好听，靠 description 里的场景词命中。

它的 description 大意是：当用户想创作生成艺术、算法艺术、创意编码作品时使用。注意这个写法的结构——**列场景，不列能力**。它没有写“我能画出惊艳的图”，而是写“什么情况下该叫我”。这是官方件和民间件在门牌上最大的分野：民间件爱写自我介绍，官方件写触发条件。Skill 的匹配是描述驱动的，模型扫的是“这段话和我现在要干的事像不像”，不是“这个技能厉不厉害”。

**可抄第一条**：你的 description 里，动词短语应该是“当用户要……时”，而不是“本技能可以……”。

### 部件二：开篇哲学段——自由是敌人

正文开篇不谈代码，先立规矩。它给出的核心命题大意是：**AI 做生成艺术最大的问题不是不会画，而是什么都想要**——把噪声、粒子、分形、渐变、十二种颜色全堆进一张画布，产出视觉噪音而不是作品。

所以这个技能的第一动作不是生成，而是**砍**：要求在写第一行代码之前，先确定概念约束——配色系统、几何母题、密度基调，然后用这些约束反过来驱动创作。这是整篇 SKILL.md 最反直觉的设计：它把“约束”从创造力的对立面挪到了发动机位置。人类设计教育里这叫“设计限制”（design constraints），但很少有 prompt 把它写成硬流程。

**可抄第二条**：如果你的技能是开放性任务（写作、设计、架构），第一段不该是能力清单，该是“禁止做什么”的清单。砍掉的选项越多，产出越稳。

### 部件三：算法菜单——四个方向，只准选一个

中部给出一个算法方向的菜单，大致覆盖：流场与噪声（flow field / noise field）、粒子系统、几何铺排与抽象构成、递归分形。菜单本身不稀奇，稀奇的是菜单的使用规则：**选定一个方向，贯彻到底，禁止融合**。

这一条是对大模型“贪多癖”的直接外科手术。模型在开放任务里的默认行为是把训练数据里所有相关技巧都端上来，一件技能若只说“请你创作”，产出的必然是大杂烩。给出一个短菜单、再规定“只准点一道”，等于替模型预先完成了一次收敛。菜单还有个副作用：它给了用户介入点——用户说“我想要流场那种感觉”，对话立刻对齐。

**可抄第三条**：为开放性任务列一个 3–5 项的方向菜单，并在技能里明文写“只选其一”。

### 部件四：种子纪律——整件技能的灵魂

这是 algorithmic-art 真正的区别性发明：**所有随机数必须来自一个固定的种子**。技能要求用带种子的伪随机数生成器（seeded PRNG），而不是裸的随机函数。种子固定后，同一套参数永远产出同一张图；想探索新变体，改种子；想精修当前这张，锁种子、动参数。

这一条看起来是技术细节，实际上是整个技能的方法论支柱。没有种子的生成艺术是老虎机——拉一次杆换一个结果，你永远无法说清“这次改动到底带来了什么”。有种子之后，创作第一次具备了**对照实验**的性质：变量被隔离了。这也是它和 canvas-design 这类“一次性出图”件的本质差别——后者交付作品，前者交付一条**可迭代的生产线**。

**可抄第四条**：凡是带随机性、采样、探索性的任务，给技能加一个“固定基线 + 一次改一个变量”的协议。写代码、跑实验、调 prompt，全都适用。

### 部件五：迭代协议——一次只动一个旋钮

和种子纪律配套的是明确的迭代流程：先出一个最小可用版本，再逐轮调整——而且规定**每轮只调一个参数**（密度、尺度、配色之一），看清楚它的独立影响，再决定下一轮。这个流程和种子机制咬合在一起：种子保证了“其他条件不变”真的成立，单参数调整才有效。

大部分民间技能在这里直接结束：“生成作品并交付给用户。”而这一件把“交付”之前最容易被跳过的精修环节写成了流程。技能与技能之间的差距，往往就在这最后一段——前者教到“能跑”，后者教到“能改”。

### 部件六：交付物——单文件、零依赖、开箱即看

最后是工程上的收口：产出物是一个自包含的单 HTML 文件，p5.js 走 CDN 引入，浏览器双击即开。没有脚手架、没有构建步骤、没有依赖安装。这让上手成本归零——这也是它“上手难度”一项拿满的原因。生态里不少同类生成工具要求装 Node、配环境，而这一件把“能立刻看到结果”当作设计目标之一，因为**反馈回路的长短直接决定迭代次数**。

### 结构小结：为什么它敢是单文件

比起官方仓库里带脚本、带参考文档的重型件（如 docx、pdf 那类要真刀真枪操作文件的），这一件把全部重量压在 SKILL.md 的文本本身。它印证了技能设计的一条朴素规律：**技能的分量取决于它收敛了多少不确定性，不取决于它带了几个文件**。它收敛的三样东西——方向（菜单）、随机性（种子）、迭代（协议）——恰好是开放性创作任务里最失控的三样。

## 工作流程图

```mermaid
flowchart TD
    A["用户提出画面需求"] --> B["SKILL.md 被触发"]
    B --> C["先定约束：配色 密度 母题"]
    C --> D["算法菜单只选一个方向"]
    D --> E["固定随机种子"]
    E --> F["生成单文件 HTML"]
    F --> G["浏览器打开出图"]
    G --> H{"满意吗"}
    H -->|不满意| I["只调一个参数"]
    I --> F
    H -->|满意| J["交付作品"]
```

四条算法分支的收敛方式：

```mermaid
flowchart TD
    M["算法菜单"] --> N1["流场与噪声"]
    M --> N2["粒子系统"]
    M --> N3["几何铺排"]
    M --> N4["递归分形"]
```

## 安装与使用

从官方仓库复制到个人技能目录（通用做法，无需任何依赖）：

```bash
git clone https://github.com/anthropics/skills.git
mkdir -p ~/.claude/skills
cp -r skills/example-skills/algorithmic-art ~/.claude/skills/
```

使用时无需任何命令，对话里出现相应意图即触发，例如：

- “给这篇文章生成一张算法艺术风格的头图”
- “用 p5.js 做一张流场风格的海报”
- “我要一组可复现的生成艺术背景，每张能用种子复现”

## 适用与不适用

**适用**：文章头图、海报与封面、背景纹理、专辑封面、生成艺术风格探索、任何需要“同一套参数可复现产出”的视觉任务。

**不适用**：数据信息图（该走图表类技能）、照片级写实插画（这不是它的赛道）、严格品牌合规物料（颜色字体必须走品牌规范，应选 canvas-design 一类）、需要精确控制每个元素位置的版式设计（约束驱动的随机美学恰恰反对这种控制）。

## 推荐排行榜

创作生成这个小赛道内的定性排名：

- **方法论完整性第一：algorithmic-art** —— 唯一把“如何思考创作”写成流程的
- **交付质感第一：canvas-design** —— 面向品牌级平面产出
- **工程实用性第一：frontend-design** —— 面向真实页面与审美落地
- **效率第一：theme-factory** —— 一套结构换十套皮，量取胜

如果只教新手读一个官方件来学“SKILL.md 该怎么写”，algorithmic-art 是我的首选教材：它短、它自足、它的每一节都对应一条可直接迁移的设计模式。

## 参考来源

1. [anthropics/skills — 官方技能示例仓库（example-skills 目录）](https://github.com/anthropics/skills) — algorithmic-art 所在的官方示例仓库，本环境实装副本同源
2. [Anthropic 官方文档 · Agent Skills](https://docs.anthropic.com/en/docs/claude-code/skills) — 技能的发现、触发与 SKILL.md 结构的官方说明
3. [skills.sh — Skills 生态目录站](https://skills.sh) — 观察同类创作件生态位与热度的生态站
4. 本环境实装副本（`algorithmic-art` 个人技能与 `example-skills:algorithmic-art` 插件双份在册）— 本期拆解的第一文本依据；星数等运营数据未经联网复核，文中未作精确引用

> [!tip] 51学通信知识星球
> **星主：爱卫生**（微信：gprshome201101）——公众号「51学通信」创办者，19 年通信行业运维与讲师经验，著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书（各大电商平台有售）。
> **星球定位**：深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域，主打运维岗位与信令分析。
> **当前规模**：5200 篇主题 / 990 个回答，198 元/年。
> **加入福利**：加入星球后请加爱卫生微信，拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题，另有群内分享。
> **AI 加持**：51学通信知识星球已作为 skill 接入 WorkBuddy，使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例，做总结、找文档和 PPT 等场景全覆盖。

![51学通信知识星球海报-扫码加入](https://wiki.500nian.com/images/zhixingqiu_qrcode.png)
