AI 文字清理指的是移除大型語言模型在輸出中留下的排版痕跡 —— 包括長破折號、智慧引號、隱藏的 Unicode 字元以及多餘的雙空格 —— 但不會重寫文字本身。AI 文字清理工具正是為此設計:貼上 AI 草稿、切換要執行的規則,就能取回同樣的句子,排版則被標準化為一般的鍵盤字元。共有六條規則可使用,每一條都是獨立的開關,因此作者可以只修正引號而不動破折號,或只去除隱藏字元而完整保留段落間距。每次執行都會回報每條規則修改了多少字元,這代表你可以實際看到發生了什麼,而不是盲目相信一次靜默的重寫。清理作業完全在瀏覽器內執行,因此文字永遠不會被上傳、永遠不會被儲存,也永遠不會被送往任何 API —— 當被清理的草稿是客戶工作、即將出版的稿件,或任何不應離開分頁的內容時,這一點意義重大。

六條規則與各自的處理目標
每一條規則只針對 AI 草稿常見的一小部分排版問題,下表整理了各規則的偵測對象、移除內容與保留部分。切換採逐條設定,因此可以只執行部分規則而不跑其他規則;範圍會完整處理而非抽樣,因此不會有目標字元逃過這一輪。
| 規則 | 目標字元 | 替換行為 |
|---|---|---|
| 破折號 | U+2013 en dash、U+2014 em dash、U+2015 horizontal bar,加上 U+2010、U+2011 與 U+2012 等連字號替代字元 | 句中破折號會變為連字號、逗號或單一空格(可自行選擇);連字號替代字元一律變為單一連字號;U+2212 減號則保持原樣 |
| 引號 | U+2018 至 U+201F 智慧引號,以及 prime 與 double prime 符號 | 直式單引號 (') 與直式雙引號 (");法式引號 (guillemets) 與 CJK 括號則刻意保留 |
| 省略號 | 單一字元 U+2026 | 三個一般的句點 (.) |
| 不可見字元 | zero width space、word joiner、byte order mark、soft hyphen、combining grapheme joiner、LTR/RTL 標記、隱藏的數學運算子、Unicode Tags 區塊、supplementary variation selectors、Trojan Source 嵌入字元 | 全部移除;zero width joiner、non-joiner 以及 U+FE00 至 U+FE0F 的 variation selectors 予以保留 |
| 間距 | 連續兩個以上的空格或 tab;行尾的尾端空格;所有等寬空格與不換行空格 | 折疊為單一的一般空格 |
| 空行 | 文字最前端或最末端的空行;段落之間超過一行的連續空行 | 段落之間最多保留一行空行 |
如何用三個步驟清理 AI 草稿
- 將 AI 產生的文字貼入方框中,或選擇 Load sample 來查看典型 AI 草稿在清理前的樣貌。
- 勾選你想要的規則,並針對破折號規則選擇破折號要變成連字號、逗號或單一空格 —— 每條規則都是獨立開關,因此可以全部關閉。
- 選擇 Clean text,檢查各規則的修改次數以確認每條規則確實如你所預期運作,再將清理後的結果複製到你的編輯器、CMS 或電子郵件草稿中。
如何選擇破折號的取代方式
破折號規則涵蓋了 AI 助手常在散文中灑入的整系列排版用破折號。U+2013 en dash、U+2014 em dash 與 U+2015 horizontal bar 都屬於真正的句中破折號,你可以選擇要替換成什麼:連字號、逗號或單一空格。每種選項對應不同的編輯風格。連字號能讓複合修飾詞保持緊湊,例如「state of the art」這類詞組仍會維持為單一帶連字號的單位。逗號能恢復原本 em dash 所帶來的呼吸感,把「the project — three months late — finally shipped」轉為「the project, three months late, finally shipped」。單一空格則把破折號視為一個未完成的 em dash 標記,對於想先看到斷點再決定標點的草稿相當實用。連續出現的多個破折號會被壓縮為單一取代結果,而不會產生一整排連字號;破折號周圍的空格也會一併修補,因此輸出結果永遠不會出現雙空格或在逗號前留下空格。
三個看起來像一般連字號的字元,其重要性遠超過表面所見。U+2010 hyphen、U+2011 non-breaking hyphen 與 U+2012 figure dash 在視覺上與一般鍵盤連字號完全相同,因此略過它們的工具會留下一個你看不見的問題。這三個字元一律會變為單一連字號,與句中破折號選擇哪種取代方式無關,因為把單字中的連字號改成逗號會破壞單字本身而非清理它。U+2212 減號則保持不動:它是數學運算子,改寫它會改變數字的意義,因此從 AI 解說中複製的公式在數值上仍然正確。
為何部分不可見字元會被保留
在貼上 AI 輸出時,不可見字元規則是最關鍵的一條,但它也是例外最多的一條。此規則會移除 zero width space、word joiner、byte order mark、soft hyphen、combining grapheme joiner、左至右與右至左標記、不可見的數學運算子、Unicode Tags 區塊中的隱藏浮水印載體、supplementary variation selectors,以及 Trojan Source 漏洞背後的雙向嵌入、覆寫與隔離字元 —— 這些都是複製貼上後仍會存留、並可能重新排列一行文字顯示方式的不可見字元。
有三個字元是被刻意保留的。Zero width joiner 能讓多人組合的 emoji 序列保持完整,因此一個家庭序列仍是單一家庭而非三個分開的字元。Zero width non-joiner 在波斯文、阿拉伯文以及數種印度系文字中是文法上必要的。Variation selector 16 則是讓 emoji 真正以 emoji 形式顯示的關鍵。移除這些字元中的任何一個都會破壞有效文字而非清理它,因此它們會原封不動地通過。移除清單與保留清單中的每一個碼位,在規則上線前都已對照 Unicode 字元資料庫進行比對,並交叉比對第二個權威來源。
隱私、限制與它不做的事
所有處理都在瀏覽器分頁內執行。文字永遠不會被上傳、永遠不會被儲存、永遠不會被送往 API,也永遠不會綁定任何帳號;當被清理的草稿是客戶工作、處於禁運期間的稿件,或任何不應離開頁面的內容時,這一點至關重要。輸入上限為一百萬個字元,以避免大量貼上時凍結分頁;若需要在清理之餘同時處理其他任務,可以使用 whitespace remover 或 special characters remover 等工具,在草稿需要額外處理時接手。
開始前有兩個實際的限制需要注意。輸入中的每一種行分隔符 —— 包括 Windows 的 carriage return、從 PDF、InDesign 以及較舊 Word 文件輸出的 U+2028 與 U+2029 分隔符 —— 都會先折疊為 line feed,因此它們的行為與從網頁聊天複製的文字一致,而輸出永遠使用 LF 行尾。若你的目標編輯器需要 CRLF,請在貼上之前先將清理後的輸出送入 line break converter。這個工具只會修改排版:它不會重寫句子、不會偵測 AI 作者身分、不會改寫、翻譯或改善文筆,也完全不保證清理後的文字能通過任何 AI 偵測器。對於除了標準化之外還需要塑形的草稿,text formatter 是合理的下一步,而非本工具的替代品。