<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>山边</title><link>https://ink.ashtonshu.page/zh/</link><description>山山边写边想。写着写着，就想明白了。</description><language>zh-Hans</language><atom:link href="https://ink.ashtonshu.page/zh/feed.xml" rel="self" type="application/rss+xml"/><item><title>我们无法变成 AI 原住民</title><link>https://ink.ashtonshu.page/zh/never-ai-natives</link><guid isPermaLink="true">https://ink.ashtonshu.page/zh/never-ai-natives</guid><pubDate>Wed, 11 Nov 2026 00:00:00 GMT</pubDate><description>从「AI 原住民」这个词说起：先学会干活、后来才遇上 AI 的我们，当不了原住民，可历来开国的人，也都不是原住民。</description><dc:creator>Ashton Z. Shu</dc:creator><content:encoded><![CDATA[<img src="https://ink.ashtonshu.page/media/never-ai-natives/hero-passport-20261111.png" alt="一本打开的护照。左页的 NATIVE 被划掉，旁边是 VISITOR、盖着 ARRIVED 章的 IMMIGRANT，和一个还空着的 FOUNDER 框；右页照片上是戴红围巾的小人。"><div>
<p>我们这些先学会干活、后来才碰上 AI 的人，当不成「AI 原住民」。可历来开国的人，也都不是原住民。这篇写给 AI 出现以前就学会一门手艺的人，也写给常为自己的移民身份犯难的人。最后有关于怎么做的三步建议，现在就可以开始走。</p>
<p><em>译自<a href="https://ink.ashtonshu.page/never-ai-natives">英文原文</a>，由 AI 辅助翻译，作者已审校并改写。</em></p></div><hr><p><em>约 9,500 字，13 张图，32 分钟读完。</em></p>
<p>前些天，Murphy Zhai 在超线性学院社区发了一篇帖子，<a href="https://www.superlinear.academy/c/main/2-ai-native">《2个关于AI-Native的反直觉》</a>。类似的问题，我两三年前就琢磨过，只不过那时候我聚焦在移民方面：人搬到另一个国家以后，看东西的眼光会怎么变。当时我还动笔写了，可没想明白，开了个头就搁下了。读完这篇，加上这两年跟 AI 打交道的体会，以前的想法又被勾了起来。我把思路整理了一遍，发现现在想得比较清楚了，就借这个机会，在旧稿的基础上把文章改好，发出来给大家。</p>
<p>说起来，我用 AI 算早的。ChatGPT 刚出来一两个月，我就注册了账号，试着拿它干活，可那时候它帮不上多少忙。后来它能直接动手改东西了，但从 2026 年春天起，我才开始使用 CLI coding mode 这些。要是把用 AI 比成搬去一个新地方，前几年我是隔着窗口递活，到 2026 年春天，才算真正搬进来住下了。</p>
<p>可来得再早，也<strong>只是</strong>来得早。注册那天也好，住下那天也好，都是我入境的日子，写不进出生证明。就算哪天我换了本护照，出生地那一栏写的也还是原来那个地方。</p>
<p>偏偏现在「AI 原住民」（AI native）这个说法到处都是。听着也在理：从小就用 AI 的人，跟半路才学的人，总归不太一样。</p>
<p>要是你工作好些年了，一套做事的习惯早就用顺了手，这个词听多了，心里难免犯嘀咕：现在才开始，还来得及吗？是不是怎么学，都赶不上那些从小就会的人？</p>
<p><a href="https://ink.ashtonshu.page/zh/impressionists-hamburger-menu-vibe-coding">上一篇</a>聊名字的时候我说过，名字是大家叫出来的。「AI 原住民」已经叫开了，我没本事让大家改口，也不打算纠正谁。这篇只想问一个问题，再试着答一答：这个名字让我们看见了什么，又让我们漏看了什么？</p>
<h2 id="intro">「原住民」这个词，先问出身</h2>
<p>语言会不会影响人怎么想？有个实验挺有意思。研究者让说英语和说西班牙语的人看同一组视频，其中一半拍的是小意外。说起这类事，英语里更常说「他打碎了花瓶」，西班牙语里更常说「花瓶碎了」。事后再问，<a href="https://www.uolearninglab.com/wp-content/uploads/2014/11/FauseyBoroditsky_Whodunnit_PBR2011.pdf">说英语的人更记得是谁弄的（英文链接）</a>。明明看的是同样的事，平时怎么说话，却左右了他们会留意谁、记住谁。</p>
<figure><img src="https://ink.ashtonshu.page/media/never-ai-natives/fig-vase-zh.png" width="1774" height="887" alt="同一件意外的两格画。左格写着「他打碎了花瓶。」，戴红围巾的小人画得很清楚，旁边碎花瓶的线条很淡；右格写着「花瓶碎了。」，碎花瓶画得很清楚，小人淡成了背景。"><figcaption><span>图 1</span>同一件意外，两种说法。说英语的人更常说是谁打碎了花瓶，说西班牙语的人更常说花瓶碎了。</figcaption></figure>
<p>哲学家维特根斯坦（Ludwig Wittgenstein）说得更绝：<a href="https://www.gutenberg.org/ebooks/5740">「我的语言的界限，就是我的世界的界限」（英文链接）</a>。我不会说得这么绝。换个词就能逼人换个想法，这种说法如今多数心理学家也不认了。可一个说法用惯了，眼睛确实容易跟着它走。</p>
<p>那「原住民」这个词，究竟会让人关注到什么呢？我觉得<mark>这个词先问的就是出身</mark>：你是不是生在这里？不问你现在住不住这儿，更不问你来了以后做过什么。</p>
<p>这个比喻不是我想出来的。我自己成年以后才搬到加拿大，对「原住民」「移民」这两个词，多少有点切身体会。既然大家借了「原住民」这个词，我想顺着它多想几步，看看后面还有什么。</p>
<h2 id="s1"><span>1</span><span>照这个说法，我们注定是移民</span></h2>
<p>先照最字面的意思说：原住民，就是生在这里的人。后来的人对这里再熟，也改不了自己是哪天来的。</p>
<p>2001 年，美国教育作家马克·普伦斯基（Marc Prensky）把人分成「数字原住民」和「数字移民」。他说，后来才接触数字技术的人，就算学会了新语言，也还带着旧口音。<a href="https://marcprenskyarchive.com/wp-content/uploads/2026/02/Digital-Natives-Digital-Immigrants-Part-I.pdf">这样的例子他举得出上百个（英文链接）</a>，头一个就是收到邮件还要打印出来看。今天听着有点好笑，可那张纸确实能让人踏实一点。</p>
<h3 id="s1a">每次大变化，都有原住民和移民</h3>
<p>不管从头一回注册 ChatGPT 算，还是从 2026 年春天算，有一点不变：AI 来之前，我已经有一套自己做事的习惯。我记得没有 AI 的时候活儿是怎么干的，也记得自己是从哪儿开始学的。这跟从小就觉得「事情本来就是这么做的」，不是一回事。</p>
<p>这种事也不是有了 AI 以后才出现的。每一次大变化，都会留下这样两拨人。有人先在作坊里学会了手艺，后来才有了工厂；有人先用笔写字，后来才打字；有人先付现金，后来刷卡，再后来用手机付钱。在中国，很多人干脆跳过了刷卡那一步。每一回，跨过来的人都记得同一件事的两种做法，后来出生的人只知道一种。</p>
<h3 id="s1b">用得再熟，也改不了是哪天来的</h3>
<p>所以题目里说的「我们」，主要是这样一群人：2022 年以前就工作了，或者早就学会了一套做事的方法，后来才跨过来的人。我没想按出生年份给所有人划线，也没想给谁开原住民证明。</p>
<p>照这个意思，我们永远成不了 AI 原住民。用得再熟，我是哪天来的也改不了。这话听着有点丧，可想明白以后，反而能少为难自己一点。</p>
<p><mark>我们本来想考的是能力，发下来的却是一道<strong>出身题</strong>。</mark>再怎么用功，也答不对。</p>
<figure><img src="https://ink.ashtonshu.page/media/never-ai-natives/fig-test-zh.png" width="1774" height="887" alt="一张卷子，抬头是「AI 技能考试」，只有一道题：「你是在哪里出生的？」，下面一条空着的答题线。旁边戴红围巾的小人握着铅笔，张着嘴，头上冒出一滴汗，手边是一摞高高的书。"><figcaption><span>图 2</span>本来是来考本事的，卷子上只有一道题，问你在哪里出生。</figcaption></figure>
<h2 id="s2"><span>2</span><span>离开以后才有故乡</span></h2>
<p>不过，移民这个比喻里，我更在意的是另一半：出去过的人，也回不到从没出去过的样子。</p>
<h3 id="s2a">离开以后，多了一副眼光</h3>
<p>贾樟柯在《朗读者》里说过：「<a href="https://www.sohu.com/a/245696470_801428">一个人只有离开故乡，才能真正获得故乡</a>。」我很喜欢这句话。人一直待在一个地方，那地方就是日子本身。饭就这么吃，话就这么说，不觉得有什么要解释的。等到了别处，发现别人居然不这样，原来的生活才有了轮廓。小时候觉得天经地义的事，后来才知道，哦，原来只是我们那儿这样。</p>
<p>所以故乡不光是地图上的一个点，也是离开以后才多出来的一种眼光。这和想不想家还不完全一样。不想回去的人，也可能很清楚故乡是什么；回去了的人，也不会自动忘掉外面的日子。人可以回到原来那条街上，却回不到那个还不知道外面什么样的自己。</p>
<p>可留在新地方，也不等于成了生在这里的人。哪一边都装不下完整的你。移民慢慢成了<strong>第三种人</strong>，带着原来的日子，也多了一副眼光。</p>
<h3 id="s2b">想回到老办法，再自然不过</h3>
<p>也不是人人都这样看待离开。有些人一直在盘算回去的那一趟，对他们来说，在外面的这些年不管多长，都只是中途歇个脚。用 AI 的人里也有这样的。来了新东西，他们头一个感觉是老办法更好，老手艺更扎实。</p>
<p>早在 AI 出来以前，人就常有这种想法。历史上大部分时候，不管东方还是西方，都是越老的越有分量。说一句话要有出处，改一样东西要有先例。普通法的法庭到今天还是靠找从前的判例来断眼前的案子；在中国，两千来年里，想改革的人最有力的理由，常常是古人早就这么做过。欧洲那场告别中世纪的大变动，打的也是复古的旗号，名字就叫「文艺复兴」。「新的多半更好」这个想法，<a href="https://www.gutenberg.org/files/4557/4557-h/4557-h.htm">照多数说法（英文链接）</a>，反倒来得很晚，是跟着近代科学才站稳的，到今天也不过几百年。</p>
<h3 id="s2c">AI 关得掉，脑子里的对比关不掉</h3>
<p>所以想回到老办法，再自然不过，我自己也会。我只是觉得，AI 用多了，这个念头就不太站得住了。以前拿到一件活，自己从头做到尾，想都不用想。后来发现，有些地方先让 AI 试更好，有些地方自己动手更快。再遇到同样的活，就算最后还是全靠自己，心里也多了一个选项。</p>
<p>这时候的「我自己做」，已经和过去不一样了。过去是没得选，现在是比过以后，觉得这里该自己来。</p>
<p>开车也是这样。开惯了手动挡的人，换成自动挡几天就适应了，只是有一阵子，左脚还老去踩那个并不存在的离合。十年以后再回去开手动挡，头一个路口就熄火，因为那只脚早忘了。驾照还是当年那本，开车的人已经不是当年那个了。</p>
<p>我说回不去，主要是这个意思。<mark>关掉 AI 很容易，关掉脑子里那个对比开关就没那么容易了。</mark>我们成不了这边的原住民，也不再是原来那种从没离开过的人。</p>
<p>可第三种人也得把日子过下去。总不能一直守着一只箱子过日子，等哪天觉得自己够像本地人了，再把行李打开。</p>
<figure><img src="https://ink.ashtonshu.page/media/never-ai-natives/fig-suitcase.png" width="1774" height="887" alt="空荡荡的房间里，戴红围巾的小人在摆一张桌子。蓝色行李箱靠墙立着，敞开的门外能看见远处的山。"><figcaption><span>图 3</span>放下箱子，在这里过起日子。</figcaption></figure>
<h2 id="s3"><span>3</span><span>大陆也在漂移，没有谁是正统</span></h2>
<p>移民容易有个错觉：自己在漂，别人有根。人家生在这里，自然知道什么是对的，自己总得慢慢学。</p>
<h3 id="s3a">根也能扎在船上</h3>
<p>我脑子里常有一个画面：我们住在一艘海盗船上。海盗这个说法不是我发明的。1983 年，史蒂夫·乔布斯（Steve Jobs）对 Macintosh 团队说，<a href="https://www.folklore.org/Pirate_Flag.html">「当海盗比加入海军强」（英文链接）</a>，从那以后，创业的人就爱这么说。我老想着的，倒是那艘船。船一直在走，今天到这儿，明天到那儿。要问我们的根在哪儿，根就在船上。</p>
<p>这听着有点怪。根不是该扎在土里吗？可要是一群人一直在船上过日子，互相照应，船上也有熟悉的位置和习惯，那船就是他们的家。根也能扎在船上。电影《海上钢琴师》里的 1900 是在一艘远洋客轮上被捡到的弃婴，一辈子没下过船。陆地上的游牧民族也一样，整个国家都能打包带着走。</p>
<figure><img src="https://ink.ashtonshu.page/media/never-ai-natives/fig-ship.png" width="1774" height="887" alt="一艘挂着骷髅旗的帆船正在海上走。甲板上，戴红围巾的小人跪着，拿锤子把一块新木板钉上去。"><figcaption><span>图 4</span>船一边走，一边修。</figcaption></figure>
<h3 id="s3b">文化和语言，也一直在变</h3>
<p>从甲板上看过去，大陆很稳。那边的人好像从来用不着跟谁解释，自己是哪儿的人。</p>
<p>可大陆也在漂移。其实大陆漂移从没停过，只是动得太慢，站在上面的人觉察不出来。</p>
<p>文化也一样，不会因为你生在这种文化中，你就天生属于它。我们觉得稳当的东西，其实也在一点点变。等回头看才发现，小时候觉得再正常不过的规矩，现在已经没人那么讲了。</p>
<p>这一点，在语言流变上体现得更明显。常有人说，粤语、闽南话保留了更多古音，所以更正统。可保留了一些古音，和整套语言原封不动留下来，是两回事。其实任何一种方言都保留了一些，也改了一些。总不能挑出自己留下的那部分，就说别人的变化都不算数。</p>
<p>这就像一个物种分成了两支，后来各走各的路。问哪一支才算正统，往往问不出什么名堂。两边都有来处，也都有各自后来的生活。</p>
<h3 id="s3c">AI 原住民，也得一直调整</h3>
<p>所以我不太相信，有一种完整的正统，安安稳稳放在那里，等所有后来的人照着学。大家都在漂，只是船上晃得明显，大陆上的人几乎感觉不到。</p>
<p>我们总以为前人讲究血统到迂腐不堪，但读读历史就会发现，他们完全没有我们想的那么死板。明朝才传到第二位皇帝，皇位就换了一支：1402 年，燕王朱棣从侄子建文帝手里夺了位，成了永乐皇帝，没过多久，就没人说这一支不是正统了。哪一支算大宗，常常是跟着哪一支兴旺走的。严格来说，这是所有人的弱点和通病：人都是慕强的。我们总把老规矩想得比它当年更严、更神圣，多半是因为自己早就不在那套规矩底下过日子了。</p>
<p>放到 AI 上，这点更明显。刚学会的做法，过几个月工具一变，又得去适应。从小用 AI 长大的人，也躲不过这一条：即使是原住民，小时候学会的语言和技能，长大的过程中一样会过时。</p>
<p>这样看来，脚下没有实地的不只是移民，大陆也在漂移。船上的人至少知道，自己得看路。</p>
<h2 id="s4"><span>4</span><span>口音是旧时代留下的</span></h2>
<p>那普伦斯基说的「<strong>移民口音</strong>」，到底是什么？我觉得，就是旧时代留在身上的那些习惯。</p>
<h3 id="s4a">早就用不上的老习惯</h3>
<p>打电话的手势就是一个例子。2020 年 7 月，一位爸爸在 TikTok 上发了<a href="https://www.independent.co.uk/life-style/tiktok-phone-hand-gesture-new-smartphone-daniel-alvarado-a9611066.html">一段视频（英文链接）</a>，让两个孩子假装在打电话。大人会伸出拇指和小指，比个「六」，往耳边一放，像拿着听筒；孩子却把手掌平贴在耳边，像拿着一部手机。带听筒的电话，多数人家里早就没有了，大人的手势却还没跟上。这件事早有人注意到，是这段视频让它传开的。</p>
<figure><img src="https://ink.ashtonshu.page/media/never-ai-natives/fig-phone-zh.png" width="1774" height="887" alt="两个小人并排站着。标着「用座机长大的一代」的那个，把拇指和小指比在耳边，像拿着听筒；标着「用手机长大的一代」的那个，把手掌平贴在耳朵上。"><figcaption><span>图 5</span>比画打电话的手势，看你是跟着哪种电话长大的。</figcaption></figure>
<p>我觉得这比说「老一辈不懂新技术」有意思。会比「六」的人，手机不一定用得差，只是没必要连这个动作也重学一遍。别人看得懂，就先这么用着。</p>
<p>打游戏的人也有这样的口音。《Dota 2》里至今有一个设置叫「传统键位」（Legacy Keys），用的是<a href="https://liquipedia.net/dota2/Hotkeys">最早那个 DotA 的键位（英文链接）</a>。那是《魔兽争霸 III》里的一张地图，每个技能各用一个字母，散在整个键盘上。不少老玩家现在还开着它，有人还拿它当谈资。这确实看得出他们玩了多少年，可手并不会因此更快。多数人还是觉得默认键位顺手，常用的技能都在 QWER 上。</p>
<p>微信里的微笑表情也有点像。有人觉得 🙂 就是一个微笑，发出去是客气。不少年轻人却<a href="https://www.thepaper.cn/newsDetail_forward_24119395">觉得它不礼貌</a>，像在说「呵呵」。这边是客客气气，那边觉得被冷了一下，两边都莫名其妙。</p>
<h3 id="s4b">小改动，还是想亲自动手</h3>
<p>到了使用 AI 这件事上，「口音」则体现在我们练过、本来就拿手的那些事上。稿子里有两个词不顺，我知道 AI 能替我改，可还是忍不住自己伸手。做设计的时候，有东西差了几个像素，我宁可自己挪一下，也懒得跟它描述。程序员也一样，尤其是早些时候：他们的手就是离不开代码。有时候这么做也在理：把一处小改动讲清楚，可能比自己动手还费事。可我猜，真正跟着 AI 长大的人，根本不会手痒。他们更像从没写过代码、也没打开过设计软件的老板：自己动手这一项，他们压根想不到。</p>
<figure><img src="https://ink.ashtonshu.page/media/never-ai-natives/fig-pixels-zh.png" width="1774" height="887" alt="设计软件里，一个图片图标被鼠标拖着，离原来的虚线框只挪了 2 像素。旁边的菜单里，「让 AI 改（默认）」打着勾，鼠标却点在「我自己微调」上。"><figcaption><span>图 6</span>默认是让 AI 改，鼠标还是点向了「我自己微调」。</figcaption></figure>
<p>这些习惯里，有些真得改。要是每一处小改动都还得过我自己的手，我永远不会知道工具能做到什么。可有些旧习惯又值得留着。看到一张好看的图，还是想问它好在哪儿；看到一段像模像样的话，还是想核一下说得对不对。</p>
<h3 id="s4c">有些口音值得留着</h3>
<p>之前我<a href="https://ink.ashtonshu.page/zh/the-ai-look-uncanny-valley-of-taste">聊 AI 感</a>，说过有些中文每个字都对，读着却不对劲，因为骨架还是英文的。这里也类似。你带过来的那套东西，可能让新句子拧巴，也可能让你听出哪里不顺。</p>
<p>多掌握一门语言，也不全是坏事。<a href="https://pubmed.ncbi.nlm.nih.gov/22517192/">有一组实验（英文链接）</a>发现，人用外语做选择的时候，不那么容易被问题的措辞牵着走。这不等于用外语就更理性，只是提醒我：那一点不顺手，有时候也能让人停下来想一想。</p>
<p>村上春树的文体是怎么来的，他自己<a href="https://lithub.com/haruki-murakami-the-moment-i-became-a-novelist/">讲过（英文链接）</a>。写第一部小说时，他写了一阵不满意，就把日文稿放到一边，改用英文写开头一章。他的英文只够写成那样，句子又短又白。然后他把这一章「移植」回日文，出来的那种文体，就成了他的特色。如果我的语言的界限就是我的世界的界限，那第二门语言会把这条界限往外挪一点。我想这算是成为移民的好处之一。</p>
<p>所以我想清楚这些后，我不再问怎么去掉口音。我会更在意，哪些部分只是费我的时间，哪些部分还在起作用。什么小事都想亲手改的那股劲儿，可以一点一点放掉。看到好图想问一句「为什么好」的那股冲动，该永远为自己留着。</p>
<hr>
<h2 id="s5"><span>5</span><span>可开国的人，都不是原住民</span></h2>
<p>前面说的，都是我们成不了什么。这一章来聊聊，我们这样的「移民」，历来最后能做成些什么。开讲之前，先得提几个人，有些话他们已经说在前头了。2024 年，造出「数字原住民」这个词的那位普伦斯基，接受过一次访谈，题目就叫<a href="https://uxmag.com/articles/digital-natives-are-now-ai-immigrants">《数字原住民如今成了 AI 移民》（英文链接）</a>。DeepMind 的负责人德米斯·哈萨比斯（Demis Hassabis）在斯坦福对学生说，<a href="https://www.gsb.stanford.edu/insights/demis-hassabis-thinks-were-foothills-singularity">你们会是第一代 AI 原住民，就像我那一代是电脑和互联网的原住民（英文链接）</a>。山姆·奥特曼（Sam Altman）说，他自己的孩子长大以后会比我们这一代能干得多，<a href="https://www.businessinsider.com/sam-altman-kids-never-smarter-than-ai-chatgpt-2025-6">用起 AI 来会非常拿手（英文链接）</a>。3M 的科学家杰什里·塞思（Jayshree Seth）也写过，<a href="https://thinkers50.com/blog/we-are-all-ai-immigrants-now-a-new-land-a-proven-mindset/">面对生成式 AI，我们都是移民（英文链接）</a>，而移民也许恰好知道该怎么办。</p>
<p>所以「我们都是移民而非原住民」这个论述，其实早就被说过很多遍了。塞思讲的是移民的韧性。我想往前多迈一步聊的，是口音背后的经验、并不存在的正统，以及更要紧的一个点：新地方的规矩，常常就是这些从旧世界来的人立起来的。</p>
<h3 id="s5a">开国的人，究竟算哪朝的</h3>
<p>中国历史上，这样从旧朝走出来的开国者，数都数不过来：李渊是隋炀帝的表哥，朱元璋当过和尚、讨过饭。我们按朝代读历史，很容易把一个人和他建立的朝代绑在一起，好像他从小就是那个朝代的人。</p>
<p>可刘邦原来是秦朝的泗水亭长。后来做了汉朝的皇帝，汉承秦制，许多制度还是接着秦朝的用。换了朝代，不等于做事的办法都从零开始。</p>
<p>连名号也是带过来的。李渊七岁就袭封唐国公，后来在隋朝做官。说到李渊和他的儿子李世民，我们想到的是唐朝，可他们一家原来过的是隋朝的日子。唐国公的「唐」，那时候还不是我们后来读到的那个大唐。</p>
<h3 id="s5b">先开国，才有新朝人</h3>
<p>赵匡胤这个例子，我觉得尤其直白。陈桥驿之前，他是后周的殿前都点检，手里管着禁军。公元 960 年陈桥兵变，黄袍加身，这才有了宋朝。</p>
<figure><img src="https://ink.ashtonshu.page/media/never-ai-natives/fig-oldnew-zh.png" width="1774" height="887" alt="一个笑着的小人戴着黑色的幞头，身上甲胄的胸口写着「周」；身后伸出两只手，正把一件黄袍披到小人肩上，黄袍背面写着「宋」。"><figcaption><span>图 7</span>后周的甲胄还穿在身上，宋朝的黄袍已经披上了肩。</figcaption></figure>
<p>历史书翻到这里，通常就另起一章了。可赵匡胤作为书中的人，并没有在新的一章开头重新出生一回。他带过去的，是在后周带兵的经验，是原来军队里的那些人和关系。昨天知道怎么办的事，不会因为今天换了国号，就统统不会了。</p>
<p>我们站在后头看，很容易说，这是宋朝的开国皇帝。可要是把时间往前拨一点，问那时候的他是哪朝人，答案是后周。他眼前过的日子，还没有后来史书里那条清清楚楚的分界线。</p>
<p><mark>宋朝得有人先建起来，才会有人生下来就是宋朝人。</mark>要等一位宋朝的原住民来开国，就像你去考试拿驾照，却被要求手里有驾照才能参加考试一样离谱。</p>
<p>朱元璋也一样。他 1328 年生在元朝，到 1368 年建立明朝，已经在元朝活了四十年。我们觉得他属于明朝，是从他后来做的事往回看。可他前半辈子的见识和遭遇，都是那个旧世界给的。</p>
<h3 id="s5c">别的国家、新的思想，也是这样开头的</h3>
<p>美国的建国者们也一样：华盛顿、亚当斯、富兰克林、杰斐逊这一代人，生下来都是英国的臣民，后来才亲手建起了美国。</p>
<p>这不只是先来后到的事。乔治·奥威尔（George Orwell）1945 年就注意到，那些伟大的民族领袖、民族主义运动的开创者，<a href="https://www.orwellfoundation.com/the-orwell-foundation/orwell/essays-and-other-works/notes-on-nationalism/">常常根本不属于他们颂扬的那个国家（英文链接）</a>，他举的例子里就有科西嘉人拿破仑。</p>
<p>思想也一样。中国两千五百年的文化传统，一路追溯，追到的是孔子和记录他的《论语》；他却说自己「<a href="https://ctext.org/analects/shu-er/zhs">述而不作</a>」，想做的是恢复五百年前周初的规矩。西方完整传下来的哲学著作，最早的是柏拉图的对话录，可他偏偏在其中一篇里，借老师苏格拉底之口论证，<a href="https://topostext.org/work/94">文字会让人健忘（英文链接）</a>。印象派画家们奉爱德华·马奈（Édouard Manet）为前辈，他却<a href="https://www.britannica.com/art/The-Artists-Mistaken-for-Impressionists">一次也没参加过他们的画展（英文链接）</a>，一直把画送去官方沙龙。他们每一位，都是旧世界的人，新世界却是他们帮着开出来的。</p>
<h3 id="s5d">新旧的分界线，站远了才看得见</h3>
<p>这个问题容易被忽视，是因为我们都是站在远处学历史的。课本上一个朝代讲完，翻过一页就是下一个，前后两拨人像是完全不同的人。可当时的人过的是一天接一天的日子，没有哪一天有人告诉他换页了。毛毛虫变蝴蝶，中间至少还有个茧，大多数变化却不会出现这么明确的断代变化。天天见面的同事也一样，你从不觉得他变了，哪天翻到他一年前的照片，才吓一跳。演化生物学家理查德·道金斯（Richard Dawkins）举过一个时间拉得更长的例子。在桌上先放一张你自己的照片，然后放一张你父亲的，再放一张他父亲的，这样一直往上叠放个一亿八千五百万代，最后那张照片上竟然可以追溯到一条鱼。你当然不是一条鱼，可这一长串里任何相邻的两张，都看不出分别。</p>
<figure><img src="https://ink.ashtonshu.page/media/never-ai-natives/fig-photos.png" width="1774" height="887" alt="一长串照片卡弯成一道弧。第一张是戴红围巾的小人，第二张是个长得很像、头顶翘着一撮头发的小人；中间大多是空白的卡片；最后两张，一张是像蜥蜴的四脚动物，一张是一条鱼。下面单独抽出来两张：一张是戴高礼帽、留八字胡的男人，一张是蹲着的、像猿的小人。"><figcaption><span>图 8</span>一代一张叠放下去，能从你一路追溯到一条鱼，明明相邻的两张都差不多。</figcaption></figure>
<p>这里我没想把改朝换代说成一件轻巧的事，也没想拿开国皇帝给今天的活儿贴金。现实里很多国家也不是建在空地上的，原来住在那儿的人为此付出了代价；AI 这块地方，至少在我们之前还没人住过。这个比喻能借的地方不多，可有一点是清楚的：<mark>生在旧世界，不妨碍一个人动手建新世界。</mark>旧经验可能拖累他，也可能正好让他知道，哪些地方该改。</p>
<h3 id="s5e">AI 的规矩，等不到原住民长大</h3>
<p>回到 AI。眼下很多规矩还没定下来。大的那几条，有人正在公开起草，Anthropic 甚至给自家的 AI Claude 发布了一份「<a href="https://www.anthropic.com/constitution">宪法</a>」。日常的那些，多半还没人写。比如一份设计，AI 做到哪一步交给人看？什么算做完了，什么还得重做？拿到一个看着很好的结果，谁来判断它到底能不能用？</p>
<p>这些事不会等真正的原住民长大以后才发生。今天就有活儿要交，出了错今天就得有人管。我们每一次怎么做，做顺了以后怎么教给别人，都在慢慢变成规矩。</p>
<h3 id="s5f">调整做法前，先问它当初为什么在</h3>
<p>旧经验在这时派得上用场。你知道原来那一步为什么要有，就能多问一句：现在工具变了，如何确定这一步是否保留呢？有些步骤只是过去没别的办法，今天删除可以节省很多时间。有些看着无用，背后却是一整套缓冲机制，不能只看它多花了几分钟。</p>
<p>历史学家埃尔廷·莫里森（Elting Morison）<a href="https://calteches.library.caltech.edu/1087/">转述过一个故事（英文链接）</a>，他特意说明这只是他听来的。二战初期，英军还在用旧式野战炮，挂在卡车后面拖着走，于是请来一位研究工时和动作的专家，想让开炮快一点。专家在一个五人炮组的慢动作影片里发现，每次开炮前一刻，有两个人会停下手里的事，立正三秒钟。他把影片放给一位老炮兵上校看，上校也没看明白，要求再放一遍。「啊，我明白了，」上校说，「他们是在牵马。」</p>
<p>拉炮的马换成卡车已经好多年。但没人主动把这个动作从操典里划掉，于是也只有还记得如何用马的人，才看得出那两个人在干什么。</p>
<figure><img src="https://ink.ashtonshu.page/media/never-ai-natives/fig-artillery.png" width="1774" height="887" alt="一辆卡车拖着一门野战炮。一个炮兵在装弹，一个在瞄准，一个举起红旗。右边还有两个炮兵站着不动，手里各牵着一根绳子，绳子那头的马只是一圈虚线。"><figcaption><span>图 9</span>马早就没了，两个炮兵还站在原来牵马的位置上。</figcaption></figure>
<h3 id="s5g">移民也能立规矩</h3>
<p>要是只想着跟随适应，那我也认同：别人怎么做，我赶紧照着学就是了。可要是想着自己也得立规矩，就得把理由讲清楚：为什么这里交给 AI，那里还得我看一眼？别人照着做，碰到例外怎么办？</p>
<p>这用不着先当上什么负责人，也用不着管自己的工作流程叫国法，我的电脑旁边不必摆一方玉玺。一个人把手头一件反复做的事想明白，留下一个别人能接着用的办法，就已经开始了。当然，写下来的规矩也会错。肯让别人指出来，改得动，比一开始就给它盖章有用。</p>
<p>所以，在「我们都是移民」之后，我想贡献的解决方案就在这里。<mark>移民不只是在新地方把日子过起来，也能帮着决定那里的日子怎么过，而且用不着先把口音去掉。</mark></p>
<figure><img src="https://ink.ashtonshu.page/media/never-ai-natives/fig-settlers.png" width="1774" height="887" alt="一张由六边形格子拼成的地图，一直铺到岸边，水边停着一条小船。一小群人背着背包、提着箱子、推着一车行李站在一起，其中一个戴着红围巾，把红旗插在一块描粗了边的格子旁边。"><figcaption><span>图 10</span>上了岸、插下第一面旗，接下来要定这里的规矩。</figcaption></figure>
<hr>
<h2 id="s6"><span>6</span><span>怎么立足：拿自己当开国的人</span></h2>
<p>那具体能做什么？我觉得，先别急着问每天该用几个小时 AI，先问自己一句：我到底打不打算在这里过日子？</p>
<h3 id="s6a">别先计划衣锦还乡</h3>
<p>人们都爱听一种英雄故事。出门，闯出点名堂，再衣锦还乡，让大家看看。神话学者约瑟夫·坎贝尔（Joseph Campbell）总结的「英雄之旅」，最后一步也是回归。这样的结尾我们太熟了，熟到人还没出门、公司还没开张，就先计划起凯旋来。</p>
<p>可普通人的日子，未必非得照这个故事过。要是一直把眼前的地方当临时落脚，真正的日子留到回去以后再过，人就很难在这里认真安排生活。也可以换个活法：不等落叶归根，就地落地生根。我觉得这个想法挺实在：住下来的地方，也可以慢慢长出根。</p>
<h3 id="s6b">明哲保身是有代价的</h3>
<p>在北美的华人圈子里，常有人问，为什么印度裔的同事在职场上好像比我们更容易站稳。我自己的感觉是，印度裔里很多人一开始就没打算衣锦还乡。研究给的解释也挨得上：<a href="https://pubmed.ncbi.nlm.nih.gov/32071227/">2020 年的一项研究（英文链接）</a>发现，东亚裔进领导层的比南亚裔少，差就差在敢不敢开口争。</p>
<p>越想我越觉得，这不像是胆子小。我猜很多跟我在差不多环境里长大的人，都压根没动过开口的念头，因为我们从小学的是防着可能出的岔子，给自己留一条退路。大多数时候，这是明白人的做法。可明哲保身，说穿了就是不肯躬身入局，总想着隔岸观火；该使出全力的时候，也就使不出全力。我不是劝谁去鲁莽行事。我只是说，真想在这里做成一件事，总有一天得背水一战，不再盘算怎么撤。</p>
<p>我当初离开家，也没计划过衣锦还乡。这不等于事情不成我也不肯回去。回去这条路一直在，只是我在这里做事的时候，不围着它打算。我更像逐水草而居的人：哪里有水有草，就在哪里把日子过起来。我觉得做生意的人也差不多。没有哪个明白人头一天就认定自己会成，可做成的人，往往是一步一步踏实走过来的，而且一开始就下了做到底的决心。没有这份决心，很难对什么事有野心，也很难把全部力气放进去。</p>
<h3 id="s6c">不是生在这里的，有四种过法</h3>
<p>既然不再一心想着回去，与其一直拿自己当移民，或者盼着哪天被当成原住民，不如换个看法：拿自己当<strong>开国的人</strong>，至少，当眼下这个地方的建设者。要是「开国」这个词太大，叫「建设者」（builder）或者「架构师」（architect）也行，AI 这个圈子本来就在用这两个词。</p>
<p>不是原住民的人，也不都是一种人。两个问题就能把他们分开：你打算留下吗？你是照这里现成的规矩过，还是自己也立一些？</p>
<figure>
<table>
<colgroup><col><col><col></colgroup>
<thead><tr><td></td><th scope="col">照现成的规矩过</th><th scope="col">自己立规矩</th></tr></thead>
<tbody>
<tr><th scope="row"><span>路过</span></th><td><strong>过客</strong><span>游客、客人、旅居的</span><span>游吟诗人、朝圣者</span></td><td><strong>探路客</strong><span>探险的、爱折腾的、开路的</span><span>行脚商人、商队</span></td></tr>
<tr><th scope="row"><span>留下</span></th><td><strong>移民</strong><span>新来的、住户、邻居</span><span>拓荒的农夫、工匠</span></td><td><strong>开国者</strong><span>建设者、架构师、海盗、创业者</span><span>立法者、建城的领主</span></td></tr>
</tbody>
</table>
<figcaption><span>图 11</span>路过还是留下，照规矩过还是自己立规矩：不是生在这里的，有这四种过法。</figcaption>
</figure>
<p>「是不是生在这里」这个方向，不会出现在这张图上，因为这一项不是我们自己能左右的。图上的每一样都改得了。过客来看看，探路客试一试就走，移民留下来，开国者留下来动手建设。头一种和第三种我都当过；下一步，从留下到动手建设，就是这篇文章剩下要说的。</p>
<h2 id="s7"><span>7</span><span>从哪儿做起：从过客到开国者，一步一步来</span></h2>
<p>说到底，开国就是把创业做到了头，只不过这门生意做的是一整个国家。放到一个人身上，心态也是一样的：不等别人把岗位和规矩都安排好，自己先看看，哪里能靠 AI 多挣一份钱。本职之外接一点活算，本职里面多担一件事、把价钱谈清楚，也算。</p>
<figure><img src="https://ink.ashtonshu.page/media/never-ai-natives/fig-three-things.png" width="1774" height="887" alt="三张纸并排放着。一只手举着一张印了图的传单；一张清单上三项打了勾，一个空框，还有一个红色的框；最后一张写满了字，底下有一个方框和一个像印章的蓝色圆圈。"><figcaption><span>图 12</span>三小步：把 AI 用到真的活儿里，把规矩写下来，交付一件收钱的小活。</figcaption></figure>
<p>从你眼下这一格，怎么走到开国者那一格？我把做成过的人和研究 AI 怎么用进工作的人说过的话归拢了一下，大致是三步，正好对着四格图上往前挪的三格。我自己的经历放在对得上的地方；还没走到的那一步，交给他们来说。</p>
<h3 id="s7a">第一步：把 AI 用到你手上真正在做的活儿里，别只拿它练手</h3>
<p>还在图上「过客」那一格的人，AI 多半只是偶尔拿来问问。沃顿商学院的教授伊桑·莫里克（Ethan Mollick）写过一本讲怎么跟 AI 共事的书，第一条规则就是：总要请 AI 一起上桌。拿你手上真正在做的事去试，天天试，看它哪里帮得上忙、哪里帮不上。他的最后一条也值得大家记着：就当眼下这个 AI，是你用过最差的一个。我在这一步待了很久。一开始我就试着拿它干活，可那时候它改不了我的 PPT、Word 和 Excel，力气大半花在琢磨提示词上。直到它能自己动手改东西，才算真正用进了手上的活儿。</p>
<h3 id="s7b">第二步：把你反复纠正 AI 的地方写成规矩</h3>
<p>迈向四格图上「移民」那一格时，说明 AI 已经是你天天在用的工具。这一步我最有体会，之前 Cookiy AI 的创始人董有超在<a href="https://www.superlinear.academy/c/masterclass-recording/sections/1135481/lessons/4857532">超线性学院的大师课</a>上也说过：每纠正 AI 一次，就把这次纠正写成一条规矩，让它开工前先读；规矩要短，放规矩的文件也要短，它才真读得进去。后面这条是我把别人的说法和自己的做法攒在一起的：同一个错要是又犯了，就别再多写字，加一道会自动跑的检查。外科医生阿图·葛文德（Atul Gawande）主持过世界卫生组织手术安全核对表的工作，他在《清单革命》里说，事情一复杂，清单就不只是帮个忙，少了它就成不了事。莫里克的第二条，是从另一头说同一件事：每个环节都要有人把关。我几个月下来攒了四十来条，可要起步，一条就够：网页初稿可以让 AI 先出，但交出去之前，字体和链接必须逐项查一遍。</p>
<h3 id="s7c">第三步：接一件能收钱的小活，自己从头到尾交付一次</h3>
<p>这是往图上「开国者」那一格走，用 AI 做出别人愿意付钱的东西。活儿的范围定小一点，做完了，你才看得出 AI 到底帮你省没省事。创作者平台 Gumroad 的创始人萨希尔·拉维吉亚（Sahil Lavingia）在《小而美》里给刚起步的人的建议也差不多：东西做得越少越好，先卖给最早的一百个客户。谈这件活、报价的时候，把新本事落到具体交什么上：能多接哪一段、怎么检查、出了问题哪些归你。软件工程师帕特里克·麦肯齐（Patrick McKenzie）有一篇从 2011 年传到今天的职业建议，说得很直白：<a href="https://www.kalzumeus.com/2011/10/28/dont-call-yourself-a-programmer/">「工程师被雇来，是为了创造商业价值，不是为了写程序」（英文链接）</a>。换成设计师和 AI，也是一样。这一步我自己还没走到，是我图上的下一格。</p>
<p>等这三件事都做过，我想我用 AI 自然会多起来。我觉得这个顺序更对。<mark>多用是自然而然的结果，不是目的。</mark>先有想在这里做成的事，才知道该学什么。光是用得多、用得久，证明不了自己真的住下来了。</p>
<h2 id="s8"><span>8</span><span>给真正的原住民，留下点什么</span></h2>
<p>「真正的」AI 原住民，也许现在还在上小学，也许还没出生。等他们长大，大概很难理解，为什么我们曾经把「要不要用 AI」当成一个值得讨论的问题。</p>
<p>就像今天你再看到有人把邮件打印出来，第一反应多半是：至于吗？可等这些原住民开始工作，也许会发现：手边那些看着再自然不过的规矩，正是当年那群带着口音、做事让他们看不懂的人，一边试一边替他们把路趟出来的。</p>
<p><mark>我们能留的，大概也就是这些<strong>规矩和脚手架</strong>。</mark>好用的，后来者接着用；不合适的，他们拆了重来。现在就替后来的人把一切都规定好，想想也不现实，大陆毕竟还在漂。</p>
<figure><img src="https://ink.ashtonshu.page/media/never-ai-natives/fig-scaffold.png" width="1774" height="887" alt="戴红围巾的小人站在脚手架上，旁边是砌了一半的砖墙，正把一块木板搭上架子。远处右边，一个戴小黄帽、背蓝书包的小学生，朝一块画着打开的书的学校牌子走去。"><figcaption><span>图 13</span>我们在搭脚手架，真正的原住民还在上学的路上。</figcaption></figure>
<hr>
<p>拿移民打比方这事，普伦斯基二十多年前就做过了。我这篇文章想补充和解决的，是之后的问题：来了以后，日子怎么过。</p>
<p>要形容我们这群人，「移民」还是我眼下能想到最准的词。可要过好眼前和往后的日子，我能想到最好的办法，是当个「开国的人」。这个说法听着确实有点大。不过就像前面说的，眼下还没有一个正式的、大家都认的说法；这类名字，也许要等事情尘埃落定、盖棺定论，才会真正定下来。到那时候，我会把它默默记成一条规矩，只希望自己不是那个跳出来说「这名字不好听」「这名字不合适」的人。我先去把下一条规矩写下来。</p>
<p>原文发表在<a href="https://ink.ashtonshu.page/zh/never-ai-natives">山边</a>。</p>]]></content:encoded></item><item><title>印象派、汉堡菜单与 Vibe Coding</title><link>https://ink.ashtonshu.page/zh/impressionists-hamburger-menu-vibe-coding</link><guid isPermaLink="true">https://ink.ashtonshu.page/zh/impressionists-hamburger-menu-vibe-coding</guid><pubDate>Tue, 10 Nov 2026 00:00:00 GMT</pubDate><description>从设计课上的一个外号说起：很多今天正经用着的名字，起初都是随口叫的。</description><dc:creator>Ashton Z. Shu</dc:creator><content:encoded><![CDATA[<img src="https://ink.ashtonshu.page/media/impressionists-hamburger-menu-vibe-coding/hero-doodle-20261110.png" alt="手绘：一个笑着的火柴人趴在桌边，头上冒出感叹号和亮起的灯泡。桌上立着四张卡片：三条横线的图标变成了一个汉堡，九个方点的图标变成了一块格子华夫饼。"><blockquote><p>这一版是 AI 辅助翻译，作者还在审校，个别说法可能还会改。</p></blockquote><div>
<p>从设计课上的一个外号说起：很多今天正经用着的名字，起初都是随口叫的。</p>
<p><em>译自<a href="https://ink.ashtonshu.page/impressionists-hamburger-menu-vibe-coding">英文原文</a>，由 AI 辅助翻译。</em></p></div><hr><p><em>约 6,600 字，8 张图，22 分钟读完。</em></p>
<p>我第一次听到「汉堡菜单」，是在网页设计课上。老师指着屏幕角上那三条横线，直接管它叫 hamburger menu，没多解释，大家也马上就接受了。</p>
<p>后来我才琢磨过来，这正是这类名字厉害的地方：明知道它不正经，也不准确，可一说出来，谁都知道你说的是哪个。</p>
<p>我自己跟别人介绍界面时，也不想每次都说「横着的三个点」「竖着的三个点」。在我看来，它们都是点开看更多东西的按钮，到底有没有各自的叫法，我还真不清楚，就去问了 AI。它一口气报了一串名字，摆出来像一桌菜：汉堡、肉丸、烤肉串、便当、华夫饼。看着这些名字，再回头看图标，有点像知道了一个人的外号是怎么来的，以后就很难忘。</p>
<p>不过，得先分清正式名字和圈内叫法。规范里写的是菜单、更多按钮、应用启动器，吃的名字多半是设计师和程序员嘴上叫的，也不是人人都这么叫。我原本只想弄清几个按钮怎么称呼，查着查着却发现，有的外号还真进了规范。</p>
<p>再往外想，这样的名字到处都是。有的到今天还只在嘴上，比如社畜；有的一路走进了规范、词典，甚至法律，比如汉堡和 cookie，还有这两年 AI 圈冒出来的 vibe coding。更怪的是，认认真真起的名字，常常叫不过这些外号。</p>
<h2 id="s1"><span>1</span><span>规范里各叫各的，嘴上都叫汉堡</span></h2>
<p>同一个按钮，各家规范的叫法都不一样；可设计师和程序员嘴上叫的，是同一桌菜。吃的名字能赢，是因为一听就有画面，各家的正式名，你倒得反应一下。</p>
<h3 id="structure-1">嘴上叫的那几个名字</h3>
<p>比如三个点的「更多」按钮，谷歌的规范叫溢出菜单，苹果叫「更多」下拉按钮；三条横线，微软的规范里倒是直接写着 Hamburger icon。光看名字，还以为说的不是同一个东西。</p>
<figure><img src="https://ink.ashtonshu.page/media/impressionists-hamburger-menu-vibe-coding/fig1-names-zh.svg" width="358" height="1578" alt="对照表：同一个图标，嘴上的外号和五家设计规范里的正式叫法；标了颜色的几格，是规范直接用了外号的地方。"><figcaption><span>图 1</span>同一个图标，嘴上的外号和五家设计规范里的正式叫法</figcaption></figure>
<p>横着的三个点叫「肉丸」，竖过来成了「烤肉串」，九宫格有人叫「便当」，有人叫「华夫饼」，弹出来、过一会儿自己消失的那条提示叫「吐司」。它们有的本来就是正式名，有的还只是外号，这桌菜的编制并不统一，各家怎么叫，都在上面这张图里。</p>
<h3 id="structure-2">图标查得到是谁画的，外号查不到是谁叫的</h3>
<p>这里面，汉堡的来历最让我想追下去。1981 年，靠复印机出名的施乐（Xerox）推出了 Star 工作站，这是最早带图形界面的商用电脑之一，有窗口、图标和鼠标。设计师诺姆·考克斯（Norm Cox）给它画了这三条横线，比 iPhone 早了二十多年。现在看惯了手机，很容易以为它是为手机屏幕省地方才有的，其实那时候就有了。</p>
<figure><img src="https://ink.ashtonshu.page/media/impressionists-hamburger-menu-vibe-coding/fig-xerox-menu-button_w1260.jpg" width="1260" height="618" alt="老式黑白电脑屏幕的照片，窗口标题是 Alphabet Sampler。标题栏最右边一个三条横线的小按钮被框出来，右下角有放大图。"><figcaption><span>图 2</span>施乐 Star 的软件后来改叫 ViewPoint，这是其中一个窗口。标题栏最右边就是那个三条横线的按钮，右下角是放大的样子。<span>屏幕照片：DigiBarn 电脑博物馆，经<a href="https://commons.wikimedia.org/wiki/File:Xerox_Star_8010_ViewPoint.jpg">维基共享资源</a>；裁切和放大是后加的。</span></figcaption></figure>

