跳到主内容
快讯直播
AI智模界
教程

在 Figma 里给智能体定义工作流:设计系统、改稿与交付

这套工作流能做出什么

照着做完,你会得到一条从"设计规范"到"上线交付"的自动化链路:

  • 设计系统文件里的颜色、间距、圆角、字号全部用变量承载,组件与变体命名统一,Agent 能按名字精确取用,而不是靠猜;
  • 用一段自然语言描述需求,Agent 在 Figma 里用已有的组件和变量拼出界面草稿;
  • 改稿时 Agent 只动指定画板,并输出"改了哪些节点、依据哪条规范"的说明,方便评审;
  • 交付前 Agent 跑一遍检查清单,把硬编码色值、缺失变量、未映射组件等问题列成清单,附在评审或交付说明里。

核心思路只有一句:把设计规范从一份 PDF 变成 Agent 能执行的结构化约束。规范越像"数据",Agent 越稳定;规范越像"散文",Agent 越容易自由发挥。

前置条件

开始前确认这几件事:

1. Figma 权限:能访问目标团队与项目,具备创建设计系统文件的权限。若要读写变量(Variables),需要对应的付费席位与团队权限,具体以官方页面为准。

2. 个人访问令牌:在 Figma 账号设置中生成 Personal Access AI 词典:Token">Token,只勾选需要的 scope(读文件、读变量即可起步)。

3. 一个支持 MCP 的智能体客户端,或能发起 HTTP 请求的脚本环境。Figma 提供 MCP 服务,具体名称、安装方式与地址以官方文档当前版本为准。

4. 本地环境:Node.js(若走本地 MCP 服务)、jq 和 curl(用于调试 API)。

5. 一个用来存放提示词与规则的仓库,例如 design-agent/ 目录,里面放规则文件和检查脚本。

安全提醒:令牌只放环境变量或密钥管理服务,不要写进仓库、不要贴进聊天记录。

第一步:把设计系统做成"机器可读"的事实源

Agent 读不懂设计意图,但读得懂名字。所以先把命名收敛。

变量分层命名。建议三层:类别/子类/状态。例如颜色用 color/text/default、color/text/muted、color/bg/surface;间距用 space/100、space/200;圆角用 radius/sm、radius/md。

组件命名。用 组件名/变体维度=值 的形式,例如 Button/Primary、Button/Secondary、Card/Product。

给变量和组件写描述。Figma 的描述字段 Agent 能读到,这是成本很低的"内嵌文档"。写清楚"什么时候用它",比写"它是什么颜色"有用得多。

页面结构固定下来,例如:

```text

00 Cover

01 Foundations ← 变量、文本样式、效果样式

02 Components ← 组件与变体

03 Patterns ← 常见组合(表单、空状态、列表项)

04 Screens ← 真实页面,Agent 主要在这里工作

99 Sandbox ← Agent 试验区,随便改

```

把规则写成一份文件放进仓库,让 Agent 每次开工先读:

```markdown

design-rules.md

命名约定

  • 颜色变量:color/{用途}/{层级},例如 color/text/default
  • 间距变量:space/{档位},只允许使用 space/100 ~ space/800
  • 组件命名:{组件名}/{变体维度}={值}

硬性约束

  • 禁止使用十六进制色值,一律引用变量
  • 禁止修改 02 Components 下的组件主件
  • 新增界面只能放在 04 Screens 下,命名格式:{需求编号}-{页面名}
  • 只用 02 Components 里已存在的组件;找不到时先在输出里说明,等待确认

输出格式

每次改稿输出:变更节点列表、使用的变量清单、不确定项

```

第二步:把 Figma 接到智能体

有两种接法,按团队情况选。

接法 A:MCP 服务(适合交互式改稿)

在智能体客户端里配置 MCP 服务,让 Agent 具备读取设计上下文的能力:

```json

{

"mcpServers": {

"figma": {

"command": "<按官方文档填写启动命令>",

"args": ["<按官方文档填写参数>"],

"env": {

"FIGMA_ACCESS_TOKEN": "${FIGMA_ACCESS_TOKEN}"

}

}

}

}

```

字段名与启动方式会随官方实现变化,以官方文档当前版本为准。配置好后,先让 Agent 做一次只读操作,确认它能列出文件里的页面名。

接法 B:REST API(适合脚本化、批处理)

先验证令牌可用:

```bash

export FIGMA_TOKEN="你的令牌"

export FILE_KEY="设计系统文件 key"

curl -s -H "X-Figma-Token: $FIGMA_TOKEN" \

"https://api.figma.com/v1/files/$FILE_KEY?depth=2" \

| jq -r '.document.children[].name'

```

预期输出就是前面那套页面名。批量导出变量、生成变量对照表时,这条路更顺手:

```bash

curl -s -H "X-Figma-Token: $FIGMA_TOKEN" \

"https://api.figma.com/v1/files/$FILE_KEY/variables/local" \

| jq '.meta.variables | to_entries[] | {name: .value.name, type: .value.resolvedType}'

```

变量接口的可用范围与权限要求随账号类型不同,若返回权限错误,先确认席位与 scope。

