一套自动检索东亚半导体新闻、判断轻重、写成图文并发布的系统。六周里,它从我每天手动挑新闻、手动发小红书,走到一件大事一条、零点击发往四个平台。这份作品集记录其中每一次判断、碰壁与修正。
A system that gathers East Asian semiconductor news and publishes it three times a day. In six weeks it moved from stories I picked by hand to zero-click publishing on four platforms. This portfolio follows each judgment, each failure and each correction.






《半导体早午晚报》是我为「东亚制造」做的一套新闻系统。它每小时从 62 个渠道检索东亚半导体新闻,把报道并成一件件事,判断哪件够分量;够分量的一件事写成一条五页的图解,中英两版,发布到个人网站、Instagram、X 和微博。
它不是一开始就设计好的。它先是一张自动生成的新闻海报,后来变成我每天挑新闻、改稿、选图、手动发小红书的工作台,再变成一天三期、手机上点几下就能出刊的早午晚报,最后在 2026 年 10 月 21 日晚上改成一件大事一条、零点击出刊。
A news system for East Asia Manufacturing. Every hour it searches 62 channels, merges reports into events and decides which ones matter; each one becomes a five-page explainer in Chinese and English. It began as one generated poster and became, step by step, a publication that runs without a click.
从 9 月 9 日第一张新闻海报,到 10 月 21 日晚上零点击出刊、10 月 22 日整套系统公开可看。上方是六个阶段,下方是转折点;朱砂标的是出错或被推翻的判断。
From the first generated poster on 9 September to zero-click publishing on 21 October and a public live view on 22 October. Phases above, turning points below; vermilion marks errors and overturned judgments.
每修一个问题,就补一条测试守住它。测试全部离线,用临时目录和假接口,不花钱、不碰真实数据。
10.13 之后的九天放大四倍:后半程的事情最密。
起点是另一件作品 Effects Studio:我为个人网站重写的 56 种图像效果。第一个念头,是把它用在新闻上:程序抓新闻、下载配图,用效果把图「印」进东亚制造的颜色,再套上固定版式。
我没有让模型在 56 种效果里随意挑,而是先收成 6 个「look」,每个都是一组效果、参数、配色和适用题材,写进一份 lookbook。模型只当导演:选哪条新闻、写中文标题、挑哪个 look。像素由程序画。风格因此是稳定的,模型只能在菜单里选。
Fifty-six effects were narrowed to six "looks". A model acted only as director, picking the story, the headline and the look; code drew every pixel.




第一批新闻来自艺术与设计媒体。同一天我把题目换成半导体:「东亚制造」对芯片来说是字面意思,世界大部分芯片产能就在东亚。新闻源换成 IEEE Spectrum、EE Times,模型的身份换成半导体产业主编。
问题马上出现:半导体新闻常常没有好图。办法是「艺术史二创」:取大都会博物馆公版的东亚古画做底,叠一层程序画的芯片电路,底部注明出处。
第一版被评价「像论坛帖、像论文报告」。于是标题改成一句说清事件的通讯社式句子,移到图的上方;论文式的来源表格删掉,只留一行出处。
Chip news rarely comes with good pictures, so public-domain East Asian paintings were overlaid with drawn circuits. Called "like a paper", the layout made the headline its subject.



原型一条命令就能出成品,但我决定先不自动化:先把每一步的质量做扎实。于是做了本地工作台,把「抓新闻、研判、写稿、选图、排版、归档、取图」拆开,每一步都看得到、改得了。
人在三处把关:选哪条、决定开不开写、挑图改稿。发布由我在小红书 App 里亲手完成。这一阶段每期只讲一条新闻,从第 001 期做到第 093 期。
Before automating anything, every step was made inspectable. A person chose the story, decided whether to write, and picked images and edited copy; publishing was done by hand.

单条图集时期留在归档里的全部封面,第 001 至 093 期(050–061 号因出图失败重试被跳过)。每期 4 到 8 页:封面、图页、文字页、声明。
Every cover from the single-story period, issues 001 to 093, as kept in the archive.

