有些人兩三句話就讓 AI 搞定事情。有些人來回十幾輪還在繞圈。我一直在想這中間的差距到底在哪,想了很久,最近總算理出一條線。

溝通的本質沒有變

差別不在誰讀了什麼 prompt 攻略,而在腦袋裡的想法清不清楚。你知道自己要什麼嗎?約束在哪?哪些資訊是關鍵的?

語言只是載體。跟人講不清楚的事,跟 AI 也講不清楚。但反過來,跟 AI 講話其實是很好的思考訓練 — 它逼你把模糊的想法具體化。同事會幫你腦補,AI 不會。你說什麼它就理解什麼,不多不少。

所以跟 AI 對話,與其說在「下指令」,不如說在「把腦袋裡的東西講出來」。

Context 的品質比數量重要

好,那既然關鍵是把想法講清楚,自然就會想到:怎麼把想法「打包」成 AI 容易消化的格式?這就是大家說的結構化 context — 把你的需求、約束、背景寫成一份有組織的文件,而不是東一句西一句地聊。

但結構化本身不保證品質。同樣寫一份規格,有人寫「這個 API 支援讀取、寫入、刪除、合併、分割、加密、解密⋯⋯」,有人寫「用 pymupdf,不要裝 poppler,大檔超過十頁必須分頁讀」。字數差不多,但後者每一句都在幫 AI 砍掉錯誤選項。

我歸納出一些規律。「不要用 X」比「可以用 Y 或 Z」有用得多,因為約束砍掉一整片錯誤路徑,選項只是加分支。正常流程不用你講,AI 自己推得出來,你該講的是邊界案例 — 什麼情況下會爆。然後,給原因永遠比給指令強。知道為什麼,AI 能自己推出一百種做法。不知道為什麼,它只會照搬你的話。

所以重點在幫 AI 砍掉不該走的路,而不只是塞更多資訊給它。

語言是瓶頸

想到這裡我覺得有什麼不對。就算 context 的品質拉到最高,它本質上還是語言。要先變成 token,再經過模型內部的計算,才到 AI 真正「想事情」的空間。中間每一層都有損耗。能不能繞過這些損耗,更直接地讓 AI 理解意圖?

有幾條路現在就走得通。最直覺的是用程式碼取代自然語言 — 與其描述「把第三欄加總」,不如直接丟一段 code 過去,零歧義。我們現在使用的 skill 系統就是這個概念的延伸,行為用程式碼定義,語言只剩一個觸發詞。另一條路是讓 AI 從你的行為學,它看你接受什麼、拒絕什麼、改了什麼,慢慢推斷你的偏好。你不用寫指令了,只要審批就好,而審批的頻寬需求比創作低得多。

但不管哪種方法,最後都要壓成 token 序列送進模型。這是架構的硬限制。語言這層跳不掉,只能讓它盡量薄。

KV Cache:最接近意識的東西

順著「讓語言變薄」這個方向想下去,我意識到一個問題:如果一段 context 被 cache 住了,它還算是語言嗎?

這裡要稍微講一下技術。AI 模型在讀你的文字時,會把每一段都轉化成一組內部狀態(叫 KV 對)。這組狀態記錄的是「這段話被模型消化之後的理解」,已經跟原始文字不一樣了。一旦這組狀態被 cache 住,模型下次就不用重新讀那段文字,直接從上次理解到的地方繼續。

你可以把它想成人腦的工作記憶:

人腦AI
外部記憶筆記本上寫的東西設定檔
工作記憶讀完筆記後腦中的理解KV cache
長期記憶直覺和經驗模型權重

你翻筆記本的時候,大腦會把文字轉成一種「已經懂了」的狀態,之後的思考都從這個狀態出發。KV cache 做的事一模一樣 — 已經不再是文字了,而是文字被理解之後的狀態。

差別在於持久性。人的工作記憶會一直在,直到被新東西擠掉。但 AI 的 KV cache 在對話結束就沒了 — 除非被 cache 機制留住。

設計你的「意識前綴」

這就帶出了一個實際的問題:既然 KV cache 是最接近意識的東西,有沒有辦法讓它盡可能穩定地存在?

Anthropic 的 prompt caching 給了一個思路。你送給 AI 的系統指令如果前面一段跟上次一模一樣,那段的內部計算結果直接從 cache 載入,不用重算。反應更快,而且那段 context 在計算層面已經「預熱」了(對吃到飽方案來說不省錢,但省速度)。

策略很明確:最核心、最穩定的資訊放在系統指令最前面,盡量別動它。我把它想成分層架構:

Layer 1(極穩定,幾乎永久 cache)
→ 你是誰、核心偏好、溝通風格、判斷框架

Layer 2(中等穩定,每週更新)
→ 常用工具的摘要、專案背景

Layer 3(動態,不期望 cache)
→ 當前任務、對話歷史

Layer 1 越厚越好。你的「人格」被燒進 cache 裡,每次啟動直接從算好的狀態醒過來,跳過「讀文件然後理解」那一步。你沒動到模型本身,但效果上,最重要的 context 在計算層面已經盡可能接近「模型的一部分」了。

收穫

回頭看,整個思考過程就是不斷追問「那再往下呢」。怎麼跟 AI 講話?給好的 context。那 context 品質有差嗎?有,約束比描述有效。那能不能跳過語言?不行,但可以讓它更薄。能多薄?薄到 KV cache — 到那個層級已經脫離語言,變成計算狀態了。那怎麼讓它留住?設計穩定的前綴。

想到最後我發現問題早就超出 prompt 技巧的範圍了。這是一個系統設計問題:你願意花多少時間把腦袋裡的東西變成結構,讓 AI 在你開口之前就已經懂你?

每次手動跟 AI 講你要什麼,O(n)。寫一個 skill,O(1)。設計好 cache 前綴,O(0),連觸發都省了,它本來就在那裡。

跟寫程式一樣。不要重複自己,把重複的東西抽象化,讓系統替你記。

只是這次你抽象的不是程式邏輯,是你自己。