第三步:定义三种任务模式

不要让 Agent"随便帮我设计一下",而是给它明确的模式。把下面三段模板存成文件,按需调用。

模式一:生成界面

```text

角色:你按 design-rules.md 在 Figma 里搭建界面。

输入:需求描述如下 ——

{粘贴需求,例如"商品详情页需要一块优惠券区域,含标题、两张券卡片、一个查看更多链接"}

步骤:

1. 先列出你打算使用的组件与变量,不要立刻动手;

2. 我确认后,在 04 Screens 下新建画板,命名为 {需求编号}-商品详情-优惠券;

3. 只用 02 Components 里的组件,间距只用 space 变量;

4. 输出:使用的组件清单、变量清单、未能覆盖的需求点。

```

模式二:改稿

```text

角色:你只做最小改动。

输入:目标画板 {画板名},修改要求 {例如"卡片间距从 space/300 改为 space/400,按钮换成 Secondary"};

约束:

  • 只修改该画板内的节点,不触碰其他画板;
  • 不修改任何组件主件;
  • 若要求与 design-rules.md 冲突,先停下来说明冲突点,不要自作主张。

输出:变更节点列表(节点名 + 改动前后),以及这次改动是否引入新变量。

```

模式三:交付检查

```text

角色:你是交付前检查器,只读不写。

逐项检查目标画板,输出 Markdown 表格:

| 检查项 | 结果 | 位置 | 建议 |

检查项:

1. 是否存在硬编码十六进制色值

2. 是否使用了 design-rules.md 之外的颜色或间距值

3. 是否使用了非 02 Components 来源的组件实例

4. 文本样式是否来自 01 Foundations

5. 画板命名是否符合 {需求编号}-{页面名}

6. 是否可以映射到代码组件(若已配置组件与代码的对应关系)

```

第四步:让改稿可控

Agent 改稿出问题,多半是因为"一次让它改太多"。三条实操建议:

先读后写。任何写操作前,要求 Agent 先输出变更清单,人工确认再执行。这一步能挡掉大部分误改。

限定作用域。把任务范围写死到具体画板名,并明确"不要动组件主件"。组件主件一旦被改,所有引用它的地方都会跟着变,排查成本很高。

要求 diff 说明。让 Agent 输出"节点名 + 改动前 + 改动后",这份说明直接贴进评审卡,评审人不用逐个图层点开看。

如果团队用 Git 管理代码,可以顺手加一条:Agent 输出的变量清单,与代码侧的 token 文件做一次比对,差异项在评审里标出来。

第五步:接入评审与交付

把 Agent 的输出接进现有流程,而不是另起一套:

评审阶段。提交 Figma 链接时,同时附上 Agent 生成的变更说明和检查表格。评审人关注三件事:改了什么、为什么这么改、有没有破坏规范。

交付阶段。准备一份固定清单,每次交付走一遍:

```markdown

  • [ ] 画板命名符合规范,位于 04 Screens 下
  • [ ] 无硬编码色值,全部引用变量
  • [ ] 使用的组件均来自 02 Components
  • [ ] 新增变量已补充描述字段
  • [ ] 组件与代码的对应关系已更新(如已使用该能力)
  • [ ] Agent 检查表已附在交付说明中
  • [ ] 不确定项已列出并指派负责人

```

沉淀阶段。把这次踩到的坑补进 design-rules.md。规则文件是活的资产,每补一条,下次 Agent 的返工就少一次。

常见坑与排错

现象常见原因处理方式
连接失败或 401令牌失效、scope 不足、环境变量未生效重新生成令牌,确认 echo $FIGMA_TOKEN 有值
Agent 说"找不到某组件"组件名拼写不一致,或组件在别的文件里先导出组件名清单,人工核对命名
返回内容过大、上下文被撑满一次读取整个文件加 depth 参数,或按页面、按画板分批读取
改稿波及无关页面未限定作用域,或误改组件主件在提示词里写死画板名;改动后检查组件主件是否被动过
生成了不存在的变量模型按命名规律"推测"了一个变量第一步先让它列可用变量清单,确认后再用
每次输出格式都不一样规则文件太笼统在 design-rules.md 里固定输出模板
变量接口报权限错误席位或 scope 不支持检查账号权限,改为手动导出变量表

一条通用排错思路:把 Agent 当成刚入职的同事。它出错时先问"我有没有把规则讲清楚",再怀疑工具本身。

下一步建议

1. 从小范围试点。挑一个模块、一个页面跑通全流程,别一上来就全量铺开。

2. 先整理设计系统,再接 Agent。命名混乱时接 Agent,只会把混乱放大。

3. 把提示词当代码管。规则文件进仓库、走评审、留版本,改动有记录。

4. 加一层自动化检查。把交付清单里的可判定项写成脚本,在 CI 里跑,人工只看结论。

5. 定期回看规则文件。每季度清理一次过时条目,保持规范与实际用法一致。

工具能力在快速演进,涉及具体接口、字段名和权限范围的地方,动手前先看一眼官方文档的当前版本,比照着旧文章抄要省事得多。

AI 生成本文由 AI 基于公开信息自动生成,仅供参考。