每一个错都写进工作日志:哪天、为什么、怎么改、怎么验证。改法尽量变成规则或测试,让同样的错不会再出现第二次。
Each failure is logged with its date, cause, fix and check, and the fix becomes a rule or a test.
朋友建议把流程搬到扣子那类拖线平台。我的判断是:那只是平移,还会丢掉最难替代的出图部分。所以不迁,而是把现有流程画出来,做成 TouchDesigner 那样的节点网络。
原则是「图即代码」:图上每个节点对应一个真实函数,测试会扫描全部模型调用点,与图逐一比对;耗时、失败和用量来自真实运行记录。点开模型节点能看提示词全文,改写后用上一次的真实输入试跑,前后并排对比。
Every node maps to a real function, enforced by a test that scans every model call. Prompts can be read, edited and replayed against the last real input.

从单条新闻的图集,到一天三期的早午晚报。每一次改动都来自一句具体的反馈:「像论文」「颗粒太多」「太下沉」。到第五版,版式固定下来,每天的差别只来自新闻本身。
Each change answered one concrete note, until the layout held still and only the news changed. A sixth change, to single stories, is on page 22.





骨架参考了小红书上的「半导体早报」:刊名和日期最大,一条色带列三则,下面是图。我嫌它太下沉,换成东亚制造的语言:书法刊名、匾额标志、干支纪日。
内页参照宽和八点半:每则两页,一页原图不加效果,一页正文两三段沉到页底。走量不等于草率,形式固定,每天的差别只来自新闻。








早报 08:00 白底石青色带,午报 12:00 白底金色带,晚报 20:00 反转为玄墨底、彩色原图。一排封面里,早晚一眼可辨。
每则一个 10–16 字的短标题,正文按「发生了什么 → 背景 → 回应与影响」写,当事方的回应必须写进去;写完逐个核对数字。
只读公开可见的正文:付费墙后、标了隐藏的段落一律不取。每张图标注来源。
为了在手机上就能出刊,我做了 Telegram 操作台:到点推 8 条新闻,点三条、选图、出图,成品发回手机。
X 只走官方接口,每期另出一套英文版图。整串不放链接:X 按条计费,带链接一条 $0.20,不带 $0.015。发之前程序核对:每条不超过 280 字、没有链接、英文里的每个数字都能在中文稿里找到,过不了就不发。
个人网站的新闻页每期一行标题、一排页图,只留两天。
An English set goes to X through the official API, with no links (a link costs $0.20 a post, none costs $0.015), and every figure is checked against the Chinese copy first.



