就在前幾天,我寫了一篇關於 AI真厲害,程式設計師已經不行了 這樣的文章,在寫這篇文章的同時,我突然想做一個可以記錄香水配方的應用,於是好久不見地打開了VS Code。但是為什麼會突然想到香水配方呢?因為我平常喜歡的 Terre d'Hermes 香水用完了,想買一瓶,然而價格實在是太高了。
這是個著名的型號,所以市面上也有很多便宜的仿冒品,但果然和真品還是有差距的。
之前我在巴拉望島經營度假村,那是一個相當偏僻的漁村,路面未鋪設,電力每天僅供應五個小時,從機場搭著破舊的巴士,經過四小時翻山越嶺才能抵達。這種典型的偏僻地區,吸引著不少靈性圈子的人和過氣的旅行者。我想,如果能用當地資源手作一些香皂和洗髮精等設備,那麼這樣的生態以及DIY的過程將會非常有趣。因此我開始利用當地的椰子油和香草等材料製作各種產品。
特別是香味,它是被深深存放在記憶中,當嗅到類似的香味時,往往會帶回那些往日時的鮮活記憶,大家也應該有這樣的經驗。
因此,我在客房的房間噴霧等產品中,也非常注重香味的製作。
在泰國等地,可以看到當地才有的奇特花卉和香草精油,每次去旅行時,我都會帶回各種各樣的產品。
所以,我想既然Hermes的價格這麼高,不如再自己調配一次。
香氣的調合非常細緻,需要不斷改變配方,也就是說要製作出多個版本,為了找到最佳的選擇,必須隨時記錄每一個配方。
我開始用手寫簡單的備忘錄,但果然不便,且丟失的風險也相當高,因此我決定為自己開發一款具有計算功能的記錄應用。
前端使用React,後端則是Firebase,因此我開始想,最近流行的基於AI的編輯器Firebase Studio,是不是能瞬間完成呢?於是開啟了這個計劃。
但,結果是不行的。
首先,我用ChatGPT梳理了一下規範、需求和功能,然後生成了Firebase Studio的提示,之後就全權交給它了!BOOOOOMMM!!!
根本無法正常運行。
大約兩小時進行提示為基礎的操作後,當在瀏覽器中預覽時,控制台出現了各種錯誤,情況與以往並無二致。
如果我是一個非程式設計師,喂!廢物青狸,快回到未來去!我一定會朝提示投擲物品。
結果不得不回頭檢查自己的程式碼,找到問題所在,並重新對提示進行修改,這樣做了兩個小時也只得到了個不痛不癢的東西。最終還是啟動了VS Code,從終端命令中創建React,回到了原本的程式流程。
我使用CoPilot,一個一個地建立頁面,發出各種指示,最終在一天之內完成了版本0的部署,但這對非程式設計師來說根本不可能。
首先,必須決定使用哪個框架、後端如何處理、樣式使用什麼(這次使用了MUI),這些在一開始就需要決定,但非程式設計師無法從中選擇。
此外,閱讀CoPilot生成的代碼,判斷什麼地方該加什麼,某些代碼是否需要拆分成獨立的元件,或是哪些用外部鉤子進行處理,這些都是建立在對React的理解之上,非程式設計師是做不到的。
數據庫的模式結構也必須考慮擴展性,還要想法減少多餘的查詢,這些都必須具備一定程度的編程知識才能建立。
因為已經好久沒做應用,這次的經歷讓我深刻感受到確實是不學習程式的人不可能完全利用AI。
更重要的是,為了保存和維護寫好的代碼基礎,需要具備Git的知識,使用npm安裝各種庫和模塊,使用CLI或SDK也需要對終端命令有一定認識。
也許,現階段使用AI最大的優勢在於,記憶方面,不再需要像之前一樣記憶龐大的方法、屬性、參數等特殊函數。
複雜的正則表達式,從陣列中提取特定數據,或以點符號輸出等細小的函數,都不必記住。我認為這能大幅減少開發帶來的壓力。
例如,我幾乎沒有接觸過Python,所以當我想用AI構建一個以Python為主的應用時,顯然是不可能的,因為我根本無法正常閱讀代碼。
此外,如果想進行與LLM相關的開發,沒有相關知識又該如何開始呢?
首先,需要對所使用的語言有一定的了解,然後理解周邊的框架和生態系統,這樣才能真正向AI發送提示,並能夠閱讀生成的代碼。
此外,專門針對程式的AI代理,就像是專業工具,必須是相當有技術的工匠才能駕馭這些工具。
因此,即使AI逐步進化,我仍然不得不說程式設計師是必需的。
甚至可以說,能夠徹底駕馭專業工具的程式設計師,就像木匠一樣,其未來是非常光明的。


總之,這是我完成的香水配方記錄應用的演示。
原文出處:https://qiita.com/monsoonTropicalBird/items/1d5a6257808ff7871bf0