# 軟體演進:1.0 → 2.0 → 3.0 ![messageImage_1757698481506](https://hackmd.io/_uploads/rJi0KRbsxg.jpg) * 1.0 是以人寫的原始碼指示電腦執行 ![image](https://hackmd.io/_uploads/S1vH5CWjxl.png) ![messageImage_1757698674220](https://hackmd.io/_uploads/SyMYcRZsxe.jpg) * 2.0 是以資料與最佳化器訓練出的神經網路權重取代手寫規則 ![image](https://hackmd.io/_uploads/HJyhq0Zjge.png) * 3.0 是可被「英文提示」編程的 LLM,提示本身成為程式 # 2.0 生態與案例 ![image](https://hackmd.io/_uploads/SyihqC-sll.png) * Hugging Face/Model Atlas 類比為「權重的 GitHub」 * 以影像模型 Flux 為例,微調如同對權重空間的 commit ![image](https://hackmd.io/_uploads/rJsJjRWoll.png) * Tesla Autopilot:神經網路逐步吃下原先的大量 C++ 規則碼 # 3.0:LLM 作為可程式電腦 * LLM 是新型電腦,提示定義行為與流程 * 同一任務可用 1.0(程式碼)、2.0(訓練)、3.0(提示)三種方式實作 * 進入產業需流利切換三種範式並做權衡 # LLM 生態的比喻:公用事業、晶圓廠、作業系統 ![image](https://hackmd.io/_uploads/SkTNoC-slg.png) * 公用事業:訓練為重資本(capex),API 服務為營運成本(opex),按 token 計費 ![messageImage_1757698949431](https://hackmd.io/_uploads/HJIqiAbilg.jpg) * 晶圓廠:技術樹深且集中,硬體自研者類比「自有製程」,僅做軟體者類比「無晶圓」 ![image](https://hackmd.io/_uploads/r1uisRbixg.png) * 作業系統:少數閉源供應者對應 Windows/Mac,開源生態如 Llama 類 Linux 雛形 # 作業系統類比細節 ![image](https://hackmd.io/_uploads/BJpaoRZoeg.png) * LLM 像 CPU,情境窗相當於記憶體,工具使用與多模態像系統服務 ![image](https://hackmd.io/_uploads/H1Yk2RWjxe.png) * App 可在多模型供應商間切換,如同軟體可在 Windows/Linux/Mac 執行 ![messageImage_1757699052378](https://hackmd.io/_uploads/By3xhAWiel.jpg) * 目前像 1960 年代的雲端分時系統,昂貴算力集中於雲端、客戶端為薄端 # 中央化與個人運算 ![messageImage_1757699098385](https://hackmd.io/_uploads/BJnQ2CZoge.jpg) ![messageImage_1757699117298](https://hackmd.io/_uploads/ryAB20-oeg.jpg) * 雲端分時因成本與互連限制而必然 * 局部出現個人運算嘗試(如小型本地推論設備),但整體尚未到個人電腦時代 # 技術擴散的「反向」路徑 ![messageImage_1757699169965](https://hackmd.io/_uploads/HkM_30-jgl.jpg) * 以往新技術先軍政企業後消費者,LLM 反向先普及到個人 * 大眾先用於日常任務,政府與大企業反而落後導入 # 對入行者的含意 ![image](https://hackmd.io/_uploads/BJh_2C-jgx.png) * 正值軟體范式快速更替期,舊系統將被重寫 * 需判斷功能應以程式碼、訓練或提示實現,並能在三者間流動 # LLM 的「心理學」 ![image](https://hackmd.io/_uploads/H1Ys2RZixg.png) ![messageImage_1757699256047](https://hackmd.io/_uploads/rktTnRZsxx.jpg) * 本質是自回歸 Transformer 的「人類模擬器」 ![messageImage_1757699290021](https://hackmd.io/_uploads/r1s1p0Zole.jpg) * 具百科式記憶與檢索能力,但存在粗糙邏輯邊界與不一致 * 類前向式「工作記憶」:權重固定、情境窗易失,缺乏自動長期學習 # 侷限與風險 ![messageImage_1757699312939](https://hackmd.io/_uploads/B1bZ6AZjeg.jpg) * 幻覺與錯誤自信,對自身知識邊界感知不足 ![messageImage_1757699343062](https://hackmd.io/_uploads/Sk1Q6CZoel.jpg) * 鋸齒狀智能:在部分任務超人、在簡單事實上犯錯 ![messageImage_1757699362932](https://hackmd.io/_uploads/HJ4EpA-jxe.jpg) ![messageImage_1757699403281](https://hackmd.io/_uploads/B1edaRWile.jpg) ![messageImage_1757699453041](https://hackmd.io/_uploads/rkst6C-oxl.jpg) * 易受提示注入與資料外洩等安全問題影響 * 缺乏通用 GUI,比較像透過「終端機」與作業系統互動的文字介面 # 實務抉擇:1.0/2.0/3.0 何時用 ![image](https://hackmd.io/_uploads/rk9j6RWoex.png) ![image](https://hackmd.io/_uploads/rJxpTRWilg.png) * 明確規則與可驗證路徑用 1.0 * 感知與模式識別用 2.0 * 需要彈性、組合工具、快速迭代與自然語言規格時用 3.0 # 部分自主(Partial Autonomy)應用 * 以專用 App 取代直接在聊天介面複製貼上,讓任務流程化與可審核 * 人類可全手動操作,但可切換為由 LLM 代辦較大區塊的工作 * 任務複雜度決定放權程度,需設計可調的自主權滑桿 # LLM 應用的共通特性 * 由系統代管情境與上下文 * 協調多個模型與工具的管線 * 以專用 GUI 提供可視化審核與一鍵接受/拒絕 * 提供從補全、局部修改到全域變更的多檔位自主模式 # 案例:Cursor 與 Perplexity ![image](https://hackmd.io/_uploads/H1fbCR-jgx.png) * Cursor 以嵌入、聊天、產生 diff 等模型協作,顯示紅綠差異便於審核 ![image](https://hackmd.io/_uploads/SyxEAAZjle.png) * Perplexity 聚合檢索與模型推理,顯示可點開的引用以供核查 * 兩者皆提供由快速查詢到深度委辦的自主層級 # 人機協作的生成—驗證迴路 ![image](https://hackmd.io/_uploads/ryL4A0Wogl.png) * 以 GUI 與視覺化大幅加速人工驗證 * 控制產出粒度避免一次給出巨量 diff * 採小步快迭代以提升通過驗證的機率與速度 # 提示與流程最佳化 ![image](https://hackmd.io/_uploads/HySj0C-jlg.png) vc * 具體明確的提示可降低驗證失敗與反覆溝通 * 以單一、可驗收的微任務驅動連續迭代 # 教育場景的產品切分 * 將「課程製作」與「教學投放」拆為兩個應用 * 以可稽核的中介產物(課綱、單元、作業)限制模型行為範圍 # 代理人進展的節奏與自駕經驗 * 華麗示範不等於可持續落地,實務需長期人類在迴圈 * 「年度代理人」口號不切實際,更像是「十年代理人」的演進 * 自動化比喻如自駕:能力逐步上線,自主權逐步右移 # Iron Man 套裝比喻 ![image](https://hackmd.io/_uploads/HyEg1kfsle.png) * 目前更適合做「增能套裝」而非完全自律機器人 * 產品需保留人類駕駛權與可逐步提升的自主滑桿 # 自然語言編程與 vibe coding ![image](https://hackmd.io/_uploads/SkK-1kfjxl.png) ![image](https://hackmd.io/_uploads/Bk1QkJfjxx.png) * 英文即程式語言,人人可快速原型化 * 少量引導即可完成新手不熟語言的 App 雛形 * 原型容易,真正困難在於上線所需的整體配套 # 原型到上線的摩擦 * 認證、金流、網域、部署等多為點按式設定與繁瑣流程 * 文件常以「點擊操作」描述,難以被代理人直接執行 # 為代理人而建的介面與文件 ![image](https://hackmd.io/_uploads/BJeuk1zilx.png) * 提供 lm.txt 等對代理人友善的說明檔 * 以 Markdown 提供可機器解析的文件 * 將「點擊」改寫為 cURL 或等價 API 指令 * 採用如 Model Context Protocol 等與代理人直接對話的協議 # 讓內容可被 LLM 消化的工具 * 以 get-ingest 將 GitHub 專案展平成單檔文字 * 以 Deep Wiki 類工具為程式庫自動生成可讀說明 * 直接將文件餵入模型以提升理解與操作效率 # 與 LLM「各退一步」 * 未重構的長尾系統仍需以瀏覽與點擊自動化補齊 * 已維護的產品應同時提供機器友善介面以降低成本與錯誤率 # Terminology * 軟體 1.0:以人撰寫的顯式程式碼(如 C++/Python)實作邏輯與規則的傳統軟體范式。 * 軟體 2.0:以資料與最佳化產生的「權重」取代手寫規則,神經網路即程式的范式。 * 軟體 3.0:以大型語言模型為可編程電腦,透過自然語言提示來「寫程式」的范式。 * 權重即程式:模型權重承載行為與知識,本質上等同可執行的軟體邏輯。 * 提示即程式:以自然語言描述目標、限制與步驟,作為驅動 LLM 的可執行規格。 * 少樣本提示:在提示中附少量示例以塑形模型行為,取代顯式訓練。 * 模型集散地(Hugging Face):承載模型、資料集與推理服務的軟體 2.0「GitHub」。 * 權重分叉/提交:在基礎模型上微調或適配形成分支,類比軟體版本控制的 commit。 * 模型路由(OpenRouter):在多家 LLM 間動態切換/回退,抽象供應商差異的中介層。 * 公用事業類比:LLM 以雲 API 供電般輸出智慧,按流量計費、追求低延遲與高可用。 * 代幣計費:依輸入/輸出 token 數量計價的使用模式。 * 資本支出(CapEx):訓練基礎模型所需的大型算力與基礎設施投資。 * 營運支出(OpEx):上線推理、維運、監控與升級的持續成本。 * 晶圓廠類比:將模型訓練視為先進製程節點,技術門檻高且資本密集。 * 自有晶廠模式:自研硬體/加速器並訓練(如 TPU),垂直整合提升效率與護城河。 * 無晶圓廠模式:倚賴通用 GPU(如 NVIDIA)與軟體優化,專注模型與平台。 * 作業系統類比:LLM 如 CPU,工具/記憶體如系統服務,統籌資源完成任務。 * 語境視窗:一次可「裝載」的上下文容量,決定工作記憶的大小與持久度。 * 工作記憶:會話期間的暫態狀態與任務進度,關閉或溢出即遺失。 * 工具調用:透過函式/插件讓 LLM 執行檢索、程式、操作外部系統。 * 多模態:處理文字、影像、音訊等多種訊號並在推理中互相對照。 * 時分共享:昂貴雲端算力由多用戶分時批次使用,類比大型主機時代。 * 批次合併:聚合多請求同時推理以提高裝置利用率並攤薄延遲。 * 薄客戶端:終端僅負責界面與少量計算,核心推理在雲端完成。 * 邊緣推理:在本機/近端裝置執行模型以降低延遲與依賴雲端。 * 記憶體受限:批次小時推理瓶頸多在記憶體頻寬而非純算力。 * 延遲/吞吐:單次回應時間與單位時間處理量的核心效能權衡。 * 智慧降壓(Brownout):雲端 LLM 故障/降級導致整體應用智能水位下滑。 * 可用性/SLA:對上線穩定度、錯誤率與回復時間的服務承諾。 * 模型熱插拔:不中斷服務地切換至備援或更佳模型以維持體驗。 * API 抽象:以統一協定隱藏不同供應商差異,便於移轉與多源接入。 * 終端機互動:純文字對話如同在 OS 終端直接下指令缺乏通用 GUI。 * 通用 GUI 缺位:跨任務的視覺操作範式尚未成形,多為垂直場景自建。 * 技術擴散反轉:LLM 先於消費端大規模普及,企業/政府反而跟進。 * 擬人模擬器:LLM 以機率方式擬合人類語用與推理風格的生成器。 * 鋸齒型智能:在部分任務超人、另一些犯低級錯誤的非均勻能力曲線。 * 幻覺:在不確定時編造看似可信但不真實的內容。 * 前向性失憶:無長期自動整合新知,會話結束即清空工作記憶。 * 自我知識缺口:對自身能力、來源與不確定度的覺察與表達不足。 * 提示注入:惡意輸入誘導越權或竄改指令流程的攻擊手法。 * 資料外洩:上下文/工具回傳或日誌不當處理導致敏感資訊暴露。 * 安全沙箱:以權限/網路/資源隔離工具與模型行為以減害。 * 上下文工程:規劃系統提示、檔案佈局與記憶策略以穩定行為。 * 記憶體編排:在長任務中分段載入、壓縮與召回關鍵上下文。 * 調度器比擬:以 OS 思維管理任務優先級、配額與資源佔用。 * 個人運算復興:本地裝置(如 Mac mini)承接批次 1 推理的早期跡象。 * 本地微調:在私域資料上小幅調整權重/適配層以貼合場景。 * 模型版本控制:追蹤權重、資料與參數的變更以確保可重現。 * 開源/閉源生態位:如 Linux 與商用 OS 的分工,形塑供應與創新邊界。 * 語言—程式混寫:英語(或自然語言)與程式碼交錯成為新型「可執行規格」。