每天点 Telegram 挑新闻、选图,再手动发小红书,是重复的无用功;内容也只是二手转述。我停了下来,重新问:这套系统真正的价值在哪?
答案不在海报,在检索与整合:把每天的报道归并成一件件事,挂上公司,理清公司之间的关系。海报只是它的一个出口。
The value was never the poster. It is in gathering and merging reports into events, linked to companies and the relations between them.
日更全自动,Telegram 只发通知。
只用平台给的发布接口,不用脚本模拟人去点。
质量闸门不过,整期跳过。
每一步都是图上的节点,看得到代码和数据。
新系统先并行跑、只写库不发布,对照过关再切换。
内容质量的瓶颈在原料。实测约 90 个候选源后发现:原有的 16 个英文源里约 6 个实际已经失效;关键词表里没有韩文「반도체」和日文「半導体」,日韩文的报道一条都过不了筛。
新的采集读三类来源:39 个新闻网站(按一手、东亚本地、行业分级),台湾证交所每日重大讯息,以及每天四轮、23 条查询的 DeepSeek 搜索(官网、政府、日韩中英)。正文读不到时,用 Jina Reader 读同一个公开页面;付费墙一律不碰。
Of 16 English feeds, about 6 had silently died, and Korean or Japanese reports could never pass the keyword filter.
抓回来的报道先由模型判断是不是半导体新闻,再把同一件事的多篇报道并成一件,过质量闸门后按编辑标准排序,前三件上封面。每一层都在采集全景页上看得见,点开就是真实的报道。
透明有用:漏斗页上线当天就暴露出关键词的漏判,「美光桃园厂工会罢工」只得 1 分没被留下。于是改成由模型判断。
The funnel page exposed a miss on its first day: a strike at Micron's Taoyuan fab scored 1 and was dropped by keywords. Triage moved to a model.
进入排名之前,我要求先确认质量稳定。方法是人工标注 49 条最难判的报道做标准答案,每改一次就从头重跑当天的 1,290 条,再抽查随机样本、数字和多篇组成的事件。三个问题,三次修正:
Before ranking, quality had to be stable: 49 hand-labelled hard cases as an answer key, and a full rerun of the day's 1,290 reports after every change.
问题 只看标题判不稳:放宽会放进来,收紧会漏掉。
修正 两道关:第一道只看标题,拿不准就放;第二道单独问「主角是不是半导体」,读标题和正文开头。个股行情页之类用规则在采集时直接丢。
问题 小模型把「X billion」系统性地写成「X 亿」,少乘了 10,重抽也改不对。
修正 送进模型之前,先把英文量级换成中文写法(2 billion → 20亿),模型照抄即可。之后 217 篇的数字全部对上。
问题 同一件事的中英文报道,直接比标题像是两件事。
修正 先统一写成一句中文摘要再比。用已归并的数据校准门槛:不同的事 4,000 对里只有 0.07% 超过 0.25,「同一件」的门槛定在 0.30。
每期只放三件事。系统一天读两千多篇报道,要先回答:哪一件最值得讲?我的第一个答案是「会让股价动的」。拿真实收盘价一对,排名和股价几乎无关:相关系数只有 0.15。
The first answer was "whatever moves the stock". Checked against real closing prices, rank and price barely related: a correlation of 0.15.
模型以分析师口吻打四项:意外、冲击、公司分量、波及面。
排第一的台积电高雄厂意外,台积电 ADR 当天只涨 1.16%;排名不高的臻鼎盘中涨 6%。
对照卡脖子清单打分;关注度由程序直接数。股价只当事后镜子。
没有厂址和订单的 Terafab 计划排到第一后补上:意向不按「假如实现」打分。
「重要」混着四层意思:产业分量、关注度、意外性、市场冲击。前三项进分数,市场冲击只在事后对照。产业分量看这件事有没有改变产业链,由模型按下表打分,再对照「卡脖子清单」;关注度不靠模型,由程序直接数。
Industrial weight is scored by a model against this table and a chokepoint list; attention is counted by code; price only looks back.
| 产业分量 · 各 0–3 | 0 | 1 | 2 | 3 |
|---|---|---|---|---|
| 环节稀缺度 | 和清单无关 | 有多家替代 | 清单里的寡头环节 | 独家或一家领先 |
| 供需变化 | 只是表态、研发、人事 | 小幅调整、未落地的计划 | 明确的扩产、减产、涨价、订单 | 停产、断供、禁令生效 |
| 传导范围 | 只影响这一家 | 一两家客户或供应商 | 多个关键客户或一国产业 | 整个下游或多国市场 |
| 持久性 | 几天内恢复 | 几个月 | 一两年 | 改变长期规则与版图 |
| 校准例 · 10.20–10.21 | 产业分量 | 意外 |
|---|---|---|
| 字节、阿里、腾讯向英伟达下单逾 350 亿美元 | 8 | 2 |
| 美光桃园厂工会宣布罢工 | 7 | 3 |
| 经产省拟追加出资 Rapidus 4000 亿日元 | 7 | 1 |
| 台积电高雄厂工安意外,相关工程停工 | 5 | 3 |
| 格芯受托运营纽约两座新晶圆厂 | 6 | 0 |
| 马斯克称 Terafab 计划 2028 年量产 | 4 | 1 |
18 个环节,从 EUV 光刻机到镓锗原料。标「已核实」的引用 Atlas 里的证据,其余标「待核」,只用于打分,不写进 Atlas。
100 件事独立打三次,各项最多差 1 分的占 98–100%,三次的前三完全相同;校准例平均偏离 0.6 分(满分 12)。
股价反应每天自动对照:台股取证交所与柜买中心,韩股取 Naver,美股取纳斯达克。只用来发现被低估或高估的类型。
每到 8、12、20 点,新系统按排名取前三件,每件挑一篇有公开正文、带配图、来源级别高的报道当材料,另附两家媒体的报道当背景,用原来的写稿要求写稿、自动选图、用原模板出图。
它只写自己的目录:不占期号,不发布。测试里逐字节比对日更的草稿、归档和成品,确认一个字节都没动。
The new system ran beside the old one, writing, picking images and rendering full issues without publishing, and was compared issue by issue.




