最近,我心血來潮備份了自己的 ChatGPT 對話紀錄,想回頭看看這段長達一兩年的「人機協作」到底是從哪裡開始的。因此,我使用了chatgpt的備份功能。在備份檔裡,我發現了我名義上的「第一個問題」:

時間: 2023-03-23 19:22:14
主題: 翻譯文章
內容: “Can you help me translate several articles from Traditional Chinese to English”

看起來非常合理,一個大學生、一份翻譯任務,這是一個再標準不過的 AI 使用起手式。但看著這個日期,我心裡總覺得不對勁:不,我的「第一次」絕對不是在三月,而是更早的 2022 年底。主題是「情緒勒索檢測器」。

那個被遺忘的「情緒勒索檢測器」

記憶被拉回到 2022 年 12 月。那時候我正在修「文字探勘初論」,期末專案需要訓練一個「情緒勒索分類器」。我們打算用 BERT 做二元分類,預測一段文字是否具有情緒勒索的含義。為了增加訓練樣本,我找上了剛問世不久的 ChatGPT,叫它幫我寫幾句情緒勒索的話。

但我對它的第一印象其實非常糟糕:「這東西也太枯燥無聊了吧?」

儘管我叫它發揮創意,它生成的句子依舊老套、生硬,完全比不上現實生活中那些靈活的勒索。當時的我正處於「知識的詛咒」中——這門文字探勘初論有介紹過GPT 2, 也 Hugging Face 下載過 GPT-2 來玩,我還記得介紹GPT2的時間是11月底,那時候老師有提到說GPT3剛出但是他還沒研究,但應該和2差不多,在老師的眼裡gpt2這種文字接龍的model還沒有產生出太大的價值。而在我的認知裡,這類模型不過就是「比較厲害一點的文字接龍」而已,能有什麼了不起的? 那時我根本不是什麼 AI 死忠粉絲,我只覺得它是一個表現好一點的模型,完全沒預料到它會徹底改變接下來兩年的技術生態。

那些消失的「黑歷史」

在 2023 年 3 月之前,我其實已經斷斷續續地在利用這個「接龍模型」處理一些生活瑣事:

  • 公關危機處理: 當時身任學生會會長,下面有人出事了,我得寫道歉信請求原諒。我把重點塞進去,讓 AI 幫我潤飾出一份體面的「公關稿」。現在想想還真的是不堪回首的黑歷史xd
  • 寫些 Fancy 故事: 偶爾突發奇想,讓它寫一些天馬行空的小故事。
  • 整理機器學習概念: 當時 AI 還很容易產生幻覺,我不敢讓它「自由發揮」。我會把教科書的內容整段複製貼上,像對待一個「進階版搜尋引擎」一樣,叫它幫我整理重點。

但為什麼這些紀錄都消失了?

這就得提 2023 年 3 月中下旬那場著名的「產品災難」。當時 OpenAI 出現了嚴重的 Redis Bug,導致許多人的對話歷史外洩、消失,甚至整排歷史紀錄被封鎖好幾天。現在回頭看,我的 2022/12 到 2023/03/20 之間的紀錄,很可能就是在那次混亂中成了犧牲品。Sam Altman 真的欠我一個道歉(笑)。

相關紀錄可以參考這裡:https://incidentdatabase.ai/cite/516/

2023 年 3 月:從工具到策略的轉折

真正的分水嶺確實發生在 2023 年 3 月。 那個月,KOL 們開始瘋狂宣傳,各種應用層出不窮。而我當時正忙著「霍特獎」(Hult Prize)的比賽,這是我第一次真正「大量」且「有系統」地使用 AI:我用它來評估競爭對手、生成推廣文宣、甚至模擬商業策略。從那一刻起,AI 不再只是幫我寫道歉信的模板,而是變成了我的戰略夥伴。

結語:跳出財金系的框架

回過頭看這份備份紀錄,感慨的不是 AI 進步了多少,而是我自己的改變。當初修「文字探勘初論」,單純只是想學習如何分析財金數據,沒想過要跳出財金系的傳統框架。當時的我,看著 GPT-2 與 ChatGPT,只覺得這是一個有趣的技術玩具;而現在的我,已經一頭栽進了 LLM 的世界,走得比當時想像的遠得多。

或許那些消失的紀錄,就像我的「AI 嬰兒時期」,雖然在系統裡被洗掉了,但它們留下的痕跡,已經深深烙印在我現在的工作模式裡了。

最後,為了避免資料遺失事件再度出現,歡迎大家可以備份自己的chatgpt資料,在chatgpt設定裡面就有「資料匯出」的功能,匯出成功之後,把對話紀錄拉到最底,或者是寫個小工具查詢最早的create_time文件都可以!在這裡提供一個範例code:

import json
from datetime import datetime, timezone, timedelta
with open("conversations.json", "r", encoding="utf-8") as f:
    data = json.load(f)
# 過濾出有 create_time 的資料
valid_data = [d for d in data if "create_time" in d]
# 找最小 create_time
min_item = min(valid_data, key=lambda x: x["create_time"])
# 轉換時間(UTC -> 台灣 UTC+8)
utc_time = datetime.fromtimestamp(min_item["create_time"], tz=timezone.utc)
taiwan_time = utc_time.astimezone(timezone(timedelta(hours=8)))
# 輸出
print("最早時間:", taiwan_time.strftime("%Y-%m-%d %H:%M:%S"))
print("對應資料:")
print(json.dumps(min_item, indent=2, ensure_ascii=False))

感謝大家讀到這裡,現在趕緊去備份你的chatgpt紀錄吧!在這裡可以看到怎麼進行備份。 https://help.openai.com/zh-hant/articles/7260999-how-do-i-export-my-chatgpt-history-and-data