Day17 讓機器會寫文章

https://image01.fishmind.org/cnc/ironman-2026-day17-01.png

AI寫作很重要。

這套東西的起源,來自駱君昊先生(https://www.facebook.com/lo.jain.hao) 開源的一個 repo,叫 Social Post,放在 github.com/Hao0321/claude-skill-social-post。在此特別表達感謝。

Social Post 做的事情很完整:五個模式,排十四天的內容行事曆、學你的社群語氣、產出各平台版本並直接發文、把成效數字記下來、再拿那些數字回頭修規則。風格存到 style_profile.md,內容策略存到 content_plan.md,成效存到 outcome-bundle.json,規則與平台慣例則放在 references 底下,草稿與個人資料不進版控。

參考他的版本,修改成我要的功能:

  1. 參考各種寫作教學,形成寫作方法。
  2. 輸入我寫的文章,形成我的寫作風格。再經由系統產生文章,我加以修改,經過比對,不斷調整出專屬於我的寫作風格。
  3. 可以導入各種素材,作為寫作的參考。
  4. 輸入相關素材,告訴系統,用哪一種寫作方法,目的,文章用途,來產生所要的內容。
  5. 針對素材,可以進行檢索。

共五個模組:

第一個模組:把知識變成一疊卡 ( claude 不曉得為甚麼,把這個寫作技巧概念定義成 "卡" )

第一個模組叫寫作技巧。輸入有關如何寫做的書、講義、或檔案,然後輸出是一疊 "卡"。現在這個庫裡有 178 張卡,分在 8 個功能目錄底下:結構 45 張、說服 34 張、五感 24 張、教學 24 張、開頭 26 張、傳播 12 張、結尾 9 張、標題 4 張。每張卡固定四欄:什麼時候用、怎麼做、範例、出處。四欄裡最重要的是第一欄:「什麼時候用」,知道甚麼時候用,它才會在對的時機被叫出來。

https://image01.fishmind.org/cnc/ironman-2026-day17-02.png

ssh HQ,切換到 /opt/claude-working,執行 claude code:

到 rag 機器,增加底下的功能,每一個功能,產生一個新的頁面:

第一個模組:寫作技巧。把講寫作的書蒸餾成一疊可以被挑用的卡。

一、輸入是任何一份講「怎麼寫」的檔案。抽出來的每一張卡固定四欄,缺一欄就不要收:
    1. 什麼時候用 —— ⚠️ 這欄最重要,寫成「情境」不要寫成「分類」。
       ⛔ 不可以寫「用於開頭」,要寫「寫貼文第一句、想讓讀者非往下讀不可的時候」。
    2. 怎麼做 —— 可以照做的步驟,不是形容詞。
    3. 範例 —— ⚠️ 要有改前跟改後,只有改後看不出手法在哪。
    4. 出處 —— 書名,能標到章節更好。
       ⛔ 出處不可以留空,也不可以寫「綜合整理」。抽不到出處的那張卡直接丟掉。

二、卡片依功能分目錄:開頭、標題、結構、五感、說服、傳播、結尾、教學。
    ⚠️ 一張卡只能屬於一個目錄。跨兩個目錄的那張,表示它其實是兩張。

三、⛔ 不要一次把整個卡庫塞進生成用的指令裡。
    先依這一篇的主題與平台挑出候選,再把挑中的那幾張送進去。
    ⚠️ 挑選這件事要留下紀錄:哪一篇挑了哪幾張、最後用上哪幾張。

四、⚠️ 新蒸餾出來的卡先進待審目錄,不要直接進正式卡庫。
    ⛔ 蒸餾是有損的,沒有人看過的卡不要讓它影響產出。

規則:卡庫的統計數字(幾張、幾個目錄、每個目錄幾張)一律由掃描產生,
⛔ 不要手寫成一份表格 —— 手寫的表一定會過期,而且會過期得很安靜。

第二個模組:作者風格:就是一份差異

第二個模組叫作者風格,做法是對比式學習。系統先就一個固定主題,產生一份中性的範本,你把它改寫成自己的口吻,兩份文字之間的差異就是風格訊號,餵回去更新風格檔。關鍵在於為什麼要用對比,不是直接餵五篇你寫過的文章。直接餵,模型學到的是你寫過的主題;對比之下,主題兩邊一樣,剩下的差異才是筆觸。現在那份風格檔跑到第十輪,12,703 bytes。

https://image01.fishmind.org/cnc/ironman-2026-day17-03.png

風格不是形容詞,是原稿跟改稿之間的差異:

第二個模組:作者風格,走對比式學習。

一、流程固定成三步:系統就一個固定主題產一份中性範本 → 我把它改寫成自己的口吻 →
    兩份一起送回去抽風格訊號,更新風格檔。
    ⚠️ 主題要固定,兩邊才只剩筆觸的差異。⛔ 不要每輪換題目。

二、🔴 更新風格檔之前一定要先備份,檔名帶輪次與日期。
    ⛔ 不可以原地覆蓋。

三、🔴 跑完先量大小:新的比舊的小,就直接還原上一份,不要試著修補。
    ⚠️ 觸發整份重寫的是「原稿與改稿的落差」,不是第幾輪 ——
    我砍掉一半內容的那一輪,它就把整份風格檔重寫了。

四、⚠️ 學完要逐條檢查新增的規則,這三種一律刪掉:
    1. 描述的事情根本沒發生過的。
    2. 拿我的錯字當範例的 —— ⛔ 送去學習的改稿要用原封不動的版本,
       標點跟空格不可以順手修(那些是特徵),但錯字不可以被當成風格。
    3. 只在這一篇成立的取捨。⚠️ 判準是跨篇出現次數,不是「看起來像不像風格」。

五、⛔ 風格檔裡永遠不可以出現「作者喜歡插圖」這類規則,也不可以出現任何圖片語法。
    ⚠️ 這條每一輪都會被重新學回來,所以要寫成一條永遠優先的禁止規則,
    ⛔ 刪掉它沒有用。

六、⚠️ 對比看不見「我從來不改的東西」。定期拿所有定稿做一次跨篇統計,
    出現在多數篇裡、而風格檔沒寫到的固定寫法,手動補進去。

規則:每一輪的原稿、改稿、抽出來的訊號全部留檔,⛔ 不要只留最後那份風格檔。

第三個模組:素材庫

第三個模組,是主題參考資料。檔案或網址,走如下的入庫流程:自動檢查是否重複、命名分類、存進電子書庫、切段進素材庫;掃描的 PDF 先做文字辨識再進來;貼上的純文字只進素材庫。現在裡面是 1062 筆來源、433,142 段,電子書庫 1011 本。來源型態相當雜:電子書 597、純文字 285、辨識過的掃描 PDF 70、一般 PDF 49、其他檔案 27、辨識過的電子書 15。這個,可以提供我們寫作參考的素材。

https://image01.fishmind.org/cnc/ironman-2026-day17-04.png

第三個模組:主題參考資料。上傳的東西要進得來,也要能被檢索到。

一、入庫流程:查重 → 命名分類 → 存進電子書庫 → 切段進素材庫。
    ⚠️ 查重用內容的雜湊,⛔ 不要用檔名,同一本書會有五種檔名。

二、掃描的 PDF 先做文字辨識再入庫,辨識工作要可以中斷後接續,
    ⛔ 不要每次從第一頁重來。⚠️ 辨識完的全文另外存一份純文字,
    那份是之後重切段落用的,不要只留在工作目錄裡。

三、🔴 自動簡繁轉換要設門檻,而且古籍入庫前一律先量一次簡體字比例,看到數字再決定。
    ⛔ 低於門檻的一律不要轉。
    ⚠️ 誤轉會壞在最不容易發現的地方:那些字在古籍裡是正字,不是簡體字,
    轉完每一個字看起來都很合理,但書已經不是那本書了。

四、⚠️ 分類讓模型建議、由我確認。⛔ 不要讓它改寫書名 ——
    它會把書名「順手整理」成比較好看的版本,之後就對不回原書了。

五、切段要記得住位置:每一段要能回答「這是哪一本、第幾段」。
    ⛔ 沒有位置的段落不要收。

規則:入庫失敗的檔案留在原地並記錄原因,⛔ 不要靜默跳過。

第四個模組:生產

第四個模組是生產,也是真正要用的那一頁。一次要餵六樣東西:素材、寫作模型、意圖、想要的內容、目標平台、作者風格,最後選一個語言模型。素材可以直接貼,也可以從素材庫裡勾來源,勾了就會依主題自動檢索那幾本。平台可以複選,一次產多份。這裡有一個設計上的取捨:欄位這麼多,其實可以做成一個聊天框問來問去。沒有這樣做的理由是,聊天框每次都要重講一遍你是誰、要寫什麼、給誰看。下拉選單比較簡單,可以把上一次的決定留在畫面上。

生產頁上半:貼素材,或直接從素材庫勾來源

https://image01.fishmind.org/cnc/ironman-2026-day17-05.png

生產頁下半:寫作模型、意圖、目標平台複選、作者風格,最後選語言模型

https://image01.fishmind.org/cnc/ironman-2026-day17-06.png

生產頁把六樣東西擺在同一個畫面上,是刻意的:

第四個模組:生產。一次餵六樣東西,一次可以產多個平台的版本。

一、六個輸入:素材、寫作模型、意圖、想要的內容、目標平台、作者風格,
    最後選要用哪一個語言模型。
    ⚠️ 素材可以直接貼,也可以從素材庫勾來源;勾了就依主題自動檢索那幾本。
    ⛔ 不要做成聊天框:每次都要重講一遍我是誰、要寫什麼、給誰看。
    下拉選單醜,但它把上一次的決定留在畫面上。

二、🔴 字數規定只能有一處。
    ⚠️ 現在程式碼裡一份、參考文件裡一份,兩份不一樣 ——
    模型服從先出現的那一份,後面那份完全被無視,而且不會報錯。
    先把兩處對齊,然後確認沒有第三處。

三、⚠️ 平台複選要真的產多份,⛔ 不要拿長文截一段當貼文。
    每個平台的字數與收尾方式不同,那是不同的東西。

四、輸出固定是一包:標題候選、正文、摘要,外加這一篇用了哪幾張技法卡、用在哪一句。
    ⚠️ 最後那一項是給我看的,不是給模型看的 —— 挑錯卡的時候只有它看得出來。

五、⚠️ 產出解析失敗要自動重生成,不要把錯誤丟到我面前。
    ⛔ 但只重試「解析失敗」,網路層的錯誤不要包進來,會變成重試乘重試。

規則:⛔ 不要接自動發文。產出一律停在草稿,發文前那一眼不可以省。

第五個模組:素材問答

第五個模組是素材問答。針對素材庫提問,答案只能根據檢索到的段落來寫,並且要逐條列出原文出處:哪一本書、第幾段、原文全文。可以先勾定範圍,只問其中幾本。這樣寫文章可以引用,標明出處。它同時是素材庫有沒有壞掉的探針 —— 問一題,看它撈回來什麼,就知道書切得對不對。算是 RAG 的一種吧。

素材問答:左邊勾查詢範圍,右邊提問,答案逐條附原文出處

https://image01.fishmind.org/cnc/ironman-2026-day17-07.png

第五個模組:素材問答。針對素材庫提問,答案只能根據檢索到的段落來寫。

一、🔴 每一則答案下面要逐條列出原文出處:哪一本書、第幾段、原文全文。
    ⛔ 不可以只給書名,也不可以只給摘要 —— 引用要能翻回去。

二、⚠️ 可以先勾定查詢範圍,只問其中幾本。⛔ 不勾就是全部,不要預設幫我縮小範圍。

三、⛔ 檢索不到就直接說檢索不到,不要用常識補一段看起來合理的答案。
    ⚠️ 這個模組同時是素材庫有沒有壞掉的探針:問一題、看它撈回來什麼,
    就知道書切得對不對。它一旦開始自己補,這個功能就沒了。

四、取幾段要可以調。⚠️ 取太少會漏,取太多會把不相干的段落一起餵進去。

規則:問答的紀錄留檔,⛔ 不要用完就丟 —— 那些問題本身就是下一篇的題目。

順便叫 claude 弄五組配色跟一個亮/暗開關。好玩。

右上角那排色球與深色開關,點一下即時換色

https://image01.fishmind.org/cnc/ironman-2026-day17-08.png

配色與明暗。

一、做五組配色,可以即時切換,⛔ 不要只做一組然後說之後再說。
    ⚠️ 配色的作用不是好看,是讓五個模組的視覺重量分開,
    切分頁的時候一眼知道自己在哪裡。

二、明暗切換要記住我的選擇,⛔ 不要每次重新整理就跳回預設。
    ⚠️ 也不要只跟著系統設定跑 —— 我要能自己指定。

三、⛔ 顏色不可以寫死在各個元件裡,統一走一組語意名稱(背景、前景、強調、邊框)。
    ⚠️ 之後加第六組配色的時候,只能改一個地方。

四、⚠️ 深色不是把白色反過來。文字對比度自己量一次,⛔ 不要靠肉眼判斷。

弄好了,試一下:
模型:文案銷售
意圖:衝聲量。
主題:參加iT幫幫忙,鐵人30活動,要連發30篇,幫我寫一個簡單的貼文。我主要是將:如何用 claude code 建置相關的應用系統。
目標平台:FB引流貼文
風格:選我的教學文。
LLM : 自家的 Qwen 3.6-35B

https://image01.fishmind.org/cnc/ironman-2026-day17-09.png

https://image01.fishmind.org/cnc/ironman-2026-day17-10.png

https://image01.fishmind.org/cnc/ironman-2026-day17-11.png

大概 30 秒,產生標題,文章,及摘要。它產的是長文版,再把它濃縮成FB短文:

62歲,沒有駐站工程師,沒有值班表,白天還要上正職。
但我手邊,同時跑著30多台虛擬機。
架著LLM、OCR、郵件伺服器…全靠自己一個人維運。
做得到嗎?
靠的不是體力,是這位「AI同事」——Claude Code。
接下來30天,我要參加「iT幫幫忙」鐵人賽。
不寫乾巴巴的教學文,只記錄真實的維運實錄:從地基網域到最終系統攻防。
這過程充滿翻車現場:
備份顯示完成,解開卻壞了;
DNS讓外人一次抄走100筆資料;
AI甚至把時間寫成「七月五十號」,無聲無息洗掉整份清單。
我的解方不是換最貴的模型,而是建立「防護網」。
強制補參數、壓住輸出量、注入當下時間。
把笨模型調教成聽話的工具。
我不告訴它每步細節,只給目標:
「把十台機器核心升級,逐台驗證,有問題就停。」
硬體是一次性投入,電費是持續成本,但知識與效率是無限放大的槓桿。
如果你想看一位老頭如何帶著AI同事,蓋出自己的數位城堡。
別讓技術門檻擋住你的效率。

👇在下方留言「鐵人」,領取我整理的《Claude Code 維運防護設定檔》。
或是直接私訊我「跟隨」,第一時間收到每日實戰更新。
讓我們一起見證,一個人如何戰勝時間。

#AI維運 #ClaudeCode #鐵人賽 #一人IT團隊 #62歲學編程

這 PO 文,你覺得如何?
有注意到嗎?未經同意,他老哥幫我弄了個行銷方案:領取我整理的《Claude Code 維運防護設定檔》。
可我沒這個東西!然後幫我減了2歲,年輕點。不修正,還是原稿放上來,讓大家了解,這 Qwen 3.6 的本事及胡說八道的能力。

好了,我們的系統,可以寫東西了。
既然弄了素材庫,乾脆,明天把它升級成圖書館。


本文為 iThome 2026 鐵人賽「一個人的機房」系列第 17 篇,同步發表於 iT 邦幫忙

發佈留言

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料