Something maybe wrong
過去兩年,我的核心工作從「開發」變成到了「生成」,寫代碼的時間少了,寫 Prompt 和 Skill 的時間多了
這個五一假期沒有出門,想了很久:在新的時代,開發者該如何自處?
想清楚這個問題之前,我發現需要先回答一個更基本的問題:我們所言的軟件,是什么?
軟件在提供什么
我有一個發現,不同時期我們說的「軟件」,甚至是不同的東西:PC 時代覺得軟件是窗口,移動互聯網時代覺得軟件是 App,SaaS 時代覺得軟件是訂閱制的網頁... 大家會把自己熟悉的軟件外殼,當成了軟件本身
嘗試一下,如果我們把外殼剝掉,軟件剩的是什么?做事的能力
人們安裝 Word,要是文字處理能力。用 Photoshop,用的是圖像編輯能力。訂閱飛書,訂閱的是辦公管理能力。而所謂的菜單、按鈕、頁面都只是能力暴露給人的操作面板,點按鈕、填字段、切頁面只是走向目標的路徑
傳統軟件,把目標拆成一堆操作步驟,交給用戶
再看一下 SaaS,CRM 出售銷售流程,ERP 出售資源管理流程,飛書和 Slack 出售協作流程。企業買 SaaS,買到的是一套「公司應該如何運轉」的默認答案。
一套報銷系統規定誰能報、報多少、怎么審、誰負責。一套 CRM 規定客戶怎么分配、商機怎么推進、銷售怎么匯報。制度寫在紙上經常被忽略,寫進軟件就會自動執行
SaaS 軟件,更像是把制度打包,然后出租
那么,軟件是在干什么呢?
把原本長在人身上的過程性知識剝離出來,封裝起來,復制出去
會計知道怎么記賬,后來變成財務軟件。銷售知道怎么跟客戶,后來變成 CRM。運營知道怎么發活動,后來變成營銷自動化
本文是用 Claude Code 進行排版的,是用了我的「排版Skill」
如此看來,Skill 也會是一種軟件,他也是封裝好的、能被執行的能力
軟件的位置
最早的計算機是沒有軟件的。在 ENIAC 時代,計算器能干的事兒是固定的,每算一個新任務,工程師得畫好幾天重新接線:硬件只認電路,人腦里的意圖沒法直接灌進去
馮·諾依曼在 1945 年提了一個方案:把指令和數據一起存進內存,機器按順序讀指令執行。不用重新接線了,換一組指令就換一個任務。這個方案后來叫「存儲程序」,它創造了一個新的東西:一層可以被隨時替換的邏輯。這層邏輯,就是軟件的起點
從那以后,所有軟件做的事情都沒變過:站在人和機器中間,把人想做的事翻譯成機器能執行的步驟。早期是科學家自己寫匯編,后來有了操作系統、圖形界面、瀏覽器、App Store。每一次形態變化,都是在降低「翻譯」的門檻,讓更多人能把自己的意圖交給機器
軟件的作用,是把人的需求,通過合理的交互,翻譯成標準的、嚴謹的處理邏輯,然后控制執行
早期軟件把人和計算機連起來,互聯網軟件把人和信息連起來,SaaS 把人和組織流程連起來。Agent 軟件繼續擴展這條鏈路,它連接人、模型、工具、數據、權限、組織規則和外部世界。軟件正在從單點工具變成跨系統的協調器
從商業價值的角度看,你站在鏈路的哪個位置,決定你值多少錢。站在意圖入口,控制需求。站在執行層,控制履約。站在數據層,控制上下文。站在權限層,控制邊界。站在 Skill 層,控制方法。Agent 時代的競爭,會從搶頁面入口升級成搶任務鏈路里的關鍵位置
軟件,通過它的交互,是把不可操作的世界壓縮成可操作的入口。城市交通太復雜,打車 App 把它壓縮成一個按鈕。金融清算太復雜,支付軟件把它壓縮成一次確認。軟件的形態會不斷變化,因為要壓縮的在不斷變化
AI 帶來的三個跨越
這輪 AI 的誕生,讓軟件的能力帶來了三個跨越
第一,從明確操作到模糊意圖
之前的軟件只能響應明確操作,用戶必須知道點哪里、填什么、選哪個選項。AI 軟件開始接收模糊意圖,用戶可以說「幫我做成老板能看懂的版本」。從這一刻起,軟件開始承擔理解任務的責任
第二,從固定輸出到開放結果
傳統軟件輸出預設格式:表格、報表、訂單、審批狀態、PDF。AI 軟件的輸出是開放的:文章、圖片、網頁、代碼、方案、臨時工具。輸出形態由任務決定,不再由系統預設
第三,從單步功能到多步任務
傳統軟件執行功能,功能是單點動作。Agent 執行任務,任務是目標導向的鏈路。它要讀取上下文、拆解步驟、調用工具、處理中間結果、檢查異常、交付結果。這條線一旦跨過去,軟件設計的基本方法就要重寫
這三點跨過去之后,有三個連鎖反應
輸入變模糊了,軟件就越來越依賴上下文
一句「幫我排一下這篇文章」,沒有上下文就只能泛泛處理。如果系統知道你的公眾號風格、排版方法論、歷史文章、讀者偏好,它做出來的結果完全不一樣。Memory 從一個附屬功能升級成了基礎設施
輸出變開放了,評估就變得極其重要
固定輸出時代測試很簡單,看按鈕能不能點、字段對不對。開放輸出時代,問題變成文章好不好、方案能不能打動人、判斷是否可靠。Eval 會成為 Agent 軟件的新測試系統,也是產品進化的方向盤
執行變多步了,產品經理設計的東西就不同了
一個工具只需要做好一件事,一個 Agent 要判斷什么時候做、先后順序是什么、異常怎么處理、什么地方需要人確認。設計的對象從按鈕路徑變成了任務鏈路
長尾,更多的長尾
當 AI 以極低成本進行開發的時候,我們滿足了更多的長尾需求
在以往,軟件只服務高頻、標準化、大規模的需求。太小的需求(除非是老板自己的),往往會受制于 ROI 而不會被滿足。比如:運營崗的同學,希望能獲得一個工具,每星期自動盤點一下過去的曝光數據。在過去,這些東西只能人來手動處理,而現在有了AI,這些都可以被即興軟件化
更進一步,軟件開始學習用戶的工作方法。傳統軟件要求用戶適應系統結構,AI 軟件可以學習用戶的表達、偏好、文件、風格、流程和判斷方式。軟件個性化從「給你推薦什么」升級成了「學會你如何做事」
甚至,軟件開始臨時生成自己的子軟件。用戶要看交互結果,Agent 生成一個臨時網頁。用戶要批量處理圖片,Agent 生成一個批處理工具。這些子軟件存在的時間比一次會議還短,用完即棄。在這個過程中,模糊輸入、開放輸出、多步執行同時存在,不確定性也由此內生
最后
回到開頭的問題:當代碼變成一次性的,開發者的價值在哪里?過去開發者賣代碼,賣的是把需求翻譯成指令的能力。現在這個翻譯過程 AI 可以做了
當軟件本身變成一次性的,很多賣軟件的方法就不成立了。或許,更持久的生意是讓你的軟件,更加深入到客戶的關系:更懂思考、生活、工作...
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.