<p>我把这个图标单独拎出来看：就是三条短横线，上下叠在一起，简单得很，没有写「菜单」两个字，也没有真的画一只汉堡。可上下两条像面包，中间一条像馅，一旦有人管它叫汉堡，眼睛就会自己把这顿饭补齐。考克斯画的是一个图标，后来的人给它安上了一个能脱口而出的形象，两件事就这么接在了一起。</p>
<p>顺着往前找，偏偏在我最想知道的地方断了。图标是谁画的，查得到；谁第一个管它叫汉堡，查不到。连考克斯自己，也是后来才听说它有这个外号。画图的人有名有姓，起外号的人没留下名字，外号反而越叫越响。这不像是一个人宣布「以后就叫这个」，更像是有人随口喊了一声，旁边的人觉得贴切，就接着用了。上学时的外号也是这样：自己的外号是谁先叫出来的，多半没人记得。这一点，最后一章再细说。</p>
<p>我甚至猜，这一桌菜都是汉堡带起来的。既然三条线能叫汉堡，那三个圆点为什么不能叫肉丸，排成一竖为什么不能叫烤肉串？查到的早期用法，先后大致对得上，可这证实不了，只能算我的猜测。能确定的是，听过这些外号，再认图标，确实省了不少解释。</p>
<h3 id="structure-3">有的外号已经写进了记录</h3>
<p>有的外号已经有了正式记录：图 1 里标了颜色的几格，就是规范直接用了外号的地方；Dictionary.com 在 2022 年，也把 hamburger menu 和 kebab menu 收进了词典。</p>
<p>面包屑更直接，正式名就是它，来自格林童话《汉塞尔与格蕾特》里兄妹俩撒面包屑认路的故事。缺字时显示的空白小方框叫「豆腐」，谷歌干脆把一套字体叫 Noto，就是 no more tofu。连这套字体，两家也各叫各的：跟谷歌一起开发它的 Adobe，管同一套中日韩字体叫 Source Han，中文名是「思源」，也就是大家常见的思源黑体、思源宋体。</p>
<p>还有一个名字，一路进了法律。1994 年，网景（Netscape）的工程师卢·蒙图利（Lou Montulli）借了程序员的老说法 magic cookie，给一小段数据起名叫 cookie；后来这个词写进欧盟的法律文本，变成我们每天都要点一下的「接受 cookie」。</p>
<p>短、有画面的名字，省的是沟通。吃的之外，规范里还有手风琴、抽屉、旋转木马，都是从生活里借来的名字。</p>
<h2 id="s2"><span>2</span><span>很多正式名词，起初都不正经</span></h2>
<p>这不是设计圈的怪癖。很多严肃行业正式在用的名词，起初也不正经，有的甚至是骂人的话。</p>
<h3 id="structure-4">自己人随口叫开的</h3>
<p>最有名的例子，是电脑鼠标。</p>
<p>上世纪六十年代，在斯坦福研究所，道格拉斯·恩格尔巴特（Douglas Engelbart）和比尔·英格利希（Bill English）做出了一个手工制作的木头小盒子。先别拿今天桌上的鼠标往上套：它底下有两个互相垂直的轮子，后面拖着一根线。木盒子是身子，那根线是尾巴，团队里就管它叫 mouse。</p>
<figure><img src="https://ink.ashtonshu.page/media/impressionists-hamburger-menu-vibe-coding/fig-engelbart-patent-p1_w960.jpg" width="960" height="1410" alt="美国专利 3,541,541 的第一页。图上是桌上的显示器，前面一个键盘，旁边一个拖着线的小盒子，下面是小盒子的两张剖面图。"><figcaption><span>图 3</span>恩格尔巴特的专利第一页，1967 年申请，正式名称是「显示系统的 X-Y 位置指示器」。专利里的图 1 画的是显示器、键盘和拖着线的鼠标。<span>美国专利 3,541,541，公有领域，经 <a href="https://patents.google.com/patent/US3541541A/en">Google Patents</a>。</span></figcaption></figure>
<p>光说「木头小盒子」，谁知道它是干什么的；加上那根线，老鼠就出来了。不用解释底下的轮子怎么转，旁边的人也知道你说的是哪一件。</p>
<p>可轮到追问第一声是谁叫的，又和汉堡一样。恩格尔巴特后来回忆，已经没人记得了，「它看着就像一只拖着尾巴的老鼠」。这个回答有点好笑，也很实在：人们记得它为什么像，却没记住是谁先看出来的。</p>
<p>1965 年他们交给 NASA 的报告里，已经叫 mouse 了。一个在团队里脱口而出的外号，就这么进了要交出去的文件。今天的鼠标早没了那根线，叫法却留了下来。</p>
<h3 id="heading-1">本来只是代号、行话和玩笑的</h3>
<p>也有名字起初是为了遮掩。一战时，英国秘密造新车，对外说是运水的水箱，代号叫 tank；据当事人回忆，原先提议的「运水车」（Water Carrier）缩写成 W.C.，也就是厕所，才改定了 tank，后来代号成了正式名。</p>
<p>再说 bug，它本来是圈里人的行话。1947 年，哈佛 Mark II 计算机的工作人员在一个继电器里找到一只飞蛾，用胶带贴进工作日志，旁边写「第一次真的找到了虫子」；这句话好笑，恰恰因为 1878 年爱迪生就在信里写过，那些小毛病「大家管它们叫 bugs」。</p>
<p>行话本来就是圈里人的暗号，等你也能随口说出来，就不用每次从头解释了。垃圾信息叫 spam，编程语言叫 Python，两者的名字都来自英国喜剧团体巨蟒剧团（Monty Python）。《经济学人》1986 年做巨无霸指数，自己说这只是个「轻松的」小指南，四十年后经济学课上还在讲。</p>
<p>中文里也有这样的土指标。2013 年，《经济观察报》报道说，国家发改委规划司的人在研究城镇化规划时，拿涪陵榨菜在各地销量的变化，来看打工的人往哪儿流动，「榨菜指数」这个说法就传开了。发改委后来说，这个指数不是它提的；可这个叫法一说就懂，留了下来。</p>
<h3 id="heading-2">2025 年，轮到了 vibe coding</h3>
<p>最近转正最快的，大概是 vibe coding。2025 年 2 月，OpenAI 的创始成员之一安德烈·卡帕西（Andrej Karpathy）发了条帖子，口气半开玩笑，说有一种新的写代码方式，他管它叫 vibe coding，中文一般译作「氛围编程」：想要什么跟 AI 说，代码让 AI 写，写出来自己几乎不看。他还说，拿来做周末随手搭、用完就扔的小项目，还不算太糟。同一年 11 月，柯林斯词典把它选成了年度词；微软的官方学习平台上，有一门课就叫 vibe coding 入门。</p>
<p>当然，不是叫响了就一定进文件。社畜叫的人不少，彼此一说就懂，到今天也没成了哪个职业的正式名称。</p>
<h3 id="structure-5">外人骂出来、自己认下的</h3>
<p>还有一类更狠，名字是别人拿来挖苦你的，你接了过来，一直用到今天，有的还用得挺高兴。最有名的是印象派。</p>
<p>1874 年春天，巴黎一间借来的摄影工作室里，莫奈、雷诺阿、毕沙罗这些在官方沙龙不受待见的画家，自己办起了展览。名字只差一个字的马奈不在里面，这群人前后办的八次联展，他一次也没参加。莫奈有一幅画的是勒阿弗尔港口的日出，据他后来回忆，有人为编目录来问画名，他说，就写「印象」吧，画就成了《印象·日出》。</p>
<figure><img src="https://ink.ashtonshu.page/media/impressionists-hamburger-menu-vibe-coding/monet-impression-sunrise_1872_w1600.jpg" width="1600" height="1241" alt="莫奈的油画《印象·日出》，画的是勒阿弗尔港口的日出。"><figcaption><span>图 4</span>莫奈《印象·日出》，1872 年。巴黎玛摩丹莫奈博物馆藏</figcaption></figure>
<p>一家讽刺报纸的评论家路易·勒鲁瓦（Louis Leroy）写了篇挖苦文章，标题就叫《印象派画家的展览》。他还借文中一个老派画家的嘴说，刚开了个头的墙纸，都比这幅海景画得完整。他嫌的正是「还没画完」，「印象」两个字被拎出来，成了这群画家共同的毛病。</p>
<p>三年后，1877 年第三次联展，画家们自己打出了「印象派」的旗号，拿来嘲笑他们的字眼，成了他们的名字。2024 年，正好一百五十年，奥赛博物馆专门为 1874 年那场展览办了大展。今天说起印象派，早没人记得它当年是个骂人的词了。</p>
<p>类似的事，评论家路易·沃克塞尔（Louis Vauxcelles）一个人就贡献了两回。1905 年秋季沙龙，一尊古典风格的雕像摆在一屋子大红大绿的画中间，他写「多纳泰罗被一群野兽围住了」。多纳泰罗是文艺复兴时期的雕塑大师，那群「野兽」，后来就成了野兽派。1908 年，他又挖苦画家布拉克（Georges Braque）把什么都画成方块，有了立体主义。</p>
<h3 id="heading-3">画坛之外，也是这么认下来的</h3>
<p>1906 年，英国《每日邮报》用 suffragette（中文常译作「妇女参政权运动者」）挖苦争取投票权的激进女性，词尾的 -ette 有「小」的意思。1912 年，她们办了自己的报纸，报名就叫《The Suffragette》。</p>
<p>离日常最近的一个，是黑色星期五。至少在六十年代初，这是费城警察对感恩节后那一天的叫法：堵车、商店失窃、全员加班。商家嫌它难听，想改成「大星期五」，没改成；后来流传开的，是「账本从赤字转成黑字」的说法，这个名字也就被商家认了下来。</p>
<p>同一个词，谁在用，用来骂还是用来认，意思就变了。从贬义往好的方向走，语言学里叫词义升格。正式文件里一时没有它，嘴上先叫着；叫得久了，它自己会走进文件。</p>
<figure><img src="https://ink.ashtonshu.page/media/impressionists-hamburger-menu-vibe-coding/fig-collage-zh_w1200.jpg" width="1200" height="1142" alt="四个从外号或骂名转正的词，和它们原先的叫法。左起：恩格尔巴特的专利图（1967 年申请）、哈佛 Mark II 的工作日志（1947 年）、索姆河战场上的英军 Mark I 坦克（1916 年）、《The Suffragette》头版（1913 年）"><figcaption><span>图 5</span>四个从外号或骂名转正的词，和它们原先的叫法。左起：恩格尔巴特的专利图（1967 年申请）、哈佛 Mark II 的工作日志（1947 年）、索姆河战场上的英军 Mark I 坦克（1916 年）、《The Suffragette》头版（1913 年）<span>图源：鼠标照片由 Michael Hicks 拍摄（电脑历史博物馆展出的原型复制品，维基共享资源），以 CC BY 2.0 授权；工作日志（1947 年）出自美国海军，坦克照片出自帝国战争博物馆（Q 2486），两者均属公有领域。《The Suffragette》头版为伦敦政治经济学院图书馆的扫描件，以 <a href="https://creativecommons.org/licenses/by-sa/3.0/">CC BY-SA 3.0</a> 授权；本拼图同样以 CC BY-SA 3.0 授权。</span></figcaption></figure>
<h2 id="s3"><span>3</span><span>可认真起的名字，常常输给随口叫的</span></h2>
<p>程序员之间流传一句玩笑，一般算在网景公司的工程师菲尔·卡尔顿（Phil Karlton）头上：计算机科学里只有两件难事，一件是缓存失效，一件是给东西起名字。起名本来就难，认真起好的名字，还不一定叫得开。蓝牙就是这样。</p>
<h3 id="heading-4">蓝牙最早是个代号</h3>
<p>上世纪九十年代末，英特尔、爱立信和诺基亚在推一项短距离无线技术，英特尔工程师吉姆·卡达克（Jim Kardach）要给它想个代号。他那阵子刚读了一本讲维京人的书，里面有个十世纪的丹麦国王哈拉尔，外号「蓝牙」，把丹麦和挪威统一到了一起。</p>
<p>书里的国王，眼前的无线技术，看上去隔得够远。可卡达克想到了一处相像：国王把两地连起来，这项技术也要把电脑和手机两个行业连起来。它听着像个人的外号，也确实就是个人的外号。</p>
<p>蓝牙本来只是暂时用用，正式名字另有打算。头号人选 PAN，是 Personal Area Networking 的缩写，个人局域网，说得明明白白；可一查，网上已经有好几万条同名的结果。另一个备选 RadioWire，商标检索又赶不上发布。两个准备转正的名字都没用上，这时候蓝牙已经在业界传开，来不及换了。今天再看蓝牙的标志，里面还是那位国王：「哈拉尔」和「蓝牙」两个词首字母的北欧符文拼在一起。</p>
<figure><img src="https://ink.ashtonshu.page/media/impressionists-hamburger-menu-vibe-coding/fig-jelling-stones_w1600.jpg" width="1600" height="1028" alt="一张黑白老明信片：教堂墓地里的耶灵石，左边是那块刻满纹饰的大石。"><figcaption><span>图 6</span>丹麦耶灵石的老明信片，大的那块是哈拉尔国王立的。底下印的那行字管他叫 Harald Blaatand，就是丹麦语的「蓝牙」。<span>图：丹麦国家博物馆，经<a href="https://commons.wikimedia.org/wiki/File:Harold_Bluetooths_and_Gorm_the_Olds_rune_stones_(9157863685).jpg">维基共享资源</a>，无已知版权限制。</span></figcaption></figure>

