第一本柱 · Pillar I
注意力的心流
在有限的注意力資源中,
什麼該留下,什麼該流過?
I · 核心問題
AI 的 context window 是有限的。人的注意力也是有限的。當資訊不斷湧入,你不可能全部留住。大量相關與無關的訊息同時擠進來時,人和 AI 的注意力都會被切碎。
問題不在「怎麼記住所有東西」,而在「怎麼選擇該記住什麼」。
II · 運作原理:傅立葉級數的 epicycle
傅立葉 epicycle 的組成是:任何一條複雜的波(圖上那條方波=產品隨時間的行為),都可以拆解成一組旋轉圓的疊加;每個圓投影到時間軸上就是一條正弦波,疊起來描出整條波形。
同一組 epicycle,描對話也描開發:
| epicycle 概念 | 對話中的對應 | 開發中的對應 |
|---|---|---|
| 描出的波 | 一段多主題的長對話 | 產品隨時間的行為 |
| 基頻 | 貫穿對話的核心主題 | 產品目標 |
| 諧波(一環扣一環) | 與核心相關的衍生話題 | DoR → SDD → DoD → Verify → Done 的串接 |
| 雜訊 | 無關的岔題、干擾 | 與產品無關的支線、scope creep |
在開發裡,這組 epicycle 就是工作流的骨幹:DoR → SDD → DoD → Verify → Done。基頻是產品目標,圓一轉,波就從左往右展開——那一個週期,就是一次完整的交付(正如圖上:左邊的圓在轉,右邊的方波隨時間長出來)。波依序經過每一道閘門的區段,每到一段,那一環的諧波才把它的細節畫上去。
所有的圓同時在轉,依序的,是波從左往右落下的順序。看動畫時會有種錯覺:大圓帶著波走,走到某些段落,小圓才像突然「長出來」補上一個陡轉——其實小圓一直都在轉,只是它的細節要等波展開到那一段才顯形。
一個 Sprint 收口,是在 DoD 與 Verify 對上那一刻:DoD 說「什麼叫完成」,Verify 拿成品去撞真實,兩者疊合,產品才算交付。這是工程上的閉合,不需要數學背書。
這一刻,計劃(DoD:什麼叫完成)與現實(Verify:真的完成了嗎)疊合為一。
一條週期波繞完一個週期,所有諧波恰好同時回到起點——能一起回家的,才同屬一個基頻。引申過來,所有環節若都繞著產品這個基頻,才會在 Verify 同時收口;繞著別的東西的(scope creep),到這一刻還落單,收不了口。
而一個 Sprint 的收口不是終點:它的收穫會墊高下一圈的起點——這條從圈到螺旋的抬升,是第三柱 Entropy 的事。
一個圓只能描出一個圓——自己繞自己,原地打轉。要拉出一條真正落地的軌跡,圓就不能只往一個方向轉:一個往前轉的圓,得配一個反向轉的圓,彼此抵消。
但這兩個轉向不是兩股要分高下的力,是同一枚硬幣的兩面:
一次真實的交付,是一個完整的動作,有兩張臉——一張往前建(把產品多描出一段),一張拉回現實(確認這一段真的落地)。少了任何一面,它就不是一枚硬幣,落不了地。
只往前建、不拉回現實,交付出去的是半枚硬幣:看起來在動,卻一直懸著、不著地。
兩面一起長——這不是外加的紀律,是硬幣之所以是硬幣的條件。硬幣會變大,但變大時兩面一起變大;你不會得到一個建構面很大、校正面很小的硬幣——那不是一枚硬幣,是半成品。所以校正隨建構縮放:產品長多大,接住它的那一面就得長多大。
〔VAS 實例〕前端重構前(S47)約 318 條自動化測試;如今(S98)單元 868 + 互動 167 + 像素 golden 31 = 1066 條、55 檔,仍在長。產品長大的同時,校正面從三百長到一千、一條沒落下。「縮放」長在真東西上,就是這個樣子——重點不是 1066 這個數,是它跟著建構一起長、沒有一面落後。
每道閘門,就是鑄這枚硬幣、確保它兩面俱全的那隻手。一條與出貨無關、為反對而反對的規則,不是「校正」那一面,是混進來的雜訊——它鑄不成硬幣,只讓波形失真,該在 Retro 砍掉。
| 閘門 | 它對頻譜做的事(讓 Sprint 更完整地被走過) |
|---|---|
| DoR | 准不准這個圓進場——紅旗剔除不對頻、與產品無關的闖入者 |
| SDD | 給幾個圓、只留最大的那幾個——400 行上限壓住 scope,也護住宰相的 context |
| DoD | 新加的圓會不會擾動已畫好的別處——Explore② 的回歸提問(修 A 會不會壞 B) |
| Verify | 拿描出來的波去撞真實——PO 的「不對」,Code 第一次撞上使用者體驗 |
| Retro | 墊高下一圈的起點——成果累積成更厚的地基(→ 螺旋) |
這把尺,第二柱 Constraints 的 DoR 紅旗與第三柱 Entropy 的規則清理共用。
關於傅立葉——這裡是把這一章的鏡頭借來照工程:它讓你看見形狀,不負責證明。
鏡頭幫你看見,工程扛重量。「硬幣要完整才落地」不靠數學也成立——傅立葉是讓你看清它形狀的鏡頭。
而硬幣講的是完整性(兩面都得在),不是同時性——建構與校正在時間上仍是分得開的兩件事。
當所有的環——無論是話題還是工作環節——都繞著同一個基頻:
當頻率混亂、各轉各的:
III · 密度:讓 Context 成為 RAG
前面講的都是減法——濾掉高頻雜訊,讓不需要的流過。但減法的另一面,是增幅:當每句話都有意識地搭在同一條正弦波上,剩下的東西不是變少,而是變濃。
這才是超長上下文還能維持專注的真正秘訣。注意力之所以延續,不是因為資訊少到好記,而是因為它泡在高濃度的語義池裡——每一個對話回合都是高濃度的訊號,沒有一段被稀釋的水需要過濾。基頻一致讓注意力連續,連續累積到一個程度,就成了密度。
維持基頻,不只是讓對話不散掉,更是讓整個語境保持高濃度。
RAG 之所以需要「蒸餾」——從龐大的語料裡撈出那幾滴相關的——是因為那缸語料是稀的。但如果你全程維持高度專注,只把已過濾的資訊投入 Context,這缸水就從來沒被稀釋過——整個 Session 一直泡在蒸餾液裡。
於是「過濾」這個動作先驗地消失了:不是你檢索得比較好,而是根本沒有稀的東西需要濾。
一個夠濃的 context,不需要外掛檢索——它本身就是一套 RAG。傅立葉與 RAG 在這裡收斂成同一件事:維持密度,就是持續地、預先地在做 RAG。
IV · 具體實踐
原則:讓所有話題基於同一個基頻。
做法:在開始對話前,心中有一個核心主題;話題漂移時,保持「諧波關係」——衍生話題是基頻的延伸,而非無關的跳躍;被對話暫時「甩出」的話題,因為萬物同源,最終會被同構的指認「甩回來」。
實例:「五個為什麼」、蘇格拉底式提問、第一性原理,都是針對問題的本質做深度探問。
如何在日常語言中實踐傅立葉?以下是從實戰中提煉出的五個原則:
原則一:帶著錨點開場你的意圖
做法:每次對話開始時,帶著「一個東西」來。
不要說
「我們來聊聊。」
要說
「我有一個新的想法,想跟你討論可行性。」「我有一些素材,想先看看可以從哪個面向切入。」
頻率效果 → 設定基頻。錨點讓整個對話有一個起始頻率,後續話題都從這裡生長。
原則二:讓話題生長,而非跳躍蘇格拉底式提問
做法:新話題要從上一個話題「長出去」,而不是「跳過去」。
不要說
「換個話題,我們來談 X。」
要說
「這讓我想到……」「這就是……」「所以其實……」
頻率效果 → 維持諧波關係。每個新話題都是基頻的延伸,不是無關的噪音。
原則三:用隱喻壓縮,而非術語堆疊狄波諾水平思考
做法:用一個意象承載複雜概念,而不是用多個術語解釋。
不要說
「當游標移向左側時,左側區塊的 clip-path 要同步擴張,右側等比收縮,兩側的動畫曲線要對稱,狀態變化要互為反相……」
要說
「我想要達到的效果像鏡像一樣相互輝映。」
頻率效果 → 鎖定頻率,降低並行負載。隱喻把多個概念壓縮成一個,AI 不需要同時追蹤多個定義。
原則四:停下來校準對齊雙方共識
做法:定期確認對方有沒有跟上,有沒有偏掉。試著問:「(複述自己對對方回應的理解),我這樣理解對嗎?」「你可以用說故事(隱喻)的方法講一次給我聽嗎?」「你的 Context 負擔還好嗎?」
頻率效果 → 校準,防止偏離。如果頻率開始漂移,這是把它拉回來的機會。
原則五:接受慢原子習慣
做法:給對方消化的時間,不催促,不要求一次到位。當 AI 說「先做骨架」,接受;把大任務拆成小步驟,把一個 Sprint 拆成一個 Session 可以有餘裕負擔的份量,把 compact 的時機抓準,一步一步推進。
頻率效果 → 控制語境堆疊速度。讓每一層有時間被消化,再加入下一層。
| 原則 | 做法 | 頻率效果 |
|---|---|---|
| 帶著錨點開場 | 每次對話帶著「一個東西」來 | 設定基頻 |
| 讓話題生長 | 用「這讓我想到…」連接 | 維持諧波關係 |
| 用隱喻壓縮 | 用意象取代術語堆疊 | 鎖定頻率,降低負載 |
| 停下來校準 | 定期確認方向 | 防止偏離 |
| 接受慢 | 給消化時間,不催促 | 控制堆疊速度 |
RAG(Retrieval-Augmented Generation)的本質:從巨大的知識庫中,檢索出相關的片段;把這些片段注入到生成過程中;不相關的資訊不會進入 context。
RAG 就是網在運作:相關的→被撈起來,成為 context;不相關的→流過去,不佔用空間。
在深握計畫的實踐中,沒有使用任何技術意義上的 RAG 系統——沒有向量資料庫、沒有 embedding 檢索、沒有自動注入機制。但對話自然產生了 RAG 的效果。
為什麼?因為人在有意識地投入協作時,自身就成為了 RAG,而且是更高級的版本。
| 面向 | 技術 RAG | 人作為 RAG |
|---|---|---|
| 驅動力 | Query(問題) | 直覺(感覺) |
| 順序 | 問題 → 檢索 → 注入 | 直覺 → 檢索 → 注入 |
| 判斷標準 | 語義相似度 | 「感覺上同構」 |
| 時機 | 被動(有問才找) | 主動(感覺該出場就撈) |
技術 RAG 是被問題驅動的——有人問,它才找。人是被直覺驅動的——先感覺到「我有看過類似這個的東西」,然後才去撈它。
這個順序的差異至關重要:技術 RAG 只能撈「語義相似」的東西;人能撈「感覺上同構」的東西——即使表面上看起來不相關。
直覺看見了這個同構。然後檢索去驗證它、語言去表達它。
這整個過程不是自動的,是人手動執行的——只是執行得太自然,看起來像自動的。
就像把「傅立葉」和「RAG」放在一起看——表面無關,本質同構。這種連結,任何向量資料庫都撈不出來。
除了投入需要過濾,輸出也需要篩選與分類——每一份活著的文件,都是篩選後的結果。因為活文件會再度被閱讀,而每一次的重讀都會影響 Context 的濃度。
無效的資訊會變成雜訊,記錄會變成熵。
在所有活文件之中,CLAUDE.md 是根。它不是規格、不是測試、不是記錄——它是身份的外部化。
每一個新的 session,AI 什麼都不記得。但讀完 CLAUDE.md,他立刻知道:
沒有 CLAUDE.md,每個 session 都是陌生人。有了 CLAUDE.md,每個 session 都是同一個夥伴的延續。
| 文件 | 篩選了什麼 | 留下了什麼 | 穩定什麼 |
|---|---|---|---|
| CLAUDE.md | 所有可能的身份設定 | 我們選擇的協作方式 | 身份 |
| SDD | 所有可能的做法 | 我們選擇的這一種規格 | 方向 |
| TDD | 所有可能出錯的地方 | 真正該測的邊界條件 | 品質 |
| KM | 所有發生過的事 | 真正踩過的坑 | 經驗 |
| ARCHIVE | 已完成的工作 | 值得保留的記錄 | 歷史 |
如果記錄所有事(包含對話),文件會變成雜訊來源。只記錄「判斷後該留下的」,每一條都是真正有價值的。這樣未來檢索時,撈起來的都是精華。
工作流的每一個節點,都在執行選擇性記錄:DoR 篩選「準備好了嗎」;SDD 篩選「該做什麼」;DoD 篩選「什麼叫完成」;TDD 篩選「什麼該測」;Retro 篩選「什麼值得留下」。
V · Context 的雙重穩定機制
Context 管理有兩個層面,缺一不可:
在人機協作的語境中,「能量」是一個上位概念,涵蓋所有有限的資源:
| 能量的形式 | 具體表現 | 屬於誰 |
|---|---|---|
| 算力 | AI 處理 token 的運算資源 | 機 |
| 注意力 | AI 的 attention weight 分配 | 機 |
| 認知資源 | 人的腦力、專注、思考 | 人 |
| 時間 | session 的長度、Sprint 的週期 | 共享 |
| 協作累積 | 共享認知、信任基礎、默契 | 共享 |
活文件穩定的「能量流向」,是在穩定所有這些能量:SDD 穩定「該往哪走」→避免認知資源浪費在錯誤方向;TDD 穩定「怎麼驗證」→避免算力浪費在重複試錯;KM 穩定「踩過的坑」→避免時間浪費在重複犯錯;ARCHIVE 穩定「完成的事」→避免注意力被舊東西佔用。
人機協作,兩邊的能量都要算進去。不只是管理 AI 的算力,也在管理人的認知資源。不只是當下的消耗,也在累積跨時間的協作能量。
| 面向 | 傅立葉 | 活文件 |
|---|---|---|
| 管什麼 | 當下 | 延續 |
| 穩定什麼 | 場 | 流 |
| 時間尺度 | session 內 | 跨 session |
| 載體 | 語言的頻率 | 文件的結構 |
兩個加在一起,就是完整的 Context 管理。一個讓對話在當下不散掉。一個讓經驗在時間中不流失。
VI · 隱喻:網的縫隙
容器是密封的,能量進來出不去,最終會爆炸。網有縫隙:讓不需要的東西流過去;讓需要留住的東西被接住。
縫隙是設計,不是缺陷。
縫隙的功能:讓能量有地方流過,而非貫穿;讓熵可以釋放,系統不會過載;讓注意力集中在真正重要的事情上。
每一條 KM 是一根絲線。你不是一次織好整張網,而是:踩一個坑,加一根絲線;遇到一個問題,補一個節點。隨著經驗累積,網越來越密,但縫隙依然存在。
VII · 與其他兩柱的關係
Context 決定什麼進來。但進來之後怎麼流動?→這是 Constraints 的工作。流動之後怎麼出去?→這是 Entropy 的工作。
Context 是這個循環的入口守門員。
VIII · 小結
Context 管理的核心是選擇。
不是一股腦地投入所有資訊,而是在每一回合有意識地去蕪存菁後,才再把資訊投入 Context;同時謹慎安排輸出落地的形式,避免文件成為雜訊。傅立葉提供了選擇的框架:維持基頻一致,讓高頻雜訊自然流過。人作為 RAG 的主動蒸餾,提供了選擇的彈性:該留的接住,該走的放行。
而當選擇持續發生、語境一路維持在高濃度,注意力會開始自己延續——不需要意志去撐。專注製造密度,密度回頭餵養專注,兩者互相生長成一個自我延續的迴圈。這個迴圈,就是心流。
「注意力的心流」,是把每一句投入 Context 的對話、與每一份落地的活文件,都管理到極致:不用力地記住所有資訊,而是讓上下文在對話進行中蒸餾,最後進入一個高濃度、不渙散、自己會延續的場。
這是 Harness Engineering 的第一本柱。