先按尺寸、比例筛,再让模型逐张打 0–3 分:对不对得上、是不是实拍、有没有广告和大段文字。不到 1 分就不配图。
主材料 → 同一件事的其他报道 → 公司官网新闻图 → 维基共享与 Openverse 的 CC 授权图,图注写真实作者与授权。不抓 Google 图片。
10.21 午报影子刊:8 页,约 5.5 分钟(取材 136 秒,写稿 192 秒),约 $0.05。
10 月 21 日下午,我决定当晚就切换:不留反悔窗口,影子刊出好就直接转成正式的一期,自动发布。Telegram 只报结果,发一句 /auto off 就回到手动挑。
自动出刊做好后,我又停了下来:「一期三则」是为小红书图集做的折中,在 X 和 Instagram 上,一件事讲透更有用。于是 16:03 先暂停早午晚报,当晚 19:54 换成单条新闻上线,第 110 期是第一期零点击出刊。
切换前,在工作台的副本上彩排了一整期,用时 291 秒。彩排抓到一个问题:核对器不认「三五〇億美元」「五%」这类中文数字和全角符号,把一则正确的稿子拿掉了。修好后三则全部通过。
A rehearsal caught a false alarm in the number checker. Then the three-story format itself was paused: the first zero-click issue, No.110, was a single story.
文字由 AI 辅助生成并经人工校订
自动期没有人逐条看过,这句话不再成立。
文字由 AI 生成、程序核对数字与来源,未经人工逐条校订
中文文案、声明页和 X 英文声明页同步改。
10 月 21 日中午,OpenAI 余额用完,午报卡在写稿前。换模型之前,我用第 109 期做了并排比较:DeepSeek 写的三则,数字核对全部通过,标题字数和分段都合规,偶有一句轻微发挥。
现在写稿用 DeepSeek V4 Pro(开思考),英文版和其余步骤用 Flash。V2 每天花费上限先定 $0.50,到了就只采集、不调模型;10.22 发现下午碰顶、零点积压,提到 $1。教训:做大批量验收重跑之前,先说预计花费。
After the OpenAI balance ran out mid-day, every model call moved to DeepSeek after a side-by-side test on issue 109, with a daily spending cap.
一条单条新闻的写稿(排版是纯代码,不调模型)
V2 每天花费上限(10.22 起,原 $0.50)
微博每条消耗的积分(¥69 入门包约 2.3 万积分)
「一期三则」是为小红书图集做的折中,每则只能讲个大概。新形式是过了大事线的事件一件一条,讲两件事:发生了什么,以及为什么重要,也就是它卡在产业链的哪一环、影响谁。
版式改了三版。第二版的问题我逐条写下:刊名比新闻大,主次反了;一页七种字体;色带像电视字幕条;数字被埋;留白像没做完。第三版只留两种字体,朱砂每页一处,让数字和结构说话。





学一个新闻账号的封面。「封面别学它,用我们自己的。」
早午晚报的封面加色带。「土。」
系统图解加大数字:白底细线,思源宋体与 IBM Plex Mono,匾额在页眉。
第 110 至 122 期全部由系统自己选题、写稿、选图、排版,中英两版,发往个人网站、Instagram 和 X;10.22 起也发微博。没有人点过一下。
Issues 110 to 122 were chosen, written, illustrated, laid out and published in two languages without a click.













没有人点之后,透明更重要。监测台把此刻的系统摊开:下一次抓取几点、各个源上一轮抓到几条、近 24 小时每一段过了多少条、最近几期发到了哪里,全是工作台的真实数据,每 3 秒刷新。
底部是一台 3D 打印机。一条新闻快做好时,纸从机顶升起,逐字打出标题和关键数字;归档后换成封面,被风扇吹起,落到纸堆上。动画全由真实进度驱动,没有在出稿时,它就停着。
Real data, refreshed every three seconds. A 3D printer prints each story as it is made, and a desk fan blows the finished pages onto the pile.