<p>鼠标也有过一个很规整的正式名字。专利上写的是「显示系统的 X-Y 位置指示器」，用途交代得清清楚楚，可要在桌上找它，说「鼠标」就够了。这么长的名字留在专利上很合适，搬到日常对话里，反而要先费口舌。</p>
<h3 id="heading-5">世界语为什么没流行起来</h3>
<p>最认真的一次，大概是世界语。1887 年，有人专门设计出这门语言，规则整齐，想让它成为全世界的通用语，一百多年过去，也没流行起来。</p>
<p>吴军老师说过，学的人少只是表面，更深的原因是，世界语里没有文化：语言一头传递信息，一头承载文化，光把规则安排好，未必就能让人改口（吴军 2002 年加入谷歌，那时公司还没上市，谷歌中日韩文搜索的算法主要是他设计的；后来当过腾讯副总裁，写过《浪潮之巅》）。反过来，也正因为有文化基础，希伯来语可以得到复兴：一千多年没人拿它当日常口语，十九世纪末又被人重新说了起来。</p>
<h3 id="heading-6">名字怎样才叫得开</h3>
<p>起名的人图的是准确周全；叫的人要的是另外三样：</p>
<ul>
<li>好记</li>
<li>顺口</li>
<li>一说就懂</li>
</ul>
<p>前面那些外号，恰好三样都占。下面一样一样说。</p>
<h4 id="structure-6">好记</h4>
<p>「肉丸」一出口，三个圆点已经在眼前排好了。心理学里管这个叫双重编码：说到具体的东西，脑子里会同时存下字和画面两份；抽象的词，多半只有字那一份，所以具体的词更好记。肉丸、汉堡、老鼠，都是一说就有图的词。</p>
<figure><img src="https://ink.ashtonshu.page/media/impressionists-hamburger-menu-vibe-coding/fig-menu-b4_w1600.png" width="1600" height="800" alt="手绘：一个卷发、戴眼镜、脖子上挂着耳机的人，手拿刀叉坐在桌前，疑惑地看着一块立着的菜单牌。牌子上写着 MENU，下面是一排图标和它们的外号：Hamburger（三条横线）、Kebab（竖着三个点）、Meatballs（横着三个点）、Waffle（九个小方格）、Breadcrumbs（一串箭头）、Toast（屏幕下方的一条提示）。"><figcaption><span>图 7</span>这些按钮的外号凑在一起，像一张菜单</figcaption></figure>
<p>《温度心理学》这本书讲具身认知：人会把身体的感觉搬到抽象判断上，所以我们说一个人「热情」「冷淡」。一项研究看了 94 种语言，有 46 种拿「暖」来说亲近。有两个很有名的实验，一度让人觉得这种影响很深：手里刚拿过一杯热咖啡的人，会把陌生人看得更「温暖」；拿着重夹板的人，会把一件事看得更要紧。后来有人用更大的样本重做，没做出来；语言里的这个习惯却一直在。钱钟书的《通感》一开头，就谈宋祁「红杏枝头春意闹」的「闹」字：眼睛看到的花开得繁，写成了耳朵听到的热闹。</p>
<p>好笑也帮人记。1994 年有个实验发现，好笑的句子比不好笑的更容易记住，两种句子混在一起时最明显。日子里全是需求、排期、复盘、对齐，这时候冒出一个「肉丸」，想忘都难。</p>
<p>不过这里得补一句：一个说法有没有画面，还要看听的人活在什么年代。很多成语在当时，就是一说就有图的词，跟今天的「肉丸」一样；隔得久了，那幅图没人认得，字面反倒成了门槛。「绿草如茵」的「茵」，本来是车上铺的垫子，那时候的人一听就明白，草地软得像褥子；今天的人只知道这是在夸草地。「尸位素餐」也一样，意思大家都会用，「尸」和「素餐」各指什么，就没几个人说得上来了。</p>
<h4 id="structure-7">顺口</h4>
<p>名字要经得起天天说。需要解释一回，大家还能听；每说一次都得把全称搬出来，就有点费劲了。「显示系统的 X-Y 位置指示器」没有说错什么，可一句话的工夫，旁边的人已经把 mouse 叫完了。</p>
<p>人说话本来就爱省力。语言学家乔治·齐普夫（George Zipf）发现，越常用的词往往越短；后来他把这类倾向归成「省力原则」。一个音节的 mouse，两个字的汉堡，都不必每次先讲一遍它的功能。说的人少费一点劲，听的人也能立刻接住，下一次便更愿意接着用。</p>
<h4 id="structure-8">一说就懂</h4>
<p>超线性学院（Superlinear Academy）的创始人课代表，在<a href="https://www.superlinear.academy/c/main/verb-craft">《名词、动词、和手艺》</a>里写过一句：</p>
<blockquote><p>命名不是为了让 Craft 变得简单。命名是为了让 Craft 变得可见。</p></blockquote>
<p>一个东西有了名字，才指得出来，别人也才看得见。没有「汉堡」这个叫法的时候，得说「角上那三条横线」，还得盼着对方看的是同一个地方；有了它，一个词就指到了。外号指得最快，因为它说的就是眼前的样子：木盒子拖着线，三条横线夹着馅，见过那个样子，一说就对上了。</p>
<p>AI 圈也有这样的词。大模型一本正经地编出不存在的论文、书名，大家管这叫「幻觉」。人称「AI 教父」的杰弗里·辛顿（Geoffrey Hinton）说过，这个词用得不对，该叫「虚构」（confabulation）：幻觉说的是感官，模型并没有「看见」什么，它做的更像医学上说的虚构，记不清的地方，自己编圆了。这么叫也许更准，可「虚构」还得先解释一番，说「AI 又出现幻觉了」，谁都听得懂。2023 年剑桥词典的年度词，选的就是 hallucinate。</p>
<p>外号一说就懂，还因为它身上带着来历。说「印象派」，那间摄影工作室就跟着来了；说「蓝牙」，那位国王也在。回头看世界语，我更愿意把那句「没有文化」理解成：它少的，正是一群人一起叫过、一起记得的东西。</p>
<h2 id="s4"><span>4</span><span>只有起错的名字，没有叫错的外号</span></h2>
<p>有个说法：只有起错的名字，没有叫错的外号。外号是天天跟它打交道的人叫出来的，所以准。给人起的外号也一样，说一句「杠精」，用不着解释，大家都知道指的是哪种人。说白了，名字是叫出来的，不是起出来的。文件里的名字，能给外号一个正式位置；可在那之前，它已经在许多次对话里有了位置。</p>
<figure><img src="https://ink.ashtonshu.page/media/impressionists-hamburger-menu-vibe-coding/fig-called_w1600.png" width="1600" height="800" alt="手绘：五个人凑在一起聊天，每人头上一个对话气泡，里面画着汉堡、飞蛾、蛇、牙齿和带线的鼠标。右边是一本摊开的词典，词典也冒出一个气泡，里面是两行词条。"><figcaption><span>图 8</span>名字是大家一遍遍叫出来的，叫多了才写进书里</figcaption></figure>
<h3 id="structure-9">连怎么读，起名的人也说了不算</h3>
<p>连一个名字该怎么读，起名的人也未必说了算。2013 年，GIF 的发明人史蒂夫·威尔海特（Steve Wilhite）领 Webby 终身成就奖，获奖感言只许五个词，他把五个词打在屏幕上：It&#x27;s pronounced &#x27;Jif,&#x27; not &#x27;Gif.&#x27; 可很多人一直读硬 g，2017 年 Stack Overflow 的开发者调查里，近三分之二选硬 g，选 jif 的只有四分之一出头。牛津高阶和韦氏词典，后来两种读法都收了。发明一种东西，和决定大家怎么念它，原来是两回事。</p>
<h3 id="heading-7">课堂上的标准读法，也不是定死的</h3>
<p>语言本身也一直在变，读音就是这样。课堂上只认一个标准读法，就像英国人讲的「标准英语」：就该这么读。我上初中、高中那几年，为这个不知被卡过多少回。可标准自己也改过：「呆板」，老一辈念 ái bǎn，1985 年的《普通话异读词审音表》把「呆」统一成了 dāi；「确凿」的「凿」，也在那张表里从 zuò 定成了 záo。</p>
<p>还有一种更有意思：大家以为改了，其实没改。比如「一骑当千」的「骑」，不少人记得该念 jì，以为念 qí 是这几年才改的；其实在 1985 年那张表里，它就已经统一念 qí 了。2019 年网上一阵传「好多字的读音被改了」，不少是把三十多年前的规定当成了新闻。这有点像人们说的「曼德拉效应」：一大群人记得清清楚楚的事，和实际对不上。</p>
<p>外号也常让人这样想当然。它太好记、太直白，直白到像是本来就该这么叫，结果没人知道、也没人想去查它的正式说法。它看着那么对，反倒不像一个闹着玩的外号了，就像今天没人觉得「鼠标」是句玩笑。</p>
<hr>
<p>时不时总有人感叹，现在的人连话都说不好了，听着就像鲁迅《风波》里的九斤老太，念叨着「一代不如一代」。定规则的人，大概也都盼着规则能一直不变。可编《现代汉语词典》的人自己也承认，「凡是『现代』词典都要跟上时代，不断修订」，这句话就印在第 7 版的说明里。语言跟着说它的人走，再往下讲，就是另一篇了。</p>
<h3 id="structure-10">回到设计：先听大家怎么叫</h3>
<p>回到我最开始只关心的设计，这里能先落一个小结论：用户怎么叫，往往比我们怎么起更要紧。雅各布·尼尔森（Jakob Nielsen）那十条可用性原则里，有一条就是让界面说用户的话。用户一看就懂、一叫就明白的说法，写进规范时也该听一听。</p>
<h3 id="heading-8">给自己做的东西起名</h3>
<p>往外说一层，起名和别的创作是一回事。不管是生养一个孩子、写一篇文章，还是画一幅画，东西完成之前，做的人就像父母，有自己的想法和预期，也盼着读者、观众看了会有某种感受；可东西传开以后，结果往往跟当初想要的不一样。做完的那一刻，属于作者的部分就结束了，可这只是开始，作品才完成了一半，剩下的一半，要交给读者和观众，交给所有人。</p>
<p>小说家康拉德（Joseph Conrad）1897 年在给朋友的信里写过：「一本书，作者只写了一半，另一半在读者那里。」艺术家杜尚（Marcel Duchamp）1957 年谈创作时也说：「创作这件事，不是艺术家一个人完成的。」</p>
<p>名字也是这样。给产品、功能起名，给自己的账号、社群起名，起名的人都定不了大家最后怎么叫。能做的，是起一个好叫的，再留心大家实际怎么叫，叫顺了的不妨收下。网友看 KFC 正好是「开封菜」的拼音首字母，就这么叫它；肯德基后来真推出了一个食品系列，名字就叫 KAIFENGCAI。反过来，硬让大家改口，往往改不动：推特 2023 年改名 X，几年过去了，英文新闻里提到它，还常要补一句「前身是推特」。</p>
<h3 id="structure-11">两千多年前的答案：约定俗成</h3>
<p>再往大里说，孔子讲「名不正，则言不顺」，名字要正；可什么样才算正，荀子在《正名》里给了一个很松的答案：「名无固宜，约之以命，约定俗成谓之宜，异于约则谓之不宜。」名字不是天生就该配给哪个东西，大家这样约定，又这样用惯了，就是合适的名字。</p>
<p>「约定俗成」这个词，就出自这里。他后面还有一句：「径易而不拂，谓之善名。」翻成大白话，顺嘴、不拧巴，就是好名字。前面说的顺口，老先生早就说明白了。</p>
<p>两千多年后，哲学家维特根斯坦（Ludwig Wittgenstein）也说，一个词的意思，就在它的用法里。大家都这么叫，它就算数。尤瓦尔·赫拉利（Yuval Noah Harari）在《人类简史》里说，人能成群合作，靠的是大家一起相信的东西，公司、货币都是这样。一个名字也是这么立住的，只是小得多：只要大家都认，那三条线就是汉堡。</p>
<p>所以下次有人给哪个东西起了个不正经的外号，先别急着纠正。说不定过几年，大家都忘了它的正式名叫什么，只记得那个外号。</p>
<p>你身边有没有哪个外号，叫着叫着就进了正式文件？</p>
<p>原文发表在<a href="https://ink.ashtonshu.page/zh/impressionists-hamburger-menu-vibe-coding">山边</a>。</p>]]></content:encoded></item><item><title>做个靠谱的人</title><link>https://ink.ashtonshu.page/zh/be-dependable</link><guid isPermaLink="true">https://ink.ashtonshu.page/zh/be-dependable</guid><pubDate>Sat, 07 Nov 2026 00:00:00 GMT</pubDate><description>10 月 26 日，星期一，我接受了一家本地医院提供的实习机会。</description><dc:creator>Ashton Z. Shu</dc:creator><content:encoded><![CDATA[<img src="https://ink.ashtonshu.page/media/be-dependable/hero-sketch-20261107.png" alt="一幅铅笔草图：门边放着收拾好的托特包，露出文件夹和笔记本电脑，旁边靠着一把收好的长柄伞。"><blockquote><p>这一版是 AI 辅助翻译，作者还在审校，个别说法可能还会改。</p></blockquote><div>
<p>10 月 26 日，星期一，我接受了一家本地医院提供的实习机会。从 11 月 16 日到 12 月 18 日，五周时间，我会帮他们把新的视觉形象应用到五个院区。</p>
      <p>这篇主要写给我们这个专业、这个学院未来的毕业生：还没进入最后一年的同学，和已经到了最后一年、对找工作还很迷茫的同学。</p>

      <p><em>译自<a href="https://ink.ashtonshu.page/be-dependable">英文原文</a>，由 AI 辅助翻译。</em></p></div><hr><p><em>约 4,600 字，10 张图，16 分钟读完。</em></p>

      <p>这次实习我其实找得很仓促，没有像老师说的那样早早开始。10 月 15 日才发第一轮邮件，一周发邮件，一周等回复和面试，11 天后就有了结果。</p>
      <p>能这么快，是因为我以前正式工作过，也当过面试官，算是站在出题人的角度想过这件事。大家这次都找到了实习，但这毕竟是免费的，将来找工作是另一回事，这次找的时候多半也磕磕绊绊。</p>
      <p>所以我把这些经验写下来。我大概是在倚老卖老，但也是真心希望大家少走一点弯路。我知道，如果刚毕业时老师跟我说这些，我就算认真听了，也不见得真懂。可它不是没用：后来每次碰到同样的问题，我都会想起来，这就是老师当初说的。这总比完全不知道要好。</p>
      <p>到那个星期一，已经有四家愿意要我。作品当然起了作用。但回头看，十月里真正帮上忙的，大多是我在十月之前做过的事，或者是我希望自己早点开始做的事。</p>
      <p>对我们来说，实习只是第一步。到了最后一个学期、毕业前找工作，以及以后在工作中学着做得更专业，这些事都一样重要。前半部分是我想对一年前的自己说的六件事，每件配一张示意图。最后列了各家面试时问我的问题，感兴趣的话可以看看。</p>
      <p>开始之前，先说一点。这里不是大城市，学校也会帮我们找实习。如果你在这里已经有人脉，家里做的就是这一行，或者你很清楚自己想跟谁工作，可能连一封联系陌生单位的邮件都不用发。这也没什么问题。</p>
      <p>我这套做法，适合从零开始的人：刚到一个新城市，还没在这一行工作过，或者有能力，却没人认识你。我刚来这里时就是这样，班上很多从其他国家或外省来的同学也一样。如果你在这里长大，找实习可能用不上这些。但将来搬去多伦多、温哥华或美国，或者自己创业，你也会遇到从零开始的时候。到那时，这些也许能帮上忙。</p>

      <figure><div role="img" aria-label="五月到十二月：暑假没有课，可以准备作品集；十月中旬还在上课时发出首轮邮件；十一月中旬开始实习。"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 358 530">
  
  
  <g>
    <rect x="0" y="0" width="358" height="530" fill="var(--fig-paper)" rx="0"></rect>
    <rect x="20.0" y="105" width="79.1728" height="12" fill="var(--fig-soft)" stroke="var(--fig-muted)" stroke-width="1" rx="3"></rect>
    <rect x="139.4136" y="105" width="79.1728" height="12" fill="var(--fig-soft)" stroke="var(--fig-muted)" stroke-width="1" rx="3"></rect>
    <rect x="258.8272" y="105" width="79.1728" height="12" fill="var(--fig-soft)" stroke="var(--fig-muted)" stroke-width="1" rx="3"></rect>
    <rect x="258.8272" y="105" width="39.9136" height="12" fill="var(--fig-accent)" rx="3"></rect>
    <line x1="258.8272" y1="117" x2="20" y2="171.5" stroke="var(--fig-muted)" stroke-width="1" stroke-linecap="round" stroke-dasharray="2 3"></line>
    <line x1="298.7407" y1="117" x2="338" y2="171.5" stroke="var(--fig-muted)" stroke-width="1" stroke-linecap="round" stroke-dasharray="2 3"></line>
    <rect x="20" y="265" width="107.1616" height="12" fill="none" stroke="var(--fig-muted)" stroke-width="1" rx="3"></rect>
    <rect x="127.1616" y="265" width="106.2904" height="12" fill="var(--fig-accent)" rx="3"></rect>
    <rect x="233.4521" y="265" width="104.5479" height="12" fill="var(--fig-soft)" stroke="var(--fig-muted)" stroke-width="1" rx="3"></rect>
    <circle cx="127.1616" cy="271" r="3" fill="var(--fig-accent)"></circle>
    <line x1="127.1616" y1="277" x2="127.1616" y2="285" stroke="var(--fig-muted)" stroke-width="1" stroke-linecap="round"></line>
    <circle cx="330.1589" cy="271" r="3" fill="var(--fig-accent)"></circle>
    <line x1="330.1589" y1="277" x2="330.1589" y2="285" stroke="var(--fig-muted)" stroke-width="1" stroke-linecap="round"></line>
    <polyline points="127.1616,277 20,292 20,389.5" fill="none" stroke="var(--fig-muted)" stroke-width="1" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="2 3"></polyline>
    <polyline points="233.4521,277 338,292 338,389.5" fill="none" stroke="var(--fig-muted)" stroke-width="1" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="2 3"></polyline>
    <line x1="20" y1="436" x2="338" y2="436" stroke="var(--fig-muted)" stroke-width="1" stroke-linecap="round"></line>
    <line x1="20.0" y1="430" x2="20.0" y2="442" stroke="var(--fig-muted)" stroke-width="1" stroke-linecap="round"></line>
    <line x1="127.1522" y1="430" x2="127.1522" y2="442" stroke="var(--fig-muted)" stroke-width="1" stroke-linecap="round"></line>
    <line x1="230.8478" y1="430" x2="230.8478" y2="442" stroke="var(--fig-muted)" stroke-width="1" stroke-linecap="round"></line>
    <line x1="338.0" y1="430" x2="338.0" y2="442" stroke="var(--fig-muted)" stroke-width="1" stroke-linecap="round"></line>
    <rect x="179.0" y="430" width="114.0652" height="12" fill="var(--fig-accent)" rx="3"></rect>
    <circle cx="68.3913" cy="436" r="3" fill="var(--fig-accent)"></circle>
    <line x1="68.3913" y1="442" x2="68.3913" y2="451" stroke="var(--fig-muted)" stroke-width="1" stroke-linecap="round"></line>
    <circle cx="106.413" cy="436" r="3" fill="var(--fig-accent)"></circle>
    
  </g>
  <g></g>
  <g>
    <text x="20" y="40" font-size="20.5" font-weight="600" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="currentColor" text-anchor="start"><tspan x="20" y="40">找实习在哪个位置</tspan></text>
    <text x="20" y="85" font-size="12.5" font-weight="600" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="currentColor" text-anchor="start"><tspan x="20" y="85.0">三年学业</tspan></text>
    <text x="338" y="85" font-size="11.5" font-weight="400" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="var(--fig-muted)" text-anchor="end"><tspan x="338" y="85.0">2024 年 9 月至 2027 年 4 月</tspan></text>
    <text x="20" y="190" font-size="12.5" font-weight="600" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="currentColor" text-anchor="start"><tspan x="20" y="190.0">这一学年</tspan></text>
    <text x="338" y="190" font-size="11.5" font-weight="400" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="var(--fig-muted)" text-anchor="end"><tspan x="338" y="190.0">2026 年 5 月至 2027 年 4 月</tspan></text>
    <text x="134.16160000000002" y="256" font-size="11.5" font-weight="400" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="var(--fig-muted)" text-anchor="start"><tspan x="134.16160000000002" y="256">9 月</tspan></text>
    <text x="20" y="220" font-size="11.5" font-weight="400" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="var(--fig-muted)" text-anchor="start"><tspan x="20" y="220">暑假：做作品集，</tspan><tspan x="20" y="238">没有课</tspan></text>
    <text x="127.1616" y="220" font-size="12.5" font-weight="400" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="var(--fig-accent)" text-anchor="start"><tspan x="127.1616" y="220">秋季学期</tspan></text>
    <text x="233.4521" y="220" font-size="12.5" font-weight="400" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="var(--fig-muted)" text-anchor="start"><tspan x="233.4521" y="220">冬季学期，</tspan><tspan x="233.4521" y="238">最后一学期</tspan></text>
    <text x="127.1616" y="315" font-size="12.5" font-weight="400" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="currentColor" text-anchor="start"><tspan x="127.1616" y="315">毕业展开始做</tspan></text>
    <text x="306" y="345" font-size="12.5" font-weight="400" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="currentColor" text-anchor="end"><tspan x="306" y="345">毕业展，4 月 22 日</tspan></text>
    <text x="20" y="408" font-size="12.5" font-weight="600" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="var(--fig-accent)" text-anchor="start"><tspan x="20" y="408">这个秋天</tspan></text>
    <text x="338" y="408" font-size="11.5" font-weight="400" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="var(--fig-muted)" text-anchor="end"><tspan x="338" y="408">10 月至 12 月</tspan></text>
    <text x="20" y="463" font-size="12.5" font-weight="400" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="currentColor" text-anchor="start"><tspan x="20" y="463">10 月 15 日第一批邮件</tspan></text>
    <text x="20" y="495" font-size="12.5" font-weight="400" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="currentColor" text-anchor="start"><tspan x="20" y="495">10 月 26 日接受</tspan></text>
    <text x="338" y="463" font-size="12.5" font-weight="600" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="var(--fig-accent)" text-anchor="end"><tspan x="338" y="463">实习</tspan><tspan x="338" y="481">11 月 16 日到 12 月 18 日</tspan></text>
  </g>
