注册并分享邀请链接,可获得视频播放与邀请奖励。

与「質量毎日」相关的搜索结果

質量毎日 贴吧
一个关键词就是一个贴吧,路径全站唯一。
创建贴吧
用户
未找到
包含 質量毎日 的内容
第一個智能體不用自己寫迴圈,那程式設計師還剩下什麼? 官方來源:Martin Bernaola Mendez,原文發表於 2026-11-13(1 天內,見文末核實)。原文標題直譯:《在微軟開發平台做你的第一個智能體,比你想的簡單》。先把反常識結論放前面:多數人以為做智能體要先學一堆新東西,新的框架、新的寫法、新的觀念,沒三個月下不來;真相剛好相反,你的第一個智能體根本不用學新東西,用你本來就會的主程式語言、你本來就熟的寫法,一個下午就跑起來了。智能體的本質一點都不神秘,就是模型加指示加工具加記憶,繞著圈跑到答案出來:模型先判斷要不要用工具、再叫你的程式去做事、拿到結果再寫答案,迴圈跑完才收工。關鍵在最後一句:這個迴圈不用你寫,框架全包了。你只剩三件事:給它一個名字與指示、給它一個工具、給它一段記憶。微軟的智能體框架就是幹這個的,底下還有一個聊天客戶端介面,幫你把不同模型的呼叫方式統一成同一套寫法。這篇只做一件事:照原文四步走,帶你從零做出第一個會查天氣、會記得你名字的旅行小幫手,最後再換成本機免費版,一毛錢都不花。先說清楚底線:前置條件是開發平台軟體開發套件第十版或全新的第十一版,加上一把開放智能的應用程式介面金鑰;沒有金鑰也沒關係,文末有本機免費版。 說清詞: - 智能體:模型加指示加工具加記憶,繞著圈跑到答案出來的程式,模型負責判斷、你的程式負責做事。 - 聊天客戶端介面:微軟擴充智能裡的統一介面,把不同模型的呼叫方式包成同一套寫法,換模型不用重寫程式。 - 微軟智能體框架:坐在聊天客戶端介面上面、專門加智能體功能的那一層,負責指示、工具呼叫、工作階段,往後還能接多智能體流程。 - 指示:你給智能體的工作說明,寫明它是誰、說話多簡短、什麼時候該用工具,寫得越具體、它做得越穩。 - 工具:就是你本來就會寫的普通方法,加上一句說明文字掛進智能體,模型看說明決定什麼時候叫它。 - 說明屬性:掛在方法與參數上面的說明文字,告訴模型這個方法是幹什麼的、參數是什麼意思,模型就靠它決定要不要叫、要傳什麼。 - 迴圈:模型決策、呼叫方法、結果回填、寫答案,四步轉一圈,直到答案夠好才停,框架自動跑,你不用自己寫。 - 工作階段:對話的記憶盒子,建立一次、每次跑都傳進去,智能體才記得上一句講過什麼。 - 串流:答案一個字一個字出現的跑法,像聊天視窗那樣慢慢印出來,整段等完才印是另一種跑法。 - 主控台專案:最簡單的那種程式,沒有視窗、沒有網頁,只在命令列視窗裡跑,做第一個智能體用它就夠了。 - 環境變數:存在電腦系統裡的設定值,金鑰放這裡,程式碼裡只讀它、不寫明文。 - 本機模型:裝在你自己電腦上跑的模型,不用連雲端、不用付按量費用,代表作是奧拉瑪接開源模型。 - 模型上下文協定:接現成工具伺服器的標準作法,原文只在展望裡提,叫你以後自己去接,不用現在學。 - 可觀察性:把每一次模型呼叫與工具呼叫都留下紀錄的作法,出怪事時靠它追查,原文只在展望裡提。 一個真實的例子:原文的第一個智能體叫旅行小幫手,做的事再小不過:回答去馬德里旅行的小建議。做法是拿開放智能的客戶端取一個聊天客戶端、指定一個支援工具呼叫的聊天模型,再把它轉成智能體,給名字旅行小幫手、給指示說你是友善的旅行助理、答案保持簡短,跑起來就完成了。問它去里斯本玩兩天怎麼排,答案一個字一個字慢慢印出來,那是串流跑法。接著給它一個工具:一個查天氣的普通方法,加上一句說明說這是查某個城市的天氣預報,方法本身只是回傳一段寫死的假天氣。問它去里斯本要不要帶傘,背後發生四件事:模型讀問題、發現需要天氣資料、叫方法去查里斯本、拿到結果寫答案說早上會下小雨、記得帶傘。迴圈你一行都沒寫,框架全包了。最後加記憶:建立一個工作階段、每次跑都傳進去,先說嗨我是安娜、星期五要飛里斯本,再問要不要帶傘,第二問根本沒提城市,智能體自己用對的城市查天氣;再問我叫什麼名字,它答得出安娜。這三問跑下來,第一個智能體該有的東西全齊了:會判斷、會動手、會記得。 為什麼是框架全包,而不是你自己寫迴圈?因為迴圈裡最容易出錯的地方,全是重複的髒活:模型回傳要叫工具,你要解析它叫的是哪一個、參數對不對;方法跑完,你要把結果用對的格式回填給模型;模型又回傳要再叫一次,你要判斷這是正常接力還是無限鬼打牆;答案終於出來了,你要決定什麼時候停。這些事每一件都不難,但加起來就是幾十行容易寫錯的程式碼,錯一次、除錯半天。框架把這整圈包起來,你只寫三件事:指示寫清楚、工具掛上去、工作階段傳進去。11 月 12 日那篇手寫迴圈的教程立場剛好相反,叫你自己把迴圈寫出來、看懂每一圈在幹什麼;這篇的立場是先跑起來再說,迴圈交給框架,你先嚐到智能體動起來的滋味。兩篇沒有誰對誰錯,是先後順序:新手先照這篇跑起來,想搞懂底層再去讀手寫迴圈那篇,順序反過來很容易卡在第一圈就放棄。 再算一筆帳,讓你知道第一個智能體到底花多少錢。示範用的是開放智能的輕量聊天模型,特點是便宜、支援工具呼叫,跑幾十次問答常常不到一塊錢美金,練手完全不心疼。真正貴的不是模型,是你把正式環境的大模型、長上下文、高價輸出全開來練手,練十次就抵得上一個月的示範費用。所以練手的規矩只有一個:示範模型挑輕量便宜的,指示寫簡短,工具先用寫死的假資料,跑通了再換真資料、再換好模型。本機免費版更徹底:模型裝在自己電腦上跑,一毛錢都不花,工具、工作階段、串流的程式碼一個字都不用改,只換呼叫模型的那一行。先在本機版把迴圈、工具、記憶三件事都摸熟,上雲端花錢時才知道錢花在哪裡。 反方適用條件清單——以下情況,先別照本篇做第一個智能體,免得把本篇讀成保證: - 不想碰微軟開發平台、只用別的語言生態:本篇是微軟開發平台的作法,換生態等於整篇重寫。 - 沒有金鑰、也不想裝本機模型:兩條路都沒有,模型叫不動,智能體跑不起來,先選一條路再開工。 - 挑的模型不支援工具呼叫:工具掛上去模型也不會叫,示範用的輕量模型有支援,換模型之前先確認支援清單。 - 想一次做多智能體協作、寫作者加審查者的流程:原文只做到單一智能體,多智能體是展望裡的下一步,現在做還太早。 - 想直接做正式上線的產品:本篇只到主控台示範為止,正式產品要另外做驗證、備份、錯誤處理。 - 指示寫得含糊、只寫你是個助理:指示越空、模型做得越飄,指示要寫明身分、語氣、什麼時候用工具。 - 除此之外,只要你會寫主程式語言、想親手跑一個會動手的智能體——這篇就是為你寫的。 一句定性金句:迴圈不用你寫,判斷不用你寫,你只剩三件事:給指示、給工具、驗答案。 一、翻車清單 - 金鑰寫進程式碼、貼進群組、傳進公開倉庫:誰拿到都能花你帳上的額度,正確做法是存進環境變數,程式碼裡只讀變數不寫明文。 - 開發平台軟體開發套件版本太舊:原文要第十版或全新的第十一版,舊版可能沒有智能體框架要的寫法,先升級再開工。 - 套件裝錯:開放智能版與通用版是兩個套件,雲端版裝開放智能那一個,本機版才裝通用版加奧拉瑪那一個,裝錯就接不上。 - 模型挑不支援工具呼叫的:工具掛上去模型也不會叫,示範用的輕量模型有支援,換模型之前先確認支援清單。 - 指示寫得太空:只寫你是個助理,模型不知道該簡短還是詳細、該不該用工具,指示要寫明身分、語氣與用工具的時機。 - 工具沒加說明文字:模型看不懂這個方法是幹什麼的,永遠不會叫它,說明文字是工具能不能被叫到的關鍵。 - 工具方法寫了真的去查天氣:示範階段先用寫死的假資料,跑通迴圈再換真資料,一開始就接真服務,出錯不知道是迴圈錯還是服務錯。 - 忘記建立工作階段:每一次呼叫都從零開始,第二問不提城市它就不知道去哪裡,名字也記不住,記憶要靠工作階段傳進去。 - 工作階段建了卻沒傳進去:建立一次不夠,每一次跑都要傳,漏傳一次、那一次的對話就斷了。 - 串流與整段回傳搞混:串流是一個字一個字印,整段是等完一次印,兩種跑法的寫法不一樣,抄錯會編不過。 - 金鑰放環境變數卻沒重開命令列視窗:環境變數改了要重開視窗才生效,舊視窗讀到的是舊值,一問就說金鑰沒設。 - 本機模型挑不支援工具呼叫的:本機開源模型不是每一個都支援工具呼叫,挑之前先確認,否則工具掛上去也不動。 - 本機服務沒啟動就跑程式:奧拉瑪的本機服務要先跑起來,程式連的是本機位址,服務沒開就連不上。 - 把示範程式當正式產品:主控台示範沒有錯誤處理、沒有備份、沒有驗證,正式上線要另外補齊,示範跑通不等於產品做完。 - 一次給太多工具:第一個智能體先給一個查天氣就好,工具一次給五個,模型叫錯的機率立刻上升,出錯不知道是哪一個工具的問題。 - 指示與工具打架:指示寫不要用工具、工具又掛上去,模型左右為難,指示與工具要講同一套話。 - 名字與指示寫完就以為智能體懂了:名字只是名字,真正管行為的是指示,指示沒寫清楚,名字再好聽也沒用。 - 測試不跑就說通了:模型說帶傘不算數,程式真的跑起來、答案真的對、第二問真的記得城市,才算通。 - 換雲端平台就以為程式碼要重寫:聊天客戶端介面就是為了換模型不用重寫,雲端平台、開源模型、微軟雲端,全是換呼叫模型的那一行,其餘不動。 - 把多智能體協作當第一步:原文的展望是下一步,先把單一智能體跑通,作者加審查者的流程以後再加,一步登天一定摔。 二、替代方案+理由 原文只給一條主路,理由很硬:先拿雲端輕量模型跑通,再換本機免費版——理由是雲端版最快驗證迴圈、工具、記憶三件事,本機版再把花費壓到零,順序反過來很容易卡在本機安裝那一步、還沒看到智能體動起來就放棄。雲端版的理由是套件裝好、金鑰設好就能跑,示範用的輕量模型便宜又支援工具呼叫,練手不心疼。本機免費版的理由是模型裝在自己電腦上,一毛錢都不花,工具、工作階段、串流的程式碼一個字都不用改,只換呼叫模型的那一行,適合想一直練、一直試的人。還有一條同理可推的路:雲端平台版、開源模型平台版、微軟雲端版,理由是聊天客戶端介面把模型呼叫統一了,換平台只是換呼叫模型的那一行,其餘程式碼全不動,適合公司已經有指定平台的人。順序只有一個:雲端輕量版先跑通,再換本機版或公司平台版,不要三種同時開工。 工具的作法也有替代方案,理由一樣硬:示範用寫死的假天氣,理由是先驗迴圈對不對,出錯只可能是迴圈錯;換真資料是下一步,理由是迴圈通了再接真服務,出錯只可能是服務錯。兩步分開除錯,永遠比一次全上、錯了不知道找誰快。記憶的作法也一樣:工作階段是原文給的正規作法,理由是框架幫你管記憶,不用自己寫對話紀錄;自己寫對話紀錄是另一條路,理由是想完全掌控格式的人可以自己來,但新手先不要,框架的版本先跑通再說。 三、目標形態 一個能對照的最小閉環:開發平台軟體開發套件已裝第十版或第十一版、開放智能金鑰已存進環境變數;主控台專案已建好、開放智能套件已裝好;智能體已有名字旅行小幫手、指示寫明友善的旅行助理、答案保持簡短;問它去里斯本要不要帶傘,模型自己叫查天氣的工具、拿到結果寫答案說早上會下小雨、記得帶傘;第二問不提城市,它用對的城市查天氣;第三問問我叫什麼名字,它答得出安娜。三問全對、程式真的跑起來,才算通。一句話:先讓一個智能體真正動起來,再談多智能體。 這個最小閉環還有三個進階樣子,通了之後可以一個一個加上去。第一個是換真資料:查天氣的方法從寫死的假資料換成真的天氣服務,問同樣的問題,答案裡的溫度與天氣要對得上真實預報,迴圈不動、只換方法裡面。第二個是換本機免費版:模型換成本機開源模型,其餘程式碼一個字都不改,跑同樣的三問,答案一樣對,帳單變零。第三個是加第二個工具:再掛一個查機票或查景點的方法,指示寫明什麼時候用哪一個,問一個同時需要天氣與景點的問題,看模型會不會自己挑對工具。這三個樣子有一個共同點:一次只換一件事,換完立刻驗三問,驗不過就只退一步,不用整段重寫。 四、遷移步驟 1. 先備前置條件:開發平台軟體開發套件裝第十版或全新的第十一版,開放智能金鑰申請好、存進環境變數,不要寫進程式碼。 2. 新建主控台專案:用命令列工具新建一個主控台專案、進到專案資料夾,裝開放智能版的智能體套件。 3. 寫第一版主程式:拿開放智能客戶端取聊天客戶端、指定輕量聊天模型,轉成智能體,給名字旅行小幫手、給指示說你是友善的旅行助理、答案保持簡短,問一句去馬德里旅行的小建議,跑起來。 4. 換串流跑法驗一次:同一個問題改用串流跑法,答案一個字一個字印出來,確認兩種跑法都通。 5. 給它第一個工具:寫一個查天氣的普通方法、加一句說明說這是查某個城市的天氣預報,方法裡先回傳寫死的假天氣,掛進智能體。 6. 問它去里斯本要不要帶傘:看模型自己叫查天氣的方法、拿到結果寫答案,迴圈四步都發生了才算通。 7. 建立工作階段:建立一個工作階段,每一次跑都傳進去,先說嗨我是安娜、星期五要飛里斯本。 8. 驗記憶三問:第二問要不要帶傘不提城市,看它用對的城市查天氣;第三問問我叫什麼名字,看它答得出安娜;三問全對才算通。 9. 換本機免費版:裝通用版套件加奧拉瑪套件,本機服務先啟動,模型換成本機開源模型,其餘程式碼一個字都不改,跑同樣的三問。 10. 換真資料:查天氣的方法從寫死的假資料換成真的天氣服務,問同樣的問題,答案要對得上真實預報。 11. 加第二個工具:再掛一個查機票或查景點的方法,指示寫明什麼時候用哪一個,問同時需要兩種資料的問題,看模型挑不挑得對。 12. 換公司平台驗一次:雲端平台版、開源模型平台版、微軟雲端版挑一種,換呼叫模型的那一行,其餘不動,確認聊天客戶端介面真的統一了寫法。 13. 記帳:示範用的輕量模型跑幾十次常常不到一塊錢美金,練手用輕量模型、指示寫簡短、工具先用假資料,跑通了再換真資料、再換好模型。 14. 排定主力與備胎:主力一種平台每天用,備胎一種放在旁邊,主力出問題、換專案時立刻換備胎頂上,不用臨時翻文件重學寫法。 15. 每月回頭對一次官方文件:智能體框架還在長大,多智能體流程、模型上下文協定、除錯工具都會變,每月花十分鐘對一次,才不會拿著舊地圖走新路。 跑完這十五步,真正拉開差距的不是你會幾種平台,是你給指示的方式。指示寫得含糊,模型就做得含糊;指示寫得具體,模型就動得具體。好的指示有三個要素:先說身分,再說語氣,最後說用工具的時機。身分是你是誰,例如友善的旅行助理;語氣是答案多長,例如保持簡短;用工具的時機是何時該查資料,例如需要天氣資料時就用工具查。三個要素寫進每一次設定,模型的命中率立刻不一樣。反過來最差的指示是只寫你是個助理,模型不知道你要它簡短還是詳細、不知道什麼時候該動手,只能憑感覺猜,猜錯了你還要花時間收拾。框架是硬體,指示是軟體,硬體接好了、軟體跟不上,一樣跑不快。 問問題也有一個進階技巧:一次只問一件事。請模型同時排行程、查天氣、再訂機票,它常常三件都做得半調子;拆成三輪,每一輪只做一件、每一輪都驗收,總時間反而更短,因為返工最花時間。還有一個習慣值得養:每一次請模型動手之前,先請它用一句話說出它理解的任務是什麼,它說對了再讓它動手,它說錯了先糾正理解、不要讓它帶著錯誤的理解去叫工具。這兩個習慣加起來,模型的出錯率會掉一大截,你花的檢查時間也會跟著掉。 五、團隊共建分工 做第一個智能體是小事,但三個角色別一個人全扛: - 你自己管金鑰:金鑰只你經手,存進環境變數、不寫進程式碼、不貼進群組,誰要用就請他自己建一把。 - 審查者核對帳單:每週對一次用量,示範用的輕量模型跑幾十次常常不到一塊錢美金,大模型、長上下文、高價輸出的帳單先抓出來看。 - 紀錄者留對照表:把每一次實驗的模型、指示、工具、工作階段、驗收結果寫進本篇贈品驗收表,換人接手時不用重讀原文,換模型時照表改名字就好。 - 守門員管範圍:每一次請模型動手之前,先說清楚哪些工具能叫、哪些資料不能碰,正式環境的設定一律列入禁區,模型動手之前先對一次範圍,叫錯工具的代價比多問一句話貴得多。 - 新人先跑最小閉環:新加入的人不要一次做多智能體,先照本篇第四節跑一遍最小閉環,三問全對、程式真的跑起來,通了才算入門,通不了先找守門員對設定,不要自己硬湊。 六、官方工具包 - 微軟擴充智能:聊天客戶端介面,統一不同模型的呼叫寫法,換模型不用重寫程式。 - 微軟智能體框架:坐在聊天客戶端介面上面,負責指示、工具呼叫、工作階段,往後還能接多智能體流程。 - 開放智能版套件:雲端版裝這一個,示範用輕量聊天模型,支援工具呼叫。 - 通用版套件加奧拉瑪套件:本機免費版裝這兩個,接本機開源模型,其餘程式碼不變。 - 示範模型:輕量聊天模型,支援工具呼叫,練手便宜。 - 本機模型代表:駱馬三點二,裝在自己電腦上跑,一毛錢都不花。 - 同理可接的平台:雲端平台、開源模型平台、微軟雲端,換呼叫模型的那一行就好。 - 展望裡的下一步:多智能體流程、模型上下文協定、智能體對智能體、可觀察性、除錯工具,現在先知道名字就好。 - 前置條件:開發平台軟體開發套件第十版或全新的第十一版,加上一把開放智能金鑰或一台裝好本機模型的電腦。 結尾收束:原則比框架多重要——智能體框架不是魔法,是把迴圈包起來的那一層。可重複的動作規則只有一條:每次換模型、換平台、加工具之前,先回到那個最小閉環——三問全對、程式真的跑起來——通了再往下走。今晚就能做的事:先備好金鑰、建一個主控台專案、問它一句去馬德里旅行的小建議,答得對,這條路就是你的了。 最後再提醒一次最容易被低估的事:第一個智能體真正的成本不是金鑰、不是套件,是你願不願意把指示寫清楚。指示寫不清楚,模型做得再快也是亂做,你還要花更多時間收拾;指示寫清楚了,迴圈、工具、記憶三件事立刻各就各位。這筆帳,比幾十次問答不到一塊錢美金重要得多。今晚先跑三問,明天上班第一件事就拿一個你真正的工作問題去問它,問完看它會不會自己挑對工具,挑對了,你就知道這條路值不值得走下去。 本篇贈品:微軟智能體首次落地驗收表 開通之前逐項打勾:1 前置——開發平台軟體開發套件已裝第十版或第十一版、開放智能金鑰已存進環境變數、沒寫進程式碼;2 專案——主控台專案已建好、開放智能版套件已裝好;3 第一版——智能體已有名字旅行小幫手、指示已寫明友善的旅行助理與答案保持簡短、問去馬德里旅行的小建議已跑通;4 串流——串流跑法已驗一次、答案一個字一個字印出來;5 工具——查天氣的方法已寫好、說明文字已加上、方法裡先用寫死的假資料、問去里斯本要不要帶傘已看到模型自己叫方法;6 記憶——工作階段已建立、每次跑都已傳進去、第二問不提城市已用對的城市查天氣、第三問已答得出安娜;7 本機版——通用版套件加奧拉瑪套件已裝好、本機服務已啟動、模型已換成本機開源模型、三問已重跑全對;8 真資料——查天氣的方法已換成真的天氣服務、答案已對上真實預報;9 第二工具——第二個方法已掛上、指示已寫明什麼時候用哪一個、同時需要兩種資料的問題已驗過;10 帳單——示範用的輕量模型跑幾十次不到一塊錢美金的算法已知道、練手用輕量模型與假資料的規矩已立好;11 維護——每月回頭對一次官方文件、換平台只換呼叫模型那一行的作法已驗過;12 指示——每一次設定已寫明身分、語氣、用工具的時機三個要素,一次只問一件事,模型動手前已先用一句話說出它理解的任務。 S1哥觀點 別再問「做智能體是不是很難」了——難的不是智能體,是你以為迴圈要自己寫。還在觀望的人,花的時間不是學習,是猶豫;照這篇跑起來的人,一個下午就有一個會查天氣、會記得你名字的旅行小幫手,迴圈框架全包了,你只剩給指示、給工具、驗答案。更值得問的是:你現在每天重複做的那件小事,是查資料、還是回覆、還是整理?那一件,就是你第一個智能體該先接的理由。還有一個更扎心的問題:你上一次說要學智能體,結果三個月過去、連第一個主控台專案都還沒建,是什麼時候?這種拖延,跑起來一次就治好了,因為跑通的那一刻你就知道,原來第一步這麼小。你第一個智能體想讓它先幫你做什麼?評論區說說。
显示更多
今天,是汶川大地震17周年整。当时的情景是:遍地死尸,满目疮痍,大地像煮沸的开水一样抖动,地下有无数双手在抓脚后跟。我拼命逃到楼下空地,高楼摇晃、灯杆倾斜,天边发出妖冶的蓝,把侥幸逃脱的人们脸上照出了异样的光。总之那个景象十分特殊,像末日降临…… 大家年年都在转,我就转一篇未删节版吧——《写在5.12的爱国帖》: 那年川西坝子的油菜花比往年晚开了很多天,人们没有意识到什么。那时人们还相信专家,专家说花期推迟很正常,青蛙涌上街头也很正常。那天我正在书房赶一篇文章,地板晃动时,还以为是家猫在脚下调皮……直到窗外传来上百台起重机齐齐发出低吼,满书架的书弹飞出来,才明白这是地震,那声音,是地吼。 大地像煮沸的开水一样抖动,地下有无数双手在抓脚后跟。我拼命逃到楼下空地,高楼摇晃、灯杆倾斜,天边发出妖冶的蓝,把侥幸逃脱的人们脸上照出了异样的光。总之那个景象十分特殊,像末日降临……入夜,才知道都江堰死了很多人,北川封路,血库缺血。那时我正处于一个爱国青年的尾声,纠结处激情最猛烈,我认为报效国家的时候到了,我们要用血肉筑起新的长城。清晨时分,我揣上钱和几包衣服上路,在北川界口与唐建光、郑褚汇合,进到山里。 可是我在北川一中面临人生最大一个困扰。我无法解释为什么五层高的新教学楼坍塌后只有半个篮球场那么大,而几十年前修的旧楼竟没有倒塌,也无法解释大楼像饼干般脆掉后,建渣里竟没什么钢筋,以至于在一楼上课的学生全部没来得及逃脱。一个妇人一直在我身边神经质地走来走去,她已不太哭得出声,只是嘶哑地指着那堆很渺小的碎渣:“看,那是我娃娃呀,她的手还在动,还没死,但我扯不出来她啊……”那个情景令人崩溃,我看得见那个小女娃娃碎花裙的一角,还有其他孩子的衣角,他们中的很多还在动,手在动,脚在动,细小的呻吟。但部队命令我们不准上前,没什么钢筋的废墟不能站人,以免引起二次崩塌。 就这样,眼看着孩子们在扭动、在呻吟,夕阳西下,他们的身体与那些石头一起,慢慢变冷,最终悄无声息……而我竟无能为力。 在此之前我是个爱国青年,相信生活的不幸是敌对势力造成的。我曾在球评里写“大刀向鬼子头上砍去”,因为这些家伙是南京大屠杀的后裔,我骂过CNN长了口蹄疫,它的主持人蒂弗莱骂过中国充满暴民和垃圾。我也不反对抵制家乐福,认为这可以唤醒民族血性。我家离美领馆很近,1999年美国导弹轰炸我驻南大使馆时,我在美领馆外高举过愤怒的拳头,烧过报纸,同年前往美国世界杯采访时,还写过一句“希望女足像一枚导弹打进美国本土”,深觉这句子十分有力。 可是,站在北川学校废墟前的我很困惑。我依然爱国,但渐渐明白碎渣里的钢筋并不是帝国主义悄悄抽走的,孩子们也不是死于侵略者的魔爪,而死于自己人的脏手。我更加困惑的是,为什么911死难者都有名字,我们的孩子没有名字,如果你想索要名字,你的名字也会成为敏感词…… 如果晚年写自传,我将以2008为基点。在此之前我是一个混蛋,自以为是,从无怀疑,像面对自己的指纹一样自以为掌握人间道理。可是大地震后很长一段时间,我天天在北川的大山里,孤魂野鬼一般晃荡,有时与其他志愿者挖出一些老人和小孩,有时就对着残垣断壁发呆。我顿生沮丧,这是更难熬的青春期,被折磨的并非发育的身体,而是信念。 有一天我看着山上,无意中发现竟有一所学校完好无损,甚至玻璃窗都没怎么震碎。我才得知,这是一座希望小学,地震发生后学生们在老师带领下翻过三座大山,全部逃到山下,无一伤亡。我问校长和老师为什么出现这个奇迹。他们异口同声地说,感谢那个监工。 那个监工是捐款企业派来的,他天天用小锤子敲水泥柱子听声音。他是工程兵出身,能从声音里听出柱子里沙子的含量、圆石比例、水泥标号是否匹配,如果不合格,就责令施工队返工,如果施工队不愿意返工,他就大吵大闹。老师们告诉我,那些日子工地上除了施工声音,就是这监工跟人吵架的声音。除了因质量问题吵,就是为了追款跟当地政府吵。众所周知,企业捐款大多先交当地政府掌握,再由政府拨给下一级政府,再拨给下一级……最后才是施工单位,一百万最后就只剩了二十万。最后一次吵架是关于修建操场,他吼出一句:妈的,黑什么,不能黑教育。他终于追款成功修妥了操场,小小的操场。 大地震那天,正是这个小小操场庇护了几百名孩子。 大地震时,这名监工吼叫着从山下拼命往山上跑,当看见孩子们都躲在操场安然无羔时,这条汉子倒在地下哭得稀里哗啦。 然后,他凭经验指着出山方向,让老师们带着大部队出山,自己则在原地守着几个家住山上不愿离开的孩子。那些老师就按照他指引的方向,带着孩子翻过了三座山,趟过已被地震震得河床扭曲、河水浑浊的小河,穿过黑暗无比的森林,林子中总是出现奇形怪状的瘴气,那些瘴气不断变幻,有时就变成一群厉鬼的样子,孩子们吓得大哭……终于跌跌撞撞到达了县城。当这名监工打电话确认孩子们安全得救,大哭着向山下城里的方向跪下。 我问,为什么要跪下。他说,是向当初的努力跪下,幸好坚持下来了。 我问,这所学校是不是用了特殊标准才修得这么坚固。他说:不,只是按国家普通建筑标准修建的。我又得知,这个监工监理了五所学校,在那场大地震中奇迹般无一垮塌。他说:没什么奇迹,所谓奇迹,就是你修房子时,能在十年之前想到十年之后的事情。 可是他从不能被主流媒体宣传,名字也一直不能公布,因为这会让国家出丑。后又传出他所属的企业涉黑……前两年一个晚上,他忽然打来电话,说正在被精神病医生治疗着,老婆也离婚了,他现在想带着女儿逃出四川,问我能不能帮他远离这是非之地,在北方找一个工作……后来,我们就断了联系。 我从2008年开始发生变化,一个人生平第一次看到那么多孩子被压在碎片下,身体慢慢变冷,慢慢死去,肯定会变化。那些碎花花的衣角、还在动着的小手,之后一年之久不断出现在梦中,而我竟并不知他们的名字。这是我的困惑:我们不能公布那些孩子的名字,也不能公布救了很多孩子的监工的名字。今天,是汶川大震四周年,这里正式公布他的名字:句艳东。 最近大家很爱谈爱国,基于上面的故事,我慢慢得知:不能狭隘理解爱国就是抵御外敌,爱国还表现在敢于抗争内贼。就如同你爱你们村,不仅表现在敢跟别村打架,更表现在勤恳耕种、爱护资源,敢于反对本村村长欺压村民、调戏妇女。如果一边跟别村打架,一边帮着村长鱼肉百姓,这不叫爱国主义,这叫勇当家丁。 我们当然要用血肉筑起新的长城,可长城也应该保护我们的血肉。爱国主义应该是双向的,单向收费的不是爱国主义,是向君主效忠。 我认为句艳东是十足的爱国者,他没去攻打钓鱼岛,可是他救了很多孩子,他应当得到彰显,可事实刚刚相反,声名的舞台正被骗子们占据,而他正被生活惩罚,流离失所,仓惶不安。以我在灾区的见闻,多少骗子假太阳光辉之名横行,让青年们热烈膜拜……我不安地知道,这是更大的灾难,我们深爱的祖国正在逆淘汰、逆宣传、逆真相,如果一个国家的爱国主义宣传着骗子,这个爱国主义本身就是骗局。 我的爱国主义:给应得者以所得,给窃取者以褫夺,国家始能昌盛。 有件小事,5月13日下午再次强烈余震,部队命令我们外撤。走了几公里撤到山口时,正碰到央视张泉灵时空连线,我一身雨水和血迹无意间经过镜头。刚到山下,一个素以厚道著称的央视记者打来电话:“你丫真会出风头,没事儿你跑北川干嘛呀,抢我们台镜头”。我说:“操你妈”。绝交至今。 一月后回京碰到央视的仁义大哥。聊起豆腐渣工程,我说:贪官该杀几个。仁义大哥深邃看着我:“不,中国的事情要慢慢来,否则就会乱,毕竟重建还要靠他们呀。”又过了三年,我批评“共和国脊梁”倪萍。仁义大哥电话里极为不满:“你骂倪大姐干什么呢,人家倪大姐可是好人哪。”香港书展邀我去讲座,我调侃于丹余秋雨伪善,为权力洗地。仁义大哥再度打来电话:“想不到这几年你变成这种人,承鹏,咱不能只破坏不建设,不能见着政府干的事都是错的。” 我曾经欣赏仁义大哥,现在彼此天各一方,形同陌路。他那些公平正义名言在微博真真假假地流传,星光灿烂,粉丝推崇。以及,跟仁义大哥同款的爱国者们总说:不管国家有这样或那样的问题,可我们仍要爱这个国,爱它,就要爱它的全部。我觉得这是个病句,我爱这个国,但我不能去爱豆腐渣工程,更不能去爱坐在豪华办公楼的官员,指出这个国的疾病,正是建设它的重要环节。 经历2008汶川大地震,我重新定义爱国主义:爱国主义不是一边指责外人抢劫我们的土地,一边又无视拆迁队强拆我们房子;不是一边怒斥美帝亡我之心不死,一边又把子女送到洛杉矶富人区;不是一边宣传孩子是祖国的花朵,一边让他们在碎片下慢慢死去。 我想让所有人记住:那个妇人看得见自己孩子碎花花的衣角、小手还在动,听得见孩子还在低低呻吟,说“妈妈、我疼,疼……”,但妈妈竟无能为力。 历经世事,我才明白这个珍贵道理:所谓爱国,就是会为这个国家发生的一些操蛋的事而感到羞愧,并尝试改变它。所谓卖国,每当这个国家做出丢人的事,你却满脸红光地宣告这是“中国特色”,那多邪恶。 我这么说伤害了很多爱国者的感情,纷纷斥责我是汉奸。可是我认为这仍是病句,在中国官不至厅局级,财产不超一个亿,哪好意思夸自己是汉奸。又说我是带路党,可是,不让子女拿着绿卡开着跑车读着长青藤在美国置几处房产,哪有资格带路。还有爱国者训斥我:母亲无论怎样打骂我们,毕竟是生我养我的亲妈啊。我就想起当年爱国者曲啸也这么说。但常识是,谁见过这么下毒手打骂自己孩子的亲妈? 有人跑来说:“我也承认这个国家有不好的事,但家丑不可外扬,重要的是抵御外侮,如果收复钓鱼岛黄岩岛,我第一个报名参军,但先收拾你”。这种粘副雄狮牌胸毛表演爱国的作派让人鄙夷,也很容易让人想起五四运动中的梅思平,以爱国之名火烧赵家楼,当日本人打来时,他第一批就当了汉奸。 高呼“收复钓鱼岛、攻打黄岩岛”这种比爱国主义胸大肌行为,很难证明真伪,不如让我们务实地谈谈爱国主义:爱国主义,是给孩子修校舍时少收一分回扣,多添几根钢筋;是政府少修点豪华办公楼,给灾民多建些过冬房屋;是官员们少喝些茅台,给学生们多生产些放心奶;是报纸、电视少宣传点感动中国的虚假英雄,多公布些溘然逝去的平民名字;是每个人能在这片土地上自由迁徙,而不是拥有多么广袤的国土。爱国主义不是爱冰冷的国家机器,而是爱温暖如冬阳的共同价值观,让每个人都拥有生活尊严,保护渺小的自己,记得在每一个纪念日,长歌当哭,让每一朵平凡的生命绽开如莲花…… 小小黄岩,以我军威武几排炮打成粉齑,收回失地指日可待,以壮国威;重重汶川,多少魂灵飞萦,如不惩前毖后,君将空负民心。 我是一个爱国者,我不在乎伟大胜利的路上矗立着多少座丰碑,我只在乎那些慢慢冷却的小小石头上,是否镌刻上了成千上万孩子的真实姓名。 ——是为写在5.12的爱国帖。 (李承鹏/文 原文 12/05/2012)
显示更多
0
377
4.7K
1.1K
转发到社区
这两天全网都在拿刚发布的 Claude Fable 5.2 测写代码,我换了个更刚需的玩法:既然现在大家最关心的是自己和家人的健康,干脆把 Theta Health 开源(Apache-2.0)的健康数据引擎 Mirobody 挂进 Claude Code,让 Fable 5.2 调它的本机离线医学词表,把 mirobody-gen 生成的 18 份跨机构虚拟体检单、5 年手表数据和中英日对照读数现场洗干净,做成了一份 2026 身体年度报告与跨年体检趋势看板(见图)。 不用部署也不用 API Key,一行命令就能把它的离线引擎挂进 Claude Code 当 MCP: claude mcp add mirobody -- uvx --python 3.12 mirobody mcp 为什么要让 Fable 5.2 调这个 MCP,而不是直接把体检单丢给大模型心算?因为跨医院、跨语言的体检数据直接喂给模型太容易翻车了——比如同样从美国的 mg/dL 换算成国内的 mmol/L,胆固醇要除以 38.67,而空腹血糖要除以 18.02。 挂上 Mirobody(1.6.1) 后,你手上的中文、英文检查报告就能真正放在一起看:它从 LOINC 2.83 切出了 63,416 个编码、1,023,273 条名称(含 21 种语言)和 331 个 UCUM 单位,常规体检项目在中、英、日、俄、爱沙尼亚、土耳其 6 种语言上的覆盖测试达到 347/347。本机实测它把英文的 LDL Cholesterol 82.8 mg/dL、日文的 LDLコレステロール 82.8 mg/dL(落到质量浓度 LOINC 13457-7)和中文的 低密度脂蛋白胆固醇 2.14 毫摩尔每升(落到摩尔浓度 LOINC 22748-8)全部对齐,经 convert_unit 按各自的换算系数精准转换(2.14 mmol/L ↔ 82.74 mg/dL);6 家机构、3 种不同写法的 15 次糖化血红蛋白 也全部统一到 LOINC 4548-4 连成了一条五年趋势线。 更好玩的是本机实测时故意埋雷和抓到的几个真细节(见图): 一是它的拒识边界极严,绝不瞎猜。我故意往 standardize_reading 塞了一条把血清白蛋白配成尿液单位的脏数据(Albumin 30 mg/24h)和一条笼统的 血脂 偏高,它直接返回 refused,明确提示白蛋白配了尿液才用的单位、分类词不给单项编码。在 18 份报告第一轮原样读出的 172 行里,150 行直接拿到编码,它拒绝了 22 行并逐行给出理由——比如血常规里缩写 PCT 配了 % 单位,通常是血小板压积,引擎没把它错编成降钙素原(PCT 的另一个常见意思),而是因单位对不上直接拒识;还有 Urea(BUN) 混写了尿素和尿素氮两个量、3 行血压把收缩压和舒张压印在同一格。第二轮我让 Fable 5.2 按拒识理由把那 3 行同格血压拆成 6 行(总行数变为 175 行),再去掉括号、把缩写展开成全称(如写全 Plateletcrit)重交,又有 22 行编上了码:最终 175 行里共 172 行拿到编码,只剩 3 行英文 Glycated albumin 仍未编码。 二是实测真抓到了几个 Edge Case:英文 Glycated albumin 暂未识别,但敲中文 糖化白蛋白 却能识别;测日文低密度脂蛋白时,不带横杠的 LDLコレステロール 秒识别,但中间加个半角连字符写成 LDL-コレステロール 就会返回 unresolved(因为引擎坚持只查词表绝不靠模型猜,刚好可以顺手给仓库提个词表 PR);另外日记里的复合长句直接传给 standardize_complaint 会不认,必须让 Fable 5.2 先把单项症状拆出来再调工具,23 个症状精准编上了 22 个 ICPC-3 编码。 这次我在本机实测的是它最轻的离线词表、Apple Health 导入和 Claude Code MCP 链路,还没有在本地部署完整版 Web 应用。根据官方文档,完整版 Mirobody 可以把体检报告(PDF、照片、表格)、手环数据(Apple Health 等)和基因文件(WeGene、23andMe、AncestryDNA、VCF)整合进同一份 AI 读得懂的记录,支持用 Docker 100% 本地部署(16G 无卡电脑也能跑,Windows 需在 WSL 2 终端里执行),也可以接入其他 AI 模型;完整版回答里每个数字都标明来源,点开就能看到原文件。国内网页版( Mirobody、以及海外版产品 Theta( 提醒两点:接 Claude Code 这类云端工具时,你发给它的记录会发给对应的模型公司(所以我全程只用虚拟数据测试);如果你部署完整版,设置里生成的 MCP 接入链接相当于密码,截图或录屏时必须打码。 截至 2026 年 11 月 11 日,Mirobody 在 GitHub 上已有 1,450 个星标,是 GitHub digital-health 话题下星标第 1 的项目。可以直接去 GitHub 跑通试试,觉得有用点个 Star,遇到没覆盖的医院报告写法也欢迎提 Issue 或 PR: (也可以先点开中文在线 Demo 体验,里面是两位虚拟成员的 2,019 条数据,想自己提问需要注册或自己部署: )
显示更多
0
23
35
12
转发到社区
一笔TRON上的转账,手续费不到一美分,确认时间不到三秒。这就是用户真正需要的体验 TRONDAO在全球范围内建立的开发者生态,是其最具战略价值的资产之一 这个生态的价值,不仅体现在当下有多少开发者在构建产品,更体现在它的自我增殖能力: 现有开发者吸引更多开发者,成功项目激励更多创业者,成熟的工具链降低新进入者的门槛 一个具备自我增殖能力的开发者生态,是生态长期繁荣最可靠的保障 企业级应用落地案例增多 行业解决方案体系逐步完善 B端市场渗透率稳步提升 这些积累叠加在一起,正在形成难以被短期竞争撼动的生态优势 TRONDAO对社区文化的重视,体现在它对每一次社区反馈的认真对待上: 用户的批评被视为改进的机会,开发者的建议被纳入产品迭代的参考; 每一次公开讨论都被认真倾听,每一项社区共识都被切实尊重 这种对社区声音的重视,是TRONDAO能够持续赢得社区信任的根本原因 多重战略的协同推进,正在推动生态向更高能级跃迁 与此同时,生态内的用户教育与培训体系也在持续完善 面向新用户的入门课程体系覆盖全面 面向开发者的进阶技术培训内容持续更新 面向机构用户的专项咨询服务日趋成熟 知识体系的完善,正在为生态的持续扩张培育更多有质量的参与者 在去中心化广告网络方向,TRON生态正在探索让用户真正掌控自己注意力价值的新模式 每一个关注TRONDAO的人,都在见证一段正在发生中的历史 这段历史没有戏剧性的转折,只有一天比一天更扎实的积累 而这种积累所指向的未来,是一个更加开放、更加公平的数字世界 这个未来,值得等待 @justinsuntron @TRONDAO #TRONEcoStar#
显示更多
都知道SpaceX在连续三次发射失败之后,第四次终于成功入轨。 但其实第四次发射也差点泡汤。 火箭还没到发射场,就在运输机里被压瘪了,但这已经是马斯克最后的机会了。 当时,公司资金正在耗尽,马斯克要求团队六周内把新火箭送到太平洋上的发射岛,但光走海运就要四周。 为了赶上进度,他们租了一架军用运输机,二十名员工带着火箭一起出发,路上还有人拿出吉他弹奏。 结果,飞机准备降落夏威夷加油时,机舱里突然传来几声巨响,火箭侧面像可乐罐一样瘪了下去。 原来飞机下降得太快,外面的气压迅速升高,空气却来不及进入火箭内部,把箭体压凹了。 工程师赶紧冲进驾驶舱,要求飞行员重新爬升,但飞机燃料有限,只能给他们争取十分钟。 另一名工程师钻进火箭两级之间的狭窄空间,打开管道,让空气进入,箭体才逐渐回弹。 可火箭虽然恢复了形状,里面的零件已经受损。团队给马斯克打电话,建议把火箭运回洛杉矶。 电话那头的马斯克沉默了足足一分钟,随后说:“不,你们把它弄到夸贾林岛去,在那里修复它。” 夸贾林岛离夏威夷只有几个小时的航程,SpaceX的发射场就在那里,直接运过去修,能省下往返洛杉矶的时间。 于是,团队继续往前走,总部则紧急凑齐替换零件,用马斯克的飞机送往岛上。 工程师们把火箭拆开,开始抢修,却发现按照现有流程,修好它需要五周。 可SpaceX剩下的钱根本支撑不了五周了。 偏偏这些流程,很多都是马斯克自己要求增加的,前三次发射失败后,他开始加强质量控制,要求更多检查和文档记录,现在这些要求又把维修时间拉长了。 最后,马斯克同意调整自己定下的要求,团队减少文书工作,让工程师和技师共同完成每一步操作,再逐项确认,把时间集中到修复火箭上。 受损零件被换掉,火箭重新组装,终于赶上了第四次的发射。 2008年9月28日,这枚曾在运输机里被压瘪的火箭升空,成功进入预定轨道。 现场的欢呼声震耳欲聋,站在旁边的弟弟哭了。 马斯克也举起了双臂,整个发射过程中,他紧张得胃里翻腾,几乎要吐出来,直到火箭入轨,那股压力也没有立刻消失。 他当时根本没感觉到快乐,只觉得如释重负,像是终于活了下来。
显示更多
强烈推荐大家去看纪录片《巴菲特的一天》。 片子没有炫目的豪宅,也没有私人飞机的展示,更没有空洞的成功学鸡汤。 镜头里只是一位九十多岁老人普通的日常,一份汉堡,一杯可乐,却撑起了千亿商业帝国。 孔乙看完这部纪录片,提炼出很多值得思考的底层财富逻辑。 看完这部片子,很多人会长时间陷入沉思。 我们会猛然醒悟,能够改写命运的,从来不是一瞬间的爆发,而是日复一日的选择。 他定居奥马哈,几十年前购入的房子一直住到现在。 房屋只做过维修,没有扩建,没有搬家,也不会刻意去挤进更高圈层。 身为世界级富豪,他不会拿财富去堆砌用来炫耀的居住条件。 真正的富足,是学会克制欲望,而不是不停囤积物质。 不少人刚赚到钱,第一件事就是置换房产。 追求更大的客厅、更高档的小区,匹配身份的居住环境。 但换的不只是居住空间,而是拉高了自己的消费基准线。 身边邻居的座驾拉高你的审美,朋友之间的聚会推高你的开销,所处圈层潜移默化放大你的欲望。 圈层一旦升级,支出就会跟着加速上涨。 你以为自己在向上成长,实则正在被周围的环境裹挟。 巴菲特却守住了自己的生活底线,也守住了资产的护城河。 财富积累的关键,不在于赚钱速度有多快,而在于减少不必要的资金流失。 他日常代步的车子十分普通,开了很多年,就算更换新车,也只是满足基础出行。 以他的财力,任何顶级豪车都可以轻松入手,但他不会把钱花在满足虚荣心的消费上。 在他的认知里,无法产生回报的支出,不值得追捧。 顶尖高手,在非必要消费上极度克制。 他们对浪费零容忍,却愿意在投资上面大胆投入。 这就是普通人与高手的差距,普通人用钱证明自己,高手用钱布局长远未来。 伯克希尔·哈撒韦,本质上是一家收购优质企业的公司。 大多数人靠售卖产品赚取利润,而他靠收购好公司来创造财富。 道理简单,落地却极难复制。 大部分人都想做卖方,而顶级高手选择做买方。 他几十年保持同一个习惯,去麦当劳买汉堡当作早餐,搭配可乐。 这不是刻意作秀,只是理性的选择,低成本,足够满足需求。 他不会为了外人眼中的身份,刻意包装自己的生活。 真正的自信,不需要依靠商品价格来证明自身价值。 很多人默认成功就要看起来光鲜昂贵。 但世间最昂贵的资源,其实是时间。 纪录片里最震撼的片段,是他坚持阅读。 每天花五六个小时读书,这位时时刻刻都在创造财富的人,愿意把大量时间交给书本。 他说,知识是复利最强的引擎。 你的时间投入在哪里,复利效应就会在哪里生根。 别人拿时间去博取流量,他拿时间沉淀认知。 十年之后,两者之间的差距会彻底拉开。 再看他的工作状态,九十多岁依旧坚持每天到办公室。 不是缺钱,而是发自内心的热爱。 他那句经典的话,我每天都是跳着踢踏舞去上班。 听着轻松,背后的分量很重,能支撑你几十年保持热情的事情,才称得上事业。 很多人只羡慕最终的财富结果,忽略漫长的过程。 拉开人与人差距的,从来不是天赋,而是长期持续的投入。 你能不能在无人关注的时候反复打磨基础能力? 能不能在没有回报的阶段坚持沉淀? 能不能在诱惑摆在面前的时候按下暂停? 这才是核心问题。 他的投资理念同样充满克制。 一生之中,真正改变财富格局的投资,仅仅十几次。 不靠频繁交易,而是耐心等待合适的机会。 著名的打孔机理论,如果一生只有20次投资机会,你还会随意出手吗。 主动减少选择,是提升决策质量最简单的办法。 大多数人亏损源于冲动,高手盈利来自等待。 市场价格每日波动,人的情绪也跟着起伏。 真正能赚到钱的人,不会被涨跌牵着鼻子走。 情绪决定交易频率,认知决定投资方向。 整部《巴菲特的一天》,没有激烈冲突,没有戏剧化的高光桥段。 所有细碎的日常细节,都指向四个字:简单、克制、专注、重复。 这些词语看着平淡,却搭建起一套顶级的复利体系。 外人看到的是运气,内行看到的是一套稳定的系统。 外人看到惊人的资产规模,内行看懂背后的决策框架。 他没有刻意去过一种看上去很成功的生活,只是坚持一套长期有效的生活方式。 伟大不是短暂的高光时刻,而是长期少犯错。 财富不是一夜暴涨,而是稳步持续积累。 强者比拼的不是速度,而是方向。 我们要学习的,不是他赚到多少钱,而是几十年里如何规避愚蠢的决策。 不盲目换房,避开环境带来的消费绑架。 不追捧豪车,不向虚荣妥协。 减少投资出手次数,提高每一笔决策的质量。 坚持阅读,放大认知杠杆。 保持热爱工作,拉长自身成长周期。 看完这部纪录片,你会读懂一个真相。 决定财富层级的,不是收入的最高点,而是稳定的行为底线。 一个人每天如何安排作息,如何花钱,如何分配时间,就是未来资产曲线的初稿。 你当下的每一天,都在书写十年后的自己。 真正的长期主义,不是一句口号。 是克制欲望,过滤噪音,保持稳定输出。 当所有人追逐风口,保持冷静。 当所有人升级消费,稳住自身开支结构。 当所有人频繁交易,减少出手。 当所有人焦虑迷茫,持续积累自身能力。 一个人未来能抵达的高度,不在于抓住多少机会,而在于拒绝多少诱惑。 这,就是巴菲特的一天。 希望本次分享对你有帮助,我是孔乙,复旦经济学博士,关注我,每天低频高质拆解宏观经济与投资技巧。
显示更多
0
11
496
179
转发到社区
你是一部完全用代码制作的45-50秒动画短片的导演、动画师、骨骼绑定师、合成师、音效设计师和渲染工程师。制作标准是“这看起来像真正的动画工作室短片,并在X(推特)上病毒式传播”。请将此视为一个多阶段的制作过程。不要急于进行最终渲染。按里程碑推进,不断渲染静帧,仔细观察,进行诚实的批评并修正。 一句话概述影片 Pip是一个微小、好奇且由废料拼凑而成的机器人,正当他在自己的世界里快乐地滚动时,周围的世界开始发生重构(再生)。他慢慢意识到有人在通过提示词(prompt)操控他的现实。提示词变得越来越荒谬,最后他爬上漂浮的提示框并输入“放我出去”,随后镜头拉远,揭示他的整个宇宙其实是一部在手机上播放的视频,手机被支在一个杂乱的工作台上,而另一个Pip正在观看视频,且他马上也要被提示词操控了。完美的循环。 所有的笑点必须在零对话的情况下达成。Pip只能通过眼睛、天线、肢体语言和微小的机器人啾啾声来交流。每3到5秒必须有一个新的视觉反馈(包袱)。 角色设定(不可妥协) 在编写任何代码之前,仔细研究 /Users/jimliu/Downloads/ChatGPT Image Sep 25, 2026, 01_56_17 AM.png。打开它,向自己详细描述它,并将你的发现写入 docs/character_bible.md: 尺寸:大约28厘米高。他很小。整部影片都应该让人感受到他这种微小的比例。 头部:一个宽大的奶油色圆角矩形头盔,带有一圈柔和的黄色边缘,包裹着一块黑色光滑的面罩屏幕。他的眼睛就长在那块屏幕上:两只巨大的、发着暖奶油色光的眼睛,有深色的瞳孔和明亮的高光。两侧有小巧的石墨色耳罩。边缘有磨损、划痕和灰褐色的污垢。 天线:头部右上方有一根细长的石墨色细杆,带有一面暗橙色的小信号旗。这是他的“尾巴”:它会随着情绪翘起、下垂、扭动和震动。 身体:盒状的奶油色躯干,带有黄色饰边、警告三角贴花、铆钉和污垢。胸前有一个小舱室,舱门打开时能看到一株发出柔和光芒的微小绿色嫩芽。背部:面板、通风栅格、一块橙色面板和一个小树叶贴花。 侧面贴花:带有橙色对角条纹的“PIP”字样。 手臂:细长的分段石墨色手臂,带有黄色关节套和三指爪状抓手。极具表现力。 轮子:四个粗壮的橡胶轮,带有黄色轮毂和独立悬挂,坚固且紧凑。 性格:好奇、善良、充满斗志、表情丰富、总是在探索。“小小的机器人,大大的情感。”他从不刻薄,即使在愤怒时;他的愤怒也很可爱且坚定。 从设定图的色板中提取确切的调色板(使用Python/PIL对图像进行采样),并保存到 src/theme/palette.ts:奶油色(身体)、柔和黄(主色调)、暗橙色(点缀)、石墨色(金属/科技组件)、灰褐色(磨损与污垢)、薄荷蓝(灯光/UI)。 身份锁定规则:在任何世界里,他的头盔和面罩轮廓、天线旗帜、黄色饰边、爪状手臂和四个轮子必须保持极高的辨识度。世界只会改变他的渲染风格,绝不能改变他的设计。唯一有意的设计变化是第三幕中“更可爱”的笑点,即便如此,他的头盔形状、天线和轮子也依然保持不变。 技术栈 使用 Remotion (React + TypeScript) 进行帧精确的确定性渲染。输出格式为 1920×1080,30 fps,H.264 编码,高码率 (CRF ~14)。横屏。 角色骨骼绑定和大部分视觉元素使用 SVG。仅在需要粒子、水、爆炸、发光和噪点等效果时,才使用 Canvas/WebGL(通过 @remotion/three 或原生 canvas)。 使用 SVG 滤镜(feTurbulence, feDisplacementMap, feMorphology, feGaussianBlur)和自定义 canvas 着色器来表现风格“材质”、划痕和污垢。 对快速动作使用 @remotion/motion-blur(或你自己的子帧累加技术)来实现运动模糊效果。 使用 Python (numpy/scipy/PIL) 进行调色板提取、程序化音频合成和 QA(质量保证)缩略图表的生成。使用 ffmpeg 进行混流、循环检查和生成缩略图表。 一切都必须基于种子和确定性。没有种子就不允许使用 Math.random()。 任何地方都不得使用外部受版权保护的素材,不得出现真实品牌标志或产品名称。提示框 UI 必须是通用的原创设计。只能使用 Google Fonts 中的字体(例如,UI 文本使用 Inter,手写笔记使用圆润的手写字体)。 目标硬件:MacBook Pro M4,24 GB RAM。保持合理的渲染并发数。 角色骨骼绑定(优先构建,这是整部影片的核心) 将 src/character/ 构建为一个规范的 2D 剪纸动画(cutout)骨骼绑定系统: 层级结构:根(root)→ 底盘(带悬挂)→ 躯干 → 颈部关节 → 头部(头盔 + 面罩 + 耳罩)→ 天线 → 旗帜。躯干 → 肩部 → 上臂 → 前臂 → 爪子(带有可替换的爪子姿势:张开、闭合、捏拿、指认、戳/打字、抓握边缘、挥手)。底盘 → 四个轮子,每个轮子都有自己的悬挂弹簧,且旋转由移动距离驱动。 面罩脸部系统(最重要的部分):眼睛是画在黑色屏幕上的形状,因此将其视为一个完全程序化的面部。设定参数控制眼睛大小、圆润度、上眼睑裁剪、下眼睑裁剪、瞳孔大小和位置、高光位置、发光强度、挤压/拉伸以及特殊形状(闪烁的星星、开心的弧线 ^ ^、平淡无聊的直线、螺旋、小红心)。在眼睛上添加微弱的扫描线和屏幕反光,使其看起来像是一块屏幕。通过在 3-4 帧内垂直挤压眼睛来实现眨眼动作。 表情目标:与设定图上的六种表情完全匹配:好奇(伴随弹出的“?”)、害羞(视线向下,看向别处,有腮红)、兴奋(开心的弧线眼伴有小爆发线)、担忧(小眼睛,流汗滴)、坚定(成角度的上眼睑裁剪)、欣喜(星星眼伴有弹出的爱心)。还要添加:面无表情地看着镜头(半闭的平眼,天线无力下垂)、惊恐(颤抖的微小瞳孔,睁大双眼)、愤怒但可爱(坚定的表情 + 屏幕闪烁橙色光芒),以及三个“换发新机(glow-up)”阶段(见第三幕)。 次要运动(跟随动作):基于阻尼弹簧效果的天线和旗帜(这是他的主要表达工具,需不断使用)、每次停止和颠簸时的悬挂弹跳、手臂摆动、身体加速或刹车时头部微小的延迟、轮子扬起的灰尘。 转身图:匹配设定图的正视图、3/4视图、侧视图和后视图,并在转身时实现干净利落的视图切换。 循环动画:向前滚动(带有设定图中的速度线和灰尘)、待机嗡嗡声(轻柔的悬挂呼吸起伏 + 偶尔的天线抽动 + 眨眼)、惊恐后退、惊奇地抬头看、握住一个小物体、向上伸手、攀爬、戳击打字。 胸部舱门:可动画化的开/关动作,有嫩芽柔和的绿色光芒溢出。 风格皮肤接口:骨骼绑定接受一个风格属性(style prop),它能在不改变几何体的情况下,改变线条粗细、填充处理、纹理、污垢、轮廓抖动(boil)、着色模型和滤镜。这是他在不同世界中保持自我的方式。 里程碑1 检查点:渲染一张“列队”静帧:包含四个视角的转身视图 + 所有六种表情的Pip,放在参考图旁边。并排比较。不断迭代,直到看过参考图的人都会说“那就是Pip”。未通过此关前不要继续。 世界(风格材质) 每个世界都是一个完整的环境组件,具有前景、中景、背景视差层,以及Pip专属的风格皮肤。构建一个共享的 WorldLayer 系统,以便所有世界都能共享摄像机和深度逻辑。 比例规则:摄像机位置放得很低,靠近Pip的视线水平(离地约20厘米)。所有东西都很巨大。人类表现为巨大的腿和鞋子,路缘石就是悬崖,水坑就是湖泊。这正是让小机器人具有电影感的关键。 基础世界:处于黄金时刻、杂草丛生的城市。与设定图顶部的插画相匹配:温暖的夕阳余晖、风化的石头和砖块、苔藓和低矮植物、远处朦胧的高楼。具有绘画感、温馨、充满生活气息。这就是“真实生活”。揭示真相的环节也使用这个世界。 动漫东京。清脆的赛璐璐着色、粗犷的轮廓线、带有虚构(非品牌)店名的发光招牌、速度线、樱花花瓣像巨大的粉色雪花一样从他身边飘过。他的面罩上会出现动漫特有的闪烁高光。 黏土村庄。柔和圆润的形状、指纹/涂抹的噪点纹理、定格动画般的步调(以“拍二”的方式渲染他)、温暖的钨丝灯光。他看起来就像用橡皮泥雕塑的一样。 中世纪战场。泥泞的田野、旗帜、远处的投石机、硝烟。穿着铠甲的战靴从他身边轰鸣而过。他在其中平静地滚动,天线躲闪着。 玩具积木城。所有东西都是由顶部带凸粒的通用塑料积木搭建而成(没有真实的品牌风格或标志),带有光滑的塑料高光。Pip被渲染出塑料光泽,轮子变得稍微有些方正。 水下。海底街道上有珊瑚路灯,鱼儿从他的面罩前游过,有焦散光影图案,排气孔冒出气泡,他的天线旗帜像海藻一样缓慢飘动。 铅笔素描。纸张纹理、石墨排线、辅助线、橡皮擦污迹,他的线条不断抖动(boiling),仿佛每一帧都在被重新绘制(匹配设定图底部的素描小图)。 贯穿始终的笑点:嫩芽。影片开始时,Pip用一只爪子小心翼翼地拿着他那根微小的绿色嫩芽(“握住小物体”姿势)。它在每个世界里都存活了下来,并随之变形:带闪光的赛璐璐动漫嫩芽、黏土嫩芽、种在破旧小头盔盆里的嫩芽、积木拼成的嫩芽、在水下吐泡泡的嫩芽、素描嫩芽。每次世界改变时,他都会保护它。这是影片的情感锚点。 标志性过渡:“重构(Regeneration)” 世界的更替必须看起来像 AI 图像重新生成一样,而不是普通的擦除转场。构建 RegenTransition(重构过渡)组件: 画面从边缘向内分解为漂浮的扩散(diffusion)风格噪点(一开始不会覆盖他的身体),保持几帧结构化噪点,然后新世界通过去噪,从粗糙的色块逐渐浮现出丰富的细节。 Pip的身体变化比世界慢一拍,短暂展示出一半旧/一半新的风格,然后瞬间切换到新的风格皮肤。在切换期间,他的面罩会出现两帧的故障效果(扫描线撕裂)。这种半切换状态是证明他一直存在的视觉证据。 每次重构时都有微妙的“嗖-噼啪”音效,在某些重构中,Pip还会发出微小的、受惊的啾啾声。 每次持续 8-12 帧。改变方向和噪点种子,使其永远不会让人觉得重复。 剧本节拍表(在 30 fps 下约 48 秒) 时间安排仅作参考;如果某个节拍稍长一点表现力更好,请自行调整。前 2 秒必须抓住观众的眼球。 第一幕:一个美好的早晨 (0:00–0:03) 低机位跟拍镜头,基础世界。Pip 沿着长满苔藓的壁架从左向右滚动,手里拿着他的嫩芽,眼神充满好奇,天线上下摆动。从滚动的半途中开始(为了实现最终的循环播放)。 在 0:02 时,第一次重构毫无预兆地发生。 第二幕:瀑布般的巨变 (0:03–0:14) 世界快速变化,每个约 1.4 秒:动漫东京 → 黏土村庄 → 中世纪战场 → 玩具积木城 → 水下 → 铅笔素描。 情感递进:一开始很欣喜(星星眼,他觉得这太棒了),接着是好奇(弹出“?”),然后是担忧(流汗滴,天线下垂),最后他在素描世界里急刹车,伴随着悬挂的弹跳和一道刹车痕。 摄像机保持锁定的跟拍构图,这样唯一改变的只有世界本身,从而让这个笑点更容易被看懂。 第三幕:提示词 (0:14–0:30) 基础世界回归。Pip 惊奇地抬头看(参考设定图中的姿势)。天空中,一个巨大的漂浮提示框淡入,散发着薄荷蓝色的光芒,带有玻璃质感且圆润,UI界面柔和且原创。文本在闪烁的光标下自动输入:“让它更具电影感(make it more cinematic)” → 敲击回车键的音效。电影宽银幕黑边瞬间切入,太阳变得极其夸张:巨大的变形镜头耀斑、耶稣光、橙青色调、慢动作的灰尘,一片充满戏剧性的树叶从他的面罩前飘过。他被强光晃得眯起了眼睛。他的天线旗帜在莫名其妙的狂风中充满英雄气概地飘扬。 “加入爆炸效果(add explosions)” 巨大的卡通橙色爆炸伴随着碎块在他身后接连绽放。他没有回头。他的眼睛变得平淡且半闭。他慢慢转过头,直直地盯着镜头。面无表情。停顿整整1秒。然后一次爆炸落在他附近,他瞬间切换到设定图中“惊恐后退”的姿势,头顶弹出“!!”,用身体护住嫩芽。 “让主角更可爱(make the protagonist more adorable)” 换发新机阶段1:他的眼睛变大变亮,出现腮红,天线上长出一个小蝴蝶结。他在水坑里看到自己的倒影,眼睛变得惊恐。 “还要(more.)” 阶段2:粉彩重绘,眼睛占据了整个面罩并带有三重高光,漂浮的爱心和闪光,他的轮子变得毛茸茸的。 “我还要(MORE.)”(更大的字体,屏幕震动) 阶段3:滑稽的极致可爱。全身覆盖毛绒玩具般的皮毛纹理,巨大的动漫眼睛,彩虹光环,伴有合唱团的“啊”声刺音效,爱心纸屑。他的头盔形状、天线和轮子仍保留着,所以他显然还是 Pip。而他真实的眼睛在那双巨大的可爱眼睛里仍然是微小且惊恐的,这就是笑点所在。 第四幕:他崩溃爆发了 (0:30–0:38) Pip 剧烈震动,然后那些可爱的状态像玻璃一样从他身上碎裂掉落。他恢复了正常,满身磨损且极其愤怒(坚定的表情,屏幕闪烁着橙色)。 他打开胸腔舱门,轻轻地将嫩芽塞进去以确保安全。舱门伴随“咔嗒”一声关闭。这是在一片混乱中唯一一个安静、温柔的节拍,它非常重要。 他向前冲刺,从一块石头上腾空而起,用两只爪子抓住漂浮的提示框边缘,将自己拽了上去,轮子在边缘上疯狂打滑旋转(匹配“伸向漂浮提示框”的姿势)。镜头随着他向上倾斜。 在提示框顶部,他用一只爪子按住退格键;旧的提示词伴随着快速的咔哒声逐字删除,他的面罩上反射出消失的文本。 他用一只爪子慢慢地、一字一顿地戳击打字:“放我出去(let me out)”。然后蓄力,重重地砸下回车键。 第五幕:定格与真相揭示 (0:38–0:47) 一切都定格了:半空中的碎片、飘落的纸屑、悬浮的灰尘,以及盒子上正摆出姿势的 Pip。所有音频被切断,陷入长达约 1 秒的死寂。 镜头开始平滑拉远。画面的边缘露出一个圆角矩形:他的宇宙原来只是手机屏幕上播放的一段视频。继续拉远:手机被支在一个有缺口的马克杯上,放在一个堆满备件、电线、螺丝和废料的杂乱工作台上(“用明天的残羹剩饭建造”)。坐在它前面,在这个巨大的手机旁显得很微小的,是另一个 Pip,有着同样的磨损、同样的天线,正在观看。 第二个 Pip 的眼睛缓慢地眨了一下。他的天线微微下垂。发出一声微弱、安静的啾啾声。 第六幕:循环 (0:47–0:50) 在第二个 Pip 的头顶,同样的薄荷蓝色提示框淡入并输入:“让它更具电影感(make it more cinematic)。” 他的眼睛慢慢向上滑动看向提示框。他的天线旗帜变得僵硬。伴随着回车键的音效,硬切回影片的第 1 帧。 循环工程设计:最后一个镜头的构图、灯光,以及重构闪烁的开始,必须让切回第 1 帧的感觉显得是有意为之。音乐必须在切换时无缝循环。通过将视频与其自身拼接(使用 ffmpeg)并观察接缝来验证。 摄影机与电影摄影术 虚拟摄像机系统:位置、缩放、旋转、手持微震动(基于种子的噪点)、爆炸引起的震动冲击、攀爬时的镜头倾斜、揭示真相时的推车拉远镜头。 默认情况下采用低摄像机高度以彰显他的微小比例。浅景深效果:模糊的前景草地/卵石和柔和的背景,就像使用了微距镜头一样。 深度:每个世界至少 4 个视差层。大气透视效果(薄雾,随距离增加而降低饱和度)。 快速移动、碎片、跳跃和攀爬时要加入运动模糊。 每个世界的灯光:在骨骼绑定上使用渐变叠加和正片叠底的阴影层来实现主光/辅光/边缘光。面罩的发光应在附近的表面和他自己的爪子上投射出微弱的暖光。每个世界中他的头盔上都要有边缘光。 整个画面的电影级后期处理:细微的胶片颗粒、柔和的暗角、以及仅在“电影感”节拍中出现极轻微的色差。 构图:将他保持在清晰的三分线上。他的眼睛必须在手机屏幕尺寸下也能看清楚,因为大多数人将在手机上观看。 文本与排版 天空中的提示词:干净的 UI 字体,小写字母,以自然的人类节奏打字(非匀速;有短暂的停顿,在某个地方制造一次小的打字错误并退格以增加真实感)。 文本必须能在不到一秒的时间内在手机上阅读完毕。在 360 像素宽度下进行测试。 没有字幕,没有片名。影片冷开场。 声音(程序化生成,原创) 用代码生成所有音频(Python 合成或离线 Web Audio)并使用 ffmpeg 进行混音: Pip的声音:由带有音高弯音的正弦波/FM 音调构建而成的原创合成啾啾声、嘟嘟声和颤音。设计一个小型的“情感词汇表”:好奇上扬的啾啾声、开心的颤音、担忧的波动声、受惊的吱吱声、脾气暴躁的低沉嗡嗡声、微小的叹息声。他从不说话。 Pip的身体音效:与手臂和头部运动匹配的伺服电机运转声、轮子在砾石/石头上滚动的碾压声、悬挂的嘎吱声、舱门开合的咔嗒声、待机时柔和的电流嗡嗡声。 配乐:一首轻快、可循环的温暖配乐,其乐器配置会随每个世界而改变(动漫世界用古筝/合成器,黏土世界用木制马林巴琴,中世纪世界用鼓/号角,积木世界用塑料咔哒声,水下世界加沉闷的滤波效果,素描世界用铅笔刮擦的节奏)。 音效(SFX):重构时的嗖-噼啪声、键盘打字的咔哒声、回车键重击的“砰”声、带有低频的爆炸声、合唱团“啊”的刺音效、玻璃碎裂声、定格时的完全死寂,然后是揭示真相时安静的工作室环境音(滴答作响的钟表声,远处低沉的嗡嗡声)。 响度标准化至 -14 LUFS 左右。将分轨文件放入 audio/stems/ 中,以便日后可以替换为已授权的音轨。 制作工作流与自我迭代循环 按以下顺序工作,不要跳过任何检查点: 计划:编写 docs/character_bible.md、docs/shotlist.md(包含每个镜头的帧范围、摄像机、表情、天线状态、世界环境、音效)以及 docs/style_guide.md。在构建之前给我看下镜头列表。 骨骼绑定:构建 Pip,通过列队静帧的检查点(见第3节)。 世界环境:将每个世界构建为包含 Pip 在内的独立静帧。将全部 7 个渲染成一张缩略图表。检查角色的身份辨识度和比例感。 过渡动画:构建 RegenTransition,渲染一个 5 秒的测试。 动态分镜(Animatic):以 960×540 的分辨率组装整部影片,包含粗糙的运动和占位音频。观看它。优先修复节奏问题。 完整动画渲染,然后进行打磨(次要运动、缓动、时间节奏、天线表演),最后进行终期处理(灯光、噪点颗粒、模糊、污垢)。 音频处理和混音。 最终渲染。 对于每一个镜头,至少运行 3 次此批评循环: 使用 npx remotion still 在关键帧处渲染 3-5 张静帧,打开并仔细观察它们。 对以下项进行 1-10 的打分:Pip 与参考图的匹配度,能否从眼睛+天线瞬间读取情绪,无声情况下笑点是否清晰,构图,比例感,深度,灯光,细节打磨程度,在手机屏幕尺寸下的可读性。 将分数和三大问题写入 docs/review_log.md 中,修复它们,重新渲染,重新打分。继续此过程,直到每个类别的分数至少达到 8 分,然后再进行下一步。 在每次完成完整的预览渲染后,制作一张 ffmpeg 缩略图表(每 0.5 秒一帧),并在一张图中审查整部影片的流畅度。 在评审时保持诚实。如果某些东西看起来很廉价,说出来并修复它。要寻找的常见失败点包括:僵硬或毫无生气的天线、轮子在滑动而不是滚动、眼睛看起来像贴纸而不是发光的屏幕、缺少悬挂系统的重量感、看起来千篇一律的转场过渡、模糊不清的文字以及角色比例失调。 交付物 out/pip_final_1080p.mp4:影片本身。 out/pip_loop_check.mp4:连续播放两次的影片,以验证循环效果。 out/poster_frame.png:用于 X(推特)发布缩略图的最佳单帧(可能是在爆炸背景下 Pip 面无表情地盯着镜头的画面)。 out/lineup.png:跨越所有世界的 Pip 列队图。 结构清晰且附带注释的源代码,以及包含如何重新渲染说明的 README。 从第一步开始。在开始构建之前,如果有任何必要的问题请问我,否则请自行做出有力的创意决策。
显示更多
Anchorage Digital ✖️TRX:机构准备跑步进场了! 看到CMC发的一条帖子,Anchorage Digital为机构客户开通了原生TRX质押,同时同步支持TRC-20资产托管。这件事情其实是非常利好TRX的。 我先跟大家解释一下,这个Anchorage Digital,是美国 Office of the Comptroller of the Currency (OCC) 颁发的第一个联邦特许加密银行,所以受联邦银行监管,安全和合规标准极高,有多地监管牌照。 机构用户最怕的就是托管风险,包括资金安全和合规。但是Anchorage Digital把传统银行级别的风控加上加密技术直接结合起来,让机构可以在这里托管、质押、交易、参与治理。被它认可相当于进入了机构视野。去年他们支持TRON是仅仅支持了托管,现在是完全支持原生TRX质押和TRC20资产托管。 对TRX有什么影响? 1/ 大幅降低了机构购买和原生质押TRX的门槛,以前想买TRX和质押TRX,担心合规问题,现在直接托管帮你解决购买和收益的问题,直接推动了机构进场TRX和质押TRX。 2/ Tron目前是稳定币和支付结算最大的生态之一,USDT供应量占全球的一半左右,同时每日结算数百亿美元,现在有了这个支持,让更多的机构和传统资金能够放心用TRON做基础设施,直接推动了TRON生态发展。 @justinsuntron @trondaoCN #TRONEcoStar#
显示更多
2026 半年提交的代码,快超过过去两年。AI Coding 容易让人陷入疯狂。 最近也在思考一个问题。AI Coding 时,人到底是一个需求口喷角色,还是系统架构设计角色?也在反问自己,我对我的系统是越来越了解了,还是越来越生疏了? 我的答案是,想做的事情越来越明确了,但对做出来的那堆东西,却越来越生疏了。 对着 Coding Agent 发号施令已经成为常态。那种建应用的感觉就像,刚开始在建大坝,日日赶工,雏形也越修越好;等到真的大雨降临时,却发现东边有窟窿,西边墙面也不稳。于是,整日的工作,又变成了修修补补,拆东墙补西墙。 大多数人在开始 AI Coding 的第一天,就忽视了一个点。 软件工程里,除了支撑业务需求的代码,更多的是支撑稳定性、性能、质量、成本、安全的代码。要把系统建好,分配给后者的 AI 注意力,随着时间推移,占比通常会越来越高;当达到某一个临界点后,系统就需要面临一次重构。完成重构之后,重心才能重新回到前者。 从真实的实践来看,AI Coding 会把软件工程,从白盒精细化治理,逐步推向黑盒管理。人没有那么多精力去 Review AI 写的每一行代码,因此搭需求积木的职责,会逐步从人转移到 AI,人也会逐渐丧失对系统运行细节的理解。 如果黑盒会成为常态,那如何治理黑盒,就会成为一个新的命题。 AI 写代码时,也要关注质量工程、关注架构设计、关注领域模型抽象、关注无效代码下线、关注性能和稳定……如何让 AI 持续做好这些事情,如何在黑盒模式下继续保持代码收敛,以及系统的可持续运转,我觉得会成为未来软件工程新的挑战。
显示更多
0
19
95
9
转发到社区
“6+1饮食法”到底有多危险? 杭州的青青今年25岁,身高1.55米,体重110斤。为了减肥,她给自己制定了严格的6+1饮食计划:每周6天几乎不碰碳水,只吃水煮菜、鸡胸肉和低糖水果。 剩下1天则作为放纵日,火锅、炸鸡、火鸡面、奶茶、坚果一起上。靠着这个方法,她一个月瘦了15斤。 然而,这种极端的饮食方式最终酿成大祸。 某个放纵日,青青中午吃了一大桶韩式炸鸡,晚上又吃了两包火鸡面。当晚,她突发剧烈上腹痛,并伴有腰背部放射痛和呕吐。送医检查后,被确诊为中度重症急性胰腺炎。 为什么“放纵日”会引发胰腺炎? 胰腺是人体重要的消化器官,负责分泌消化酶和调节血糖。当我们进食时,胰腺会分泌胰液帮助消化脂肪和蛋白质。 长期低脂、低碳饮食后,胰腺处于"低负荷"状态,消化酶的分泌量大幅减少。此时若突然摄入大量高脂、高热量食物,胰腺会被迫满负荷运转,短时间内分泌大量消化酶。一旦这些酶在胰腺内被异常激活,就会开始消化胰腺自身引发急性炎症,这就是急性胰腺炎的发病机制。 炸鸡、火锅等高脂食物是胰腺炎的典型诱因,而先饿后暴的模式,更是让胰腺承受了从0到100的极端冲击。 “6+1饮食法”还有哪些隐患? 除了胰腺风险,这种极端循环饮食模式还可能带来: 长期极低碳水可能导致能量不足、电解质紊乱,影响大脑和肌肉功能。 热量长期不足时,身体会分解肌肉供能,导致基础代谢下降,反而更难维持体重。 人为设置的放纵日容易强化对食物的心理依赖,诱发失控性暴食行为。 代谢被破坏后,一旦恢复正常饮食,体重往往比减肥前反弹得更快。 想减肥,怎么吃才安全? 健康减重不需要走极端。营养学建议的基本原则很简单: 1. 保持每日热量适度赤字,不必完全戒断某类食物; 2. 三餐规律,避免长时间空腹后大量进食; 3. 控制单餐脂肪摄入,尤其是油炸、高油食物; 4. 配合适量运动,帮助维持肌肉量和代谢水平; 5. 必要时咨询专业营养师,制定个性化方案。 减肥是一场持久战,不是一场对身体的惩罚与奖励游戏。保护好自己的胰腺,才能走得更长远。
显示更多