當我給 Gemini 一個冗長的提示詞後,五分鐘回到電腦前,我得到了兩樣東西:一個在預覽視窗中可運作的應用程式,以及一條關於錯誤的訊息。「~ Channel is unrecoverably broken and will be disposed!」
聽起來很糟!但下方就有一個按鈕可以修復這個錯誤。我只是指示電腦用一個提示詞為我建立一個完整的應用程式,但它卻需要我點擊一個按鈕來修復錯誤,這感覺很奇怪。
我還是照做了,233 秒後,Gemini 回報成功,並使用了「阻塞」和「競爭條件」等詞彙。我一點也聽不懂。這真是令人興奮。
這是我第二次或第三次嘗試「憑感覺編碼」應用程式,這取決於你是否算上那個從未離開預覽階段的專案。那個從未完全推出的專案是一個網頁應用程式,只有一個任務:檢查當地一家高檔雜貨連鎖店是否正在舉辦年度的 Peach-o-Rama 活動。到目前為止,還沒有水蜜桃。無論怎麼算,手頭上的這個專案更具野心:一個能幫助我管理雜亂庭院的應用程式。
所有最好的庭院專案都始於聊天機器人中的自然語言提示詞。
八年前,當我和丈夫搬進這棟房子時,我們沒有太多考慮庭院工作。當然,你會割草之類的,但灌木和樹木不也差不多會自己照顧自己嗎?我們忽略了庭院,直到雜草入侵。房子周圍的花壇和庭院邊界很快就被聖經般規模的雜草佔滿了。顯然,這個「庭院」的生意比我們預期的要複雜得多。
我們贏了幾場與雜草的戰役,但最終輸掉了戰爭,並請來了一位園藝師。他的一次性拜訪讓我們在幾年內可以讓庭院大部分時間處於自動駕駛狀態。這很有效,但後來雜草又開始蔓延,灌木也出現了困境的跡象。今年春天天氣開始轉暖時,我決心要弄清楚我們的庭院到底發生了什麼事。
我大致知道從哪裡開始,但我希望在過程中獲得一些幫助,並找到一種組織待辦事項的方法。為什麼不為此製作一個應用程式呢?
我盡可能詳細地描述我的提示詞,它基本上是一系列要求:幫助我管理一長串的庭院護理雜務;提供建議;考慮天氣因素;使用圖像識別來幫助診斷植物問題。我將所有這些輸入到 Google 的 AI Studio 中,目標是創建一個 Android 應用程式,我可以將其載入到手機上並帶到戶外,也就是植物生長的地方。
我原以為這會花費大約一個小時,然後我就可以把一天的剩餘時間用來記錄庭院的狀況,並按照應用程式的指示去做。
我的估算有點偏差。當然,我在幾分鐘內就在預覽視窗中得到了一個可運作的應用程式。它邏輯清晰,有管理不同植物區域的部分,還有一個 AI「植物醫生」,我可以在那裡上傳手機裡的圖片。但它有一個嚴重的配色問題。
為什麼,Gemini?不知何故,Gemini 為我的應用程式選擇了深色模式,搭配深紫色和磚紅色的強調色。文字難以辨認,而且,它很醜。我建議使用白色背景搭配淺綠色、粉紅色和藍色,並提醒它要考慮人類可讀性。它回傳了一個更令人愉悅的版本,並在應用程式主螢幕頂部有一個熱情的問候:「歡迎回來,園藝師(Gardeneer)!」老實說,我喜歡「gardeneer」這種帶有冒險精神的詞,所以我保留了它。
我也保留了 Gemini 設計的基本結構。我確實做了一些調整,例如整合即時天氣數據,而不是 AI 提出的一些奇怪的氣候預設。顯然,Gemini 認為我可以選擇正確的「設定檔」來匹配當天的天氣狀況,然後它會相應地調整澆水建議。當即時天氣資訊很容易透過 API 呼叫時,這似乎是一個奇怪的選擇,這也不是我最後一次必須提醒 Gemini 物理世界與理論世界之間的差異。
除此之外,我很快就將它傳送到我的手機上並開始使用,對於發布我的第一個應用程式感到太興奮,以至於懶得進行迭代。
然而,當我在筆記型電腦螢幕上瀏覽應用程式時,我錯過了一些關鍵的東西。我無法編輯已創建的雜務,也無法將它們安排在特定日期。我可以為個別植物創建設定檔並按區域分組,但無法將它們與特定任務綁定,或者...實際上無法對它們做太多事情。有單次和重複任務的獨立分頁,但我添加到應用程式的每個雜務似乎都忽略了這種分類,並落在了重複任務分頁上。
這個植物醫生功能最終成為我應用程式中最有用的東西。
這變成了一連串繁瑣的來回溝通。我請求更新,等待 Gemini 實施,刪除手機上的舊版應用程式,然後替換成新版。我會注意到其他東西不工作,比如一個實際上無法讓你選擇日期的日期選擇器,然後就必須回到聊天機器人。與其說我有一個雜亂的庭院,我現在還有一個雜亂的應用程式要照料。我相信這裡面一定有什麼教訓。
另一方面,AI 植物醫生開箱即用,非常有效。它基本上就是一個「嘿 Gemini,找出這株植物有什麼問題」的按鈕,我上傳了一張生病的杜鵑花照片。大約一分鐘後,它吐出了一份關於植物健康的詳細報告(病得很重!),可能導致問題的因素,以及一些我可以輕點一下添加到我的規劃器中的行動項目。這正是我需要的庭院幫助。
我們的園藝師「一勞永逸」的解決方案是將花壇覆蓋上園藝布和河石。他聲稱這將在很長一段時間內解決雜草問題,而且現有的植物也會很好。此外,如果我們支付現金,他還提供了折扣。搞定!
現在,幾年後,顯然有些不對勁。我們前門附近的一棵灌木葉子變黃,蒼蠅不斷在它周圍嗡嗡作響。玫瑰叢長得細長,花朵稀疏。
至少它認為我的櫻桃樹還好。
一個修復庭院的奇怪技巧:不要用石頭覆蓋它。
Gemini 很快就將問題歸咎於園藝師推薦的園藝布和石頭。它說,這正在使根系窒息,根系也因為園藝布多年來可能被泥土堵塞而乾燥。最重要的是,在炎熱的日子裡,被太陽曬熱的石頭實際上正在從上方「烹煮」根系。難怪我們的庭院看起來一團糟;實際上,還有任何植物活著簡直是個奇蹟。
那時,天色已晚,無法開始「杜鵑花救援行動」。在來回製作我的應用程式之後,我竟然在一個美好的下午,將時間浪費在聊天視窗中輸入提示詞。每次我按下 Enter 鍵,讓 Gemini 執行新的編碼任務時,我確信我正在消耗的電力,相當於在斯波坎或其他地方的數據中心裡,微波爐加熱一頓晚餐的電量。這種諷刺意味我心知肚明。
儘管我的應用程式還不完美,但第二天我還是擱置了功能請求,決定按照 Gemini 醫生的緊急建議處理杜鵑花。我在烈日下揮汗如雨地度過了一個下午,耳朵裡聽著播客,耙開河石,剪掉園藝布,並修剪了一些灌木的細枝。之後,我將注意力轉向另一個石頭花壇,這個花壇上長滿了開始在園藝布上生長的雜草。熱門提示:不要在你的庭院裡鋪設一堆園藝布。
這是在烈日下筋疲力盡的工作,一旦我靠近入侵庭院的帶刺喜馬拉雅黑莓藤,髒話就開始脫口而出。但這就是我八年前不知道的庭院工作的秘密:它極其令人滿足。當你用工具挖起一株大雜草,連根拔起的那種感覺?或者當你用鏟子挖起黑莓叢,將它從地裡撕扯出來,送回地獄的那種感覺?沒有什麼比這更好的了。除草很糟糕,但也令人上癮。一旦我開始,我總是很容易說服自己再多待 20 分鐘,儘管我真的應該收工了。
我最終還是結束了一天的工作,打開我的應用程式,劃掉了幾個已完成的庭院雜務。在我的庭院雜草叢中實際工作了幾個小時後,我腦海中浮現了一系列新的功能請求。我希望 Gemini 在我努力恢復植物時提供持續的幫助,而不僅僅是一次性的診斷。而且,儘管按區域組織庭院的想法很吸引我這種 A 型人格,但我不知道它對我是否有用。
我正在照料一個小型城郊後院,而不是像中央公園那樣的地方。這個應用程式會不會只是一個 Gemini 聊天和 Google Keep 中的待辦事項清單?很可能。
我不認為我的「園藝師(Gardeneering)」應用程式會進入 Play Store,但製作它卻非常有啟發性。很難解釋看著電腦將你的文字提示詞變成一個功能性軟體是多麼瘋狂——有點像「告訴別人你的夢」那種情況。但你確實需要對你希望應用程式解決的問題有一個清晰的願景。如果我一開始就多做一些功課,專注於我的需求,而不是直接發送提示詞,我就可以省去很多來回溝通的時間。
我在「憑感覺編碼」的冒險也說明了我邏輯上知道但沒有完全理解的一點:AI 對現實世界一無所知。它毫不猶豫地將黑色文字放在深紫色背景上,因為可讀性對電腦來說不是問題。它試圖讓我對通用而非即時的天氣資訊感興趣,因為對電腦來說,即時天氣到底是什麼?
即使當我在製作我的「Peach-o-Rama 開始了嗎?」應用程式時,Gemini 也試圖傳遞一個版本,它會假裝檢查雜貨店的網站和社群媒體頻道,但實際上只會將當天的日期與 Peach-o-Rama 通常在七月中旬開始的事實進行交叉比對。我不得不堅持,Peach-o-Rama 是否真的發生,這實際上很重要。
我還沒有放棄這個庭院應用程式,但正確的版本可能比我最初開始的那個簡單得多。至於我從 Gemini 那裡得到的建議,看起來 AI 是完全正確的。我將杜鵑花周圍的石頭和園藝布移開才幾天,但我已經看到其中一根樹枝上長出了一些新葉子。也許我的庭院畢竟還有一些生機。