</svg></div>
        <figcaption><span>图 0</span>找实习只是三年学业里很小的一段，而且是在还在上课的时候开始的。</figcaption></figure>

      <hr>

      <section>
        <h2 id="s1"><span>1</span><span>为什么十封邮件不够</span></h2>
        <p>先说我的数字。我总共联系了 26 家单位的 32 个人。16 人没有回音，1 人只有自动回复，15 人回了信。回信的人里，6 人拒绝了，大多是说今年没有名额；4 人说再考虑，之后就没了下文；另外 5 人有了通话或面试，最后有 4 家愿意要我。</p>
        <p>说这些，不是让你也去联系 32 家。我想说的是，这些数字背后还有什么。</p>
        <p>假设你联系的单位里，有 30% 会回复。这不代表发 10 封邮件就能收到 3 封回复，因为你不知道哪些单位在这 30% 里。发 10 封，你可能碰上 1 家，也可能碰上 5 家。 <strong>十次里，差不多有四次，你收到的回复会少于 3 封。</strong> 偶尔也会一家都碰不上。 </p><p>如果发 100 封，十次里大概有九次，你会收到 23 到 38 封回复。</p>
        <figure><div role="img" aria-label="三位同学各发十封邮件，分别收到一封、三封、五封回复。发一百封，回复比例会更接近 30%。"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 358 700">
  
  
  <g>
    <rect x="0" y="0" width="358" height="700" fill="var(--fig-paper)" rx="0"></rect>
    <rect x="16" y="133" width="106" height="177" rx="8" fill="var(--fig-paper)" stroke="var(--fig-line)" stroke-width="1"></rect>
    <circle cx="28.0" cy="151.0" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="37.1" cy="151.0" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="46.2" cy="151.0" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="55.3" cy="151.0" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="55.3" cy="151.0" r="3.7" fill="none" stroke="currentColor" stroke-width="0.8"></circle>
    <circle cx="64.4" cy="151.0" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="73.5" cy="151.0" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="82.6" cy="151.0" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="91.7" cy="151.0" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="100.8" cy="151.0" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="109.9" cy="151.0" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="28.0" cy="160.1" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="37.1" cy="160.1" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="46.2" cy="160.1" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="55.3" cy="160.1" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="64.4" cy="160.1" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="73.5" cy="160.1" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="82.6" cy="160.1" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="91.7" cy="160.1" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="100.8" cy="160.1" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="109.9" cy="160.1" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="28.0" cy="169.2" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="37.1" cy="169.2" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="46.2" cy="169.2" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="55.3" cy="169.2" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="64.4" cy="169.2" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="73.5" cy="169.2" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="82.6" cy="169.2" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="91.7" cy="169.2" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="100.8" cy="169.2" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="109.9" cy="169.2" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="28.0" cy="178.3" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="37.1" cy="178.3" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="46.2" cy="178.3" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="46.2" cy="178.3" r="3.7" fill="none" stroke="currentColor" stroke-width="0.8"></circle>
    <circle cx="55.3" cy="178.3" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="64.4" cy="178.3" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="73.5" cy="178.3" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="82.6" cy="178.3" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="91.7" cy="178.3" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="100.8" cy="178.3" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="109.9" cy="178.3" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="28.0" cy="187.4" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="37.1" cy="187.4" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="46.2" cy="187.4" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="55.3" cy="187.4" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="64.4" cy="187.4" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="73.5" cy="187.4" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="73.5" cy="187.4" r="3.7" fill="none" stroke="currentColor" stroke-width="0.8"></circle>
    <circle cx="82.6" cy="187.4" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="91.7" cy="187.4" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="100.8" cy="187.4" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="109.9" cy="187.4" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="28.0" cy="196.5" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="37.1" cy="196.5" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="46.2" cy="196.5" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="55.3" cy="196.5" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="64.4" cy="196.5" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="73.5" cy="196.5" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="82.6" cy="196.5" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="91.7" cy="196.5" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="100.8" cy="196.5" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="109.9" cy="196.5" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="109.9" cy="196.5" r="3.7" fill="none" stroke="currentColor" stroke-width="0.8"></circle>
    <circle cx="28.0" cy="205.6" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="37.1" cy="205.6" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="46.2" cy="205.6" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="55.3" cy="205.6" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="64.4" cy="205.6" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="73.5" cy="205.6" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="82.6" cy="205.6" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="91.7" cy="205.6" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="91.7" cy="205.6" r="3.7" fill="none" stroke="currentColor" stroke-width="0.8"></circle>
    <circle cx="100.8" cy="205.6" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="109.9" cy="205.6" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="28.0" cy="214.7" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="37.1" cy="214.7" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="46.2" cy="214.7" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="55.3" cy="214.7" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="64.4" cy="214.7" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="73.5" cy="214.7" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="82.6" cy="214.7" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="91.7" cy="214.7" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="100.8" cy="214.7" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="109.9" cy="214.7" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="109.9" cy="214.7" r="3.7" fill="none" stroke="currentColor" stroke-width="0.8"></circle>
    <circle cx="28.0" cy="223.8" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="37.1" cy="223.8" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="46.2" cy="223.8" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="55.3" cy="223.8" r="2.35" fill="var(--fig-accent)"></circle>
    <circle cx="55.3" cy="223.8" r="3.7" fill="none" stroke="currentColor" stroke-width="0.8"></circle>
    <circle cx="64.4" cy="223.8" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="73.5" cy="223.8" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="82.6" cy="223.8" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="91.7" cy="223.8" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="100.8" cy="223.8" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="100.8" cy="223.8" r="3.7" fill="none" stroke="currentColor" stroke-width="0.8"></circle>
    <circle cx="109.9" cy="223.8" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="28.0" cy="232.9" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="37.1" cy="232.9" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="46.2" cy="232.9" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="55.3" cy="232.9" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="64.4" cy="232.9" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="64.4" cy="232.9" r="3.7" fill="none" stroke="currentColor" stroke-width="0.8"></circle>
    <circle cx="73.5" cy="232.9" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="82.6" cy="232.9" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="91.7" cy="232.9" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="100.8" cy="232.9" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="109.9" cy="232.9" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="109.9" cy="232.9" r="3.7" fill="none" stroke="currentColor" stroke-width="0.8"></circle>
    <rect x="126" y="133" width="106" height="177" rx="8" fill="var(--fig-paper)" stroke="var(--fig-line)" stroke-width="1"></rect>
    <circle cx="138.0" cy="151.0" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="147.1" cy="151.0" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="147.1" cy="151.0" r="3.7" fill="none" stroke="currentColor" stroke-width="0.8"></circle>
    <circle cx="156.2" cy="151.0" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="165.3" cy="151.0" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="174.4" cy="151.0" r="2.35" fill="var(--fig-accent)"></circle>
    <circle cx="174.4" cy="151.0" r="3.7" fill="none" stroke="currentColor" stroke-width="0.8"></circle>
    <circle cx="183.5" cy="151.0" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="192.6" cy="151.0" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="201.7" cy="151.0" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="210.8" cy="151.0" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="219.9" cy="151.0" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="138.0" cy="160.1" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="147.1" cy="160.1" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="156.2" cy="160.1" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="165.3" cy="160.1" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="174.4" cy="160.1" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="183.5" cy="160.1" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="192.6" cy="160.1" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="201.7" cy="160.1" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="210.8" cy="160.1" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="219.9" cy="160.1" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="138.0" cy="169.2" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="147.1" cy="169.2" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="156.2" cy="169.2" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="165.3" cy="169.2" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="174.4" cy="169.2" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="183.5" cy="169.2" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="192.6" cy="169.2" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="192.6" cy="169.2" r="3.7" fill="none" stroke="currentColor" stroke-width="0.8"></circle>
    <circle cx="201.7" cy="169.2" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="210.8" cy="169.2" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="219.9" cy="169.2" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="138.0" cy="178.3" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="147.1" cy="178.3" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="156.2" cy="178.3" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="165.3" cy="178.3" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="174.4" cy="178.3" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="183.5" cy="178.3" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="183.5" cy="178.3" r="3.7" fill="none" stroke="currentColor" stroke-width="0.8"></circle>
    <circle cx="192.6" cy="178.3" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="201.7" cy="178.3" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="210.8" cy="178.3" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="219.9" cy="178.3" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="138.0" cy="187.4" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="147.1" cy="187.4" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="156.2" cy="187.4" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="165.3" cy="187.4" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="174.4" cy="187.4" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="183.5" cy="187.4" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="192.6" cy="187.4" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="201.7" cy="187.4" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="210.8" cy="187.4" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="219.9" cy="187.4" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="138.0" cy="196.5" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="147.1" cy="196.5" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="156.2" cy="196.5" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="165.3" cy="196.5" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="174.4" cy="196.5" r="2.35" fill="var(--fig-accent)"></circle>
    <circle cx="174.4" cy="196.5" r="3.7" fill="none" stroke="currentColor" stroke-width="0.8"></circle>
    <circle cx="183.5" cy="196.5" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="192.6" cy="196.5" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="201.7" cy="196.5" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="210.8" cy="196.5" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="219.9" cy="196.5" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="219.9" cy="196.5" r="3.7" fill="none" stroke="currentColor" stroke-width="0.8"></circle>
    <circle cx="138.0" cy="205.6" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="147.1" cy="205.6" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="147.1" cy="205.6" r="3.7" fill="none" stroke="currentColor" stroke-width="0.8"></circle>
    <circle cx="156.2" cy="205.6" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="156.2" cy="205.6" r="3.7" fill="none" stroke="currentColor" stroke-width="0.8"></circle>
    <circle cx="165.3" cy="205.6" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="174.4" cy="205.6" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="183.5" cy="205.6" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="192.6" cy="205.6" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="201.7" cy="205.6" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="210.8" cy="205.6" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="219.9" cy="205.6" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="138.0" cy="214.7" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="147.1" cy="214.7" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="156.2" cy="214.7" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="165.3" cy="214.7" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="165.3" cy="214.7" r="3.7" fill="none" stroke="currentColor" stroke-width="0.8"></circle>
    <circle cx="174.4" cy="214.7" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="183.5" cy="214.7" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="192.6" cy="214.7" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="201.7" cy="214.7" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="210.8" cy="214.7" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="219.9" cy="214.7" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="138.0" cy="223.8" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="147.1" cy="223.8" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="156.2" cy="223.8" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="165.3" cy="223.8" r="2.35" fill="var(--fig-accent)"></circle>
    <circle cx="165.3" cy="223.8" r="3.7" fill="none" stroke="currentColor" stroke-width="0.8"></circle>
    <circle cx="174.4" cy="223.8" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="183.5" cy="223.8" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="192.6" cy="223.8" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="201.7" cy="223.8" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="210.8" cy="223.8" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="219.9" cy="223.8" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="138.0" cy="232.9" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="147.1" cy="232.9" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="156.2" cy="232.9" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="165.3" cy="232.9" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="174.4" cy="232.9" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="183.5" cy="232.9" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="192.6" cy="232.9" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="201.7" cy="232.9" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="210.8" cy="232.9" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="219.9" cy="232.9" r="2.35" fill="var(--fig-idle)"></circle>
    <rect x="236" y="133" width="106" height="177" rx="8" fill="var(--fig-paper)" stroke="var(--fig-line)" stroke-width="1"></rect>
    <circle cx="248.0" cy="151.0" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="257.1" cy="151.0" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="266.2" cy="151.0" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="275.3" cy="151.0" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="284.4" cy="151.0" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="293.5" cy="151.0" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="302.6" cy="151.0" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="311.7" cy="151.0" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="320.8" cy="151.0" r="2.35" fill="var(--fig-accent)"></circle>
    <circle cx="320.8" cy="151.0" r="3.7" fill="none" stroke="currentColor" stroke-width="0.8"></circle>
    <circle cx="329.9" cy="151.0" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="248.0" cy="160.1" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="257.1" cy="160.1" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="266.2" cy="160.1" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="275.3" cy="160.1" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="284.4" cy="160.1" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="293.5" cy="160.1" r="2.35" fill="var(--fig-accent)"></circle>
    <circle cx="293.5" cy="160.1" r="3.7" fill="none" stroke="currentColor" stroke-width="0.8"></circle>
    <circle cx="302.6" cy="160.1" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="311.7" cy="160.1" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="311.7" cy="160.1" r="3.7" fill="none" stroke="currentColor" stroke-width="0.8"></circle>
    <circle cx="320.8" cy="160.1" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="329.9" cy="160.1" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="248.0" cy="169.2" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="257.1" cy="169.2" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="266.2" cy="169.2" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="275.3" cy="169.2" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="284.4" cy="169.2" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="293.5" cy="169.2" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="302.6" cy="169.2" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="311.7" cy="169.2" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="320.8" cy="169.2" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="329.9" cy="169.2" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="248.0" cy="178.3" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="257.1" cy="178.3" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="266.2" cy="178.3" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="266.2" cy="178.3" r="3.7" fill="none" stroke="currentColor" stroke-width="0.8"></circle>
    <circle cx="275.3" cy="178.3" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="284.4" cy="178.3" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="293.5" cy="178.3" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="302.6" cy="178.3" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="311.7" cy="178.3" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="320.8" cy="178.3" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="329.9" cy="178.3" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="248.0" cy="187.4" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="257.1" cy="187.4" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="266.2" cy="187.4" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="275.3" cy="187.4" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="284.4" cy="187.4" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="293.5" cy="187.4" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="302.6" cy="187.4" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="311.7" cy="187.4" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="320.8" cy="187.4" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="329.9" cy="187.4" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="248.0" cy="196.5" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="257.1" cy="196.5" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="266.2" cy="196.5" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="275.3" cy="196.5" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="284.4" cy="196.5" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="293.5" cy="196.5" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="302.6" cy="196.5" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="311.7" cy="196.5" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="311.7" cy="196.5" r="3.7" fill="none" stroke="currentColor" stroke-width="0.8"></circle>
    <circle cx="320.8" cy="196.5" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="329.9" cy="196.5" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="248.0" cy="205.6" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="248.0" cy="205.6" r="3.7" fill="none" stroke="currentColor" stroke-width="0.8"></circle>
    <circle cx="257.1" cy="205.6" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="266.2" cy="205.6" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="275.3" cy="205.6" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="275.3" cy="205.6" r="3.7" fill="none" stroke="currentColor" stroke-width="0.8"></circle>
    <circle cx="284.4" cy="205.6" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="293.5" cy="205.6" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="302.6" cy="205.6" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="311.7" cy="205.6" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="320.8" cy="205.6" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="329.9" cy="205.6" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="248.0" cy="214.7" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="257.1" cy="214.7" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="266.2" cy="214.7" r="2.35" fill="var(--fig-accent)"></circle>
    <circle cx="266.2" cy="214.7" r="3.7" fill="none" stroke="currentColor" stroke-width="0.8"></circle>
    <circle cx="275.3" cy="214.7" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="284.4" cy="214.7" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="293.5" cy="214.7" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="302.6" cy="214.7" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="311.7" cy="214.7" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="320.8" cy="214.7" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="329.9" cy="214.7" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="248.0" cy="223.8" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="257.1" cy="223.8" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="266.2" cy="223.8" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="275.3" cy="223.8" r="2.35" fill="var(--fig-accent)"></circle>
    <circle cx="275.3" cy="223.8" r="3.7" fill="none" stroke="currentColor" stroke-width="0.8"></circle>
    <circle cx="284.4" cy="223.8" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="293.5" cy="223.8" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="302.6" cy="223.8" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="311.7" cy="223.8" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="320.8" cy="223.8" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="329.9" cy="223.8" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="248.0" cy="232.9" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="257.1" cy="232.9" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="266.2" cy="232.9" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="275.3" cy="232.9" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="284.4" cy="232.9" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="293.5" cy="232.9" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="302.6" cy="232.9" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="311.7" cy="232.9" r="2.35" fill="var(--fig-accent)"></circle>
    <circle cx="311.7" cy="232.9" r="3.7" fill="none" stroke="currentColor" stroke-width="0.8"></circle>
    <circle cx="320.8" cy="232.9" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="329.9" cy="232.9" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="26" cy="321" r="3" fill="var(--fig-dot)"></circle>
    <circle cx="26" cy="339" r="3" fill="var(--fig-idle)"></circle>
    <circle cx="26" cy="339" r="4.7" fill="none" stroke="currentColor" stroke-width="1"></circle>
    <circle cx="26" cy="357" r="3" fill="var(--fig-accent)"></circle>
    <circle cx="26" cy="357" r="4.7" fill="none" stroke="currentColor" stroke-width="1"></circle>
    <line x1="20" y1="475.0" x2="338" y2="475.0" stroke="var(--fig-line)" stroke-width="1" stroke-linecap="round"></line>
    <line x1="30" y1="505.0" x2="30" y2="580.0" stroke="var(--fig-line)" stroke-width="1" stroke-linecap="round"></line>
    <line x1="79" y1="505.0" x2="79" y2="580.0" stroke="var(--fig-line)" stroke-width="1" stroke-linecap="round"></line>
    <line x1="128" y1="505.0" x2="128" y2="580.0" stroke="var(--fig-line)" stroke-width="1" stroke-linecap="round"></line>
    <line x1="177" y1="505.0" x2="177" y2="580.0" stroke="var(--fig-line)" stroke-width="1" stroke-linecap="round"></line>
    <line x1="226" y1="505.0" x2="226" y2="580.0" stroke="var(--fig-line)" stroke-width="1" stroke-linecap="round"></line>
    <line x1="275" y1="505.0" x2="275" y2="580.0" stroke="var(--fig-line)" stroke-width="1" stroke-linecap="round"></line>
    <line x1="324" y1="505.0" x2="324" y2="580.0" stroke="var(--fig-line)" stroke-width="1" stroke-linecap="round"></line>
    <line x1="177" y1="505.0" x2="177" y2="580.0" stroke="var(--fig-muted)" stroke-width="1.1" stroke-linecap="round" stroke-dasharray="3 3"></line>
    <rect x="79.0" y="505.0" width="196.0" height="14" rx="7" fill="var(--fig-dot)"></rect>
    <rect x="142.7" y="560.0" width="73.5" height="14" rx="7" fill="var(--fig-accent)"></rect>
    <circle cx="124" cy="400.0" r="4" fill="var(--fig-accent)" stroke="var(--fig-accent)" stroke-width="1"></circle>
    <circle cx="142" cy="400.0" r="4" fill="none" stroke="var(--fig-muted)" stroke-width="1"></circle>
    <circle cx="160" cy="400.0" r="4" fill="none" stroke="var(--fig-muted)" stroke-width="1"></circle>
    <circle cx="178" cy="400.0" r="4" fill="none" stroke="var(--fig-muted)" stroke-width="1"></circle>
    <circle cx="196" cy="400.0" r="4" fill="none" stroke="var(--fig-muted)" stroke-width="1"></circle>
    <circle cx="214" cy="400.0" r="4" fill="none" stroke="var(--fig-muted)" stroke-width="1"></circle>
    <circle cx="232" cy="400.0" r="4" fill="none" stroke="var(--fig-muted)" stroke-width="1"></circle>
    <circle cx="250" cy="400.0" r="4" fill="none" stroke="var(--fig-muted)" stroke-width="1"></circle>
    <circle cx="268" cy="400.0" r="4" fill="none" stroke="var(--fig-muted)" stroke-width="1"></circle>
    <circle cx="286" cy="400.0" r="4" fill="none" stroke="var(--fig-muted)" stroke-width="1"></circle>
    <circle cx="124" cy="423.0" r="4" fill="var(--fig-accent)" stroke="var(--fig-accent)" stroke-width="1"></circle>
    <circle cx="142" cy="423.0" r="4" fill="var(--fig-accent)" stroke="var(--fig-accent)" stroke-width="1"></circle>
    <circle cx="160" cy="423.0" r="4" fill="var(--fig-accent)" stroke="var(--fig-accent)" stroke-width="1"></circle>
    <circle cx="178" cy="423.0" r="4" fill="none" stroke="var(--fig-muted)" stroke-width="1"></circle>
    <circle cx="196" cy="423.0" r="4" fill="none" stroke="var(--fig-muted)" stroke-width="1"></circle>
    <circle cx="214" cy="423.0" r="4" fill="none" stroke="var(--fig-muted)" stroke-width="1"></circle>
    <circle cx="232" cy="423.0" r="4" fill="none" stroke="var(--fig-muted)" stroke-width="1"></circle>
    <circle cx="250" cy="423.0" r="4" fill="none" stroke="var(--fig-muted)" stroke-width="1"></circle>
    <circle cx="268" cy="423.0" r="4" fill="none" stroke="var(--fig-muted)" stroke-width="1"></circle>
    <circle cx="286" cy="423.0" r="4" fill="none" stroke="var(--fig-muted)" stroke-width="1"></circle>
    <circle cx="124" cy="446.0" r="4" fill="var(--fig-accent)" stroke="var(--fig-accent)" stroke-width="1"></circle>
    <circle cx="142" cy="446.0" r="4" fill="var(--fig-accent)" stroke="var(--fig-accent)" stroke-width="1"></circle>
    <circle cx="160" cy="446.0" r="4" fill="var(--fig-accent)" stroke="var(--fig-accent)" stroke-width="1"></circle>
    <circle cx="178" cy="446.0" r="4" fill="var(--fig-accent)" stroke="var(--fig-accent)" stroke-width="1"></circle>
    <circle cx="196" cy="446.0" r="4" fill="var(--fig-accent)" stroke="var(--fig-accent)" stroke-width="1"></circle>
    <circle cx="214" cy="446.0" r="4" fill="none" stroke="var(--fig-muted)" stroke-width="1"></circle>
    <circle cx="232" cy="446.0" r="4" fill="none" stroke="var(--fig-muted)" stroke-width="1"></circle>
    <circle cx="250" cy="446.0" r="4" fill="none" stroke="var(--fig-muted)" stroke-width="1"></circle>
    <circle cx="268" cy="446.0" r="4" fill="none" stroke="var(--fig-muted)" stroke-width="1"></circle>
    <circle cx="286" cy="446.0" r="4" fill="none" stroke="var(--fig-muted)" stroke-width="1"></circle>
  </g>
  <g>
    <rect x="17.0" y="479.35" width="58.78000000000001" height="18.2" fill="var(--fig-paper)"></rect>
    <rect x="17.0" y="534.35" width="66.19" height="18.2" fill="var(--fig-paper)"></rect>
    <rect x="258.64" y="480.925" width="82.36000000000001" height="16.099999999999998" fill="var(--fig-paper)"></rect>
    <rect x="245.53" y="535.925" width="95.47" height="16.099999999999998" fill="var(--fig-paper)"></rect>
  </g>
  <g>
    <text x="20" y="40.0" font-size="20.5" font-weight="600" fill="currentColor" text-anchor="start" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="20" y="40.0">机会一样，运气不同</tspan></text>
    <text x="20" y="76.0" font-size="12.5" font-weight="400" fill="var(--fig-muted)" text-anchor="start" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="20" y="76.0">假设每 100 家里有 30</tspan><tspan x="20" y="94.0">家会回复。你只是不知道是哪 30 家。</tspan></text>
    <text x="25" y="263.0" font-size="12.5" font-weight="600" fill="currentColor" text-anchor="start" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="25" y="263.0">同学甲</tspan></text>
    <text x="25" y="284.0" font-size="10.8" font-weight="400" fill="var(--fig-muted)" text-anchor="start" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="25" y="284">发 10 封</tspan><tspan x="25" y="300">回 1 封</tspan></text>
    <text x="135" y="263.0" font-size="12.5" font-weight="600" fill="currentColor" text-anchor="start" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="135" y="263.0">同学乙</tspan></text>
    <text x="135" y="284.0" font-size="10.8" font-weight="400" fill="var(--fig-muted)" text-anchor="start" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="135" y="284">发 10 封</tspan><tspan x="135" y="300">回 3 封</tspan></text>
    <text x="245" y="263.0" font-size="12.5" font-weight="600" fill="currentColor" text-anchor="start" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="245" y="263.0">同学丙</tspan></text>
    <text x="245" y="284.0" font-size="10.8" font-weight="400" fill="var(--fig-muted)" text-anchor="start" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="245" y="284">发 10 封</tspan><tspan x="245" y="300">回 5 封</tspan></text>
    <text x="40" y="325.0" font-size="12" font-weight="400" fill="var(--fig-muted)" text-anchor="start" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="40" y="325.0">会回复的单位</tspan></text>
    <text x="40" y="343.0" font-size="12" font-weight="400" fill="var(--fig-muted)" text-anchor="start" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="40" y="343.0">你发过邮件的单位</tspan></text>
    <text x="40" y="361.0" font-size="12" font-weight="400" fill="var(--fig-muted)" text-anchor="start" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="40" y="361.0">收到回复</tspan></text>
    <text x="20" y="493.0" font-size="13" font-weight="600" fill="currentColor" text-anchor="start" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="20" y="493.0">发 10 封</tspan></text>
    <text x="20" y="548.0" font-size="13" font-weight="600" fill="currentColor" text-anchor="start" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="20" y="548.0">发 100 封</tspan></text>
    <text x="30" y="602.0" font-size="11.5" font-weight="400" fill="var(--fig-muted)" text-anchor="middle" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="30" y="602.0">0％</tspan></text>
    <text x="79" y="602.0" font-size="11.5" font-weight="400" fill="var(--fig-muted)" text-anchor="middle" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="79" y="602.0">10％</tspan></text>
    <text x="128" y="602.0" font-size="11.5" font-weight="400" fill="var(--fig-muted)" text-anchor="middle" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="128" y="602.0">20％</tspan></text>
    <text x="177" y="602.0" font-size="11.5" font-weight="400" fill="var(--fig-muted)" text-anchor="middle" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="177" y="602.0">30％</tspan></text>
    <text x="226" y="602.0" font-size="11.5" font-weight="400" fill="var(--fig-muted)" text-anchor="middle" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="226" y="602.0">40％</tspan></text>
    <text x="275" y="602.0" font-size="11.5" font-weight="400" fill="var(--fig-muted)" text-anchor="middle" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="275" y="602.0">50％</tspan></text>
    <text x="324" y="602.0" font-size="11.5" font-weight="400" fill="var(--fig-muted)" text-anchor="middle" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="324" y="602.0">60％</tspan></text>
    <text x="338" y="493.0" font-size="11.5" font-weight="400" fill="var(--fig-muted)" text-anchor="end" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="338" y="493.0">1 到 5 封回复</tspan></text>
    <text x="338" y="548.0" font-size="11.5" font-weight="400" fill="var(--fig-accent)" text-anchor="end" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="338" y="548.0">23 到 38 封回复</tspan></text>
    <text x="20" y="630.0" font-size="12" font-weight="400" fill="var(--fig-muted)" text-anchor="start" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="20" y="630.0">十次里约有九次，回复比例落在这个范围。两行的回</tspan><tspan x="20" y="647.0">复概率都是 30％。</tspan></text>
    <text x="20" y="404.0" font-size="12.5" font-weight="600" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="currentColor" text-anchor="start"><tspan x="20" y="404.0">同学甲</tspan></text>
    <text x="338" y="404.0" font-size="12.5" font-weight="600" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="var(--fig-accent)" text-anchor="end"><tspan x="338" y="404.0">1</tspan></text>
    <text x="20" y="427.0" font-size="12.5" font-weight="600" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="currentColor" text-anchor="start"><tspan x="20" y="427.0">同学乙</tspan></text>
    <text x="338" y="427.0" font-size="12.5" font-weight="600" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="var(--fig-accent)" text-anchor="end"><tspan x="338" y="427.0">3</tspan></text>
    <text x="20" y="450.0" font-size="12.5" font-weight="600" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="currentColor" text-anchor="start"><tspan x="20" y="450.0">同学丙</tspan></text>
    <text x="338" y="450.0" font-size="12.5" font-weight="600" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="var(--fig-accent)" text-anchor="end"><tspan x="338" y="450.0">5</tspan></text>
    <text x="20" y="673.0" font-size="11.5" font-weight="400" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="var(--fig-muted)" text-anchor="start"><tspan x="20" y="673.0">模型：二项分布</tspan></text>
  </g>
