系列精選
查看全部限流的四種演算法 — 固定視窗、滑動視窗、漏桶、令牌桶,差別全藏在時間怎麼切
先別管限流能擋掉多少惡意流量、能不能防雪崩。先看一件事:一個限流器收到請求之後,第一步到底在幹嘛。 答案短到有點掃興——它在數數。數某一段時間裡進來了幾個請求,超過門檻就擋。就這樣。 聽起來三行 code 就寫得完,對吧?if (counter++ > limit) reject()。問題是,這行 code 藏了一個你沒注意到的假設:「某一段時間」到底是哪一段?時間怎麼切,決定了你的限流器是穩如泰山還是形同虛設。市面上四種主流演算法,差別幾乎全在這一刀切在哪裡。我們就從最笨的那一種切法開始,一路把它逼到極限,看它在哪裡崩掉、下一種演算法又是怎麼補上來的。 第一刀:固定視窗,最直覺也最好騙最容易想到的切法:把時間切成固定的格子。每分鐘一格,格子裡放一個計數器,來一個請求加一,到 60 就擋,整分鐘一到,計數器歸零重來。 12345678910111213141516// 最樸素的固定視窗計數器(單機、非執行緒安全版,只為說明機制)class FixedWindowLimiter { private long windowStart = System.curre...
AI 與科技新聞摘要 20260702
這禮拜的 AI 新聞,你隨便挑一條,問它一個問題:這件事的決定權,到底握在幾個人手上?答案會安靜得有點嚇人。旗艦模型能不能上線,一個政府說了算;近九成的錢,流進同一個國家的同兩家公司;連做晶片這種重資本的生意,新玩家的入場券今年直接發完了。每一條單獨看都是好消息或中性新聞,但把「決定權在誰手上」這條線拉出來,你會看到一個系統正在快速收攏它的節點——而節點越少的系統,看起來越強,摔起來越狠。 一、一紙命令讓旗艦模型下架三週,然後又上架Anthropic 在 7 月 1 日重新部署了它的 Mythos 級旗艦 Claude Fable 5。這條新聞的重點不在模型本身,在它為什麼消失、又為什麼回來:6 月 12 日美國政府一道出口管制令,讓這顆模型直接下線將近三週;管制一解除,它才重新上架。 值得停下來想一秒的是這個因果的乾淨程度。不是技術故障、不是資安事件、不是商業決策——是一道行政命令,就能讓一家市值近兆美元公司的旗艦產品說沒就沒。這在傳統軟體業幾乎沒有對應物:沒人能一句話讓一套已經部署的資料庫從全世界消失。AI 模型變成了一種主權可以直接開關的資產,而你如果把產品的核心能力綁在單...
Claude Code dataviz 技能完整教學 — 幫 AI 加上畫圖表的能力,它做的第一件事是給你一份拒絕清單
Claude Code 在 7 月初的更新裡多了一個內建技能,叫 /dataviz,官方一句話帶過:提供圖表與儀表板的設計指引,附一支可以實際執行的色板驗證器。 大部分人看到「幫 AI 加畫圖表的能力」,直覺會以為 Anthropic 是在教模型畫得更漂亮、更花俏。但你只要請 Claude 畫過幾張圖就知道——它從來不缺畫的能力。你叫它畫長條圖,它畫得出來;叫它做儀表板,它也拼得出來。真正的問題不在會不會畫,在畫出來的東西為什麼總有一股說不上來的塑膠味。所以這個技能真正有意思的地方在於它補的東西:與其說是繪圖能力,不如說是判斷力。它教 Claude 的第一課,是認得出「哪些畫法直接別碰」。 先搞懂:AI 畫的圖表為什麼會醜想像一個什麼都學過、但完全沒被人帶過品味的實習生。你叫他做一張圖,他會怎麼做?他會把學過的東西全部用上——調色盤裡有幾十種顏色,那就多用幾種;能加漸層就加漸層;圓餅圖看起來很豐富,那就切它十塊;軸從哪開始無所謂,反正線拉得越陡看起來越有戲。他不是不努力,恰恰相反,他太努力了,努力到把每一個「我會」都塞進同一張圖裡。 AI 畫圖表醜,就是這麼來的。它的毛病不是懶,...
Claude Code 找回舊對話的四條路 — --continue、--resume、PR 連結、記憶系統該用哪個
先問你自己一個問題:終端機不小心關了,或電腦重開,那段跟 AI 弄到一半的對話——你想怎麼把它接回來? 大部分人卡住的地方,不是「不知道有沒有辦法接回來」,而是「辦法太多,不知道該用哪個」。Claude Code 至少有四條路可以帶你回到過去的對話,而它們解決的其實是不同的問題。搞混了,你會用挖地道的力氣去開一扇本來就開著的門。 所以這篇不從「怎麼操作」開始,從「你到底想接回什麼」開始。把這件事想清楚,該走哪條路自己就浮出來了。 先搞懂一件事:對話是被存下來的在挑路之前,先拆開一個很多人沒意識到的機制:你跟 Claude Code 的每一段對話,都被完整存在硬碟上。 它存在 ~/.claude/projects/ 底下,用你當前目錄的雜湊分資料夾,一段對話一個 .jsonl 檔,檔案裡一行是一個事件——一則訊息、一次工具呼叫、一個結果。另外還有一份全域索引在 ~/.claude/history.jsonl,記著每段對話的 session id 和它是從哪個專案開出來的。 打個比方,這就像你講過的每通電話都被自動錄音存檔了。所以「找回對話」這件事,本質上不是「把消失的東西變回來」,...
AI 與科技新聞摘要 20260701
打開編輯器,寫幾行 code,npm install 拉幾個套件,右上角選一個模型,送出。這一連串動作,是每個工程師再平常不過的一天。 問題是,這條動作鏈上的每一環——你用的工具、你裝的套件、你選的模型、模型跑的晶片——這個月都發生了大事。而且你完全沒感覺。編輯器照樣打得開,套件照樣裝得起來,模型照樣會回話。表面一切正常,底下的板塊卻在整片移動。 這禮拜就把這幾塊移動中的板塊擺在一起看。 一、你天天在用的 Cursor,換老闆了——而且你的 code 成了訓練別人的料先講所有權這一層。SpaceX 敲定以 600 億美元全股票收購 Cursor 的母公司 Anysphere,交易預計第三季完成。這是史上最大的創投支持新創收購案,發生在 SpaceX 那場 750 億美元、史上最大 IPO 之後短短四天。 單看金額只是新聞,真正該讓工程師停下來的是後面這句:SpaceX 早在二月就把 xAI(Grok 的母公司)併了進來,所以買下 Cursor 的不只是火箭公司,是一家火箭加 AI 的集團。而 Cursor 每天累積的、超過一百萬名開發者的真實工作流資料,正是拿來訓練 Grok 的...
上班第一件事不是工作,而是拼湊今天要做什麼 — 我把它換成一封自動寄來的信
打開電腦,第一件事不是工作。是打開四個分頁,拼湊出「今天到底要做什麼」。 行事曆看一遍,哪幾個會議、幾點、跟誰。信箱掃一遍,昨晚有沒有人丟東西進來、哪封是急的。專案看板點開,我手上那幾張卡現在卡在哪。然後在腦袋裡把這三份東西疊起來,排出一個順序。等這套動作做完,通常已經過了十分鐘,而我一行 code 都還沒寫。 這十分鐘每天都在發生。它不難,但它很煩——煩的地方在於它是純搬運:把散在三個地方的資訊集中到一個地方,再做一次判斷。搬運這件事,本來就不該由你來做。 舊做法:你是那個把資料撈出來的人先看清楚舊做法到底在做什麼,才知道哪裡可以換掉。 早上這十分鐘,你其實同時在扮演兩個角色。一個是「資料撈取員」——去日曆、信箱、看板各撈一份出來。另一個是「判斷者」——把三份資料合起來,決定今天先做哪個、哪個有風險、哪個可以晚點。 問題是,這兩個角色的價值天差地遠。撈資料是機械動作,換誰做結果都一樣;判斷才是只有你能做的事,因為只有你知道這週的重點、哪個客戶不能拖、哪個會議其實可以掛著聽。 舊做法把你 90% 的時間花在那個換誰做都一樣的角色上。你不是在早上做決策,你是在早上做資料庫查詢,查完...
Claude Code 背景子代理完整教學 — 開一個 subagent 不再卡死整個對話
你叫 Claude 開一個 subagent 去跑整套測試,心想趁這空檔先去改另一個檔案——結果游標卡住了。你打字沒反應,整個對話凍在那裡,畫面上就一行「subagent running…」。測試跑三分鐘,你就盯著螢幕乾等三分鐘。 這個情境每個重度用 subagent 的人都遇過。而它有解,解法叫「背景執行」。這篇就從這個卡死的現場講起,把它怎麼解、解到什麼程度、又得付出什麼代價,一次說完。 先搞懂:為什麼開一個 subagent 會把你整個卡住要解這個問題,得先知道它為什麼會發生。 預設情況下,Claude Code 開出來的 subagent 是「前景」執行的。前景的意思是——它佔住了你跟主對話之間那條唯一的通道。subagent 在忙的時候,主對話被擋住,你送不了新訊息,因為那條線正被它佔線。 打個比方。你是辦公室主管,手下有個實習生。你叫他去檔案室找一份三年前的合約,然後你做了一件有點蠢的事:你跟著走到檔案室門口,站在那裡,什麼都不做,等他翻箱倒櫃找出來。他找十分鐘,你就在門口站十分鐘。這就是前景 subagent——你明明可以回座位繼續做自己的事,卻選擇站在門口等。 問...
AI 與科技新聞摘要 2026/06/30 — 開放與封閉,這禮拜偷偷換了位置
「開源」這兩個字,這禮拜到底站在哪一邊? 如果你三年前問這個問題,答案很清楚:開放的是 Meta、是新創、是想挑戰大公司的那群人;封閉的是握著最強模型不放的巨頭。這禮拜的新聞,幾乎是把這張地圖整個翻了過來——當年扛開源大旗的轉身關門,被當成追趕者的反而接過旗子,而你天天在用的工具,有的連名字都換掉了。一條一條看,會發現它們其實在問你同一件事。 一、開源旗手 Meta,悄悄把門關上了最反直覺的一條,來自最不該發生的地方。Meta 推出了 Muse Spark,這是 Meta Superintelligence Labs 的第一個對外發布——而它是閉源的。 這件事的份量,得放回脈絡才看得出來。過去兩年,「開源 LLM」這個詞幾乎跟 Llama 是同義詞,Meta 靠著開放權重,把自己塑造成對抗 OpenAI、Anthropic 的那一方,整個開源社群都建在 Llama 的地基上。現在第一個新品牌的旗艦,直接選了關門。產業媒體把這解讀成一次明確的轉向——不是這一代剛好閉源,是策略層級的調頭。 為什麼值得記?因為它戳破了一個很多人沒意識到的假設:你以為某家公司「開源」是它的本性,其實那只...
Notion MCP 接 Claude Code — 官方那個 OAuth 外掛,反而是最不該用的接法
想把 Claude Code 接上 Notion,第一個該做的決定,是跳過 Notion 官方那個 OAuth 外掛。 這句話聽起來不太對。官方推薦的、長得最正規的、會自動幫你管 token 的那個接法,怎麼會是最不該選的?但你真的去接一次就知道了——那條看起來最體面的路,會在三個不同的地方斷給你看,而旁邊那條土到不行、要你自己去後台複製一串鑰匙的路,三步就接上,而且接上之後再也不掉線。 這篇就是要講為什麼。順便把接上之後你還會踩的幾個坑,一次說完。 那個體面的接法,是怎麼一步步斷掉的先還原現場。你照官方文件走,用 OAuth 外掛(plugin:Notion:notion)連,瀏覽器跳出來叫你授權,你按下「允許」——然後第一個東西就炸了: Internal Server Error。Notion 的 OAuth 回呼在這一步直接掛掉,連錯誤訊息都懶得給你細節。 你想說可能是一時的,重試。這次走得遠一點,到了 token 交換階段,跳出來的是 MCP OAuth requires a redirect_uri (invalid_grant)。翻成人話:拿授權碼去換正式 token...
Claude Code Fork 完整教學 — 複製一份對話比開新分身更省錢的祕密
先別管 fork 能拿來幹嘛。 很多教學一上來就告訴你「fork 適合用在 XXX 場景」,然後你照做、有時有用、有時莫名其妙更貴,但你始終不知道為什麼。所以這篇反過來——我們先把 fork 收到任務後,第一件事在底層做了什麼拆開看。看懂那一步,它什麼時候該用、什麼時候比 subagent 便宜,你自己就推得出來,不用背。 那個底層的第一步,關鍵字只有一個:prompt cache。 先搞懂:模型每次回話,前面那一大段它怎麼處理你跟 Claude 對話時,每送出一則新訊息,模型實際收到的不是只有那一則。它收到的是「一整包」:最前面是固定的系統提示(system prompt)、接著是所有工具的定義(tool definitions),然後才是你們從頭到現在的完整對話歷史,最後接上你剛打的那句。 這一整包它每次都得重新讀一遍、算一遍,才能接話。問題是,這包的前半段——系統提示、工具定義、早期的對話——每一輪幾乎一模一樣。每次都重算,等於每次都把同一本書從第一頁朗讀到你問問題的那一頁,純粹浪費。 prompt cache 就是來解這個的。它把這包的「前綴」(prefix)算過的結果存...