监测台、流程图、采集全景和往期都放上了个人网站。网站是静态的,够不着我的电脑,所以中间加了一层只读通道;电脑睡着时,网站改读每 30 分钟推一次的快照。工作台各页也统一成个人网站的样子:白底、细线、灰色小字。
A read-only channel exposes the live workbench; when the Mac sleeps, the site falls back to a snapshot pushed every 30 minutes.

逐个对过 9 个密钥:12 个公开页面和接口里一个都没有出现。
真把隧道停掉:5 秒后切到快照;恢复后 30 秒内回到实时。
会改数据的读取接口不进白名单。电脑关机时实时版打不开,是知道的取舍。
「东亚制造」的核心是 Digital Age Atlas:一张以证据为门槛的产业图谱,从资源、材料一直到应用,分九层。新闻系统是从同一研究里长出来的输出工具:它不能改写图谱里的事实,但让一张需要人工核实的静态地图,有了每天更新的输入。
The Atlas holds verified facts; the news system feeds it daily candidates and never writes to it directly.
这套系统最难的部分不是代码,而是把编辑判断写成可以检验的规则:什么叫相关,什么叫同一件事,什么叫重要,什么时候不发。每一条规则都先是一个直觉,然后被真实数据检验、推翻或修正。
作为设计实践,它让我关心的不只是一张图好不好看,而是一个判断能不能被看见、被追问、被改正。
The hard part was not the code but turning editorial judgment into rules that can be tested, and seen, questioned and corrected.
| 直觉 · INTUITION | 检验 · TEST | 修正 · CORRECTION |
|---|---|---|
| 模型可以直接挑新闻、出海报 | 成品质量不稳 | 先做人在环里的工作台,每一步看得见、改得了 |
| 关键词足够判断相关 | 漏斗页:美光罢工只得 1 分被漏 | 由模型判断,日韩文一起读 |
| 看标题就能判断 | 49 条标准答案,误留约 25% | 两道关,误留降到约 5% |
| 重要 = 股价会动 | 真实收盘价:r = 0.15 | 产业分量 + 关注度 + 意外的编辑标准,股价只当镜子 |
| 计划规模大就重要 | 没有厂址的 Terafab 排第一 | 意向不按「假如实现」打分 |
| 「经人工校订」 | 自动期没有人逐条看过 | 照实写「未经人工逐条校订」 |
| 核对器认得所有数字 | 彩排:不认中文数字,误删一则 | 先换成阿拉伯数字再比对 |
| 一期三则就够了 | 三则是为小红书图集做的折中 | 一件大事一条,讲透为什么重要 |
| 限量是为了省钱 | 凌晨连发 7 条 | 节奏为质量服务:8–23 点、隔 60 分钟、每天 6 条 |
单条新闻已经上线:系统自己判断哪件事够分量,一件事一条,讲清楚为什么重要。下一步是让这些单条连起来,变成能回答「这条产业链正在发生什么」的长期材料。
黄熠 Yi Huang · yihuang.art
选题方向、编辑标准、视觉、每一次取舍。
Python、SQLite、Playwright 无头浏览器出图。代码由 AI 编程助手(Claude Code、Codex)按我的方向编写,由我验收。
DeepSeek V4 Pro / Flash(2026.10.21 起);此前为 OpenAI。每次模型调用都登记在流程图上。发布走网站、Instagram、X、微博的官方接口。
漏斗与股价图为 2026.10.21 16:20 的工作台快照,另存于 docs/portfolio/data/;监测台截图为 10.22;时间与数字出自 WORKLOG.md 与 git log。
思源宋体、Source Serif 4、IBM Plex Mono(均为 SIL OFL);页眉为 Mom's Typewriter。刊名字体为商业字体,仅用于成品图。
成品中的新闻配图版权属原媒体与摄影者,每张图在成品上标注来源;二创底图为大都会博物馆公版藏品。