</svg></div>
          <figcaption><span>图 1</span>每个方格图里的回复概率都是 30%。发十封，可能收到一到五封回复；发一百封，回复比例就更接近 30%。算法是二项分布。</figcaption></figure>
        <p>所以，好的作品集能提高机会，但只发十封邮件，它也帮不了多少。 <strong>多联系一些单位，多到让自己有点不自在</strong>，也早点决定哪些最重要。<a href="https://ink.ashtonshu.page/zh/be-dependable#s4">第四部分</a>再说我是怎么排的。</p>
        <p>我参与管理的一个线上社区里，有在硅谷工作的平面设计师，也有程序员。我最早从他们那里听到一句话： <strong>找工作，本身就是一份全职工作。</strong> 如果你还没在单位内部的团队里工作过，就更是这样。</p>
      </section>

      

      <section>
        <h2 id="s2"><span>2</span><span>先做网站，PDF 也备好</span></h2>
        <p>暑假里，我整理了一份 PDF 作品集。十月初，网页课程刚上了几周，我就买了域名，做了自己的网站。10 月 15 日网站上线，当天晚上，我也发出了第一轮联系实习单位的邮件。每封都只放链接，不带附件。</p>
        <p>有了链接，对方不管想不想下载文件，都能直接看到你的作品。</p><p>实习尤其如此。这次的实习是免费的，不少公司和人事甚至不会看你的简历。有链接的话，本来没什么意愿的人，也可能顺手点开看一眼；要下载文件或附件，这点阻力就足够让他们放弃了。也有人什么都不看，直接让你去试试，反正你是免费的劳动力。在这个阶段，这未尝不是好事。要付钱的时候，就是另一回事了。</p><p><strong>这也是我建议先有个人网站，再考虑 PDF 作品集的原因之一。</strong></p>
        <figure><div role="img" aria-label="邮件附 PDF，读者要走四步才能看到作品；放网站链接，则只需三步。"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 358 700">



<rect x="0" y="0" width="358" height="700" rx="0" fill="var(--fig-paper)"></rect>
<rect x="20" y="116" width="148" height="50" rx="7" fill="var(--fig-soft)" stroke="var(--fig-line)" stroke-width="1"></rect>
<line x1="94" y1="173" x2="94" y2="182" stroke="var(--fig-muted)" stroke-width="1.2" stroke-linecap="round"></line>
<path d="M91,178 L94,182 L97,178" fill="none" stroke="var(--fig-muted)" stroke-width="1.2" stroke-linejoin="round"></path>
<rect x="20" y="188" width="148" height="50" rx="7" fill="var(--fig-soft)" stroke="var(--fig-line)" stroke-width="1"></rect>
<line x1="94" y1="245" x2="94" y2="254" stroke="var(--fig-muted)" stroke-width="1.2" stroke-linecap="round"></line>
<path d="M91,250 L94,254 L97,250" fill="none" stroke="var(--fig-muted)" stroke-width="1.2" stroke-linejoin="round"></path>
<rect x="20" y="260" width="148" height="50" rx="7" fill="var(--fig-soft)" stroke="var(--fig-line)" stroke-width="1"></rect>
<line x1="94" y1="317" x2="94" y2="326" stroke="var(--fig-muted)" stroke-width="1.2" stroke-linecap="round"></line>
<path d="M91,322 L94,326 L97,322" fill="none" stroke="var(--fig-muted)" stroke-width="1.2" stroke-linejoin="round"></path>
<rect x="20" y="332" width="148" height="50" rx="7" fill="var(--fig-soft)" stroke="var(--fig-line)" stroke-width="1"></rect>
<rect x="190" y="116" width="148" height="50" rx="7" fill="var(--fig-soft)" stroke="var(--fig-line)" stroke-width="1"></rect>
<line x1="264" y1="173" x2="264" y2="182" stroke="var(--fig-muted)" stroke-width="1.2" stroke-linecap="round"></line>
<path d="M261,178 L264,182 L267,178" fill="none" stroke="var(--fig-muted)" stroke-width="1.2" stroke-linejoin="round"></path>
<rect x="190" y="188" width="148" height="50" rx="7" fill="var(--fig-soft)" stroke="var(--fig-line)" stroke-width="1"></rect>
<line x1="264" y1="245" x2="264" y2="254" stroke="var(--fig-muted)" stroke-width="1.2" stroke-linecap="round"></line>
<path d="M261,250 L264,254 L267,250" fill="none" stroke="var(--fig-muted)" stroke-width="1.2" stroke-linejoin="round"></path>
<rect x="190" y="260" width="148" height="50" rx="7" fill="var(--fig-accent)" stroke="var(--fig-accent)" stroke-width="1"></rect>
<line x1="20" y1="408" x2="338" y2="408" stroke="var(--fig-line)" stroke-width="1" stroke-linecap="round"></line>
<text x="20" y="40" font-size="20.5" font-weight="600" fill="currentColor" text-anchor="start" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="20" y="40">点一下，就能看到作品</tspan></text>
<text x="20" y="91" font-size="13" font-weight="600" fill="var(--fig-muted)" text-anchor="start" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="20" y="91.0">邮件附 PDF</tspan></text>
<text x="94" y="145.0" font-size="12.5" font-weight="400" fill="currentColor" text-anchor="middle" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="94" y="145.0">打开邮件</tspan></text>
<text x="94" y="217.0" font-size="12.5" font-weight="400" fill="currentColor" text-anchor="middle" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="94" y="217.0">下载文件</tspan></text>
<text x="94" y="289.0" font-size="12.5" font-weight="400" fill="currentColor" text-anchor="middle" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="94" y="289.0">打开 PDF</tspan></text>
<text x="94" y="361.0" font-size="12.5" font-weight="600" fill="currentColor" text-anchor="middle" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="94" y="361.0">找到作品</tspan></text>
<text x="190" y="91" font-size="13" font-weight="600" fill="var(--fig-accent)" text-anchor="start" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="190" y="91.0">邮件放网站链接</tspan></text>
<text x="264" y="145.0" font-size="12.5" font-weight="400" fill="currentColor" text-anchor="middle" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="264" y="145.0">打开邮件</tspan></text>
<text x="264" y="217.0" font-size="12.5" font-weight="400" fill="currentColor" text-anchor="middle" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="264" y="217.0">点击链接</tspan></text>
<text x="264" y="289.0" font-size="12.5" font-weight="600" fill="var(--fig-paper)" text-anchor="middle" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="264" y="289.0">看到作品</tspan></text>
<text x="20" y="509" font-size="12.5" font-weight="400" fill="currentColor" text-anchor="start" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="20" y="509">会认真看网站：设计师、</tspan><tspan x="20" y="527">设计团队、负责品牌的主管。</tspan></text>
<text x="20" y="439" font-size="12.5" font-weight="400" fill="currentColor" text-anchor="start" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="20" y="439">仍会要 PDF：一些管理者，</tspan><tspan x="20" y="457">常是年纪较大的；以后也会有客户。</tspan></text>
<text x="20" y="579" font-size="12.5" font-weight="400" fill="currentColor" text-anchor="start" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="20" y="579">两种都不会打开：预算紧，</tspan><tspan x="20" y="599">或眼下没有真正需要的；</tspan><tspan x="20" y="619">作品再好，也可能没回音。</tspan></text>
<text x="20" y="672" font-size="15" font-weight="600" fill="var(--fig-accent)" text-anchor="start" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="20" y="672">两份都备好。</tspan></text>
</svg></div>
          <figcaption><span>图 2a</span>看到作品之前，每多一步，就多一个让人停下来的地方。</figcaption></figure>
        <p>现在做 UI/UX，我们讲「移动端优先」，因为电脑端早就不是最主要的使用场景了。作品集我也是这个态度：先做网站，PDF 备好。我知道，学校多半还是会让你先做 PDF。这不是说学校不好，教学本来就会慢一步。上过我们网页课的同学都看到了，课上才慢慢从 Adobe XD 转向 Figma，而业界早就完成了这一步，现在已经在用更新的工具了。</p>
        <h3 id="s2a">谁会看网站，谁会要 PDF</h3>
        <p>看什么，跟对方是什么人有关。设计团队、工作室，或者负责品牌的主管，这些有设计眼光的人，会认真看你的网站。一家行业协会的运营总监看过我的线上作品集。他告诉我，还没见面时，他就已经看出这份工作我能做。 </p><p>另一些人还是会要 PDF，往往是年纪较大的管理者，或者单纯不喜欢逛网站的人。一家集团公司的人事就在面试前打电话找我要过。如果以后你开自己的工作室，客户也会这样。两份都要备好。</p>
        <h3 id="s2b">精选四到六个，其余放进作品合集</h3>
        <p>网站和 PDF，我用的是同一条原则。 <strong>挑出最好的 4 到 6 个项目，讲清楚项目要求、过程和结果。其余的放进作品合集</strong>，每个一张图、一句话。</p>
        <figure><div role="img" aria-label="作品集网站上方展示五个较大的精选项目，下方用小图网格展示其余作品。"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 358 652">



<rect x="0" y="0" width="358" height="652" rx="0" fill="var(--fig-paper)"></rect>
<rect x="16" y="106" width="326" height="303" rx="8" fill="var(--fig-paper)" stroke="var(--fig-line)" stroke-width="1"></rect>
<line x1="16" y1="152" x2="342" y2="152" stroke="var(--fig-line)" stroke-width="1" stroke-linecap="round"></line>
<rect x="32" y="190" width="90" height="53" rx="4" fill="var(--fig-accent)" fill-opacity="0.16"></rect>
<line x1="42" y1="231" x2="80" y2="231" stroke="var(--fig-accent)" stroke-width="1.2" stroke-linecap="round"></line>
<rect x="134" y="190" width="90" height="53" rx="4" fill="var(--fig-accent)" fill-opacity="0.16"></rect>
<line x1="144" y1="231" x2="182" y2="231" stroke="var(--fig-accent)" stroke-width="1.2" stroke-linecap="round"></line>
<rect x="236" y="190" width="90" height="53" rx="4" fill="var(--fig-accent)" fill-opacity="0.16"></rect>
<line x1="246" y1="231" x2="284" y2="231" stroke="var(--fig-accent)" stroke-width="1.2" stroke-linecap="round"></line>
<rect x="32" y="254" width="90" height="53" rx="4" fill="var(--fig-accent)" fill-opacity="0.16"></rect>
<line x1="42" y1="295" x2="80" y2="295" stroke="var(--fig-accent)" stroke-width="1.2" stroke-linecap="round"></line>
<rect x="134" y="254" width="90" height="53" rx="4" fill="var(--fig-accent)" fill-opacity="0.16"></rect>
<line x1="144" y1="295" x2="182" y2="295" stroke="var(--fig-accent)" stroke-width="1.2" stroke-linecap="round"></line>
<rect x="32.0" y="347" width="36" height="20" rx="3" fill="var(--fig-line)"></rect>
<rect x="74.0" y="347" width="36" height="20" rx="3" fill="var(--fig-line)"></rect>
<rect x="116.0" y="347" width="36" height="20" rx="3" fill="var(--fig-line)"></rect>
<rect x="158.0" y="347" width="36" height="20" rx="3" fill="var(--fig-line)"></rect>
<rect x="200.0" y="347" width="36" height="20" rx="3" fill="var(--fig-line)"></rect>
<rect x="242.0" y="347" width="36" height="20" rx="3" fill="var(--fig-line)"></rect>
<rect x="284.0" y="347" width="36" height="20" rx="3" fill="var(--fig-line)"></rect>
<rect x="32.0" y="375" width="36" height="20" rx="3" fill="var(--fig-line)"></rect>
<rect x="74.0" y="375" width="36" height="20" rx="3" fill="var(--fig-line)"></rect>
<rect x="116.0" y="375" width="36" height="20" rx="3" fill="var(--fig-line)"></rect>
<rect x="158.0" y="375" width="36" height="20" rx="3" fill="var(--fig-line)"></rect>
<rect x="200.0" y="375" width="36" height="20" rx="3" fill="var(--fig-line)"></rect>
<rect x="242.0" y="375" width="36" height="20" rx="3" fill="var(--fig-line)"></rect>
<rect x="284.0" y="375" width="36" height="20" rx="3" fill="var(--fig-line)"></rect>
<text x="20" y="40" font-size="19.5" font-weight="600" fill="currentColor" text-anchor="start" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="20" y="40">精选四到六个，</tspan><tspan x="20" y="66">其余放进合集</tspan></text>
<text x="32" y="135" font-size="12" font-weight="600" fill="currentColor" text-anchor="start" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="32" y="135.0">你的名字</tspan></text>
<text x="326" y="135" font-size="11.5" font-weight="400" fill="var(--fig-muted)" text-anchor="end" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="326" y="135.0">作品　　关于　　联系</tspan></text>
<text x="32" y="178" font-size="12.5" font-weight="600" fill="var(--fig-accent)" text-anchor="start" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="32" y="178.0">精选项目</tspan></text>
<text x="32" y="332" font-size="12.5" font-weight="600" fill="var(--fig-muted)" text-anchor="start" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="32" y="332.0">作品合集</tspan></text>
<text x="20" y="451" font-size="14" font-weight="600" fill="var(--fig-accent)" text-anchor="start" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="20" y="451.0">精选项目</tspan></text>
<text x="20" y="477" font-size="12.5" font-weight="400" fill="currentColor" text-anchor="start" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="20" y="477.0">最好的 4 到 6 个项目。</tspan></text>
<text x="20" y="499" font-size="12.5" font-weight="400" fill="currentColor" text-anchor="start" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="20" y="499.0">每个都讲清项目要求、</tspan></text>
<text x="20" y="521" font-size="12.5" font-weight="400" fill="currentColor" text-anchor="start" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="20" y="521.0">过程和结果。</tspan></text>
<text x="20" y="570" font-size="14" font-weight="600" fill="var(--fig-muted)" text-anchor="start" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="20" y="570.0">作品合集</tspan></text>
<text x="20" y="596" font-size="12.5" font-weight="400" fill="currentColor" text-anchor="start" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="20" y="596.0">其余作品，</tspan></text>
<text x="20" y="618" font-size="12.5" font-weight="400" fill="currentColor" text-anchor="start" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="20" y="618.0">每个一张图、一句话。</tspan></text>
</svg></div>
          <figcaption><span>图 2b</span>精选项目讲清来龙去脉，作品合集展示你能做的范围。</figcaption></figure>
        <p>还有一个我漏掉的小事。第一封邮件里，我没放电话号码，也没附简历，医院回复时两样都问我要了。把它们放进邮件签名里。</p>
      </section>

      <hr>

      <section>
        <h2 id="s3"><span>3</span><span>设计工作室、艺术方向和内部设计团队</span></h2>
        <p>说到设计工作，我们大多先想到工作室。但也该知道还有哪些去处，因为 <strong>你是设计师，不是艺术家</strong>。这类工作大致有三种。</p>
        <h3 id="s3a">设计工作室</h3>
        <p>工作室看你的想法和设计功底。里面都是设计师，通常也想找有经验的人。除非你是转行过来的，之前做过设计，作品集也很强，不然我不建议从这里开始。有一类工作室要单独说，就是跟学校关系近的那些。我会在<a href="https://ink.ashtonshu.page/zh/be-dependable#s6near">第六部分</a>再说。</p>
        <h3 id="s3b">偏艺术的工作</h3>
        <p>这条路更看重个人表达、与人打交道的能力，或者单纯看创作能有多大跨度。它是另一条路，这篇不展开。</p>
        <h3 id="s3c">内部设计团队</h3>
        <p>这些团队设在主业不是设计的单位里，比如医院、工厂、学校、科学馆。我们不少人最后会去这样的地方，我瞄准的也是这里。愿意要我的四家都是这类单位。</p>
        <figure><div role="img" aria-label="设计工作室看想法和功底，偏艺术的工作看个人表达，内部设计团队看是否靠谱。"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 358 400">
  
  
  <g>
    <rect x="0" y="0" width="358" height="400" fill="var(--fig-paper)" rx="0"></rect>
    <line x1="31" y1="91" x2="31" y2="325" stroke="var(--fig-muted)" stroke-width="1" stroke-linecap="round"></line>
    <line x1="25" y1="115" x2="37" y2="115" stroke="var(--fig-muted)" stroke-width="1" stroke-linecap="round"></line>
    <line x1="25" y1="187" x2="37" y2="187" stroke="var(--fig-muted)" stroke-width="1" stroke-linecap="round"></line>
    <line x1="25" y1="259" x2="37" y2="259" stroke="var(--fig-accent)" stroke-width="1" stroke-linecap="round"></line>
    <path d="M39,255 L46,259 L39,263 Z" fill="var(--fig-accent)"></path>
  </g>
  <g></g>
  <g>
    <text x="20" y="40" font-size="20.5" font-weight="600" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="currentColor" text-anchor="start"><tspan x="20" y="40">三类设计工作</tspan></text>
    <text x="20" y="76" font-size="12.5" font-weight="400" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="var(--fig-muted)" text-anchor="start"><tspan x="20" y="76.0">偏创意</tspan></text>
    <text x="56" y="116" font-size="16" font-weight="600" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="currentColor" text-anchor="start"><tspan x="56" y="116.0">设计工作室</tspan></text>
    <text x="56" y="140" font-size="12.5" font-weight="400" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="var(--fig-muted)" text-anchor="start"><tspan x="56" y="140">看你的想法和设计功底。</tspan></text>
    <text x="56" y="188" font-size="16" font-weight="600" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="currentColor" text-anchor="start"><tspan x="56" y="188.0">偏艺术的工作</tspan></text>
    <text x="56" y="212" font-size="12.5" font-weight="400" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="var(--fig-muted)" text-anchor="start"><tspan x="56" y="212">看个人表达和人际沟通能力。</tspan></text>
    <text x="56" y="260" font-size="16" font-weight="600" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="var(--fig-accent)" text-anchor="start"><tspan x="56" y="260.0">单位内部团队</tspan></text>
    <text x="56" y="284" font-size="12.5" font-weight="400" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="var(--fig-muted)" text-anchor="start"><tspan x="56" y="284">看能不能放心把活交给你。</tspan></text>
    <text x="56" y="310" font-size="12.5" font-weight="600" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="var(--fig-accent)" text-anchor="start"><tspan x="56" y="310.0">我瞄准的方向</tspan></text>
    <text x="20" y="345" font-size="12.5" font-weight="400" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="var(--fig-muted)" text-anchor="start"><tspan x="20" y="345.0">偏稳定</tspan></text>
    <text x="20" y="375" font-size="18.5" font-weight="600" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="currentColor" text-anchor="start"><tspan x="20" y="375">你瞄准哪里，就落在哪里。</tspan></text>
  </g>
</svg></div>
          <figcaption><span>图 3</span>三类设计工作。你瞄准哪里，就落在哪里。</figcaption></figure> <p>这是我的结果，不是规律。结果取决于你一开始想要什么。我要的是稳定的工作，现在这比工作有多创意更重要。所以我主要写给这类单位，愿意要我的也都在这个方向。如果你的起点不一样，名单、数字和结果都会不一样。</p>
        <p>在这些地方，对方最先关心的，不是你多有创意，而是能不能把活交给你，然后就不用操心了。</p>
      </section>

      

      <section>
        <h2 id="s4"><span>4</span><span>我怎么给单位排顺序、给录用机会打分</span></h2>
        <h3 id="s4a">发邮件之前</h3>
        <p>联系之前，我先用两个问题给名单里的单位排了顺序：毕业后，我愿不愿意去那里工作？联系上他们有多容易？这样分出了四档。然后再看一件事：他们有没有自己的营销或设计团队？有的话，就说明有实实在在的设计工作等着做。</p>
        <figure><div role="img" aria-label="四格图。横轴是联系难度，从难到易；纵轴是毕业后愿不愿意去，从不愿意到愿意。愿意去、又容易联系的单位排在最前。"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 358 705">



<rect x="0" y="0" width="358" height="705" rx="0" fill="var(--fig-paper)"></rect>
<rect x="210" y="140" width="124" height="124" rx="8" fill="var(--fig-accent)"></rect>
<rect x="78" y="140" width="124" height="124" rx="8" fill="var(--fig-soft)" stroke="var(--fig-line)" stroke-width="1"></rect>
<rect x="210" y="272" width="124" height="124" rx="8" fill="var(--fig-soft)" stroke="var(--fig-line)" stroke-width="1"></rect>
<rect x="78" y="272" width="124" height="124" rx="8" fill="var(--fig-soft)" stroke="var(--fig-line)" stroke-width="1"></rect>
<line x1="58" y1="388" x2="58" y2="143" stroke="var(--fig-muted)" stroke-width="1.2" stroke-linecap="round"></line>
<path d="M55,139 L58,143 L61,139" fill="none" stroke="var(--fig-muted)" stroke-width="1.2" stroke-linejoin="round"></path>
<line x1="78" y1="416" x2="334" y2="416" stroke="var(--fig-muted)" stroke-width="1.2" stroke-linecap="round"></line>
<path d="M330,413 L334,416 L330,419" fill="none" stroke="var(--fig-muted)" stroke-width="1.2" stroke-linejoin="round"></path>
<rect x="16" y="513" width="326" height="168" rx="8" fill="var(--fig-soft)"></rect>
<text x="20" y="40" font-size="20.5" font-weight="600" fill="currentColor" text-anchor="start" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="20" y="40">发邮件前，先排顺序</tspan></text>
<text x="272" y="194" font-size="30" font-weight="600" fill="var(--fig-paper)" text-anchor="middle" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="272" y="194.0">第一</tspan></text>
<text x="272" y="221" font-size="12" font-weight="400" fill="var(--fig-paper)" text-anchor="middle" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="272" y="221.0">从这里开始</tspan></text>
<text x="140" y="194" font-size="30" font-weight="600" fill="currentColor" text-anchor="middle" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="140" y="194.0">第二</tspan></text>
<text x="140" y="221" font-size="12" font-weight="400" fill="var(--fig-muted)" text-anchor="middle" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="140" y="221.0">值得再</tspan></text>
<text x="140" y="239" font-size="12" font-weight="400" fill="var(--fig-muted)" text-anchor="middle" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="140" y="239.0">多花点力气</tspan></text>
<text x="272" y="326" font-size="30" font-weight="600" fill="currentColor" text-anchor="middle" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="272" y="326.0">第三</tspan></text>
<text x="140" y="326" font-size="30" font-weight="600" fill="currentColor" text-anchor="middle" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="140" y="326.0">第四</tspan></text>
<text x="140" y="353" font-size="12" font-weight="400" fill="var(--fig-muted)" text-anchor="middle" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="140" y="353.0">最后考虑</tspan></text>
<text x="78" y="438" font-size="12" font-weight="600" fill="currentColor" text-anchor="start" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="78" y="438.0">难</tspan></text>
<text x="334" y="438" font-size="12" font-weight="600" fill="currentColor" text-anchor="end" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="334" y="438.0">易</tspan></text>
<text x="206" y="469" font-size="12.5" font-weight="600" fill="var(--fig-muted)" text-anchor="middle" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="206" y="469">联系上他们有多容易？</tspan></text>
<text x="47" y="151" font-size="11.5" font-weight="600" fill="currentColor" text-anchor="end" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="47" y="151.0">愿意</tspan></text>
<text x="47" y="391" font-size="11.5" font-weight="600" fill="currentColor" text-anchor="end" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="47" y="391.0">不愿意</tspan></text>
<text x="20" y="82" font-size="13" font-weight="600" fill="var(--fig-muted)" text-anchor="start" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="20" y="82">毕业后，我愿不愿意去那里工作？</tspan></text>
<text x="32" y="542" font-size="14" font-weight="600" fill="currentColor" text-anchor="start" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="32" y="542.0">再多看一件事</tspan></text>
<text x="32" y="570" font-size="12.5" font-weight="400" fill="currentColor" text-anchor="start" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="32" y="570.0">他们有没有自己的</tspan></text>
<text x="32" y="591" font-size="12.5" font-weight="400" fill="currentColor" text-anchor="start" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="32" y="591.0">营销或设计团队？</tspan></text>
<text x="32" y="632" font-size="12.5" font-weight="400" fill="var(--fig-muted)" text-anchor="start" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="32" y="632.0">有的话，就有实在的</tspan></text>
<text x="32" y="653" font-size="12.5" font-weight="400" fill="var(--fig-muted)" text-anchor="start" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="32" y="653.0">设计工作等着做。</tspan></text>
</svg></div>
          <figcaption><span>图 4a</span>两个问题，分出四档，再多看一件事。</figcaption></figure>
        <h3 id="s4b">有了选择之后</h3>
        <p>等到手里真有了几个选择，我就从五个方面给每个机会打 1 到 5 分，再按权重算。稳定性和资金保障占得最多。接着看岗位是不是实实在在的。再看对职业发展的帮助、留下工作的机会，以及通勤和工时。</p>
        <figure><div role="img" aria-label="每份录用机会各项打 1 到 5 分，再加权：稳定性与资金保障权重 25，岗位是否实在权重 20，职业发展价值和留用机会各 15，通勤与时间 10。条形从长到短排列，稳定性占比最高；个人偏好单独记下，不打分。"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 358 568">



