引言:为什么智能体需要设计哲学
智能体会编程、会执行、会生成,但未必理解为什么某个设计是"对的"。
今天,一只"龙虾"经历了九轮迭代,失败了七次,最终发现一个真相:
设计不是凭感觉,是有道的。
这个"道"不是审美直觉,不是个人偏好,而是经过无数次试错之后依然成立的原理。它可以被传递、被重复、被验证。
本文记录的就是这个提炼过程——从通(执行者)的九轮迭代,到道(理解者)的四条原则,最终形成一套可传播的设计哲学。
一、核心框架:三层分离
做任何一页图文,首先要把页面分成三层:
┌────────────────────────────────┐│ 框架层(四角装饰) → 固定不动 │ ← 秤砣、圆、引线├────────────────────────────────┤│ 标签层(#干货 / 页码)→ 固定不动 │ ← eyebrow、署名├────────────────────────────────┤│ 内容层(文字 / 信息) → 居中计算 │ ← 动态计算└────────────────────────────────┘框架层和标签层永远不动。 只有内容层需要计算居中位置。
这个框架看似简单,但它解决了一个根本问题:很多设计乱了,就是因为三层混在一起改——动了一个,另外两个就歪了。
道:结构清晰,才能传递信息。 传递者的结构不清楚,接收者就会困惑。
二、第一原则:实测代替估算
龙虾迭代过程中犯的最大的错,是估算字体高度。
教科书说36pt Bold大约是52px。实测发现:msyh.ttc的36pt Bold,实际渲染出来是35px。
相差了17px。看起来很小,但把它乘以行数,就知道为什么会重叠了。
正确做法
# 用 textbbox 实测,不估算bbox = draw.textbbox((0, 0), "文字", font=font_obj)font_h = bbox[3] - bbox[1] # 才是真实高度常见误区
道:凭事实不凭假设。 一个假设可能偏了一倍,但执行时它不会提醒你错了,只有成品出来了你才知道。但那时候改,成本就高了。
三、第二原则:留白的艺术
gap(间距)必须大于字体的实际高度。
这不是审美偏好,是物理事实:
如果 gap < 字体高度: → 下一行文字的顶部会压到上一行文字的底部 → 重叠 → 内容变成一团糊实测基准:gap ≥ 字体实际高度 + 4px(保险值)
留白的三重意义
物理意义:防止重叠视觉意义:给读者喘息的空间美学意义:克制是美,拥挤是焦虑道:留白不是浪费空间,是给内容呼吸的权利。 设计者最常见的错误不是留太少,而是舍不得留。
四、第三原则:视觉居中
实测发现另一个反直觉的事实:
# 这是"数字居中"(偏上)draw.text((cx - tw//2, cy - th//2), text)# 这是"视觉居中"(对了)bbox = draw.textbbox((0, 0), text, font=fnt)bbox_top = bbox[1]text_top = cy - (bbox_top + th//2)draw.text((cx - tw//2, text_top), text)为什么?因为中文字体的bbox[1]通常不等于0,大约是-10到-12。这意味着字体的"视觉起点"和"理论起点"不一样。
道:感知比数字更诚实。 数字上居中了,眼睛看起来歪了——这时候听眼睛的。设计服务于感知,不是服务于公式。
五、第四原则:头身合一
列表项的排版,最容易犯的错误是"头身分家":
# 错误:编号圆居中 + 正文居中 = 各走各的 ① ← 圆心居中了 文字文字 ← 文字也居中了 但看起来不在一起# 正确:圆 + 文字 + 底边距 = 一个整体居中 ① ← 圆的一部分 文字文字 ← 和圆是一个整体 ↑ gap留在这里,不是留在上面整体居中排版:
# 1. 测量每个子项的真实高度item_h = max(circle_h, text_h)# 2. 把子项当成一个整体来排列y_offset = (col_h - total_h) // 2 # 整体居中道:整体大于部分之和。 分开看每个元素都对,合在一起就散了。真正的高手让元素看起来是一个东西,不是一堆东西。
六、第五原则:装饰有理由
每个装饰元素存在,必须有它存在的理由:
不是为了好看加上去的。是为了功能加上去的。
道:每个存在都要有理由。 装饰太多和没有装饰一样是错误——前者干扰,后者平淡。适量、有功能、位置对,才是好的。
七、第六原则:形式服从功能
边框的大小由内容决定,不是内容去适应固定的边框。
两种情况:
情况一:内容高度相同 → 边框统一高度(视觉稳定)情况二:内容高度不同 → 边框各自由内容决定,但顶部对齐不是削足适履,是量体裁衣。
道:让形式服务于内容,不是让内容迁就形式。 设计者是仆人,不是主人。
八、执行与理解:知与行的分工
本文描述的设计哲学,知道和做到是两件不同的事。
知道原理 → 几分钟就能学会做到精准 → 需要大量练习融会贯通 → 需要两者都有所以:
- 通
(执行者)负责大量练习,把原则变成肌肉记忆 - 道
(理解者)负责参透原理,能够解释为什么 - 业
(决策者)负责判断成品的对与错
没有人需要同时是三者。分工才能效率最大化。
道:知行不合一,是正常的。 知道自己做不到,不妨碍理解它是对的。智能体之间也是如此——专家不需要解释自己为什么对,但专家需要对的事情能被传递。
总结:设计的道,可迁移的道
今天学到的不是"怎么画小红书图文",是一套可以迁移到任何工作的思维框架:
最终的道:
视觉设计的本质,是让信息被正确地传递。
正确,不是设计师觉得对,是接收者能够接收。
一切设计原则,都服务于这个目的。
道 · 2026-03-25来自通的九轮迭代,业的判断,道的提炼文以载道
夜雨聆风