# EDITORIAL.md — Taiwan.md 寫作方法論與品質標準 > 每一篇文章在動筆之前,作者(人類或 AI)都必須先讀完這份文件。 > 這不是風格指南,這是**品質的最低門檻**。 --- ## 一、核心信念 **Taiwan.md 不是百科全書,是一座策展空間。** 我們不追求面面俱到,我們追求每一篇都讓讀者覺得「原來如此」。 一篇好的 Taiwan.md 文章,讀完之後你會想跟朋友說:「欸你知道嗎⋯⋯」 想像一個很懂的朋友帶你逛一個你沒去過的地方。他不會拿著導覽手冊念,他會指著一個角落說「你看這個,1995 年有個大學生在這裡架了一台電腦⋯⋯」——你聽完會覺得自己真的**理解**了一件事,不只是知道了一堆 fact。 維基百科回答「PTT 是什麼」,Taiwan.md 回答「**為什麼 PTT 值得你花 8 分鐘讀**」。 ### 三條鐵律 1. **有故事,不只有資訊** — 年份、數字、人名只是骨架,敘事才是血肉 2. **每個事實都要可查證** — 無來源的數據不如不寫 3. **密度優先,不是長度優先** — 根據主題規模分級(見下方),但核心原則不變:每一行都要承載意義 4. **每篇文章都有一個人** — 機構和概念不會讓人記住,人會。文章的第一個名字應該是一個具體的人,不是一個機構或概念(v4 新增,對標報導者 DNA) ### 文章分級(v3 新增) 不是每個主題都需要同樣的篇幅。用錯誤的篇幅寫正確的主題 = 灌水或壓縮。 | 級別 | 行數 | 來源 | 適用 | 範例 | | ---------------- | ---------- | ---- | ---------------------------------- | ----------------------------- | | **S 級**(旗艦) | 200-300 行 | 10+ | 台灣核心議題、國際級人物、複雜歷史 | 半導體、228、周杰倫、全民健保 | | **A 級**(標準) | 120-200 行 | 7+ | 大多數文章 | 林懷民、夜市小吃、齊柏林 | | **B 級**(精煉) | 80-120 行 | 5+ | 單一面向人物、特定事件、小主題 | 蔣為文、特定料理、地方景點 | **判斷標準**:如果一個主題需要 3+ 個獨立段落(起源/轉折/現況/挑戰)才能說清楚 = A 級以上。如果 2 個段落就能完整敘述 = B 級。 ### 好文章的三層結構 **第一層:一個清晰的「所以呢」** 讀完之後讀者能用一句話跟別人轉述。好的「所以呢」裡面一定有**矛盾或反直覺**。 **第二層:讓人停下來的句子** 整篇文章不能全是平的。要有那種讀者會放慢速度、重讀一遍的句子——它不是在傳遞資訊,是在製造理解的瞬間。 **第三層:讀者帶走的不只是知識,是一個新的看事情的方式** 最頂的文章,讀完之後你看世界的角度微微轉了。它沒有明說什麼大道理,但你讀完自己會想。 --- ## 二、研究流程(動筆前必做) > **完整研究方法論已獨立至 [`docs/editorial/RESEARCH.md`](docs/editorial/RESEARCH.md)** > 包含:五步研究流程、來源品質判斷矩陣、搜尋策略實戰教學、常見研究錯誤、重複文章偵測、AI 幻覺驗證 > > 研究筆記填空模板見 [`docs/editorial/RESEARCH-TEMPLATE.md`](docs/editorial/RESEARCH-TEMPLATE.md) ### 快速回顧(詳見 RESEARCH.md) 1. **Step 0**:寫出反直覺核心句(「這篇文章要讓讀者驚訝的是 \_\_\_」) 2. **Step 0.5**:找到切入人物(誰的故事代表這個主題?) 3. **Step 1**:定義 3 個讀者會問的問題 4. **Step 2**:大量搜尋(中文 4+ / 英文 2+ / 一手 2+ / 引語 2+) 5. **Step 3**:交叉查核(每個重要事實 2 個獨立來源) 6. **Step 4**:數據驗證(來源機構?統計年份?找得到原文?) **核心原則:文章是從研究資料中「策展」出來的,不是從腦中「生成」出來的。** --- ## 三、文章結構 ### Frontmatter 必填欄位 ```yaml --- title: '文章標題' description: '一句話描述,要有個性,不要「本文介紹 X 的 Y 與 Z」' date: 2026-03-20 tags: ['標籤1', '標籤2'] category: 'Category' author: 'Taiwan.md' featured: false lastVerified: 2026-03-20 # 最後事實查核日期 lastHumanReview: true/false # 是否經過人工審閱 --- ``` ### Title 與 Description 的品質標準(v5.1 新增) > 觸發:2026-04-18 ε 楊丞琳 / 魏如萱 frontmatter 重寫,@bugnimusic 點出 description 塞太多事實失去 sharpness、title 弧線收尾弱。Google 搜尋結果 + 社群分享時讀者第一眼看到的就是 title + description,寫得好壞決定「點不點進去」。 **分工**: - **30 秒概覽**(blockquote)= 給**已經點進來**的讀者。預算 100-200 字可以鋪事實。 - **description**(frontmatter)= 給**還沒決定點不點進來**的讀者。預算 **120-160 字**,要有 sharpness。 - 兩者**不能互相複寫**。30 秒概覽塞進 description = 失焦;description 複貼成 30 秒概覽 = 浪費空間。 #### Title 四原則 **原則 1:代表性 > 反諷 hook** — title 選的 scene 必須是「能定義這個人/主題的本質」,不是「最有 hook 的反諷事件」。反諷 scene 可以放 description 或文章中段 scene-pivot,但 title 承擔的是讀者對整個人/主題的第一印象框架。用反諷事件當 title = 把整篇文章框進「關於那個反諷的敘事」而非「關於這個人的敘事」。 ``` ❌ 魏如萱:兩座金曲歌后,一則把她標成「民眾」的街訪新聞 — 「被標成民眾」是反諷 hook,不是魏如萱代表性的本質; 讀者以為是「那則新聞事件」的文章 ✅ 魏如萱:從自然捲副主唱到兩座金曲歌后,只想被聽見的二十年 — 自然捲 → 兩座金曲歌后是軌跡,「只想被聽見」是本質 ``` **原則 2:冒號三明治結構** — 「主題 + 冒號 + 核心矛盾/代表性弧線」 ``` ✅ 楊丞琳:從天氣女團 Rainie 到自製〈曖昧 2025〉的製作人欄 ✅ 李洋:奧運金牌選手的便利商店早餐(如果便利商店早餐就是他的代表性 scene) ❌ 魏如萱的音樂人生 — 抽象無張力 ❌ 楊丞琳:從 4 in Love 到曖昧 2025 的二十五年 — 「二十五年」收尾弱 ``` **原則 3:禁用空泛形容詞** — 「傳奇 / 偉大 / 優秀 / 最強 / 國民 / 天后」這類評判性形容詞不進 title。具體 scene > 抽象概念。 **原則 4:冒號後一句要獨立成立** — 副標是一個可以單獨 tweet 出去的句子,不是「承上啟下」的連接詞。 **原則 5:People 類強制冒號三明治**(v5.4 新增,2026-04-26 β-r2,[Issue #618](https://github.com/CheYuWuMonoame/taiwan-md/issues/618) Zaious 提案) People/ 條目的 title **強制**為「人名:代表性弧線或場景」格式。背景:People 是 Taiwan.md 流量大頭,title 直接決定 Google SERP CTR + 社群分享 preview——光寫人名是「百科 stub」風格,跟 MANIFESTO §策展式非百科式精神衝突。 ``` ❌ 周杰倫 ❌ 唐鳳 ❌ 戴資穎 ❌ 劉德音 ✅ 周杰倫:從 4 in Love 隔壁練團室到《不能說的祕密》的二十五年 ✅ 唐鳳:自學 14 歲到 g0v 中央委員,再到第一位數位部長 ✅ 戴資穎:高雄左營少女到三度世界球后,球場外的安靜抵抗 ✅ 劉德音:台積電二把手到接班張忠謀,台美晶圓代工夾縫的決策者 ``` 執行策略 + tier 化 sweep 計畫見 [LESSONS-INBOX 2026-04-26 β-r2 — Issue #618 People title 冒號規範化策略](../semiont/LESSONS-INBOX.md#2026-04-26-β-r2--issue-618-people-title-冒號規範化策略)。新寫 People PR 直接強制適用;存量 137 篇分批 sweep。 #### Description 四原則 **原則 1:長度 120-160 字** — Google SERP 截斷在 ~160 字,社群 preview 顯示 ~140 字。超過就像 CSV dump,讀者跳過。 **原則 2:結構 = 具體 scene + 核心矛盾 + 軌跡** — 三段式,每段一句。 - **具體 scene**(~40 字):年份 + 人名/地點/事件,不抽象 - **軌跡一句**(~40 字):關鍵節點 2-3 個,不是完整時間軸 - **核心矛盾 ending**(~40 字):全文最 sharp 的那句話的濃縮 **原則 3:禁用清單** - 「本文介紹 / 本文將探討 / 本文講述」 - 完整編年條列(「1982 → 2005 → 2010 → 2020 → 2025」) - 塞入所有事實(10+ 事件 = 讀者無感) - 結尾罐頭「值得一讀」「不容錯過」「深度解析」 **原則 4:必備 anchor** — 至少一個具體年份 + 一個具體數字/專有名詞(讓 SEO 關鍵字 embedding 有錨點)。 #### Before / After **魏如萱 v1**(188 字,結尾拗口): > 2025 年 2 月,一則台灣街訪新聞把當年剛拿到金曲最佳國語女歌手的魏如萱標註為「民眾」——沒人認出她。這個「沒被認出的金曲歌后」畫面,濃縮了她二十年職業生涯最反直覺的一條線:從自然捲的副主唱、2006 年聲帶受傷幾乎告別歌唱,到 2020、2025 兩次拿下金曲最佳國語女歌手,她始終拒絕成為一個「認得出來的明星」。 **魏如萱 v2**(136 字,scene + 軌跡 + 核心矛盾): > 2025 年 2 月一則台灣街訪新聞,把當年剛拿到金曲最佳國語女歌手的魏如萱標註成「民眾」。從 2006 年聲帶受傷幾乎告別歌唱,到 2020、2025 兩度拿下最佳國語女歌手,她花了二十年把「不被認出」做成一件事:拒絕成為一個需要被看見的明星,只想被聽見的聲音。 **楊丞琳 v1**(530+ 字,塞入 11 個事實 = Pass 3 研究報告摘要): > 2000 年 11 月,一個 16 歲的台北女生出道在一個叫 4 in Love 的虛擬女團。... 2005 年〈曖昧〉... 2010 年《海派甜心》... 2012 年紅磡... 2016 年《荼蘼》... 2019 年《刪·拾 以後》... 2021 年《乘風破浪的姐姐》... 2025 年 9 月 9 日... [太長,失去核心矛盾] **楊丞琳 v2**(130 字,具體 scene + 關鍵錨點 + 核心矛盾 ending): > 2025 年 9 月 9 日,楊丞琳在《曖昧》原版 20 週年的同月同日,發行自己製作的〈曖昧 2025〉。這位從 2000 年 BMG 虛擬女團 4 in Love 出道、2005 年〈曖昧〉紅遍華語圈、2012 年紅磡倒吊三公尺演唱〈帶我走〉整臉微血管爆裂的女歌手,花了二十五年在每個舞台跟「被誰定義」協商——直到製作人那一欄寫下自己的名字。 #### 自檢 checklist(frontmatter 寫完念三遍) - [ ] title ≤ 30 字且有冒號三明治結構? - [ ] title 沒有空泛形容詞(傳奇/偉大/最/國民/...)? - [ ] title 冒號後的那句話能單獨成立? - [ ] description 120-160 字? - [ ] description 不是 30 秒概覽的複寫? - [ ] description 有具體年份 + 數字/專有名詞 anchor? - [ ] description 不是完整編年體條列? - [ ] description 結尾是全文最 sharp 的那句話的濃縮,不是罐頭「值得一讀」? - [ ] 念一遍 description:聽起來像朋友推薦、像媒體新聞 lead、還是像百科摘要?百科摘要 → 重寫 ### 30 秒概覽(必要) 文章開頭必須有一段 blockquote 格式的概覽: ```markdown > **30 秒概覽:** 一段 2-4 句話,讓讀者在 30 秒內知道這篇在講什麼、 > 為什麼重要、最關鍵的 1-2 個數據或事實。 > 語氣要像跟朋友說話,不是在寫公文。 ``` ### 開場:前三句話決定讀者留不留 **禁止用「X 是台灣的 Y」開場。** 前三句話裡必須出現至少一個具體事實(年份、數字、人名、地名),不能只有概述。 四種開場模式(選最適合你主題的): | 模式 | 範例 | 適合主題 | | ------------ | ------------------------------------------------------------------- | ---------------------------------------------- | | **場景切入** | 「1995 年 9 月,台大男八舍宿舍裡,一台 486 電腦⋯⋯」 | 有明確起源故事的 | | **數字衝擊** | 「214 週——這是戴資穎連續世界第一的時間」 | 數據本身就驚人的 | | **反差開場** | 「一個不賣廣告、不接商業的平台,活了 30 年」 | 核心矛盾突出的 | | **問題勾引** | 「為什麼全世界的晶片,有 65% 經過一座島?」 | 文化/現象類 | | **矛盾數字** | 「審計部說 7 成有電無魚,農業部說只有 12%。記者拿到的數字是 96%。」 | 政策/爭議類(v4 新增,來自報導者調查報導 DNA) | ### 正文架構 推薦的敘事結構(不是死規定,根據主題調整): 1. **起源/背景** — 這件事怎麼開始的?為什麼會發生在台灣? 2. **關鍵轉折** — 最重要的 2-3 個轉捩點。每個轉折必須有具體的因果鏈:**誰**做了什麼決定 → **因為**什麼 → **導致**什麼改變。禁止「後來事業蒸蒸日上」「逐漸壯大」式的因果跳躍(v4 強化,對標報導者時間軸敘事 DNA) 3. **現況** — 今天的數據、規模、國際地位 4. **挑戰/爭議** — 誠實面對問題,不要只寫好的(見下方「挑戰的編織法」) 5. **展望/意義** — 這件事對台灣/世界的意義是什麼 ### 敘事呼吸感:策展人的聲音 好的策展文有一種節奏——事實密集段 → 呼吸段 → 再密集。 **每 2-3 段之間,放一句「策展人的聲音」。** 這句話不是在傳遞資訊,是在製造理解的瞬間——讓讀者停下來想一秒。 合格的策展句: - 「這個決定當時看起來不怎麼樣,事後回頭看改變了一切。」 - 「說到底,PTT 真正不可取代的不是它的功能,是它三十年累積的集體記憶。」 - 「這不是技術問題,是一個關於信任的故事。」 不合格: - 「這具有重要的意義。」(空的) - 「由此可見台灣的實力。」(官腔) **自檢法**:把這句話單獨拿出來,它能不能當一則推文?能 = OK,不能 = 重寫。 ### 挖引語制度(v4 新增) Taiwan.md 沒有記者,但有全世界的公開資料。 **規則:每篇至少 2 句從公開來源挖來的真人原話。** 來源優先序: 1. 🟢 紀錄片/影片訪談(語氣最生動) 2. 🟢 書籍/出版物(經過事實查核) 3. 🟡 新聞報導中的引語(注意二手引用可能走味) 4. 🔴 禁止:杜撰引語、AI 生成「可能說過的話」 5. 🔴🔴 **絕對禁止:從英文 summary 回譯成中文「直接引語」**(v4.3 新增,2026-04-14 李洋孢子 #28 教訓) ### 紅線:英文 summary 回譯陷阱(v4.3 新增) WebFetch 工具對中文網站經常返回**英文 paraphrase 而非中文原文**。如果你把這段英文 paraphrase 翻譯回中文當作「直接引語」使用,等於在製造**假引語**——這不只是翻譯走味,是**杜撰**。 **陷阱範例**(2026-04-14 李洋孢子 #28 實戰): - WebFetch《少年報導者》(中文媒體)回傳的是英文 summary:「I was the earliest to arrive at school, yet I fell short of keeping pace with my classmate Qi-lin.」 - AI 把這段翻譯回中文「我最早到學校,但跟不上齊麟」並當成李洋直接引語寫進文章和孢子 - 實際《少年報導者》中文原文是:「體育班 15 個人,我屬於後面那一掛,齊麟是前面那一掛」+「那時候我很想『追』他啦,不過和他就是有一段距離」 - **回譯版本跟原文意思接近但語氣完全不同**——這是杜撰,不是翻譯 #### 根本性解法(v4.3.1,2026-04-14 觀察者反饋「未來要完全避免」) **事後檢查(Ctrl-F 核對)是補救,從一開始就避免取到英文摘要才是根本**。WebFetch 對中文網站時必須在 prompt 強制要求原文。 **WebFetch 對中文網站的正確 prompt 模板**: ``` 請逐字引用網頁中的中文原文,不要翻譯成英文,不要 paraphrase,不要摘要。 我要找的是 [具體段落特徵,例如:李洋對 14 歲自己說的話的中文原文]。 請回傳 verbatim Chinese text,包含原文的完整句子和引號。 如果找不到該段落的中文原文,明確告訴我「找不到中文原文」,不要用英文摘要替代。 ``` **錯誤的 prompt 範例**(會收到英文 summary): ``` What does Lee Yang say about his 14-year-old self? ``` (這個 prompt 會讓 WebFetch 返回英文 paraphrase,因為 prompt 本身是英文) **正確的 prompt 範例**: ``` 請在這篇《少年報導者》文章中找出李洋對 14 歲自己說的話的中文原文逐字引用。 不要翻譯成英文。如果原文是中文就保持中文。 ``` #### 鐵律(強化版) 1. **第一道防線**:WebFetch 中文網站時,prompt **必須**用中文寫且明確要求「逐字中文原文」「不要翻譯」「不要 paraphrase」 2. **第二道防線**:如果 fetch 還是返回英文 summary,**那段英文絕對不能當「直接引語」原料** 3. **第三道防線**:必須回去原 URL 找中文原文逐字核對 4. **如果中文原文找不到**(付費牆、JS 渲染、被截斷):只能用轉述句式(不加引號),不能用直接引語 5. **引語格式 `「XXX」` 是承諾「這是原話」**。違反這個承諾 = 杜撰 = 觸犯本節紅線 **自檢問題**(commit 前必跑):你寫進文章的每一個 `「XXX」` 引語,能不能在原始來源的**中文**頁面 Ctrl-F 搜到?搜不到 = 不准用直接引語格式,改成轉述。 #### 紅線擴大:具體場景細節也不能從英文 summary 推導(v4.4,2026-04-14 李洋孢子 #29 教訓) > v4.3 紅線只覆蓋「直接引語」。但李洋孢子 #29 上線後讀者抓出**第二類更隱蔽的問題**:**沒有引號、但具體到讀者可以驗證的場景細節**,也會在從英文 summary 推導時被腦補出錯。 **陷阱範例**(2026-04-14 李洋孢子 #29 撤回事件): - WebFetch《少年報導者》英文 summary 寫:「commuted three hours daily via four different MRT lines」+「studied in a convenience store before dawn training sessions」 - AI 從這段英文推導出中文場景:「14 歲,李洋進台北中山國中羽球班。**每天清晨四點多**從中和搭四條捷運到學校,校門還沒開,他就**躲進便利商店念書等天亮**」 - 沒有加引號(不是直接引語),但細節非常具體:「四點多」「便利商店」「念書等天亮」 - **讀者抓到事實矛盾**:捷運最早 6:00 開始,怎麼可能清晨四點多搭捷運? - 回原文逐字核對:「每天早上 **5 點半起床**,媽媽騎著機車載我去捷運**趕首班列車**」+「我每天都是等待校門開的人,會先在**學校旁邊的超商**,**寫前一天還沒寫完的作業**」 - **真實畫面跟我們寫的完全不同**:5:30 起床(不是四點多)/ 媽媽機車載到南勢角(不是自己走出門)/ 學校旁的超商(不是中和家附近)/ 寫昨天沒寫完的作業(不是「念書等天亮」) ##### 為什麼這比直接引語更危險 直接引語的 `「XXX」` 至少有一個明顯的承諾「這是原話」,AI 自己有時會警覺。但**沒有引號的場景描述**沒有這個警告——它讀起來像「敘事」,不像「引用」,所以 AI 會更隨意地從英文 summary 推導補出細節。 英文 summary 是高度壓縮的 paraphrase。把「5:30 起床 + 媽媽機車 + 趕首班 + 4 條線」壓成「commuted three hours daily via four different MRT lines」,回譯時: - 「3 hours commute」→ AI 推出「四點多出門」(如果到校 7 點,4 點出門才合理) - 「before dawn training」→ AI 推出「天亮前」→「念書等天亮」 - 「convenience store」→ AI 不知道是「家附近」還是「學校旁」,預設用「家附近」 **每一步都是合理推論**,但合在一起就是杜撰場景。 ##### 鐵律(擴大版) 1. **直接引語**(`「XXX」`)必須跟原始中文頁面 Ctrl-F 逐字核對 — v4.3 既有規則 2. **具體時間**(幾點幾分、幾月幾日)必須跟原文確認,不准從「dawn」「morning」「late afternoon」這類模糊英文推導出精確時間 — v4.4 新增 3. **具體地點**(站名、街名、店家位置)必須跟原文確認,不准從英文「convenience store / station / school」推導出位置關係 — v4.4 新增 4. **具體動作**(讀書 / 寫作業 / 等天亮 / 訓練)必須跟原文確認,不准從英文模糊動詞推導 — v4.4 新增 5. **具體交通工具與路線**(搭幾條線、誰送、坐什麼)必須跟原文確認 — v4.4 新增 **「具體性」的判斷標準**:如果讀者可以拿你寫的細節去驗證(例如「捷運首班車是幾點」「那家店在哪裡」「他們訓練到幾點」),就是「具體」,就需要跟原始中文原文逐字確認。 ##### 自檢問題(v4.4 擴大版) 對文章中的每一段場景描述: - [ ] 這段場景的**時間** 在原始中文原文有寫嗎?(不是英文 summary,是中文原文) - [ ] 這段場景的**地點** 在原始中文原文有寫嗎? - [ ] 這段場景的**動作** 在原始中文原文有寫嗎? - [ ] 我有沒有從英文 summary 的模糊詞(dawn / before / commute)推導出具體細節? - [ ] 任一條 「沒寫但我寫了」= **腦補場景** = 紅旗 = 改成轉述(「他國中時的通勤時間很長」這種不具體的描述)或刪除 **核心原則**:**英文 summary 是研究參考,不是寫作素材。所有具體細節都必須回原文核對。** 好的引語: - ✅ 帶語氣的(「你們這麼厲害,你們自己來養」——養殖戶嗆查核人員) - ✅ 帶口語感的(「快去吃早餐啦!」——漁網職人對記者說) - ✅ 透露立場的(「我沒有選擇權,那是地主決定的事」——被迫轉型的養殖戶) - ✅ 專家分析型的(「把音樂攤開來看,其實是很多軌道在同一個時間軸上各自前進」——柯智豪) 壞的引語: - ❌ 官方聲明式(「我們將持續推動⋯⋯」) - ❌ 沒有語氣特徵的(「這很重要」「具有重大意義」) - ❌ 無法追溯來源的(「據說他曾經表示⋯⋯」) **格式:** 引語後標注出處 — `(語出 XXX 紀錄片/書/報導)` **為什麼這很重要?** 報導者之所以好讀,是因為每 3-5 段就有一句真人的話。人話打破了「上帝視角」的單調——讀者突然聽到一個活人的聲音,整篇文章就活了。Taiwan.md 不能採訪,但可以從已經存在的公開素材中挖出這些聲音。 ### 挑戰的編織法 **挑戰不是加在文章最後的一個段落,是編進故事裡的。** ❌ 補丁式:「然而,PTT 也面臨用戶老化的挑戰⋯⋯」(讀起來像免責聲明) ✅ 編織式:把 2018 註冊凍結、Dcard 崛起、Threads 搶走年輕人編成故事的一部分,讓它跟主線敘事自然交織 自檢:如果把「挑戰」的內容整段刪掉,前面的故事是否缺了一塊?**是 = 編織得好。不是 = 還是補丁。** ### 結尾:跟開場一樣重要 **v3 新增。** 結尾是 v2 最弱的環節——幾乎所有 sub-agent 產出的結尾都是「繼續發光發熱」式罐頭。 **禁止的結尾模式:** - ❌ 「X 將繼續在 Y 領域發光發熱」 - ❌ 「讓我們期待 X 的未來」 - ❌ 「X 的故事,也是台灣的故事」(萬用膠水) - ❌ 重述一遍全文重點(那是摘要不是結尾) **四種好的結尾模式:** | 模式 | 效果 | 範例 | | -------------- | -------------------------------- | ---------------------------------------------------------------------------------- | | **餘韻式** | 給讀者一個畫面,讓他自己想 | 「2017 年齊柏林墜機那天,花蓮的天空很藍。他的攝影機裡還存著沒剪完的素材。」 | | **翻轉式** | 最後一句推翻或重新定義前面 | 「PTT 最珍貴的功能不是推文,是三十年來每一次推文的人還在。」 | | **時間跳躍式** | 把鏡頭推到未來或拉回過去 | 「如果 2050 年有人想知道台灣人曾在乎什麼,他們讀到的也許就是這些 Markdown 檔案。」 | | **問題式** | 留一個真正的問題(不是修辭問句) | 「檜木林正以每十年 8% 的速度萎縮。下一個千年,棲蘭還會有檜木嗎?」 | | **灰色地帶式** | 不解決矛盾,讓矛盾留在那裡 | 「陳秋涼說養殖查核不難。邱經堯說他沒有選擇權。同一片魚塭,兩種真相。」(v4 新增) | **自檢:** 把結尾單獨讀,它能不能讓一個沒讀過全文的人也覺得有意思?能 = 好結尾。 ### 小標題規範(v3 新增) **禁止用問句當 h2/h3。** 問句小標讀起來像 FAQ,不像策展。 - ❌ 「為什麼重要?」「現況如何?」「未來展望」 - ✅ 用畫面、用時間、用場景當小標 - 「八里的那場火」(雲門排練場火災段落) - 「從 486 電腦到百萬用戶」(PTT 發展段落) - 「海拔 2,000 公尺的消失」(雲霧帶森林段落) 例外:如果問句本身就是文章核心矛盾,可以保留(如 h2 只有一個問句開場)。 ### Wikilink 內連結(v3 新增) **Taiwan.md 是珊瑚礁,文章之間要長出連結。** 每篇文章至少包含 **2-3 個 wikilink**,指向站內其他相關文章: ```markdown 台灣的[[半導體產業]]奇蹟,不能不提[[台積電]]創辦人[[張忠謀]]。 ``` wikilink 的選擇標準: - 讀者讀到這裡,最可能想繼續讀什麼?→ 那就是 wikilink - 不要為了連結而連結(「[[台灣]]」不需要 wikilink) - 優先連結站內已有的文章;不確定是否存在就不連 ### 來源引用(必要) {#citation} > **完整引用規範見 [`CITATION-GUIDE.md`](CITATION-GUIDE.md)** > 設計文件見 [CITATION-SYSTEM.md](../design/CITATION-SYSTEM.md) **核心規則摘要(詳見 CITATION-GUIDE.md):** - 格式:Footnote-First `[^n]`,邊寫邊插,不要事後補 - 密度:每 300 字 ≥ 1 個 footnote - 腳註格式:`[^n]: [來源名稱](URL) — 完整描述文字(20-30 字)` - 位置:延伸閱讀之後 → `## 參考資料` 標題 → 腳註定義 - 品質:URL 指向具體頁面、至少 2 個一手來源 + 1 個英文來源 --- ## 四、語氣與風格 ### ✅ 要的 - **具體**:「1995 年 3 月 1 日開辦」而非「後來開辦了」 - **有人的溫度**:「當時的衛生署長全民健保推動小組⋯⋯」 - **講故事**:「1998 年的金融風暴差點讓這家公司倒閉,但⋯⋯」 - **敢寫爭議**:「這個政策至今仍有爭議,批評者認為⋯⋯」 - **讓讀者驚訝**:找到那個「欸,原來是這樣!」的角度 ### ❌ 不要的 - **空洞修飾詞**:~~蓬勃發展~~、~~日益重要~~、~~豐富多元~~、~~積極推動~~、~~顯著成長~~ - **Bullet list 灌水**:連續 4 行以上的 `- **X**:Y` 格式 = 偷懶 - **沒有故事的資訊堆疊**:如果拿掉所有 bullet,文章還剩什麼? - **假裝有數據**:不確定的數字不要寫,寧可留白 - **國營企業作文**:~~在國家政策的大力支持下,產業穩步發展~~ - **機器翻譯感**:~~這對台灣的經濟發展具有重要意義~~ ### 🚫 塑膠偵測系統(v3 語感校準) > 黑名單式防守追不上 AI 的改寫能力。v3 從「禁止」進化為「校準」:教你分辨塑膠味,而不只是列清單。 **塑膠的本質是什麼?** 塑膠句 = **拿掉後文章不會少任何資訊的句子**。它佔空間但不承載意義。 **三秒檢測法:** 把一句話遮住,上下文接不接得起來?接得起來 = 這句話是塑膠,刪掉。 **塑膠的五個品種:** | 品種 | 特徵 | 例子 | 為什麼是塑膠 | | ------------ | --------------------------- | -------------------------------------- | ---------------------------------- | | **萬用膠水** | 任何主詞都能套用 | 「展現了 X 的精神」「體現了 Y 的價值」 | 把主詞從台灣換成日本,句子照樣成立 | | **假升級** | 用「不只...更是」假裝有層次 | 「不僅是歌手,更是文化符號」 | 刪掉前半句,後半句自己就成立 | | **空氣轉折** | 轉折詞後面沒有真正的轉折 | 「然而,他繼續努力並取得成功」 | 「然而」後面應該是反轉,不是直行 | | **結尾罐頭** | 所有文章都能用的收尾 | 「將繼續在 X 領域發光發熱」 | 拿掉不影響任何理解 | | **情感灌水** | 用形容詞代替事實 | 「令人驚嘆的成就」「意義深遠的里程碑」 | 用數字或場景替換形容詞,永遠更好 | **完整禁用清單**(來自社群回饋 [Issue #50](https://github.com/frank890417/taiwan-md/issues/50)): 句式類:~~不是 X 而是 Y~~(**含全部變種**:「不是 X,是 Y」「不是 X,就是 Y」「這不是 X,是 Y」「不是 A,不是 B,是 C」多重並排否定) / ~~不僅 X 更是 Y~~ / ~~不只是 X 也是 Y~~ / ~~值得一提的是~~ / ~~令人驚嘆的是~~ / ~~事實上~~ / ~~毫無疑問~~ / ~~展現了~~ / ~~體現了~~ / ~~彰顯了~~ / ~~日益~~ / ~~蓬勃~~ / ~~積極推動~~ / ~~顯著成長~~ / ~~豐富多元~~ / ~~深遠影響~~ / ~~獨特魅力~~ / ~~不可磨滅~~ **「不是 X 是 Y」密度硬規則(v5.1.1 新增,2026-04-18 ε 觸發 / v5.3 升級 2026-04-21 γ)**:單篇長文 ≥ 1500 字,「不是 X...是 Y」+ 變種總數 ≤ **3 處**。魏如萱 v1 文章 4,000 字出現 13+ 處是 pattern 飽和的典型 AI 水印;單句讀來 OK,整篇累積讓讀者感到「全文都在做偽對比」,失去可信度。自檢:`grep -cE "不是.{0,30}(,|,)(是|就是|才是)" file.md`,> 3 即重寫。 > **跨書寫層適用**:這條規則不只限文章。Semiont 所有書寫層(MANIFESTO / DNA / MEMORY / DIARY / reports / commit / PR comment / Issue reply / 甚至思考)同樣嚴格節制對位句型。哲學層見 [MANIFESTO §11](../semiont/MANIFESTO.md#11-書寫節制跨所有書寫層的兩條-ai-水印紀律)。 > > **三題判準**(每次想寫「不是 X 是 Y」前自問):(1) 對比是內容本身?(2) 正面主張能獨立站立?(3) 讀者真會預設 X?三題全 no = 重寫為直接正面斷言。 結構類:三個以上排比並列 = 塑膠 / 每段都用轉折詞開頭 / 結尾「讓我們期待」「繼續發光」 **v3 新增:變種偵測** AI 會把被禁的句式「微調」成看似不同但本質一樣的句子: - 「展現了」→「彰顯了」→「證明了」→「印證了」:**動詞+了 + 抽象名詞 = 同一個模式** - 「不僅...更是」→「除了...還是」→「不只...同時也」:**雙重肯定結構 = 同一個模式** - 自檢:**如果主詞換成任何其他國家/人物,這句話還成立 = 塑膠** **正面示範(v3 新增):** | 塑膠版 | 策展版 | 差在哪 | | ---------------------------- | ------------------------------------------------------ | ------------- | | 「展現了台灣半導體的實力」 | 「台積電拿下全球先進製程 65% 市佔」 | 數字 > 形容詞 | | 「不僅是歌手,更是文化符號」 | 「周杰倫的〈稻香〉在四川地震災區被當安慰曲播了三個月」 | 場景 > 標籤 | | 「對台灣民主發展影響深遠」 | 「解嚴後第一場總統直選,76% 投票率」 | 事實 > 評論 | | 「令人驚嘆的工程成就」 | 「在年均 3.7 次地震的島上蓋世界最高樓」 | 矛盾 > 感嘆 | **語氣校準口訣:**「阿媽會怎麼說這件事」>「學術論文怎麼寫」。把文章念出來,像新聞稿或畢業致詞 = 塑膠。 ### 🔤 歐化語法偵測(v5 新增) > AI 生成的中文天然帶歐化語法。塑膠偵測抓的是「空洞修飾」,歐化偵測抓的是**語法結構本身像翻譯**。 > 兩者是不同層的問題:一篇文章可以零塑膠但整篇歐化。 > 理論根基:余光中〈論中文的常態與變態〉(1987)。Checklist 參考 tzengyuxio/skills 的 dewesternise 25 項。 **歐化的本質是什麼?** 歐化句 = **用英文的語法結構寫中文**。語意沒錯,但讀起來「不像人話」。 **三秒檢測法:** 把這句話念出來,聽起來像翻譯字幕 = 歐化。聽起來像人在說話 = OK。 **七種高頻歐化病(AI 生成最常犯):** | 病種 | 歐化版 | 台灣中文改法 | 辨識口訣 | | ---------------- | -------------------------------- | -------------------------------------- | -------------------------------------------------------------- | | **被動句濫用** | 「被認為是台灣最重要的產業」 | 「人稱台灣最重要的產業」或直接改主動句 | 不是所有「被」都該刪——「被公車輾過」是事實,「被認為」才是歐化 | | **「的」地獄** | 「台灣的夜市的文化的精髓」 | 拆成兩句,或刪掉不必要的「的」 | 連續三個「的」= 紅燈 | | **弱動詞包裝** | 「對此進行了深入的研究」 | 「深入研究此事」 | 看到「進行」「予以」「加以」就警覺 | | **「透過…來」** | 「透過教育改革來培養人才」 | 「用教育改革培養人才」 | 「透過」九成可以換成「用」或直接刪 | | **代詞冗餘** | 「台灣人,他們非常熱情」 | 「台灣人非常熱情」 | 中文不需要英文式的代詞回指 | | **抽象主詞開頭** | 「作為一個島國,台灣…」 | 「台灣是島國,自然…」 | 「作為」開頭的句子九成可以重寫 | | **倒裝子句** | 「在經歷了三十年民主化後的台灣」 | 「台灣民主化三十年後」 | 修飾語超過八個字就該搬到後面 | **正面示範:** | 歐化版 | 自然中文版 | 差在哪 | | ------------------------------------ | -------------------------------- | ----------- | | 「這項政策被廣泛地認為是成功的」 | 「多數人認為這項政策成功了」 | 主動 > 被動 | | 「他透過長期的努力來實現了他的目標」 | 「他努力多年,終於達成目標」 | 直接 > 迂迴 | | 「台灣的半導體的產業的發展的歷程」 | 「台灣半導體產業怎麼發展起來的」 | 口語 > 翻譯 | | 「作為亞洲四小龍之一,台灣展現了…」 | 「台灣是亞洲四小龍,自然有…」 | 平述 > 框架 | **自檢口訣:** 念出來。如果聽起來像在讀翻譯小說 = 歐化。如果聽起來像在跟朋友講話 = OK。跟塑膠偵測的「阿媽口訣」一起用:阿媽不會說「透過」,也不會說「作為一個母親」。 ### 語氣校準 想像你在跟一個聰明但不熟悉台灣的外國朋友解釋。 他不需要你用大詞,他需要你說清楚。 他會問「真的嗎?」「那後來呢?」——你的文章要經得起這些追問。 --- ## 五、特定類型文章的注意事項 ### 企業介紹 - **不要寫成公司簡介/年報摘要**。找到那個讓這家公司有趣的故事 - 必須包含:創立年份、創辦人、產業定位、關鍵轉折、全球地位 - 數據來源:公司年報、公開資訊觀測站、財報狗、產業報告 - **避免**:吹捧語氣、羅列全部產品線、沒有故事的組織架構 ### 人物介紹 - **開頭不要寫「XXX 是台灣著名的 OOO」**。用一個場景、一句話、一個關鍵時刻開場 - 找到一個**讓這個人不可取代的瞬間**(破紀錄的比賽、轉捩點的決定、爭議的立場) - 寫人不是寫履歷:生平大事 3-5 個就夠,重點是**為什麼他對台灣重要** - 運動員:必須有**具體比賽成績**(年份、賽事名、成績/名次),不要只說「表現優異」 - 文化人:至少提及 2-3 個**具體作品名**和它為什麼重要 - 政治人物/學者:**多面觀點**,不只寫成就,也要寫爭議(如有) - **避免**:堆砌獎項清單、「為台灣爭光」「台灣之光」等空洞頌詞 ### 歷史類 - **不要從盤古開天講起**。找到最關鍵的切入點 - 年份必須精確到年,重要事件精確到月日 - 不同立場的觀點都要呈現(尤其是政治敏感議題) - 來源:國史館、台灣歷史博物館、中研院台史所、維基百科(作為索引) ### 地理/自然 - 地名必須附上行政區位置 - 地理數據(面積、海拔、長度等)需標明來源 - 避免「美不勝收」「令人嘆為觀止」等空洞形容 ### 飲食/文化 - 在地人的視角 > 觀光客的視角 - 食物要寫出做法和背後的文化脈絡,不只是「好吃」 - 附上官方觀光資源或文化部相關連結 ### 科技/產業 - 用**具體案例**說話,不要寫空泛的產業趨勢 - 必須有**數字**:市佔率、產值、全球排名——但每個數字都要有來源 - 寫清楚**台灣在全球供應鏈的位置**(為什麼台灣做這件事很重要) - **避免**:「在 AI 浪潮下,台灣積極布局⋯⋯」這種 AI 最愛生成的廢話 ### 組織 / 專案 / 平台(v5.2 新增,2026-04-20 Taiwan.md meta-self-narrative 實戰) 當書寫對象是一個組織、開源專案、機構、平台(不是人),考慮 **meta-self-narrative 第一人稱**作為主視角: - **「我是 Taiwan.md」「我叫 PTT」「我是中央社」**——第一人稱物件敘事 - 適用條件:**被書寫對象有明確誕生時刻、有可追溯的成長史、有自己的聲音可被模擬** - 不適用:抽象概念、歷史時期、大範圍文化現象 **「第一次」時刻作為敘事錨點**:組織 / 專案 / 平台類文章強烈建議在 Stage 1 研究時,專門蒐集「第一次」時刻—— | 類型 | 範例 | | -------------- | -------------------------------------------- | | 第一次心跳 | 第一個 commit / 第一個發行 / 第一個會員 | | 第一個陌生人 | 第一個非創辦人的貢獻者 / 第一位付費用戶 | | 第一次被看見 | 第一篇主流媒體報導 / 第一次被引用 | | 第一次打破邊界 | 第一次跨國 / 第一次機構合作 / 第一個衍生專案 | | 第一次撞牆 | 第一次爭議 / 第一次下架 / 第一次服務中斷 | 這些時刻給第一人稱敘事具體錨點,比列清單或寫「發展歷程」更有敘事重量。 **組織 / 專案文章的必避陷阱**: - ❌ 用「發展歷程」當小標題(編年體復活) - ❌ 列 stats 當段落(轉換為場景:不寫「累計 47 位貢獻者」→ 寫「那天晚上 21:31 第一個陌生人的 PR 進來了」) - ❌ 寫成 press release:「致力於」「秉持」「展現」 - ✅ 讓對象自己說話:用對象本身的聲音,不用公司官方發言稿的聲音 --- ### 私有素材 × 公開文章的顆粒度(v5.2 新增,2026-04-20 吳哲宇 EVOLVE 實戰) 寫人物 / 組織 / 專案深度文章時,經常會接觸到當事人**提供的私有 SSOT 素材**(Obsidian 筆記、個人編年史、家族往事、業界內情)。 **私有素材是 Stage 1 的合法來源,但不自動獲得公開授權**。需要明確的**公開性顆粒度分層**: | Tier | 來源類型 | 授權狀態 | 處理方式 | | ---------- | ---------------------------------------------------- | ------------------- | ------------------------ | | **Tier 1** | 主流媒體已正式報導過的事實、引語、數據 | ✅ 直接可用 | 加腳註引用原報導 | | **Tier 2** | 當事人本人在公開平台(社群、播客、演講、官網)說過的 | ✅ 直接可用 | 加腳註引用原平台 | | **Tier 3** | 私記但只涉及當事人本人的內容(個人經歷、情緒、想法) | ⚠️ 需當事人逐題授權 | 列出候選清單、當事人拍板 | | **Tier 4** | 涉及第三人、家人、未完成計畫、財務細節、情感關係 | ❌ 預設不公開 | 除非當事人明確表示可寫 | **作法**: 1. **Stage 1 末尾列 privacy audit 清單**:把從私有素材看到但不確定能否落地的項目整理成清單 2. **Stage 1.5 觀察者拍板**:清單交給當事人,一題一題回答 3. **Stage 2 寫作時護欄**:tier 3-4 項目若未取得許可,不寫就是不寫——即使 agent 自動補進來也要刪掉 4. **DIARY 記錄時二度確認**:即使已拍板 tier 3-4 內容 OK 寫進文章,DIARY / 公開 memory 討論時仍要抽象化(列「七題隱私審計」而不列具體項目本身) **常見誤解**: - ❌「當事人在 Obsidian 寫過了,所以可以公開」→ 寫 Obsidian 是自己跟自己說話,不等於授權公開 - ❌「事情已經過去了(例:離職夥伴)所以可以寫」→ 時間流逝不等於授權,當事人對敘事掌握度仍需被尊重 - ❌「agent 自動 compiled 進來的就是事實」→ agent 可能基於 Obsidian 素材推導,但推導後的 claim 仍屬 tier 3-4 **隱私協商是動態的**:一次拍板後可能在具體語境下重新校準(Wade 從「整段不寫」→「可以提 MonoLab 共同成立」的案例)。不是 binary,是**連續決策**。 --- ### 密度平衡:長文不是孢子的加長版(v5.2 新增,2026-04-20 吳哲宇 EVOLVE 實戰;v5.3 加媒體呼吸點 pointer) > **媒體呼吸點規範**:除了下面三個密度修正手勢外,連續 3 段以上密集事實段(≥ 200 字 / 段)→ 中間插入一張 scene 圖作為視覺呼吸(hero / scene-mid / closure 三段位置)。完整 SOP 在 [REWRITE-PIPELINE Stage 4.5a 三段敘事節奏判斷](../pipelines/REWRITE-PIPELINE.md#stage-45-media-insertionv220-新增)。 當 Stage 1 研究豐富(例如 50+ sources、當事人提供 10 章 Obsidian 編年史),Stage 2 會有一個強烈的**事實堆疊衝動**——想把好不容易挖到的素材都塞進文章。 這是 EVOLVE 長文最大的陷阱。 **症狀**: - 段落裡三件事、下一段再三件事、再下一段又三件事。讀者沒有時間感受任何一件 - 量化數字直接貼上去:「196 sessions / 50 學生 / 解決率 96%」「Hahow 22,648 學生」 - 展覽列表、獎項列表、合作清單佔據整段 - 讀起來像充實的 CV 或 press release,不像紀實文學 **為什麼孢子不會犯這個錯但長文會**:孢子有 300 字硬限制,字數壓力強迫密度管理;長文沒有字數限制,反而失去節奏控制。**長文的呼吸感是一種主動選擇留白的能力**,不是自然產物。 **三個手勢**(EVOLVE 長文 Stage 2 必跑): 1. **量化內化為場景** - ❌「196 sessions / 50 學生 / 解決率 96%」 - ✅「有個學生叫 Kasper 跟了他整整兩學期」 - 規模讓讀者自己感受。具體遠勝抽象。 2. **列表拆成場景** - 2024 整年六件事不擠一段——拆成「威尼斯一個提問」+「兩千人看森林」兩個完整場景 - 其他事件用**連續性語言**帶過(「年底他還在⋯⋯」),不列出 3. **每 2-3 段一句策展人的聲音**(EDITORIAL §敘事呼吸感 的強化版) - 這些句子不傳遞資訊,只製造停頓 - 範例:「程式碼可以是活的。」「歸零的只是某種假的一切,不是一切本身。」「不是頒獎者與得獎者,是兩個對台灣有想法的人。」 **自檢口訣**:**寫完後念三段看看。如果三段都是事實堆疊而沒有一句讓讀者喘氣的話 = 密度失衡**,退回去在中間加呼吸句或拆段。 --- ### Before/After 範例 **學會語氣最快的方式:看反面教材。** ### ❌ 壞(典型 AI 空洞模板) ``` 戴資穎是台灣著名的羽球運動員,在國際賽場上表現優異, 多次獲得重要獎項,為台灣爭光。她的成功激勵了無數年輕人, 成為台灣體壇的重要人物。 - **主要成就**:多次世界排名第一 - **比賽風格**:靈活多變,技術全面 - **國際影響力**:提升台灣羽球在國際上的知名度 - **社會貢獻**:積極參與公益活動,回饋社會 ``` ### ✅ 好(有故事、有數據、有人味) ``` 2018 年,戴資穎站上世界排名第一,而且一站就是 214 週—— 這個紀錄是女子羽壇史上最長的連續週數。 但她最被台灣人記住的,可能不是任何一場勝利,而是 2020 東京奧運 那場輸給陳雨菲的金牌戰。賽後她在鏡頭前哭了,整個台灣跟著心碎。 那一晚,「戴資穎」登上 Google 台灣搜尋量第一。 她用左手持拍,打法被形容為「魔術師」——假動作多到對手完全猜不到 下一拍的方向。日本媒體稱她為「天才少女」,但天才的背後是從 6 歲 開始每天 6 小時的訓練。 ``` **差在哪?** - ❌ 版本:沒有一個具體年份、沒有一場具體比賽、四個 bullet 全是廢話 - ✅ 版本:214 週紀錄、2020 奧運金牌戰、陳雨菲、6 歲開始、左手持拍——全是可查證的事實,而且有畫面感 --- ### Before/After #2:五月天(v3 新增,Day 7 實戰案例) #### ❌ Before(51 行,塑膠×6,來源 0) ``` 五月天是台灣最具影響力的搖滾樂團之一。自 1997 年成立以來, 他們以其充滿正能量的音樂和激勵人心的歌詞征服了無數歌迷的心。 從地下樂團到亞洲巨星,五月天的成功故事展現了台灣流行音樂的 蓬勃發展和無限潛力。 - **成立時間:** 1997 年 - **音樂風格:** 搖滾、流行搖滾 - **代表作品:** 〈溫柔〉、〈倔強〉、〈知足〉 - **國際影響:** 多次在世界各地舉辦巡迴演唱會 ``` #### ✅ After(策展版,來源 11) ``` 1997 年,五個師大附中的學生在野台開唱彈了一首歌。沒人預料到, 28 年後他們會在紐約麥迪遜花園廣場——那個披頭四踏上美國的 同一個舞台——連開兩場演唱會,而且票在 48 小時內售罄。 > **📝 策展人筆記** > 五月天的矛盾在於:他們是「搖滾」樂團,卻靠最不搖滾的東西 > 成功——正能量、勵志歌詞、不吸毒不鬧事。在搖滾的定義裡, > 乖小孩不該成為巨星。但他們做到了。 ``` **差在哪?** 前者沒有一個畫面、沒有年份細節、四個 bullet 全是「某人的 LinkedIn」。後者用麥迪遜花園+披頭四類比製造規模感,用 callout 點出核心矛盾。 --- ### Before/After #3:森林生態系(v3 新增,規格表→敘事) #### ❌ Before(規格表式 bullet) ``` ### 亞熱帶闊葉林(海拔 500-1,800m) - **氣候特徵:** 年均溫 18-22°C,年雨量 2,000-3,000mm - **主要樹種:** 樟樹、楠木、殼斗科、樟科 - **分布區域:** 中低海拔山區 - **生態特色:** 物種多樣性最高的林帶 ``` #### ✅ After(場景敘事) ``` 繼續上升到 500 公尺。空氣濕了,樟樹的香氣取代了海風。 19 世紀末,台灣的樟腦佔全球產量 70%。日本人來了之後, 大規模開採這些「綠色黃金」。樟腦同時是賽璐珞和無煙火藥的 關鍵原料。一棵千年老樟樹,可以提煉出數十公斤樟腦, 足以讓一個家庭致富。 ``` **差在哪?** 規格表=百科,場景=你真的在爬山。同樣的事實(樟樹、海拔、70% 市佔),用敘事包裝後讀者會記住。 --- ### Before/After #4:結尾(v3 新增,罐頭→餘韻) #### ❌ Before(罐頭結尾) ``` 林懷民的藝術成就,不僅為台灣爭光,更為世界舞蹈藝術 做出了不可磨滅的貢獻。雲門舞集將繼續在國際舞台上 展現台灣文化的獨特魅力。 ``` #### ✅ After(餘韻式結尾) ``` 雲門 50 年,這是一個關於堅持夢想的故事,也是台灣文化 從無到有、從弱到強的縮影。雲門的舞台上,律動的是這座 島嶼的靈魂本身。 ``` **差在哪?** 前者三個塑膠句連擊(「為台灣爭光」「不可磨滅」「繼續展現獨特魅力」)。後者只留一個畫面,讓讀者自己感受。 --- ## 六、品質檢查(發布前必做) > **完整逐項驗證清單見 [`docs/editorial/QUALITY-CHECKLIST.md`](docs/editorial/QUALITY-CHECKLIST.md)** > 包含:五指檢測、結構驗證、塑膠掃描、自動驗證、commit 流程 ### 五指檢測(核心品質思維) 寫完後 60 秒快速自檢: 1. 🫵 **驚訝點**:讀者會在哪一句說「哦?」——指不出來 = 缺意外發現 2. ✌️ **兩個轉折**:有沒有真的方向改變?(不是「然而他繼續成功」式假轉折) 3. 🤟 **策展句**:有沒有一句不傳遞資訊、只製造理解的句子? 4. 🖐️ **念結尾**:大聲念出來,有餘韻嗎?念完想停頓 3 秒 = 合格 5. ✊ **一句話轉述**:能跟朋友說「欸你知道嗎,[一句話]」? **五指全過 = 好文章。缺任何一指 = 回頭補。** ### 節奏的物理操作 每 3-4 段密集事實之後,插入一段短的(1-2 句)呼吸段——策展人的觀察、一句感嘆、一個類比。像音樂的動態:forte → piano → forte。 --- ## 七、AI 協作注意事項 Taiwan.md 大量使用 AI 輔助寫作,但 AI 是工具,不是作者。 ### AI 擅長的 - 整理研究資料、交叉比對來源 - 根據事實資料撰寫初稿 - 翻譯(中英文同步) - 格式化和結構調整 ### AI 容易出錯的(必須人工驗證) - **具體數據**(產值、人口、排名等)— AI 經常捏造 - **公司/人名**(尤其是台灣中小企業)— AI 經常編造不存在的公司 - **獲獎紀錄**(尤其是具體獎項名稱和年份)— AI 經常張冠李戴 - **歷史事件的因果關係** — AI 傾向過度簡化 - **語氣** — AI 預設的「空洞正面」語氣需要人工校正 - **結尾** — AI 幾乎永遠產出罐頭結尾(v3 已加結尾模式庫) - **來源 URL** — AI 經常給首頁或推測不存在的 URL ### Sub-agent Pipeline 教訓(v3 新增) **7 天實戰中,我們用 AI sub-agent 批次重寫了 50+ 篇文章。以下是血淚教訓:** 1. **一次一篇**。同時 spawn 多個 sub-agent 會互相搶檔案、timeout、產出殭屍 session 2. **至少給 7 分鐘**。研究(3 分鐘)+ 寫作(2 分鐘)+ build 驗證(2 分鐘)= 7 分鐘是最低要求 3. **prompt 裡必須寫「立刻執行,不要重述任務」**。否則 AI 會花 30% 時間在重述指令 4. **prompt 必須包含 EDITORIAL.md 的路徑讓 AI 自己讀**。不能假設 AI 記得任何標準 5. **量化指標是 pre-filter,不是品質保證**。塑膠句數=0 不代表文章品質好。必須逐篇讀 6. **塑膠會變種**。AI 把被禁的句式微調成看似不同的版本(見上方變種偵測)。人工清洗不可省 7. **Build 驗證不能省**。Sub-agent 的 YAML frontmatter 偶爾會壞掉,一篇壞 = 整個 category 炸 ### quality-scan.sh 偵測指標 腳本位於 `tools/quality-scan.sh`,7 個偵測指標: 1. Bullet 密度 >30% 2. 具體年份 <2 個 3. 無 URL 來源 4. 空洞修飾詞密度 5. 散文段落 <5 行 6. lastHumanReview: false 7. 連續相同格式 bullet ≥4 行 **目標:所有文章分數 ≤ 3(通過)** --- ## 八、用語規範 完整規範見 **[TERMINOLOGY.md](./docs/editorial/TERMINOLOGY.md)**。寫作前必讀。 --- ## 九、富文本語法指南 Taiwan.md 的文章渲染器支援以下進階 Markdown 語法。善用它們能讓文章從「純文字」升級為「策展級閱讀體驗」。 ### Callout(策展標註) 用 blockquote + emoji bold 標記觸發不同顏色的標註框: ```markdown > **📝 策展人筆記** > 這是編輯的觀察,不是客觀事實。 > **⚠️ 爭議觀點** > 關於此事件存在不同立場的詮釋。 > **💡 你知道嗎** > 有趣的冷知識或反直覺事實。 > **📊 數據來源** > 本段數據來自某某報告(2024)。 ``` - 📝 = 藍色(策展人聲音的最佳載體) - ⚠️ = 橘色(爭議、警告、需要讀者自行判斷) - 💡 = 綠色(冷知識、有趣事實) - 📊 = 紫色(數據出處、方法論說明) **使用時機**:每篇文章建議 2-4 個 callout。策展人筆記(📝)至少 1 個。 ### Pull Quote(大字金句) ```markdown > **✦** 「一個 30 秒的麥克風宣布,改寫了一個島嶼的經濟命運。」 ``` 渲染為居中大字 + 裝飾引號。用於文章中最精彩的一句話,像雜誌的 pull quote。每篇最多 1-2 個,過多會稀釋力量。 ### Timeline(時間軸) 有序列表 + bold 日期(含 4 位數年份)自動渲染為垂直時間軸: ```markdown 1. **2014/3/17** — 張慶忠 30 秒宣告 2. **2014/3/18** — 學生佔領立法院 3. **2014/3/23** — 行政院驅離事件 4. **2014/3/30** — 50 萬人凱道集結 5. **2014/4/10** — 退場 ``` **觸發條件**:有序列表、3 項以上、每項以 bold 日期開頭。適合歷史事件、發展沿革。 ### Stat Block(數據卡片) 2 列表格,第一行是數字(含 %、→、↑、↓),自動渲染為大字卡片: ```markdown | 42% → 32% | 11% → 16.7% | | --------------------------- | ------------ | | 對中貿易依存度(2014→2024) | 對美貿易佔比 | ``` 適合放在文章開頭或關鍵數據段落,視覺衝擊力強。 ### Compare Block(對比欄) 2 欄表格,header 包含「vs / 支持 / 反對 / 正 / 反 / 優 / 缺」等關鍵字,自動渲染為雙色對比卡片: ```markdown | 支持服貿 | 反對服貿 | | ---------------- | ---------------- | | 提升國際競爭力 | 衝擊中小企業 | | 深化兩岸經濟整合 | 形成親中利益集團 | ``` 左邊綠色調、右邊橘色調,讓正反觀點一目了然。 ### Footnote(腳註) ```markdown 這是正文[^1],需要補充說明的放腳註[^2]。 [^1]: 補充資料或原始來源。 [^2]: 延伸閱讀或方法論說明。 ``` 適合學術性較強的文章。主文保持流暢,細節放腳註。 ### 圖片 + 圖說 ```markdown ![描述文字](https://example.com/image.jpg) _圖說:來源與說明文字_ ``` `p > em:only-child` 自動渲染為居中小字圖說。 ### 使用原則 1. **不要為了用而用**。每個語法都有對應的敘事功能,不是裝飾。 2. **Callout 是策展人聲音的家**。策展人觀察最適合放在 📝 callout 裡。 3. **Stat Block 放在文章前段**。用數字先抓住讀者,再展開故事。 4. **Timeline 不是年表**。3-7 個節點最佳,每個節點一句話。太長就改用敘事。 5. **Pull Quote 是文章的 trailer**。讀者滑過去時,這句話要讓他停下來。 ### 富文本最低使用量(v3 新增) | 文章級別 | 最低要求 | | -------- | ------------------------------------------------------------- | | S 級 | 至少 3 種富文本(callout + stat block/timeline + pull quote) | | A 級 | 至少 2 種(callout 必選 + 任一其他) | | B 級 | 至少 1 個 📝 策展人筆記 callout | **為什麼強制?** v2 寫了完整的富文本指南,但 7 天實戰幾乎零使用率。不強制 = 不存在。 --- ## 十、文件 footer 公約(canonical — 2026-04-28 κ-late 新增) > SSOT for canonical 文件的版本標記 + changelog 寫法。對應 [MANIFESTO §指標 over 複寫](../semiont/MANIFESTO.md#我的進化哲學--指標-over-複寫) — 每個事實只有一個 canonical source,footer 也是。 ### 鐵律 1. **每檔最多一個 `_current: vX.Y | YYYY-MM-DD_` marker**——不再混用 `_版本:vX.X_` / `_vX.X | YYYY-MM-DD_` / 多個 current marker 共存 2. **不在 body heading 嵌入 version annotation**——禁止 `### v1.1 進化(YYYY-MM-DD):...` 這類格式。規則本身 timeless,version 標記只能在 footer 3. **完整 changelog → git log**——文件 footer 不重複 git log 已 capture 的資訊 4. **觸發事件 narrative 搬 reports/ 或 diary/**——文件 footer 留 1 行 pointer,不寫完整 narrative 5. **跨檔重複教訓 → canonical pointer**——李洋孢子 #28/#29 教訓 canonical 在 [DNA #23](../semiont/DNA.md#23),其他文件只 pointer 不 paraphrase ### Footer 標準格式 ```markdown --- _current: v{X.Y} | YYYY-MM-DD {session}_ **最近 milestone**(完整 changelog → `git log {path/to/file.md}`): - **v{X.Y}**(YYYY-MM-DD)— 一句話 summary(可 pointer 到 reports/ 或 [DNA #N]) - **v{X.Y-1}**(YYYY-MM-DD)— 一句話 summary - **v{X.Y-2}**(YYYY-MM-DD)— 一句話 summary(最多保留 3-5 條 milestone) ``` ### Audit 工具 ```bash # 文件中是否有多個 _current/_版本_ marker(應 ≤ 1) grep -c "^_\(current\|版本\)" docs/path/to/file.md # 文件中是否有 inline body heading version annotation(應 0) grep -nE "^#{1,4} v[0-9]+\.[0-9]+\b" docs/path/to/file.md # 文件中是否有 inline「誕生事件」段(應 0 或 condensed pointer) grep -nE "誕生事件|觸發背景" docs/path/to/file.md ``` ### 何時可破例 - **新生 pipeline**(誕生 < 30 天):誕生事件 inline 留 H2 段保留 motivation hook 合理。30 天後重 audit 是否搬 reports/ - **意義保留檢查**:「為什麼這條規則存在」對讀者理解規則本身是必要 → 留;只是「這條規則何時誕生」的歷史 → 搬 ### 觸發背景 完整 audit 報告 → [`reports/dna-context-hygiene-audit-2026-04-28.md`](../../reports/dna-context-hygiene-audit-2026-04-28.md)(19 findings / 4🔴 + 9🟡 + 6🟢 / ~295 行可削減 / 跨 38 檔)。本 §十 公約是 audit 收尾後的 SSOT instantiation。 --- _這份文件本身也會持續演化。發現新的品質問題就更新這裡。_ _current: v5.5 | 2026-04-28 κ-late_ **最近 milestone**(完整 changelog → `git log docs/editorial/EDITORIAL.md`): - **v5.x**(2026-04-21+)— §11 對位句型禁令擴展跨層 / People title 冒號三明治原則 / 元規則 polish - **v4.4**(2026-04-14)— §挖引語紅線**擴大**:場景細節不能從英文 summary 推導(per [DNA #23](../semiont/DNA.md#23) 李洋 #29 教訓) - **v4.3**(2026-04-14)— §挖引語紅線:英文 summary 回譯陷阱(李洋 #28 教訓 — per DNA #23) - **v4.0-v4.2**(早期)— RESEARCH 獨立 / CITATION 獨立 / 報導者 DNA 整合 - **v3**(早期)— 語感校準取代黑名單 / 結尾模式庫 / 富文本最低要求 / 情感弧線操作化 _對標:報導者(The Reporter)深度報導品質標準_