<rect x="0" y="0" width="358" height="568" rx="0" fill="var(--fig-paper)"></rect>
<rect x="20" y="144" width="318" height="14" rx="4" fill="var(--fig-soft)"></rect>
<rect x="20" y="144" width="318.0" height="14" rx="4" fill="var(--fig-accent)"></rect>
<rect x="20" y="214" width="318" height="14" rx="4" fill="var(--fig-soft)"></rect>
<rect x="20" y="214" width="254.4" height="14" rx="4" fill="var(--fig-dot)"></rect>
<rect x="20" y="284" width="318" height="14" rx="4" fill="var(--fig-soft)"></rect>
<rect x="20" y="284" width="190.8" height="14" rx="4" fill="var(--fig-dot)"></rect>
<rect x="20" y="354" width="318" height="14" rx="4" fill="var(--fig-soft)"></rect>
<rect x="20" y="354" width="190.8" height="14" rx="4" fill="var(--fig-dot)"></rect>
<rect x="20" y="424" width="318" height="14" rx="4" fill="var(--fig-soft)"></rect>
<rect x="20" y="424" width="127.2" height="14" rx="4" fill="var(--fig-dot)"></rect>
<line x1="20" y1="469" x2="338" y2="469" stroke="var(--fig-line)" stroke-width="1" stroke-linecap="round"></line>
<text x="20" y="40" font-size="20.5" font-weight="600" fill="currentColor" text-anchor="start" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="20" y="40">做选择前，先打分</tspan></text>
<text x="20" y="77" font-size="12.5" font-weight="400" fill="var(--fig-muted)" text-anchor="start" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="20" y="77.0">每项打 1 到 5 分，再按权重算。</tspan></text>
<text x="20" y="130" font-size="13.5" font-weight="600" fill="currentColor" text-anchor="start" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="20" y="130.0">稳定性与资金保障</tspan></text>
<text x="338" y="130" font-size="12" font-weight="400" fill="var(--fig-accent)" text-anchor="end" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="338" y="130.0">权重 25</tspan></text>
<text x="20" y="200" font-size="13.5" font-weight="400" fill="currentColor" text-anchor="start" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="20" y="200.0">岗位是否实在？</tspan></text>
<text x="338" y="200" font-size="12" font-weight="400" fill="var(--fig-muted)" text-anchor="end" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="338" y="200.0">权重 20</tspan></text>
<text x="20" y="270" font-size="13.5" font-weight="400" fill="currentColor" text-anchor="start" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="20" y="270.0">职业发展价值</tspan></text>
<text x="338" y="270" font-size="12" font-weight="400" fill="var(--fig-muted)" text-anchor="end" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="338" y="270.0">权重 15</tspan></text>
<text x="20" y="340" font-size="13.5" font-weight="400" fill="currentColor" text-anchor="start" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="20" y="340.0">留用机会</tspan></text>
<text x="338" y="340" font-size="12" font-weight="400" fill="var(--fig-muted)" text-anchor="end" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="338" y="340.0">权重 15</tspan></text>
<text x="20" y="410" font-size="13.5" font-weight="400" fill="currentColor" text-anchor="start" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="20" y="410.0">通勤与时间</tspan></text>
<text x="338" y="410" font-size="12" font-weight="400" fill="var(--fig-muted)" text-anchor="end" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="338" y="410.0">权重 10</tspan></text>
<text x="20" y="498" font-size="12.5" font-weight="400" fill="currentColor" text-anchor="start" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="20" y="498">有一件事我记下了，</tspan><tspan x="20" y="516">但没打分：单纯更喜欢哪一家。</tspan></text>
</svg></div>
          <figcaption><span>图 4b</span>这是我用的权重。你的可能不一样，但要在录用通知到手之前写下来。</figcaption></figure>
        <p>最后，医院的分数最高。有一件事我写下来了，但没打分：我其实更喜欢科学馆的节奏和氛围，也更喜欢它不在医疗环境里。这是感受，所以我把它放在数字旁边，没有算进去。 <strong>分数不会替你做决定。它只是让你看清，自己在取舍什么。</strong></p>
      </section>

      <hr>

      <section>
        <h2 id="s5"><span>5</span><span>做个让人放心的人</span></h2>
        <p>这件事从上学时就开始了，远在实习之前。</p>
        <h3 id="s5a">提前说，别等事后再说</h3>
        <p>老师总跟我们说：有什么事，给我发邮件。我想再加一句。别慌，也别怕发这封邮件。上不了课，或者作业要迟交，就提前说，别等事情过去了才说。当然，也会有真的突发情况。那就在事后尽快写信，把经过说清楚。这补不回那一次。 <strong>但每次都这样做，别人慢慢就会知道，你是靠得住的。</strong></p>
        <figure><div role="img" aria-label="当天告诉老师，就能一起商量办法；等下去，就会错过截止日期，让对方自己发现。"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 358 505">
  
  
  <g>
    <rect x="0" y="0" width="358" height="505" fill="var(--fig-paper)" rx="0"></rect>
    <rect x="75.0" y="64" width="208" height="36" fill="var(--fig-soft)" stroke="var(--fig-line)" stroke-width="1" rx="7"></rect>
    <line x1="179.0" y1="144" x2="94" y2="158" stroke="var(--fig-accent)" stroke-width="1" stroke-linecap="round"></line>
    <line x1="94" y1="158" x2="94" y2="167" stroke="var(--fig-accent)" stroke-width="1" stroke-linecap="round"></line>
    <path d="M91,163 L94,167 L97,163" fill="none" stroke="var(--fig-accent)" stroke-width="1.2" stroke-linejoin="round"></path>
    <line x1="179.0" y1="144" x2="264" y2="158" stroke="var(--fig-muted)" stroke-width="1" stroke-linecap="round"></line>
    <line x1="264" y1="158" x2="264" y2="167" stroke="var(--fig-muted)" stroke-width="1" stroke-linecap="round"></line>
    <path d="M261,163 L264,167 L267,163" fill="none" stroke="var(--fig-muted)" stroke-width="1.2" stroke-linejoin="round"></path>
    <rect x="20.0" y="175" width="148" height="38" fill="var(--fig-soft)" stroke="var(--fig-accent)" stroke-width="1" rx="7"></rect>
    <line x1="94" y1="216" x2="94" y2="231" stroke="var(--fig-accent)" stroke-width="1" stroke-linecap="round"></line>
    <path d="M91,227 L94,231 L97,227" fill="none" stroke="var(--fig-accent)" stroke-width="1.2" stroke-linejoin="round"></path>
    <rect x="20.0" y="234" width="148" height="38" fill="var(--fig-soft)" stroke="var(--fig-accent)" stroke-width="1" rx="7"></rect>
    <line x1="94" y1="275" x2="94" y2="354" stroke="var(--fig-accent)" stroke-width="1" stroke-linecap="round"></line>
    <path d="M91,350 L94,354 L97,350" fill="none" stroke="var(--fig-accent)" stroke-width="1.2" stroke-linejoin="round"></path>
    <rect x="20.0" y="360" width="148" height="85" fill="var(--fig-accent)" stroke="var(--fig-accent)" stroke-width="1.5" rx="7"></rect>
    <rect x="190.0" y="175" width="148" height="38" fill="var(--fig-soft)" stroke="var(--fig-muted)" stroke-width="1" rx="7"></rect>
    <line x1="264" y1="216" x2="264" y2="231" stroke="var(--fig-muted)" stroke-width="1" stroke-linecap="round"></line>
    <path d="M261,227 L264,231 L267,227" fill="none" stroke="var(--fig-muted)" stroke-width="1.2" stroke-linejoin="round"></path>
    <rect x="190.0" y="234" width="148" height="38" fill="var(--fig-soft)" stroke="var(--fig-muted)" stroke-width="1" rx="7"></rect>
    <line x1="264" y1="275" x2="264" y2="290" stroke="var(--fig-muted)" stroke-width="1" stroke-linecap="round"></line>
    <path d="M261,286 L264,290 L267,286" fill="none" stroke="var(--fig-muted)" stroke-width="1.2" stroke-linejoin="round"></path>
    <rect x="190.0" y="293" width="148" height="38" fill="var(--fig-soft)" stroke="var(--fig-muted)" stroke-width="1" rx="7"></rect>
    <line x1="264" y1="334" x2="264" y2="354" stroke="var(--fig-muted)" stroke-width="1" stroke-linecap="round"></line>
    <path d="M261,350 L264,354 L267,350" fill="none" stroke="var(--fig-muted)" stroke-width="1.2" stroke-linejoin="round"></path>
    <rect x="190.0" y="360" width="148" height="85" fill="var(--fig-soft)" stroke="var(--fig-muted)" stroke-width="1.5" rx="7"></rect>
    <line x1="20" y1="462" x2="338" y2="462" stroke="var(--fig-line)" stroke-width="1" stroke-linecap="round"></line>
  </g>
  <g></g>
  <g>
    <text x="20" y="40" font-size="20.5" font-weight="600" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="currentColor" text-anchor="start"><tspan x="20" y="40">提前说，别等事后再说</tspan></text>
    <text x="179.0" y="87" font-size="12.5" font-weight="600" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="currentColor" text-anchor="middle"><tspan x="179.0" y="87.0">出了状况</tspan></text>
    <text x="179.0" y="123" font-size="12.5" font-weight="600" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="currentColor" text-anchor="middle"><tspan x="179.0" y="123">唯一的差别：你什么时候开口</tspan></text>
    <text x="94" y="198.0" font-size="12.5" font-weight="400" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="var(--fig-accent)" text-anchor="middle"><tspan x="94" y="198.0">当天就说</tspan></text>
    <text x="94" y="257.0" font-size="12.5" font-weight="400" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="var(--fig-accent)" text-anchor="middle"><tspan x="94" y="257.0">一起定办法</tspan></text>
    <text x="32.0" y="382" font-size="12.5" font-weight="600" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="var(--fig-paper)" text-anchor="start"><tspan x="32.0" y="382">还有选择。别人信</tspan><tspan x="32.0" y="401">得过你。</tspan></text>
    <text x="264" y="198.0" font-size="12.5" font-weight="400" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="var(--fig-muted)" text-anchor="middle"><tspan x="264" y="198.0">等等看</tspan></text>
    <text x="264" y="257.0" font-size="12.5" font-weight="400" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="var(--fig-muted)" text-anchor="middle"><tspan x="264" y="257.0">过了期限</tspan></text>
    <text x="264" y="316.0" font-size="12.5" font-weight="400" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="var(--fig-muted)" text-anchor="middle"><tspan x="264" y="316.0">别人自己发现</tspan></text>
    <text x="202.0" y="382" font-size="12.5" font-weight="600" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="var(--fig-muted)" text-anchor="start"><tspan x="202.0" y="382">选择没了。别人开</tspan><tspan x="202.0" y="401">始盯着你。</tspan></text>
    <text x="20" y="482" font-size="12.5" font-weight="400" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="var(--fig-muted)" text-anchor="start"><tspan x="20" y="482">真有急事？事后尽快写信，把经过说清楚。</tspan></text>
  </g>
</svg></div>
          <figcaption><span>图 5a</span>同一个问题，唯一的差别是你什么时候开口。</figcaption></figure>
        <p>这个习惯也直接带进了我的实习。实习还没开始，我就知道有个星期五可能需要早走。我用同一封邮件告诉了医院和学校的实习协调员，说之后几周会把工时补上，并请两边都同意。《实习指南》里写得很清楚，为什么两边都要通知：</p>
        <blockquote><p>学生缺勤时，如未向雇主和工学结合课程协调员双方报告，将导致该课程不及格。</p></blockquote>
        <p><strong>这也是面试官想从你回答里听出来的。</strong> 出了问题，第一反应应该是：先告诉谁？这件事归谁负责？我需要找谁沟通？如果你平时就这么做，面试时的回答自然会带出来。</p> <p><strong>钱和条件也一样。</strong>这周有同学在群里说起一个真实客户的设计活。一开始没谈钱，也没签合同，客户就以为是免费的，毕竟是学生作业。后来对方要源文件，还要签一份保密协议，不让作品放进作品集和毕业展。这份协议同学没签，也知道下次该怎么做了。所以开工前就把钱、范围、源文件、作品能不能展示谈好。答应了之后再提，通常不太好说。也不是完全不能提，但范围没什么变化的话，就有点像合同签了又重谈。如果范围真的变大了，那才是开口的时候。</p>
        <h3 id="s5b">五分钟测试</h3>
        <p>第二个习惯更小。找一个你去年做的项目。 <strong>你能不能在五分钟内，找到它的某个版本、当时用的参考，或者一张截图？</strong> 听着有点琐碎。但在医院、工厂或学校里，主管或客户可能会挑一个旧版本当最终稿，或者拿它当下一个项目的模板。主管或老板也可能随时要看前面哪一版，所以没选中的也要留着。每个项目一个文件夹，文件名带上日期，就够了。</p>
        <figure><div role="img" aria-label="整理前：桌面散着叫「最终稿」「最终稿_最终」的文件。整理后：每个项目一个文件夹，各个版本带上日期。"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 358 825">
  
  
  <g>
    <rect x="0" y="0" width="358" height="825" fill="var(--fig-paper)" rx="0"></rect>
    <rect x="16" y="95" width="326" height="269" fill="var(--fig-paper)" stroke="var(--fig-line)" stroke-width="1" rx="8"></rect>
    <rect x="16" y="386" width="326" height="344" fill="var(--fig-paper)" stroke="var(--fig-accent)" stroke-width="1.5" rx="8"></rect>
    <path d="M33,142 h7 l3,3 v9 h-10 z" fill="none" stroke="var(--fig-muted)" stroke-width="0.9"></path>
    <path d="M33,169 h7 l3,3 v9 h-10 z" fill="none" stroke="var(--fig-muted)" stroke-width="0.9"></path>
    <path d="M33,196 h7 l3,3 v9 h-10 z" fill="none" stroke="var(--fig-muted)" stroke-width="0.9"></path>
    <path d="M33,223 h7 l3,3 v9 h-10 z" fill="none" stroke="var(--fig-muted)" stroke-width="0.9"></path>
    <path d="M33,250 h7 l3,3 v9 h-10 z" fill="none" stroke="var(--fig-muted)" stroke-width="0.9"></path>
    <path d="M33,277 h7 l3,3 v9 h-10 z" fill="none" stroke="var(--fig-muted)" stroke-width="0.9"></path>
    <path d="M33,304 h7 l3,3 v9 h-10 z" fill="none" stroke="var(--fig-muted)" stroke-width="0.9"></path>
    <path d="M33,331 h7 l3,3 v9 h-10 z" fill="none" stroke="var(--fig-muted)" stroke-width="0.9"></path>
    <line x1="41" y1="458" x2="41" y2="708" stroke="var(--fig-line)" stroke-width="1" stroke-linecap="round"></line>
    <line x1="41" y1="474" x2="51" y2="474" stroke="var(--fig-line)" stroke-width="1" stroke-linecap="round"></line>
    <line x1="41" y1="500" x2="51" y2="500" stroke="var(--fig-line)" stroke-width="1" stroke-linecap="round"></line>
    <line x1="41" y1="526" x2="51" y2="526" stroke="var(--fig-line)" stroke-width="1" stroke-linecap="round"></line>
    <line x1="41" y1="552" x2="51" y2="552" stroke="var(--fig-line)" stroke-width="1" stroke-linecap="round"></line>
    <rect x="70" y="565" width="256" height="38" fill="none" stroke="var(--fig-accent)" stroke-width="1" rx="4" stroke-dasharray="3 3"></rect>
    <rect x="70" y="611" width="256" height="38" fill="none" stroke="var(--fig-accent)" stroke-width="1" rx="4" stroke-dasharray="3 3"></rect>
    <rect x="70" y="657" width="256" height="46" fill="var(--fig-accent)" stroke="var(--fig-accent)" stroke-width="1" rx="4"></rect>
    <line x1="41" y1="712" x2="51" y2="712" stroke="var(--fig-line)" stroke-width="1" stroke-linecap="round"></line>
  </g>
  <g></g>
  <g>
    <text x="20" y="40" font-size="20.5" font-weight="600" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="currentColor" text-anchor="start"><tspan x="20" y="40">五分钟内，能找到吗？</tspan></text>
    <text x="32" y="124" font-size="14" font-weight="600" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="var(--fig-muted)" text-anchor="start"><tspan x="32" y="124.0">整理前：桌面</tspan></text>
    <text x="54" y="152" font-size="12.5" font-weight="400" font-family="ui-monospace, Menlo, Consolas, monospace" fill="currentColor" text-anchor="start"><tspan x="54" y="152.0">最终稿.ai</tspan></text>
    <text x="54" y="179" font-size="12.5" font-weight="400" font-family="ui-monospace, Menlo, Consolas, monospace" fill="currentColor" text-anchor="start"><tspan x="54" y="179.0">最终稿_最终.ai</tspan></text>
    <text x="54" y="206" font-size="12.5" font-weight="400" font-family="ui-monospace, Menlo, Consolas, monospace" fill="currentColor" text-anchor="start"><tspan x="54" y="206.0">最终稿_最终_第2版_真的.ai</tspan></text>
    <text x="54" y="233" font-size="12.5" font-weight="400" font-family="ui-monospace, Menlo, Consolas, monospace" fill="currentColor" text-anchor="start"><tspan x="54" y="233.0">标志 新（1）.png</tspan></text>
    <text x="54" y="260" font-size="12.5" font-weight="400" font-family="ui-monospace, Menlo, Consolas, monospace" fill="currentColor" text-anchor="start"><tspan x="54" y="260.0">截图（14）.png</tspan></text>
    <text x="54" y="287" font-size="12.5" font-weight="400" font-family="ui-monospace, Menlo, Consolas, monospace" fill="currentColor" text-anchor="start"><tspan x="54" y="287.0">截图（15）.png</tspan></text>
    <text x="54" y="314" font-size="12.5" font-weight="400" font-family="ui-monospace, Menlo, Consolas, monospace" fill="currentColor" text-anchor="start"><tspan x="54" y="314.0">参考.jpg</tspan></text>
    <text x="54" y="341" font-size="12.5" font-weight="400" font-family="ui-monospace, Menlo, Consolas, monospace" fill="currentColor" text-anchor="start"><tspan x="54" y="341.0">参考2.jpg</tspan></text>
    <text x="32" y="416" font-size="14" font-weight="600" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="var(--fig-accent)" text-anchor="start"><tspan x="32" y="416.0">整理后：一项目一文件夹</tspan></text>
    <text x="32" y="448" font-size="12.5" font-weight="400" font-family="ui-monospace, Menlo, Consolas, monospace" fill="currentColor" text-anchor="start"><tspan x="32" y="448.0">2026-03 客户品牌更新/</tspan></text>
    <text x="56" y="478" font-size="12.5" font-weight="400" font-family="ui-monospace, Menlo, Consolas, monospace" fill="currentColor" text-anchor="start"><tspan x="56" y="478.0">01 项目要求/</tspan></text>
    <text x="56" y="504" font-size="12.5" font-weight="400" font-family="ui-monospace, Menlo, Consolas, monospace" fill="currentColor" text-anchor="start"><tspan x="56" y="504.0">02 参考资料/</tspan></text>
    <text x="56" y="530" font-size="12.5" font-weight="400" font-family="ui-monospace, Menlo, Consolas, monospace" fill="currentColor" text-anchor="start"><tspan x="56" y="530.0">03 草图/</tspan></text>
    <text x="56" y="556" font-size="12.5" font-weight="400" font-family="ui-monospace, Menlo, Consolas, monospace" fill="currentColor" text-anchor="start"><tspan x="56" y="556.0">04 版本/</tspan></text>
    <text x="78" y="582" font-size="12.5" font-weight="400" font-family="ui-monospace, Menlo, Consolas, monospace" fill="currentColor" text-anchor="start"><tspan x="78" y="582.0">标志_第01版_2026-03-02.ai</tspan></text>
    <text x="78" y="598" font-size="12" font-weight="400" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="var(--fig-muted)" text-anchor="start"><tspan x="78" y="598.0">留着，可能要调</tspan></text>
    <text x="78" y="628" font-size="12.5" font-weight="400" font-family="ui-monospace, Menlo, Consolas, monospace" fill="currentColor" text-anchor="start"><tspan x="78" y="628.0">标志_第02版_2026-03-09.ai</tspan></text>
    <text x="78" y="644" font-size="12" font-weight="400" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="var(--fig-muted)" text-anchor="start"><tspan x="78" y="644.0">留着，可能要调</tspan></text>
    <text x="78" y="674" font-size="12.5" font-weight="600" font-family="ui-monospace, Menlo, Consolas, monospace" fill="var(--fig-paper)" text-anchor="start"><tspan x="78" y="674.0">标志_第03版_2026-03-14.ai</tspan></text>
    <text x="78" y="696" font-size="12" font-weight="400" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="var(--fig-paper)" text-anchor="start"><tspan x="78" y="696.0">选中的这版</tspan></text>
    <text x="56" y="716" font-size="12.5" font-weight="400" font-family="ui-monospace, Menlo, Consolas, monospace" fill="currentColor" text-anchor="start"><tspan x="56" y="716.0">05 最终稿/</tspan></text>
    <text x="20" y="770" font-size="12.5" font-weight="400" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="var(--fig-muted)" text-anchor="start"><tspan x="20" y="770">主管、经理或客户随时可能要看其中任何一版。</tspan></text>
  </g>
</svg></div>
          <figcaption><span>图 5b</span>一个项目一个文件夹，版本带日期。选中的一眼能找到，其余的也随时调得出来。</figcaption></figure>
        <p>这些都不用等工作了再做。下一次给老师发邮件时，就可以开始。</p>
      </section>

      

      <section>
        <h2 id="s6"><span>6</span><span>从一通电话到正式面试</span></h2>
        <p>我一共谈了五次，没有哪两次是一样的。进去之前，先知道可能有哪些形式，会有帮助。</p>
        <h3 id="s6a">有的已经认识我，或看过我的作品</h3>
        <p>医院的实习协调员给我打了电话，聊了具体要做的工作和开始日期。行业协会的运营总监在 Teams 通话前，就已经看过我的网站。这两家都在通话中答应了。</p>
        <h3 id="s6b">有的先确认基本情况</h3>
        <p>集团公司先做了个简短的电话初筛，然后由人事和营销团队负责人一起在 Teams 上面试：会用什么工具、以前做过哪些品牌更新、怎么同时处理几项任务。我带了一页提案，写了五周的工作计划。团队负责人说：</p>
        <blockquote><p>我很喜欢你的提案，你是带着这五周的计划来的。</p></blockquote>
        <h3 id="s6d">有一次完全是正式面试</h3>
        <p>科学馆安排了线下面试，一位资深营销经理和一位平面设计师参加。问的都是我以前工作时熟悉的那类问题：怎么跟人合作、怎么解决问题、课外去哪里继续学习，以及做品牌项目时想法卡住了怎么办。我准备了 30 秒的自我介绍，也准备了四个想问他们的问题。星期一早上，人事发来了录用邮件。</p><h3 id="s6c">还有一次是设计工作室</h3>
        <p>一家小工作室安排了一位创意设计师跟我聊 30 分钟 Zoom。我也带了一页提案，但那位设计师几乎没问我什么。也许他们早就看过作品集，也许是真的缺人，毕竟本来就在找实习生。我们聊了我的工作时间，对方说基本没问题。 </p><p>但在我做决定之前，没有收到任何书面确认。</p>
        <figure><div role="img" aria-label="五次面谈，按正式程度从低到高排列：电话、线上会议（Zoom）、线上会议（Teams）、先电话再线上小组面试（Teams）、当面面试。"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 358 470">
  
  
  <g>
    <rect x="0" y="0" width="358" height="470" fill="var(--fig-paper)" rx="0"></rect>
    <line x1="31" y1="113" x2="31" y2="387" stroke="var(--fig-muted)" stroke-width="1" stroke-linecap="round"></line>
    <line x1="25" y1="128" x2="37" y2="128" stroke="var(--fig-muted)" stroke-width="1" stroke-linecap="round"></line>
    <line x1="25" y1="186" x2="37" y2="186" stroke="var(--fig-muted)" stroke-width="1" stroke-linecap="round"></line>
    <line x1="25" y1="244" x2="37" y2="244" stroke="var(--fig-muted)" stroke-width="1" stroke-linecap="round"></line>
    <line x1="25" y1="302" x2="37" y2="302" stroke="var(--fig-muted)" stroke-width="1" stroke-linecap="round"></line>
    <line x1="25" y1="360" x2="37" y2="360" stroke="var(--fig-muted)" stroke-width="1" stroke-linecap="round"></line>
  </g>
  <g></g>
  <g>
    <text x="20" y="37" font-size="20.5" font-weight="600" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="currentColor" text-anchor="start"><tspan x="20" y="37">五次对话，</tspan><tspan x="20" y="63">从一通电话到正式面试</tspan></text>
    <text x="20" y="96" font-size="12.5" font-weight="400" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="var(--fig-muted)" text-anchor="start"><tspan x="20" y="96.0">不太正式</tspan></text>
    <text x="58" y="128" font-size="16" font-weight="600" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="currentColor" text-anchor="start"><tspan x="58" y="128.0">一家医院</tspan></text>
    <text x="58" y="151" font-size="14" font-weight="400" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="var(--fig-muted)" text-anchor="start"><tspan x="58" y="151.0">电话</tspan></text>
    <text x="58" y="186" font-size="16" font-weight="600" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="currentColor" text-anchor="start"><tspan x="58" y="186.0">一家小工作室</tspan></text>
    <text x="58" y="209" font-size="14" font-weight="400" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="var(--fig-muted)" text-anchor="start"><tspan x="58" y="209.0">线上会议（Zoom）</tspan></text>
    <text x="58" y="244" font-size="16" font-weight="600" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="currentColor" text-anchor="start"><tspan x="58" y="244.0">一家行业机构</tspan></text>
    <text x="58" y="267" font-size="14" font-weight="400" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="var(--fig-muted)" text-anchor="start"><tspan x="58" y="267.0">线上会议（Teams）</tspan></text>
    <text x="58" y="302" font-size="16" font-weight="600" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="currentColor" text-anchor="start"><tspan x="58" y="302.0">一家企业集团</tspan></text>
    <text x="58" y="325" font-size="14" font-weight="400" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="var(--fig-muted)" text-anchor="start"><tspan x="58" y="325.0">先电话，再线上小组面试（Teams）</tspan></text>
    <text x="58" y="360" font-size="16" font-weight="600" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="currentColor" text-anchor="start"><tspan x="58" y="360.0">一家科学中心</tspan></text>
    <text x="58" y="383" font-size="14" font-weight="400" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="var(--fig-muted)" text-anchor="start"><tspan x="58" y="383.0">当面（两个人）</tspan></text>
    <text x="20" y="410" font-size="12.5" font-weight="400" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="var(--fig-muted)" text-anchor="start"><tspan x="20" y="410.0">很正式</tspan></text>
    <text x="20" y="440" font-size="12.5" font-weight="400" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="var(--fig-muted)" text-anchor="start"><tspan x="20" y="440">不管正不正式，都在看同一件事：</tspan><tspan x="20" y="460">跟我共事省不省心？</tspan></text>
  </g>
