一、
一個產品被開發出來,是因為現實中存在問題得不到解決,或者得不到很好的解決。於是,會編程的人開發產品,不會編程的人,購買開發好的產品。
隨著 AI 編程能力的提升,人人都能輕易開發出一個程式,套用多年前那句流行話「人人都是產品經理」,現在,人人都是獨立開發者。
產品和程式有什麼區別?這裡的產品,不是簡單的一個軟體,一個服務,把它稱作解決方案可能更合適。
可靠的售出方,兜售可靠的解決方案,何為可靠?——持續維護和足夠讓人放心。
那麼,回到「人人都是獨立開發者」上,普通人 vibe coding(跳過代碼學習,使用自然語言描述需求,AI 給出可運行的代碼)可以輕易做出一個程式,但做出一套可靠的解決方案是困難的,尤其是複雜性起來後的維護,同時還要保證可靠性。
這是短期內「人人都是獨立開發者」難以撼動的地方,也就是為什麼我認為資深的程序員並不會被所謂的 vibe coding 者所替代甚至「淘汰」。恰恰相反,有了 AI 的加持,他們會更具備競爭力,也更稀有。
其實,這和汽車的道理是類似的。一台車組裝起來不難,讓車摸起來、開起來舒服也不難,但看不到的那些地方做好不是那麼簡單 —— 用料,維修和保養。一台車十多年,隨便到一個修理店,修理工能輕易上手,配件能輕易買到,這套功夫是需要沉澱的。
二、
那 vibe coding 可以做什麼?可以做的事多着呢,尤其是我們能接觸的林林總總的小事。
你有一個問題,就會存在一個合適你的解決方案。以前我們需要去找,現在好了,讓 AI 幫我們找世界上有沒有和我們存在一樣的問題,有沒有現成的解決方案,實在沒有,我們就自己創造,使用自然語言描述清楚問題就好。
比如,以我最近的兩個小問題為例。
例子一:我分享 URL 時不希望帶追蹤參數
問題:現在很多網站如哔哩哔哩,URL 上都會攜帶很長的追蹤參數(utm 等),我經常需要保存一些鏈接,或者分享給他人,我不希望帶著冗長且醜陋的參數,且不希望被追蹤,因此每次都要手動清除下。
我最初考慮的是,有沒有插件幫我解決這個問題?搜了之後沒找到合適的。
那有沒有其他方式?還真有。有個東西叫 Bookmarklet(小書籤),可以執行一些代碼操作的書籤。
於是問題就變得簡單了,告訴 AI 我的问题,這個小書籤 10s 就給我做出來了。
原網址:https://www.bilibili.com/video/BV1kHpXztEQt/?spm_id_from=333.1387.homepage.video_card.click&vd_source=15febd53a118715f7e357b309b66e1ea
點一下小書籤處理後:https://www.bilibili.com/video/BV1kHpXztEQt/
例子二:我希望分享推特帖子到 Telegram 能直接使用 instant 預覽
問題:我經常分享推特(x.com)的鏈接到 Telegram 上,他人要訪問,每次都得跳轉,但其實 Telegram 有個叫 instant view 的方式可以優雅預覽鏈接,不過不支持推特的 URL。
於是問題變成了如何讓推特的鏈接也支持。一個 github 項目可以解決我的問題,它只需要在 x.com
前增加一個參數 fixup
變成 fixupx.com
就能實現 instant 預覽。
那麼問題就變成了如何方便地增加這個參數。沒錯,小書籤又立大功了,AI 一下,這個小書籤代碼就寫好了,點一下就能處理好並複製到剪切板。
從上面的兩個例子可以看到,小問題可以被輕易地解決,不需要依賴他人,只需準確說出自己的問題,AI 自然會幫你打下手。
所以,識別問題,描述清楚問題,可能會是越來越重要的能力。