Cursor 改按量收費後,AI 改壞你的檔案你還看不出來:自己寫一個 290 行的驗傷工具 2026 年 10 月 12 日,Cursor 把付費方案併進… · @swordBluesy · TwKit
@swordBluesy
Cursor 改按量收費後,AI 改壞你的檔案你還看不出來:自己寫一個 290 行的驗傷工具 2026 年 10 月 12 日,Cursor 把付費方案併進 X 訂閱,第三方模型按 API 牌價從預付點數扣。從此每一次重寫檔案都有明碼標價,但更麻煩的是另一半:重寫的檔案可能悄悄刪掉註解、翻轉換行符、塞進佔位符,而編輯器給你的 diff 看起來還是整整齊齊。這篇教學不調模型,改做一個檢查工具:對照 git 的上一次提交,驗出 AI 編輯留下的靜默損傷。 一、為什麼 diff 會騙你 Cursor 的編輯分兩步:前沿模型在對話裡規劃改動,第二步再把改動落到磁碟。損傷多半出在第二步,或者規劃和落盤之間的落差。2024 年的舊設計文章說,預設是讓模型生成整份重寫檔案,因為模型不擅長數行號、diff 格式在訓練資料裡也比較少。到了今天,官方文件沒有公開每一次編輯到底用重寫還是搜尋取代,所以這篇把編輯策略當成未知,直接量結果。 另一個坑是,編輯器算出來的 diff 只是兩個檔案狀態的對比,它不知道第二個狀態是怎麼產生的。整份重寫的檔案,一樣可以渲染成漂亮的行級 diff。論壇上的實際回報也說,整份重寫可能刪註解、弄壞 CRLF 換行。所以介面不能替位元組背書,機器檢查才能。 二、這支工具抓什麼 工具叫 editlint,約 290 行 Python,只用標準函式庫,13 步、約 40 分鐘,環境是 Python 3.12.3、Git 2.43.0。檢查清單如下,閾值都可以調: 佔位符外洩:把「…現有程式碼…」這類草稿文字寫進檔案,就是錯誤。註解遺失:一次消失 2 行以上註解,就是錯誤。換行符:CRLF 被翻成 LF、或同一檔案混用兩種,就是錯誤。位元組順序標記和結尾換行被加減,是警告。爆破半徑:改動超過 50% 的行,是警告。格式擾動:5 行以上純空白改動,是警告。越權改動:改了你沒允許的函式或類別、刪了符號,是錯誤。語法:檔案改到無法解析,是錯誤。 三、動手:先有基線,再讓 AI 動手 第一步,建資料夾、初始化 git、設好本地身份,否則基線提交會失敗: mkdir editlint-demo && cd editlint-demo git init -q git config http://user.email "[email protected]" git config http://user.name "Your Name" python3 --version git --version 第二步,寫一個值得保護的範例檔案,註解裡要帶業務規則,例如「先打折再算稅」。這種知識一旦被模型重寫時跳過,就再也回不來。 第三步,故意寫一個 Windows 換行符的舊模組和一個 POSIX 部署腳本,全部提交成基線。最後用 file 命令確認舊模組確實顯示 CRLF 換行符,如果你的編輯器或 git 設定已經把它正規化了,後面的換行檢查就沒有東西可保護。 原則只有一條:先提交基線,再讓任何 AI 編輯碰這棵樹。之後每一次改動,都有東西可以對照。 四、收尾:掛進提交前檢查和持續整合 完成工具後,給它一個 Cursor 規則檔、一個提交前掛鉤,和一個持續整合任務:掛鉤在本地擋住帶損傷的提交,持續整合在拉取請求上再擋一次。先在拋棄式示範專案裡把檢查行為調對,再把 http://editlint.py 複製進真實專案。工具看的是結果,不是哪個模型改的,所以任何 Cursor 模型都適用。 S1哥觀點 AI 編輯最危險的不是改錯邏輯,而是改掉你沒看見的東西:一段註解、一種換行符、一個佔位符。等你發現時,git 歷史早就被後面的提交蓋過去了。這篇的思路其實是把「信任但驗證」變成程式:模型可以改,但改完必須過檢查。問題留給你:你上次接受 AI 改動時,是真的看完了每一行,還是只看了編輯器給你的漂亮 diff? 原文連結:https://tech-insider.org/cursor-tutorial-lint-ai-edits-rewrite-damage-2026/ 原文:Tech Insider(由 S1哥 編譯)
曝光 167 · 评论 2 · 点赞 1 · 书签 0
查看原帖