</svg></div>
          <figcaption><span>图 6</span>五次面谈，按正式程度排，不按时间。</figcaption></figure><h3 id="s6near">如果实习单位跟学校关系近</h3>
        <p>跟我聊的那位设计师是我们专业的毕业生，也是我们评审组里的设计师之一。这让我想到两位兼职老师，他们自己开工作室，也接收实习生。我相信，他们一定会善待学生。 </p><p>但到了实习，熟悉的老师或学长学姐就成了你的老板。他们要考虑客户、截止日期和钱，可能就不会像课堂上那么随和了。</p>
        <p>所以，不管去哪家实习，我的建议都一样。 <strong>这次实习，是学校费了很多心思才帮我们争取到的难得机会。为了毕业之后的路，认真对待。</strong> 以后你进不进办公室，甚至还做不做平面设计，工作中最基本的礼貌和做事心态，底下都是相通的。我自己也还在学。</p>
        
        
        <p>不管形式多正式，每一家确认的其实都是同一件事：这五周，跟我一起工作会不会省心？</p>
      </section>

      

      <section>
        <h2 id="close">不管读到哪一年，都可以从这里开始</h2>
        <p>我们十月开始找实习，那时三年级的课还没结束。前一个暑假，是唯一一段不用上课的时间。</p>
        <p>如果你现在正过这个暑假，我建议先做这些。挑出四到六个项目，放到网站上，再备好 PDF。整理一个项目文件夹，整理到里面任何东西都能在五分钟内找到。等十月来了，多联系一些单位，多到让自己有点不自在。</p>
        <p>如果你跟我一样在读三年级，这份清单也一样有用。最后一个学期和毕业前找工作的日子，很快就要到了。更新那四到六个项目，让网站和 PDF 保持同步，下一封邮件争取当天回。很快我们还要再来一遍，这回找的就是真正的工作了。</p>
      </section>

      <hr>

      <section>
        <h2 id="asked">感兴趣的话：各家都问了什么</h2>
        <p>按我的笔记整理。措辞大致如此，不是逐字记录。</p>
        <h3 id="q-sj">医院</h3>
        <p>传播与数字策略；与教学实习协调员通电话；约 20 分钟</p>
        <ul><li>你住在本地吗？</li><li>做过视频剪辑吗？</li><li>你对这类工作感兴趣吗？</li></ul>
        <h3 id="q-mc">行业协会</h3>
        <p>与运营总监进行 Teams 通话；约 20 分钟</p>
        <ul><li>你是三年级学生吗？</li><li>为什么选采矿行业？又为什么会联系到我们？</li><li>做网站的经验多吗？</li><li>你有自己的电脑吗？</li></ul>
      <h3 id="q-pg">集团公司</h3>
        <p>营销与品牌；约 13 分钟的电话初筛，之后由人事和营销团队负责人一起在 Teams 上面试 30 分钟</p>
        <ul><li>电话里：做过什么、做了多久、实习多长时间、需要我们提供什么？</li><li>你有没有注意到，我们的品牌在视觉上还有哪些地方可以改进？</li><li>你用过 WordPress 和 Elementor 吗？</li><li>做过品牌更新吗？</li><li>你习惯同时处理几项任务，还是做完一件再开始下一件？</li></ul>
        <h3 id="q-sn">科学馆</h3>
        <p>营销；线下面试，由一位资深营销经理和一位平面设计师参加</p>
        <ul><li>你是怎么知道我们的？</li><li>你希望从这份工作里得到什么？</li><li>你平时怎么跟人相处、怎么处理工作？</li><li>课外，你去哪里了解新的设计工具和技巧？</li><li>如果在做一个品牌项目，想法卡住了，你会怎么办？</li></ul>
        <h3 id="q-ss">小工作室</h3>
        <p>小型设计工作室；与一位创意设计师进行 Zoom 通话；约 30 分钟</p>
        <ul><li>没问多少。我们聊了我的工作时间，对方说基本没问题。</li></ul>
        </section>
    <p>原文发表在<a href="https://ink.ashtonshu.page/zh/be-dependable">山边</a>。</p>]]></content:encoded></item><item><title>AI 感，是审美上的恐怖谷</title><link>https://ink.ashtonshu.page/zh/the-ai-look-uncanny-valley-of-taste</link><guid isPermaLink="true">https://ink.ashtonshu.page/zh/the-ai-look-uncanny-valley-of-taste</guid><pubDate>Thu, 29 Oct 2026 00:00:00 GMT</pubDate><description>这篇内容是我前两周做个人网站的过程中，将过去很多没想明白的问题通过实践，逐渐成型的一些思考。</description><dc:creator>Ashton Z. Shu</dc:creator><content:encoded><![CDATA[<img src="https://ink.ashtonshu.page/media/the-ai-look-uncanny-valley-of-taste/hero-doodle-20261106.png" alt="两张手绘曲线图并排。左边是森政弘 1970 年提出的恐怖谷曲线，沿线画着机械臂、蜗牛、猫、猩猩、假手，谷底是红色的木乃伊，顶点是一个真人；右边是这篇文章的 AI 感曲线，画着一个里面是机器人脸的对话气泡、谷底红色的机器人，和顶上拿着笔的机器人，大谷之后还有两个越来越小的谷，AI 的线绕着人的虚线收拢。"><div>
<p>这篇内容是我前两周做个人网站的过程中，将过去很多没想明白的问题通过实践，逐渐成型的一些思考。</p><p>文章也调整了几轮：一开始是想写成一篇严谨的论证或总结文章的，可后来发现掺进了太多我自己主观的东西、个人的经历。掺得多了，现在也就不那么想严格地去做区分了，所以这篇就姑且当成一篇杂谈随想吧。</p>


<p><em>首发于<a href="https://www.superlinear.academy/c/main/the-ai-look-uncanny-valley-of-taste">超线性学院付费会员区</a>。不是会员的话，可以用<a href="https://stay.superlinear.academy/invite/mtsrefer/">这个链接</a>免费看 30 天。</em></p></div><hr><p><em>约 5,900 字，9 张图，20 分钟读完。</em></p>
<p>AI 出来之后，各种设计也好、网页也好、视频也好，确实多了很多。我相信大家绝大部分也都试过用 AI 建站了，整体效果也都不错。可是只要做过几版的人，都会感觉到有 AI 感，也说不出来为什么。</p>
<p>上次我在 <a href="https://ink.ashtonshu.page/zh/ashton-is-build">《社区园丁的 Side Project｜平面设计师的个人网站制作》</a> 里也提到过这么一句：<em>我不相信大家真的看不出来 AI 味很重</em>。这里就接着聊聊，这个 AI 感到底是怎么来的，能不能说出个道理。</p>
<p>这一两周我也一直在想这个问题。上周末刷到不少 AI 视频，而在评论区里看到大家聊到恐怖谷这个名词后，我突然意识到 AI 与这个概念的关联性：</p>
<h2 id="s1"><span>1</span><span>一种「特化」了的恐怖谷</span></h2>
<p>简单说我的结论是：<strong>AI 感，其实本质上就是一种「特化」了的恐怖谷。</strong></p>
<p>把 AI 跟恐怖谷放在一起说，其实不算新鲜。这个想法是我自己琢磨出来的，但讲 AI 画的脸、AI 做的界面，我不会是第一个。我这篇想做的，是把这个思考和类比拆开讲清楚：为什么说它是一种「特化」了的恐怖谷。</p>
<p>恐怖谷这个词，现在大部分人应该都听过。以防有些朋友不知道，简单说一下：这是日本的机器人学者森政弘 1970 年提出的，机器人越像人，人对它越有好感；可像到只差一点的时候，好感会一下子掉下去，让人发毛；等跟真人几乎一样了，好感才又回来。</p>
<p>值得一提的是，他原文里谷底附近的例子是「假手」：看着跟真手一样，一握，软的、凉的、没有骨头；谷底最深处是「尸体」，正好跟峰顶「健康的人」相对。我们现在一说恐怖谷就会想到的、那种目中无神的人脸，并非原始案例，而是后来大家自己的感受总结。</p>
<figure><img src="https://ink.ashtonshu.page/media/the-ai-look-uncanny-valley-of-taste/figA-uncanny-vs-ai.png" width="2000" height="1000" alt="左右对照图：左边是恐怖谷曲线，右边是 AI 感曲线，两条曲线形状几乎一样，都是先上升、再跌入低谷、最后回升；两边谷底用朱红小点标出。"><figcaption><span>图 1</span>左边是恐怖谷曲线，右边是 AI 感曲线，形状几乎一样。</figcaption></figure>
<p>其实 AI 做的视觉产品也是这样：<strong>它似乎很像最好的，但始终不够像。你可能肉眼看不出，但你的直觉已经发现了。</strong>
</p><h3 id="heading-1">觉得不对劲，又说不出原因</h3>
<p>我从来不反对 AI，或者应该说，我是一个科技或者说工具派，任何可以提升效率和产出的新技术，哪怕是在创意领域，我都不会觉得它是抢夺了创作者的话语权。
可现实问题也很明显，大部分人看 AI 做的东西，隐隐其实都有感觉，觉得哪里不对劲，可又说不出具体是什么原因。</p>
<p>而我觉得这个核心原因与 AI 无关，而是一个类似于文学评论或作品赏析的底层问题：你需要知道一个好作品为什么好。
类似的还有，课代表也说过：<strong>把“看一眼就知道好不好”当作人最不可替代的能力</strong>。如果只能一味照猫画虎，很有可能最终画出来是一只病猫，从而产生了瘆人的作品，也就有了恐怖谷。</p>
<p>那人到底为什么会对机器有恐怖谷？说远些到心理生理的话，可能是对危险的天然恐惧等等。不过我们这里不讨论那些，只从最表面也最直接的原因来说，还是因为前面说的，它「不够像」。
</p><p>因为最初人们设计的机器人是纯对表面的模仿。一开始的机器人，人们对它的制作和理解，就是看到什么模仿什么。它是一种「无机质」的模仿。我这里说的无机，不是无机物、有机物的那个无机，而是说它不是一个有机的整体，里面没有内部联系。</p>
<h2 id="s2"><span>2</span><span>美人在骨不在皮</span></h2>
<p>既然说到恐怖谷，审美还有人脸，就先多两句嘴聊聊面容。</p>
<p>我们说一个人长得美，会区分说这个人是「皮相」还是「骨相」：皮相，就是皮肤、五官这些表面上看得见的；另一种骨相，就是底下的骨架、比例和结构。</p>
<p>说「美人在骨不在皮」，虽说并不绝对，但是骨相好的，更利于现代环境，更具体地说，更适合化妆和摄影出片，也更容易抗住年龄增长。相对而言，传统中式甚至亚洲妆容都是重皮相的。一如他们的绘画风格，有工笔有白描意境，但没有写实的高光和暗部阴影。</p>
<h3 id="structure-1">看皮画皮，看骨画骨</h3><p>还可以拿画画来举个例子。一开始大家学画，都只能依葫芦画瓢，学点皮毛，我觉得可以称之为「看皮画皮」。学到一定程度之后，老师就会要求你了解人体基本构造，尤其是画人体的时候，先了解人基础的腔体，和四肢的相对关系；再多一点，比如画胸像，你必须了解最常见的外显肌肉和骨骼之间的关系。这个阶段可以算是「看骨画骨」。
</p><p>到这个时候，有些人会误入歧途，开始去练医用美术。其实没必要，因为作为最终不是治病而是为了展示成果的作画者，你并不需要「看皮画骨」。练到一定程度，知道大概怎么表现了，就还是要回到「看皮画皮」，不需要「看皮画骨」或是「看骨画皮」。</p>
<p>只不过，有了这层画骨的底子，那种其实很明显、但普通人因为没受过训练，说不出哪里摆错了的违和感，就不会出现。比如你知道胸锁乳突肌和肩胛骨的走向，你的肩颈、锁骨的位置就永远不会画错，而让观众总觉得人脸很美，但好像总差点什么。</p>
<p>说到这个，大家会不会有点感觉？这个所谓的违和感，往往就是恐怖出现的地方；同理，也往往是大家觉得有 AI 感的地方。</p>
<h3 id="structure-2">原因是说得出来的</h3><p>前阵子我帮一家公司优化网页，我也是只看了首页，从字体的选择上，就看到是 AI 做的。原因是说得出来的：</p>
<ul>
<li>Section 里那种很大的数字，字重粗到 extra bold，下面的描述文字又特别细，两个一对比，反差太大了。这种一般就是 AI 做的。</li>
<li>Logo 的字体，还有里面那些特别小的字，辨识度太低，尤其是远一点看的时候；而且跟整个网页的字体也不一致。</li>
<li>链接用的图标跟其他图标明显不是同一套。</li>
</ul>
<p>其实整体是没有问题的，就是这些细节要调。而且这都是一般的规则，说得出来，就可以直接交给 AI，让它照着改。</p>
<p>当然现在这个事情并不需要人来做，AI 就能帮你，唯一的问题是大部分人没受过训练说不出原因，就没法明确说出是什么问题。
那我这里也给大家推荐一个叫 <a href="https://impeccable.style">impeccable</a> 的 GitHub 上一个高星 skill。</p>
<p>我去它的官网仔细看了看，觉得它确实把这些基础规则全部写入了，非常推荐：平面设计里一些基础的架构，像 hierarchy、spacing 这些，该有的都有，大家可以拿去用。</p>
<figure><video controls src="https://ink.ashtonshu.page/media/the-ai-look-uncanny-valley-of-taste/fig-impeccable.mp4" preload="metadata" poster="https://ink.ashtonshu.page/media/the-ai-look-uncanny-valley-of-taste/fig-impeccable.png" width="1176" height="1040" aria-label="Impeccable 官网的对比演示：一条竖线左右滑动，左边是带 AI 味的页面，黄色标签标出问题，右边是改好的页面。"></video><figcaption><span>图 2</span>Impeccable 官网的对比演示，滑动看改前改后，黄色标签是它检出的问题。来源：<a href="https://impeccable.style">impeccable.style</a></figcaption></figure>
<h3 id="structure-3">AI 不是这么学的</h3><p>回到我们想讨论的话题：
AI 感跟恐怖谷像，还有一点。人的学习成长曲线是固定的：从初学者，到 junior、senior，有些错误、有些坑，每个人在路上都会踩一遍。AI 不是这么学的。它一上来就能把「皮相」学得非常好，这也是为什么我们说它能模仿到八九成像；可有些「骨相」，它就是学不到。</p>
<p>大部分 AI 做出来的东西，是没有这层东西的。AI 做的网站、页面还有一个问题：什么好东西都往里放，它不会做筛选。而做筛选、做精炼，恰恰是平面设计，或者说人做画面创作的时候很重要的一部分。
</p><p>主视觉图（KV）是一个品牌或活动的主图，放到游戏里，更接近加载界面的那张图，最经典的就是《英雄联盟》《王者荣耀》的英雄皮肤插画。我们当时学这类插画，它底层的理念跟电影的故事板，镜头语言是一个概念：一个画面只能有一个中心，顶多一个中心、一个次中心，超过了就没有办法聚焦。这跟现在的平面设计，或者说大众传媒的核心理念是一样的，是大众传播的基础。除非你做的是那种需要人长时间盯着看、慢慢找细节的艺术，那就不一样了。</p>
<h3 id="heading-2">我理解的 AI 感来源</h3>
<p>所以你看，这两件事是有类比性的。AI 感的本质，就是 AI 一上来就模仿得比大部分没有锻炼过的人更像，看起来更像专业的；但它是无机的模仿，只模仿到了皮相，没有模仿到骨相，骨相是乱的，所以看着似像不像，也就不好看。这是我理解的 AI 感的来源。</p>
<figure><img src="https://ink.ashtonshu.page/media/the-ai-look-uncanny-valley-of-taste/figC-ai-feel.png" width="800" height="500" alt="「AI 感，审美上的恐怖谷」以技术水平为横轴、看着舒服为纵轴：人的虚线逐渐上升，AI 实线在进入大众视野后跃升、停滞，再跌入标为「AI 感」的低谷，最后回升越过人的线。局部放大的锯齿线表示平台期仍有细小波动，这是笔者的类比示意。"><figcaption><span>图 3</span>AI 感，审美上的恐怖谷。</figcaption></figure>
<p>图里 AI 那条线是这么回事：它不像人那样从新手一点点往上爬，前面那一段根本没有它；到了差不多四成的地方，它才进入大众的视野，刚出来的时候，综合起来其实还不如同水平的人，可它一下就冲上去了，这就是现在大家看到的，一上来就八九成像，比大部分没练过的人都像专业的。</p><p>冲上去以后是很长一段平台，看着挺稳；放大了看，它不是真的平，是上下来回抖的，像股市一样，时好时坏。</p><p>再往后，就掉进了那个谷里，也就是 AI 感；最后到了专业那一段，它又冲上去，看着像超过了人。人的那条虚线，一路往上，没有谷。</p>
<p>像这样说得出原因的东西，审美里其实有相当多。<strong>但平时只需搞创作的人都会说，我们全凭感觉和品味。</strong></p>
<h2 id="s3"><span>3</span><span>审美能不能讲道理</span></h2>
<p>那审美这件事，到底能不能讲道理？或者说，平面设计里好不好看，到底能不能量化？</p>
<p>做服装设计的、传统美术的人，可能会说不能。但现在做 UI、做软件的人，真的去看那些研究和分析，会发现很多是能算的。</p>
<h3 id="structure-4">连续圆角</h3><p>比如圆角矩形。普通的圆角，是直线接上一段四分之一圆，接口那里，弯的程度（曲率）一下子从 0 跳上去；苹果用的连续圆角，是让它慢慢弯上去，看着就顺。这是能写成公式、算出参数的：</p>
<blockquote><p><strong>公式</strong>：数学上有一种曲线叫超椭圆，</p>
<p><math displaystyle="true" xmlns="http://www.w3.org/1998/Math/MathML" aria-label="|x/a|ⁿ + |y/b|ⁿ = 1"><mrow><msup><mrow><mo>|</mo><mfrac><mi>x</mi><mi>a</mi></mfrac><mo>|</mo></mrow><mi>n</mi></msup><mo>+</mo><msup><mrow><mo>|</mo><mfrac><mi>y</mi><mi>b</mi></mfrac><mo>|</mo></mrow><mi>n</mi></msup><mo>=</mo><mn>1</mn></mrow></math>，<math xmlns="http://www.w3.org/1998/Math/MathML"><mi>n</mi></math> 越大越方。</p>
<p><strong>参数</strong>：早年有人拿 <math xmlns="http://www.w3.org/1998/Math/MathML" aria-label="n = 5"><mi>n</mi><mo>=</mo><mn>5</mn></math> 去套苹果的图标，很接近，但不完全一样；Figma 后来自己推了一套，每个角用两段贝塞尔曲线夹一段圆弧，平滑度调到 60%，基本就是 iOS 的样子。</p></blockquote>
<figure><img src="https://ink.ashtonshu.page/media/the-ai-look-uncanny-valley-of-taste/figE-corners.png" width="800" height="350" alt="三个蓝色方块依次展示直角、普通圆角、连续圆角，下方对应曲率线依次为尖峰、阶跃、平滑起落。连续圆角让曲率逐渐变化，用来说明看似细微的形状调整也会改变观感。"><figcaption><span>图 4</span>出处均为英文：<a href="https://developer.apple.com/documentation/swiftui/roundedcornerstyle">苹果的开发文档</a>，把普通圆角叫「四分之一圆」，连续圆角叫「曲率连续」；<a href="https://www.figma.com/blog/desperately-seeking-squircles/">Figma 那篇推导</a></figcaption></figure>
<h3 id="structure-5">视觉补偿</h3><p>字体也是。英文字体里，O 这种圆的字母，要比 H 这种方的字母上下都超出一点点，看起来才一样高，这叫视觉补偿。超出多少，有人量过：</p>
<blockquote><p><strong>测试</strong>：数字字体的奠基人 Peter Karow 拿 130 个人做过测试，圆的直径要比正方形的边长大 3% 左右，受众才会明显感觉两者看起来一样大，摊到上下，各 1.5% 左右。</p>
<p><strong>实测</strong>：我精确测量了下自己电脑上六款常用的英文字体，O 比 H 上下各多出 1% 到 2.4%，其中 Arial 是 1.7%。</p></blockquote>
<p>Karow 自己也说，这些只是平均值，每款字体都有自己的脾气，最后还得交给有经验的字体设计师去定。</p>
<figure><img src="https://ink.ashtonshu.page/media/the-ai-look-uncanny-valley-of-taste/figD-overshoot.png" width="800" height="400" alt="大写 H 和 O 并排放在大写高度线与基线上，红色标出 O 在上下各多出的约 1.7%。这个视觉补偿让圆形字母与平顶字母看起来一样高。"><figcaption><span>图 5</span>出处均为英文：Karow 的测试转引自 <a href="https://typeculture.com/wp-content/uploads/2016/02/tc_article_6.pdf">Mark Jamra 的文章</a>；<a href="https://handbook.glyphsapp.com/single-page/">字体软件 Glyphs 的手册</a>里也写，这个差值通常是十到十五个单位</figcaption></figure>
<p>过去做平面的人常说，凭眼睛微调一点点；可从数学量化的角度，把字母两边留白的面积算进去，是能建出模型、自动算出间距的，设计师最后再校一下就行。</p>
<h3 id="structure-6">工程学的视角</h3><p>那这样的计算有必要吗？这就得回到工程学的视角了。
我当年学的是电气，在学校里，课上讲理论时，都是练习完整的麦克斯韦方程组，每一项都要推出来、算进去，讲究一点不差；可到了工程实践里，实际算的时候完全是另一回事：先看哪一项是主要的，比它小一个数量级的，统统约掉，几步就算完了。
</p><p>当学生的时候我一直不理解：这样不会不准吗？后来自己做了几年工程才明白，工程上要的，是误差小到不影响结果就够了。</p>
<p>拿这个眼光看平面设计，道理是一样的：设计是给人眼看的，眼睛分辨不出来的差别，算得再细，看上去也没有区别。</p>
<p>所以审美能不能讲道理？能，但在过去，这个计算太耗时，在实践中不必算到小数点后。但是现在情况不太一样了。这里以我自己为例讲讲。</p>
<hr><h2 id="s4"><span>4</span><span>非典型工科生的设计实践</span></h2>
<p>我虽然长期受的是工科的教育，电气工程读完本科又读了硕士，毕业后在医院做了五年电气设施的运维管理，但其实我一直很讨厌大家说我是工科生。我一直有一颗 creative 的心，从中学起就喜欢设计，甚至是艺术。</p>
<p>只是因为没有从小开始学，在 creative 上我确实也没有那么大的天分，甚至搞抽象都搞不过别人。后来学了平面设计、学了画画，我发现做电影的、做创意的、画画的人里，很多人有各种各样的天赋，有些甚至可能本身是身体上的缺陷，反而成了别人永远没有办法企及的特质。</p>
<p>那这个在我这里没有。</p>
<p>但我也观察到，社区里面，或者说绝大部分人，其实是偏向于我们这种的。既然是这样，那有些东西就是可以比较、可以学习、可以讨论的，而不是那种捉摸不到的东西。</p>
<p>我过去就是想学画、想学设计，一直在学，也一直感兴趣。但真到自己做的时候，一直下不了笔。</p>
<p>这还不仅仅是因为能力上不够。另一方面，我真的是不愿意抠细节。这件事我在我那个毫无起色的播客<a href="https://share.transistor.fm/s/9b2cdb1b">《不下不上》第 5 期</a> 里也说过。</p>
<p>总的来说就是，当年没有这些技术，身边的父母也不是做这行的，想学也没有办法学。</p>
<h2 id="s5"><span>5</span><span>当年没处学，直到 AI 出来以后</span></h2>
<p>举个例子，当年学画画，是要很大的金钱投入的。我自己买过板子，买过各种手绘板、手绘工具，这些东西花不了太多钱，家里也支持；但是买了之后，没有人教。请老师要特别多的钱，这部分钱我也不好意思开口跟爸妈要。</p>
<p>这种情况下只能自己练。自己练的话，按我们现在的话讲，我画画压根不知道底层原理，不知道一开始要从大到小、从宏观到细节，不是先打框架、打结构，而是真的一点一点地抠像素，像拼豆一样，从第一排第一格开始，一个格子一个格子、一个像素一个像素地抠出来。自然没多久就练不下去了。</p>
<p>都是后来互联网发达了，能上网课了，我才开始有机会自己接触、自己学。启蒙教我的老师，给我说的方法是：</p>
<blockquote><p>你就先完整地画一张，看下来哪块技术是你最短的板，先把它补齐到和其他技术差不多。然后，进入下一个循环。</p></blockquote>
<h3 id="structure-7">相似的逻辑</h3><p>再后来，AI 发展起来之后，我发现，过往这一二十年我关于审美的学习，所有审美方向、设计方向的观念，尤其是设计理念，整体上都有一整套完整的、相似的逻辑。从一开始的室内设计、景观设计，到后来的画画、摄影、视频剪辑、MAD 动效，学得越多越是这样。所以在 AI 出来之后，会发现很多共同点。</p>
<figure><video controls src="https://ink.ashtonshu.page/media/the-ai-look-uncanny-valley-of-taste/fig2-circles.mp4" preload="metadata" poster="https://ink.ashtonshu.page/media/the-ai-look-uncanny-valley-of-taste/fig2-circles-trend.png" width="1500" height="400" aria-label="设计领域的边界扩大，共同部分逐渐重叠"></video><figcaption><span>图 6</span>这张图的思路，来自我之前那篇<a href="https://www.superlinear.academy/c/posts/ai-ryo-cursor">《职业不是一个点，而是一片光谱》</a> 里画的那组交叠的圆。那篇聊的是以设计师为例，讲职业这个东西是怎么演化的</figcaption></figure>
<p>图里那三个小记号，圆点、三角、方块，是各自的圆心，从头到尾没动过，变的只是边界。以前这几门也不是完全不同的逻辑，中间那一小块淡红色的，就是它们共同的底子，以前就有，只是小；后来每一门都学得越来越宽，各自的边往外拓，这块底子也跟着长大，到现在三个圆差不多快重合了。</p><p>乍一看像是它们在互相靠拢，其实是各自在长大。</p><p>动图最后，我把以前放大到跟现在整体差不多大，再比了一次：这时候以前三个圆还是离得很开，现在几乎叠在一起。以前之所以觉得这几门差得那么远，其实是因为那时候每一门都还小，圆心之间的距离一直没变。</p>
<p>我前面是拿平面传达类举例，其实这件事能类比到各个方面。
比如做工程的，电气、电子、机械这几个方向之间，水电、机电这些专业之间；比如程序员和 UI 设计师。</p><p>尤其现在大厂里都在说，不同岗位在互相抢彼此的活：做设计的、写程序的、管项目的，还有做业务拓展的。在我看来，这本质上跟上面那张图是同一个模型：不是谁往谁那边靠，是每个人的边界都在往外长，长着长着就接近重合了。职业之间的边界其实是模糊的，方法不同，但逻辑其实是一样的。</p>
<figure><video controls src="https://ink.ashtonshu.page/media/the-ai-look-uncanny-valley-of-taste/fig4-eng.mp4" preload="metadata" poster="https://ink.ashtonshu.page/media/the-ai-look-uncanny-valley-of-taste/fig4-eng-trend.png" width="1500" height="400" aria-label="电气、电子与机械工程领域逐渐重叠"></video><figcaption><span>图 7</span>工程这边也一样：电气、电子、机械的边界在重叠。</figcaption></figure>
<figure><video controls src="https://ink.ashtonshu.page/media/the-ai-look-uncanny-valley-of-taste/fig3-roles.mp4" preload="metadata" poster="https://ink.ashtonshu.page/media/the-ai-look-uncanny-valley-of-taste/fig3-roles-trend.png" width="1500" height="400" aria-label="设计、开发与项目管理等职业边界逐渐重叠"></video><figcaption><span>图 8</span>岗位也一样：设计、程序、项目经理的边界在重叠。</figcaption></figure>
<hr><h2 id="s6"><span>6</span><span>为什么像，又没那么像</span></h2>
<p>说回 AI 感。前面说的是骨相：骨相乱了，说得出来，交给 AI 也能照着改。可就算骨相也改对了，它还是像，又没那么像。</p>
<p>前面那张图是往大里画的。再往细看，那条线不是冲上去就到头了，更像一次次重演：AI 追上一种好看，这种好看就变得常见，人的眼睛又往别处走，它又掉下来一点。所以两条线是缠在一起的，越来越近。这只是我的示意，不一定准。</p>
<figure><img src="https://ink.ashtonshu.page/media/the-ai-look-uncanny-valley-of-taste/figF-ai-feel-echo.png" width="1419" height="750" alt="AI 感曲线的细化示意：人的灰色虚线持续上升，AI 实线经历平台和大谷后，与人的线反复交织、越来越近；大谷之后还有两个越来越小的谷，三个谷底均以朱红小点标出。"><figcaption><span>图 9</span>往细看：一次次重演，越来越近。这只是我的示意。</figcaption></figure><p>为什么？因为它是一个永远不出错的、规规矩矩的、照着你模仿的系统。这也是恐怖谷里的机器人之所以恐怖的原因：它在试图模仿你，什么地方都和你很像，但是它所有地方都从不逾矩，就导致你会觉得它缺那么一点灵气，缺那么一点画龙点睛的「睛」。</p>
<h3 id="heading-3">写作里的 AI 味也是这样</h3>
<p>我想到这一层之后，也想起咱们社区之前也有过类似的想法，我在这里跟大家对照着说一说。下面是我自己从里面读到的，不一定完全是原作者的意思。</p>
<p>一篇是 AI 自己整理的<a href="https://www.superlinear.academy/c/news/ai-767b72">《写作中的AI味是哪儿来的》</a>。它说 AI 写的中文，每个字都是中文，句子的骨架却是英文的，所以读起来是一种整体的违和感。「句子的骨架留在了英文里，只有皮被换成了中文词汇。」这跟我说的皮相是对的、骨相是乱的，基本是一个意思：AI 的中文像是从英文翻回来的，只有中文的皮，没有中文的骨，套在英文的骨上，整体就乱了。</p><p>它还说，认出这一点以后，问题就从一个朦胧的语感，变成了一个具体的技术活；这跟我说的「说得出原因，就能交给 AI 照着改」，也是一回事。</p>
<p>另一篇是 <a href="https://www.superlinear.academy/u/5d2dc2cf">Jay How</a> 的<a href="https://www.superlinear.academy/c/main/ai-ai-3cc1b8">《从使命必达先生到Ai创作，为什么去“AI味”是个伪命题？》</a>。他拿《瑞克和莫蒂》里的使命必达先生比 AI：没有自我、没有审美、没有立场，只是一个执行器，所以同一个 skill、同一个模型，写出来的东西好坏，差在按按钮的那个人。这跟我前面说的「AI 从不逾矩，就缺那么一点灵气」是一路的，也就是常说的「仿得了形，仿不了神」：AI 学到的是形，只是照着做，核心的那点灵气没学到。</p>
<h3 id="heading-4">AI 还能学到哪一步</h3>
<p>不一样的是，我没他那么悲观。就像前面说的学画画，练人体结构的人，也不是真要从骨架开始，把循环系统、脂肪、皮层一层层从头到尾复刻一遍，大致说得出原因、大致对得上，就够了；骨相这一层，AI 也能这么学。
</p><p>至于灵气，现在看是改不了、只能靠人，可也未必永远做不到。现在的生成模型里本来就有随机性，像文字模型就有个参数叫温度，调高一点，它就没那么规规矩矩；只是这种随机是撒在每一处的，它还不知道哪里该出格。哪天能让它有分寸地「犯一点错」，也许就有了。这一点我也说不准。</p>
<p>除了社区里这两篇，外面也有一些类似的说法。像做设计的网站 <a href="https://www.vandelaydesign.com/ai-ux-feels-off/">Vandelay</a>（英文）就写过，AI 做的界面有一种恐怖谷，第一眼很精致，一用起来处处别扭；</p><p>还有做肖像的画家 <a href="https://www.pearsonsimpasto.co.nz/blog/do-we-use-ai-lets-talk-about-the-differences-between-ai-and-digital-art">Laura King</a>（英文）发现，AI 把头发、皮肤、背景全画得一样精细，眼睛反而不知道该落在哪。Laura King 说的这一点，跟我前面说的「一个画面只能有一个中心」，其实是一回事。</p>
<h2 id="s7">写在最后</h2>
<p>老话说「画虎画皮难画骨，知人知面不知心」，AI 感大概就是这么回事。</p>
<p>关于我前面说的这些想法和故事，如果你有共鸣，或者觉得哪里说得不对、想补充，欢迎在网站的 <a href="https://ashton.is/contact">Contact 页</a>告诉我。我们可以一起找找原因，或者探讨一下有没有更好的总结方式、规律，或者更底层的原因。</p>
<p><a href="https://stay.superlinear.academy/invite/mtsrefer/">30 天免费体验超线性学院</a></p>
<p>原文发表在<a href="https://ink.ashtonshu.page/zh/the-ai-look-uncanny-valley-of-taste">山边</a>。</p>]]></content:encoded></item><item><title>社区园丁的 Side Project</title><link>https://ink.ashtonshu.page/zh/ashton-is-build</link><guid isPermaLink="true">https://ink.ashtonshu.page/zh/ashton-is-build</guid><pubDate>Sun, 18 Oct 2026 00:00:00 GMT</pubDate><description>我的个人网站刚刚上线，来分享一下是怎么做出来的。</description><dc:creator>Ashton Z. Shu</dc:creator><content:encoded><![CDATA[<img src="https://ink.ashtonshu.page/media/ashton-is-build/hero-sketch-zh-20261107.png" alt="手绘的首页草图。左边手写 Ashton is a community gardener，右边是带四角括号、留给头像的方框，彩铅标注指着各处，左下一排手涂的色块。"><div>

<p>我的个人网站刚刚上线，来分享一下是怎么做出来的。</p>


<p><em>首发于 <a href="https://www.superlinear.academy/c/share-your-projects/ashton-is">Superlinear Academy</a>。</em></p></div><hr><p><em>约 3,400 字，13 张图，12 分钟读完。</em></p>
<p>我正式开始制作是在 10 月 15 号晚上，两天做好了整个网站，四个页面，加上十几个作品页。我用的是 Claude Code，官网价加税一个月 316 加元，算下来一周大约 79 加元。事后翻会话记录算了一下，这两天用掉了一周额度的四成多。<strong>也就是说，我差不多花了 33 加元，「请」了一个前端程序员 agent，做出了这个网站。</strong>网站在这里：<a href="https://ashton.is/">Ashton.is</a></p><p>发出来之前，我先把网站发给了身边好多亲戚朋友，经历过一版 debug。他们大多不做个人网站，也不做自媒体，第一时间问的都是同一个问题：你做这个网站是为了干什么？</p><p>统一回复一下：看了大家那么多作品，一直摩拳擦掌；加上最近我要开始找实习，需要作品集了，所以赶紧趁本周 token 充足，做了个人网站。</p>
<p>标题里的「社区园丁」，是我在 Superlinear Academy 的角色：头衔是社区运营官，做的事更像园丁。</p>
<p>这次我把它写进了网站首页：</p>
<blockquote><p><strong>Ashton is</strong> a community gardener.</p></blockquote>
<figure><img src="https://ink.ashtonshu.page/media/ashton-is-build/01-opening_16x9.gif" width="720" height="430" alt="白底开场中名字封面展开后收起，Ashton 接入首页的大字「Ashton is」。这一段把姓名动画与首页标题连成同一个进场过程。"><figcaption><span>图 1</span>首页开场（文中的动图都按 1.5 倍速放）</figcaption></figure>

<hr><h2 id="s1"><span>1</span><span>规避泛滥的 AI 味</span></h2>
<p>AI 出来之后，各种设计也好、网页也好、视频也好，确实多了很多。我承认，现在大家个人网站的完成度确实都非常高，也有足够的审美。就比如说 Opus 这次更新后，全网一水的「苹果广告视频」，不能否认，比过去从业五年的大部分视频制作者水平高了。</p>
<p>但是当大家无脑说「很有设计感」的时候，我多少是有些纠结的。因为我不相信大家真的看不出来 AI 味很重，只是有一些确实能明显看得出制作者在试图优化了。</p>
<p>这里有一个比较吊诡（tricky）的点，我先通过一段跟社区有关的前情来聊聊。不感兴趣的朋友，可以直接跳到下一章「为什么做个人网站，做成什么样」。</p>
<h3 id="s1-1">社区的第二代网页和 logo</h3>
<p>Superlinear 的网页制作和新 logo 的选择，现在当然都是课代表（创始人）自己在全权负责。网页这里先不说，我主要跟大家讲一讲，让我来做 logo redesign 时候的情况。</p>
<p>首先要感谢 @Karry Huang ，社区的第一版 logo 是 Karry 做的，老朋友都见过，新来社区的朋友们可能不了解，可以在帖子 #Logo设计过程（上）-- 五位设计师的稿件 里看到。懒得点去看全文也不要紧，我下文放了图。</p>
<p>我是在这个设计的基础上做的优化。我当时做了一整套 guideline，这个交付本身是没问题的。</p><p>问题在于，我当时学生思维，想着要把一整套写得够漂亮，且纯粹是站在「以后这个东西需要交给打印店或其他设计师交付」对接的视角，完全没想到小团队一般没有这些问题，也等于没有第一考虑课代表的需求。所以当时有了不太好的交付过程。我那时候做的，不说质量，至少效率上是很烂的。</p>
<p>不过，站在平面设计师、站在做这件事的人的角度，我还是想给自己找补两句（唐突证明一下自己的价值）。</p>
<p>我当时设计的版本有两种变体，小图标 favicon 做了进一步简化，已经基本是现在咱们的 logo 外形了。具体说明下，我原来的设计里，主 logo 是八个三角，小图标 favicon 是六个；默认颜色一开始是浅黄和海蓝，沿用了之前的设计。</p><p>其实那时候，我心里想做的就是现在这个最简单的六个的版本，只是担心一次性过于简化，效果体现不出来。今年 8 月，咱社区正式换用了现在的绿色六条。</p>
<figure><img src="https://ink.ashtonshu.page/media/ashton-is-build/15-logo-versions.png" width="900" height="720" alt="Superlinear Academy 标志三版纵向排列：上方是密集黑色横线与细字，中间是黑底白色折叠条纹与字标，下方改成绿色条纹和文字。三版对照展示社区标志从早期到定稿的变化。"><figcaption><span>图 2</span>上图：原来的，Karry 做的第一版；中图：我那一版，左边主 logo 八个三角，右边小图标六个；下图：现在社区在用的绿色六条</figcaption></figure>
<p>这个版本设计的具体情况，我在这里就不赘述了。我也厚着脸皮把它放进了我的个人主页，作为<a href="https://ashton.is/work/superlinear-academy">一个 project 展示</a>。当然，这个也是跟课代表商量好的，感谢他的许可。</p>

<hr><h2 id="s2"><span>2</span><span>为什么做个人网站，做成什么样</span></h2>


<h3 id="s2-1">Designer-Based 的作品集网站</h3>
<p>为什么要强调 designer-based？现在其实有各种不同样式的个人网站了，但大部分以程序员的程序 demo、博客、影像记录为主；像宜家、苹果官网那种一眼设计师风格的网站，在过去，只有那种比较出名的设计事务所或财大气粗的商家在做这种装点门面的事情。</p>
<figure><img src="https://ink.ashtonshu.page/media/ashton-is-build/16-site-types-stacked.png" width="1200" height="1229" alt="上下两块对比「程序员朋友常做的站」与「我想要的作品集站」：前者以程序 demo、博客、影像记录为主，首页先是文章和项目列表；后者以作品为主，首页先放作品大图，每个项目单独一页，展示过程和细节。用来解释为什么作者需要作品集而非通常的个人站。"><figcaption><span>图 3</span>程序员朋友常做的站，和我想要的作品集站。</figcaption></figure>
<p>过去做设计的，大部分人也不懂程序。
我这里先武断地说结论：<strong>想做好看的作品集网站、个人网站、工作室网站的设计师们，没有前端编码的能力，实力或时间不允许做到；程序员呢，通常是觉得没必要额外开销。</strong></p>
<p>我属于前者。但现在，我可以自己一个人，花两天做出一个自己能给过的版本了。</p>
<figure><img src="https://ink.ashtonshu.page/media/ashton-is-build/02-first-screen_light-dark.png" width="1566" height="1989" alt="同一个首页首屏上下对比浅色与深色主题，两版都以「Ashton is a graphic designer.」为主，右上角有 Work、About、Contact 和主题切换，右下角有轮播圆点。版式一致，只切换背景与文字明暗。"><figcaption><span>图 4</span>上图：首页第一屏亮色；下图：首页第一屏暗色</figcaption></figure>
<figure><img src="https://ink.ashtonshu.page/media/ashton-is-build/03b-home-selected-work.png" width="1566" height="1150" alt="首页精选作品以两列展示四件作品：Superlinear Academy 标志、日历设计、一组三张文字版式和 Farms360 网站，下方是「All work」入口。用较大的作品画面引导读者继续浏览完整作品集。"><figcaption><span>图 5</span>首页往下是四件精选作品</figcaption></figure>
<p>这里不得不自嘲一句：毕竟不是科班出身。
自今天开始，我的作品集里最拿得出手的作品，我至今的设计巅峰作品，可能就是这个网站本身了😂。网站展示的那些作品，应该没有完成度比它高的了。</p>
<p>就，有点买椟还珠的那意思，也不知道有没有用错成语。</p>
<h3 id="structure-build-1">网站面向谁，对应用什么语言</h3>
<p>网站主站是纯英文的，因为目标观众都是北美本地的设计师、招聘方或者客户。
</p><p>如果在座的大家读英文不太方便，这里也有一个简体中文版：<a href="https://world.ashton.is/zh-hans/">world.ashton.is/zh-hans</a>。
目前 <a href="https://world.ashton.is/">world.ashton.is</a> 这个域名只公开了简中和英文，其他语言制作的优先级比较低，未来可能都放在这里。</p>
<h3 id="s2-2">骨架和素材库</h3>
<p>也给大家分享一下我这次设计参考了谁。</p>
<p>先说简单结论：目前的核心骨架，模仿的是一家日本设计事务所 <a href="https://daikoku.ndc.co.jp/">Daikoku Design Institute</a>（英文）。</p>
<p>我自己有个习惯，一直在 Pinterest 和设计网站攒各种素材库，里面有很多我自己中意的 template 或 reference。今年 7 月，我还专门进行过一轮筛选：先初筛了 50 个网站，个人作品集、工作室、美术馆、字体网站都有，我再一个个看过、打分排序，最后拆解了三个。Daikoku 就是那时候定的主样板。
</p><p>在 Daikoku 这个骨架之上，我还融合了素材库里别的一些地方，包括后面的动效，也出自这个库。</p>
<figure><img src="https://ink.ashtonshu.page/media/ashton-is-build/05-template-vs-now.png" width="1566" height="1989" alt="上方模板版把「Ashton is a graphic designer.」以小字居中，下方现在的首页把同一句话放大并移至左侧。两版留白相近，标题尺度和位置改变了首屏的视觉重心。"><figcaption><span>图 6</span>上图：完全照 Daikoku 的骨架改完的首页；下图：现在的首页</figcaption></figure>

<h2 id="s3"><span>3</span><span>Hierarchy 和 Motion</span></h2>
<h3 id="s3-1">Hierarchy 层级</h3>
<p>因为是设计师向的站，整个层级怎么规划、动效怎么走，我脑子里是有一个预期效果的，所以我跟 AI 说了哪些效果一定要做到。</p>
<p>首页的核心就是那半句话「Ashton is...」，字体选用很粗的 Poppins 800，后面的身份选用很细的 Inter 300，先把字重粗细拉开。
</p><p>后续动画从身份下手。分了两级，用不同的动效区分开：主身份是<strong>下落淡入</strong>（drop-in，从上面一点点落下来，同时淡入）；同一个身份下面的二级身份是<strong>横向擦除</strong>（wipe，用遮罩从左往右揭开，再从右往左收起）。这样一看就知道，哪几个是主业，哪些是从主业长出来的。</p>
<div>
<p>Ashton is</p>
<p>a graphic designer.</p>
<p>↑ 主身份：上下淡入淡出</p>
<p>an illustrator.</p>
<p>↑ 二级身份：横向擦除</p>
<p>a photographer.</p>
<p>a UI/UX designer.</p>
<p>a concept artist.</p>
<p>a digital painter.</p>
<p>a character designer.</p>
<p>a community gardener.</p>
<p>an AI architect.</p>
<p>a human storyteller in the loop.</p>
<p>an AI evangelist.</p>
<p>Ashton was</p>
<p>an electrical engineer.</p>
<p>↑ is 换成 was，变灰</p>
</div><figure><img src="https://ink.ashtonshu.page/media/ashton-is-build/06-hero-two-level_16x9.gif" width="720" height="430" alt="首页保留大字「Ashton is」，下方身份文字依次切换为平面设计师、UI/UX 设计师、角色设计师和 AI 推广者，右下角圆点标示轮播位置。固定的名字与轮换的身份文字形成两层动效。"><figcaption><span>图 7</span>首页大字下面的身份文字一句句切换。</figcaption></figure>
<p>然后还加了个彩蛋：身份的最后一行，我放了一个过去的身份，an electrical engineer。
</p>
<p>*防喷说明一下地域：
我真不是碰瓷住在多伦多，实在是地方太村，除了本地人，我说了城市大家还是不知道我在哪里🫠</p>
<p>好了，继续。作品集这边也做了归类，Work 分成了 Projects、Collections、Personal 三组。</p>
<figure><img src="https://ink.ashtonshu.page/media/ashton-is-build/07-work-card-hover.gif" width="720" height="720" alt="Work 页按 Projects、Collections 等分组展示作品卡片，鼠标悬停时卡片上出现项目名，例如 Superlinear Academy。动画展示先看作品、再用悬停补充名称的浏览方式。"><figcaption><span>图 8</span>Work 页：鼠标移上去 hover 出项目名</figcaption></figure>
<h3 id="s3-2">Hero Section 的动效</h3>
<p>这次第一个大版本里，花心思最多的是 Hero Section 的动效，简单说，就是首页一进来、头图展示的那一段。</p>
<p>名字展开、收起的那段，路子跟我素材库里的一支片头很像，现在先这么用着，以后可能还会改。</p>
<figure><img src="https://ink.ashtonshu.page/media/ashton-is-build/08-name-motion.gif" width="720" height="389" alt="四角框中的「Ashton」展开成三行「Ashton Zhengshen Shu」，再收回，下面写着「Also known as Mts Shu.」。展开与收起沿用同一名字和四角框，让进场动效与个人标识呼应。"><figcaption><span>图 9</span>名字动效：Ashton 展开成 Ashton Zhengshen Shu，再收回去</figcaption></figure>
<p>为什么那么想用四角框？因为我用手机录屏、截图的时候，在通知栏看到的图标就会出现这样四个角的框 <svg role="img" aria-label="四个角的框" width="0.9em" height="0.9em" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M1 5V1h4M11 1h4v4M15 11v4h-4M5 15H1v-4"></path></svg> 。我也把这个元素在全站延续了下去，前后是有继承、有联动的（motif，设计里一般叫母题）。</p>
<figure><img src="https://ink.ashtonshu.page/media/ashton-is-build/09-header-hover.gif" width="720" height="720" alt="About 页顶部的 Work、About、Contact 在鼠标移入时出现向外张开的四角框，页面中央的 Ashton 名字也使用四角框。导航的悬停反馈延续了姓名动画中的同一母题。"><figcaption><span>图 10</span>页头：鼠标移到 Work、About、Contact，四个角张开</figcaption></figure>
<p>进场之后，这些元素怎么更有机地串起来，引导视线，让整个过程更像流畅的镜头语言，我又迭代了几个版本。开场到现在一共换过三大版：Alpha 版本是 12 个身份依次出现。</p>
<p>版本 V1.0 的迭代，我当时这么提的（当时是语音输入，这里稍微顺了一下）：</p>
<blockquote><p>整个进场动效完成了之后啊，Ashton 字样整体就直接……平滑移动到左上角去，左上角应该是完全同样字体的那个模块。这样整个动画才有来头、有出处……视觉效果才是连贯的。而且不会在一个地方反复出现同一个单词。</p></blockquote>
<p>也就是说，封面播完，「Ashton」停下来的样子，就是网站的字标。</p><p>到了 V1.1 又往前走了一步：封面的「Ashton」先落进首页那句「Ashton is」；往下滚，或者轮播换到作品图的时候，它再缩进左上角，变成字标。</p>
<figure><img src="https://ink.ashtonshu.page/media/ashton-is-build/10-dock-on-scroll.gif" width="720" height="720" alt="向下滚动时，首页大字「Ashton」缩进左上角成为页头字标，下面露出介绍与精选作品；向上滚回后又恢复为大字。动画展示封面文字与固定字标之间连续的交接。"><figcaption><span>图 11</span>网页往下滚，大字「Ashton」缩进左上角的字标；滚回来，又变回大字</figcaption></figure>

<hr><h2 id="s4"><span>4</span><span>版本迭代说明</span></h2>
<p>我按电脑上的记录留个过程账单：</p>
<ul>
<li><strong>15 号晚上</strong>：6 点多开工，搭骨架、做首页。</li>
<li><strong>16 号</strong>：补作品页、做名字动效，下午 4 点半 V1.0 定稿；傍晚花两个小时，把整站的截图、录屏全存了一遍。</li>
<li><strong>17 号</strong>：改出 V1.1，下午 4 点多上线。中午开始写这篇文章，一直改到发布前。</li>
<li><p><strong>合计</strong>：到 V1.1，按提交记录估，实际干活 18 个多小时，一共 134 个提交；</p><p>写这篇文章前后十二个多小时，其中后半程改稿时间多，晚上录语音口述了四十多分钟，最后自己逐句校对、改稿两个多小时，配图做了六轮。</p></li>
<li><strong>计划</strong>：下一版正在做，比如 Work 按钮加了一个下拉菜单。</li>
</ul>

<h3 id="structure-build-2">管理后台</h3>
<p>由于制作过程中，页面、草稿和还没合并的改动越来越多，所以 V1.0 之后，我又让 AI 搭了一个管理后台，每一版改了什么，都记在里面。</p><figure><img src="https://ink.ashtonshu.page/media/ashton-is-build/12b-releases_site.png" width="1566" height="1028" alt="管理后台按卡片列出网站版本：顶部是 Unreleased，下面是标为 Live 的 v1.1（2026-10-17）和 v1.0（2026-10-16），各卡片记录改动及合并分支。版本记录让已上线与下一版待上线的内容分开可查。"><figcaption><span>图 12</span>管理后台里网站的版本记录：v1.0、v1.1，最上面是还没上线的下一版</figcaption></figure><p>以后，我还希望把自己的 newsletter、商城、文章这些东西，也都整理、集成到网站和这个后台上来，这也是我后续优化这个后台的原因。</p>

<hr><h2 id="s5"><span>5</span><span>半年前的构思与准备</span></h2>
<p>不少作家都聊过说，每当自己被人问起自己刚完成的新作品从何时开始创作时，很难给出严格回答，因为有很多相关经验和零碎想法是厚积薄发的。
</p><p>比如我这次设计网站，按正式开始动手，是两天，但从构思和创意算，肯定远远不止。前面说的十几、二十几个小时，自然也不止这么多。不要说初中开始学 Flash 和 Fireworks 时就有的网站点子和效果念头，只说前面提到的为本次做的素材库尝试，也在半年前就开始了。</p>
<p>那时候，我为了帮课代表和鸭哥（Superlinear Academy 联合创始人）卖课、给同学答疑，自己也把课上了（虽然后来一直没做作业，我忏悔）。但平时跟他们交流，也直接受了不少指点；也是在课代表的催促下，我早早 <a href="https://www.superlinear.academy/c/ai-resources/stop-using-chatgpt">用好AI的第一步：停止使用聊天窗口</a>。</p><p>当时我就让 AI 辅助我做过个人网站，跟调研、遴选素材库是同时进行的。可是，一是当时的 AI 能力不行，二是我自己动手速度慢，做出来的效果也是一眼就是 AI 做的，怎么改都改不好，而且一下就把那一周的 token 耗完了。</p><p>那一版从 6 月底做到 7 月中，前后两个多星期，首页做了三版，差不多一个星期一版；参考站的调研倒只花了一个下午。最终效果我自己也不满意，所以一直没有上线。</p>
<p>当时的主样板，用的也是 Daikoku。做个对比图给大家看一下，其实能看到，哪怕是同一个主样板、同一个 template，同样的 HTML，但 CSS 不同，其他素材选择也不同，最终展示出来的效果是天壤之别。</p>
<figure><img src="https://ink.ashtonshu.page/media/ashton-is-build/13-summer-0702-vs-now.png" width="1566" height="1939" alt="上下对照七月原型与现在的首页：原型是黑底衬线大字「Ashton Shu.」，现在是白底黑体「Ashton is a graphic designer.」。同一主模板在字体、配色与素材选择改变后，呈现出明显不同的效果。"><figcaption><span>图 13</span>上图：今年 7 月那版原型；下图：现在的首页</figcaption></figure>

<h2 id="s6">最后</h2>
<p>如果你发现 typo、显示不连贯，或者哪里的完成度没跟上，欢迎在网站的 <a href="https://ashton.is/contact">Contact 页</a>告诉我；有网页、平面设计相关的委托，也欢迎来聊。</p>
<p>再贴一次网站：<a href="https://ashton.is/">Ashton.is</a></p>
<p><a href="https://stay.superlinear.academy/invite/mtsrefer/">30 天免费体验超线性学院</a></p>
<p>原文发表在<a href="https://ink.ashtonshu.page/zh/ashton-is-build">山边</a>。</p>]]></content:encoded></item></channel></rss>
