|
久違的電子報,最近如何啊?我分享一下我今年遇到的狀況: 當所有人都能用 AI 寫程式,工程師剩下的價值是判斷力、領域經驗,以及那些 AI 還沒搜尋得到的最新漏洞與真實攻擊行為,這些都不在模型的訓練資料裡,而在每天踩坑的人身上。這是我把客戶教會自己用 AI 開發、然後親眼看著時薪被 AI 賺走兩個月之後,才慢慢想清楚的事。 把整套開發流程教給客戶之後,我發現自己被 AI 取代了兩個月前,我把整套 AI 開發流程交給一位合作很多年的朋友,他有很多產品的想法,過去長期把開發外包給我,因為這波 AI 浪潮,他也開始想要學習著如何用進行 AI 開發。 然後我們每週約週一上午,連上四週,從軟體開發的基礎知識開始講起,然後帶著他安裝開發環境、版本控制、自動部署,再到 AI 工具的介紹與用法,最後幫他安裝好針對他的需求所設計的 Skill,現在他要做新功能,只要照著這些指令跑,產出來的東西基本上跟我自己操作 AI 做的差不多。 兩個月過去了,除非遇到主機異常或資料庫底層的問題,他 99% 的需求都能不用等我自己做掉。 更直接的數字是:他過去累積發案給我的金額超過百萬,而這幾次上課只花了三五萬,就把原本可能持續好幾年的外包費用整個省下來,對他來說是極划算的投資,但對我來說,那筆從他那邊持續進來的穩定收入就這樣被 AI 給賺走了 Orz... 那段時間我一直在想一件事:當我把設計好的框架與指令都交給別人之後,我到底還剩下什麼價值?這個問題在我腦海中徘徊不已。 一位朋友建議我去考 NVIDIA 證照,我才開始重新認識自己所擁有的直到某一天,另一位朋友丟了一個連結過來,建議我說:「去考 NVIDIA 的 AI 證照吧」。 他的觀點很直接:當現在所有人只要買一個 AI 訂閱就能開發軟體,你跟別人有哪裡不同?有張證照至少是第三方機構的認可,讓我跟別人有所區別。但坦白說,我是一個從小就不太會唸書的孩子,「考證照」這件事我一點信心都沒有,但他這句話倒是點醒了我:「我手上現在到底有什麼東西是跟別人有所區別的?」 往這個方向想下去,我能想到的依舊是 WordPress。 這是我深耕了十幾年的工具,從外掛開發、效能最佳化、金流串接、會員系統、到主機管理與資安,這些年累積下來的知識經驗,全部都是以 WordPress 為核心向四方擴散的。AI 可以寫 WordPress 程式碼,但 AI 沒有經歷過某個外掛三年前那次重大更新弄壞了多少站、沒有處理過 WooCommerce 在高併發下結帳的問題、也沒有半夜被客戶叫起來看為什麼一個看起來像真人的爬蟲把主機 CPU 拉到 100%。 AI 的盲點:它只會回答被問到的問題雖然 AI 可以依照設定的指令做相對應的事情,但很多時候萬一超出預設指令的範圍,或是使用者完全不知道該怎麼提問的時候,AI 也不會主動補位,這些都必須等到有經驗的人來提問,AI 才有辦法意識到問題進而處理。 舉個具體的例子:一位客戶某次請 AI 幫他寫一支會員資料匯出外掛,AI 寫出來的程式碼乍看完全合理:取會員資料、組成 CSV、輸出下載,問題是他完全不知道要追問「這份匯出有沒有檢查使用者權限」、「會不會被 IDOR 漏洞利用」、「大量匯出時記憶體會不會爆掉」,AI 不會主動幫你做這些事,它只會把你要求的事情做完,沒要求的就隨緣了(煙~) 這就是用 AI 開發「作品」跟「產品」之間真正的距離,「作品」自己做開心的就算了,但如果是要交付給客戶的「產品」,這些都是不能忽略的關鍵點。 而這個問題不只發生在我朋友身上,就連這麼常開發外掛的我也曾經犯過一樣的錯誤,片面就聽信 AI 給的建議,然後開始執行後才發現完全走錯方向,因此能從實作經驗中看到 AI 盲點的工程師會越來越珍貴。 如果以 WordPress 為核心,我能怎麼幫接案者?把這件事想清楚之後,我開始盤點以 WordPress 為核心,我可以怎麼幫到正在使用 WordPress 接案者與接案公司?我想到三件事。 一、客製化的 AI 開發框架提供一套針對 WordPress 接案情境設計的 AI 開發框架,從規劃階段就納入 WordPress 的語法以及測試腳本,讓接案者可以更安全地用 AI 開發功能、加快專案進行速度與減少程式碼出錯的機會,進而降低後續客服成本。這不是給一份指令清單就結束,而是把 coding style、命名慣例、權限驗證、資料過濾、錯誤處理這些「資深 WordPress 開發者腦袋裡的潛規則」全部變成 AI 看得懂的設定,讓不同經驗的成員都能用同一套流程產出一致的品質。 二、漏洞檢查與更新服務WordPress 生態系裡每個月都會有外掛被揭露重大漏洞,長年在這圈子裡的我都會去追 WPScan、Patchstack、WordFence 這些來源,第一時間就知道哪個外掛要停用、哪個版本不能升、哪個 nonce 驗證有問題。 但這件事對 AI 來說有三個結構性的盲點:
我們可以提供這個缺口的服務:拿最新的漏洞報告,主動去檢查客戶現有的 WordPress 環境,告訴他們哪些需要立刻處理、哪些可以排程處理。 三、主機維運與 Agent 攻擊偵測這陣子我們在客戶的主機 log 裡發現一個明顯的趨勢:很多看起來像 Agent 的攻擊,它的瀏覽行為非常像真人。它們會走完整的 user flow、會帶 referer、會在合理的時間停留,然後在某個畫面上做精準的漏洞測試。 預設的 WAF 或防火牆規則對這類流量幾乎沒有判斷力,因為對防火牆來說這些都是正常使用者,但如果你看過幾十次這種 pattern,你會知道有些細節不對勁,例如同一個造訪路徑在不同 IP 之間跳、總是跳過特定幾個 CDN 快取頁面、對某幾種 query string 變化有頻繁的請求。 這些經驗可以從日誌中主動掃描,並整理成偵測規則,在攻擊真正發生之前就把它攔下來。AI 寫出來的程式碼再乾淨,遇到沒見過的真實世界攻擊模式還是會破,差別在於——有沒有人在背後幫你看著。 工程師存在的價值,是「當 AI 的眼」回到一開始那個問題,當 AI 可以寫程式碼之後,工程師的價值還剩下什麼? 我這兩個月想通的答案是:價值不在「會不會寫程式碼」這件事上,而在於我們是不是還在持續看著真實世界發生什麼。新的漏洞、新的攻擊模式、新的外掛踩雷、新的金流串接坑,這些東西在它們被寫進部落格、被寫進 Stack Overflow、被 AI 學起來之前,永遠是先發生在第一線經驗豐富的人身上。 我朋友這兩個月省下大筆外包費用,這是好事,我替他開心,但他偶爾還是會回頭找我,原因從來不是「AI 不會寫」,而是「他不知道要問 AI 什麼」,這就是我們這種人現在的存在價值,不是寫程式碼,而是幫 AI 看見真實的世界。 給 WordPress 接案公司的三種合作方案把這些拼起來之後,我把服務內容收斂成三種方案,服務對象是 WordPress 接案者跟接案公司。 方案一:AI 開發流程盤點 我們會花時間了解你目前的接案流程,從需求訪談、報價、開發、交付、到後續維護,盤點哪些環節可以自動化、哪些是 AI 可以導入的施力點,最後產出一份報告交給你,你可以自己拿去請 AI 實作,或者找其他團隊幫忙導入。 方案二:客製化 AI 開發流程設計與教練 根據盤點後的需求,我們設計對應的 AI 開發流程,並且教會你跟你的團隊怎麼跑指令、怎麼分工、怎麼讓不同經驗的成員都能用同一套流程產出一致的品質,就像我兩個月前幫朋友做的那樣,差別在於我們會把這套流程針對你公司的實際業務量身設計。 方案三:每月訂閱的資安監控 最新的 WordPress 與外掛漏洞掃描、主動監測主機異常的 Log、可疑流量分析,讓 AI 寫出來的程式碼可以通過真實世界的攻擊行為測試,避免客戶網站變成下一個案例。 如果你也在思考這些問題如果你是 WordPress 接案者或接案公司,現在正卡在下面任何一個情境:
那這些可能就是我們可以聊的方向,你可以:
希望可以幫上你的忙! |
大家端午快樂,這週分享一下我目前的主力開發工具~ 開發工具的使用歷程 在 AI 時代前,我都是使用 PhpStorm。PHPStorm 確實順手——跳到函式定義、儲存時自動格式化和檢查,這些功能讓開發效率提升不少。 進入 AI 時代後,我用了 Cursor 好幾個月。自動補全和聊天介面加速了不少開發流程。但用了一段時間,我發現自己還是需要理解程式碼的能力,最後回到 PHPStorm 搭配 Claude Code 的組合。 後來也試過 Google 的 Antigravity。除了免費額度以外,用起來跟 VS Code 差不多。直到某天我打開系統監控,發現 Antigravity 的記憶體佔用竟然到了 40 幾 GB。 40 幾 GB,只為了一個程式碼編輯器。 程式碼視窗還重要嗎? 這讓我開始重新思考一個問題:傳統 IDE 的設計核心是「程式碼」。整個介面以程式碼編輯器為主體,側邊欄、終端機、除錯面板都是輔助角色。 但我現在的開發流程已經變了。大部分時間我在跟 Claude Code 對話,描述需求、確認方向、審查它產出的結果。真正需要自己打開檔案逐行閱讀的時候,一天可能不到三成。...
前陣子,我教會一位朋友使用 Claude Code。他完全不會寫程式,連終端機是什麼都沒聽過。但他有一個很清楚的產品想法,一直找不到工程師幫他做。 兩週後,他把那個產品完整地實作出來了。 不是原型、不是 wireframe,是一個可以實際運作的產品。他全程沒有寫過任何一行程式碼——他只是用中文描述他要什麼功能,Claude Code 就幫他把程式寫出來、跑起來、除完錯。 你可能會想:那它跟 ChatGPT 到底差在哪? 一、你說中文,它寫程式 大部分人聽到「Claude Code」就先退了一步。Code,程式碼,那不是工程師的事嗎? 試試看跟它說這句話:「幫我把這個資料夾裡所有 PDF 的檔名,整理成一份清單。」 它會自己寫一段程式碼、跑完、把清單生出來。你完全不需要看懂那段程式碼。同樣的事在 ChatGPT 上做,它會把程式碼貼給你看,然後你得自己想辦法找地方執行。 你需要學的不是程式語言,而是怎麼把需求講清楚。但光是能下指令還不夠——如果它每次只能做一件事就停下來等你,那跟比較聰明的 Siri 也沒什麼兩樣。 二、它不是聊天機器人,它是 Agent 用過 ChatGPT 或...
如果你有在使用 AI 開發 WordPress 外掛,並且要設計一些自訂的後台管理介面時,一定遇過資料送出時無法正確儲存,或是儲存後被導向到奇怪的頁面。 根據我的經驗,這十之八九是 Nonce 的問題,AI 在處理 Nonce 這一塊常常會出錯,為了讓 AI 更好地理解該怎麼處理 Nonce,這篇文章就來分享 Nonce 的作用,以及如何讓 AI 不要再犯這種錯。 Nonce 是為了擋 CSRF 而生的 所謂的 Nonce,最主要的功能是要防止跨站請求偽造(也就是俗稱的 CSRF)。 CSRF 主要的攻擊方式,是攻擊者誘導已經登入受害者的瀏覽器,自動發送請求到你的網站,也就是說,攻擊者不需要入侵你的網站,只要你的瀏覽器在登入狀態下點擊了惡意網址,攻擊就會開始。 舉個例子: 站長登入了某個 WordPress 網站的後台沒登出,繼續開著分頁 站長切換到另一個由惡意攻擊者準備好的頁面,這個惡意頁面藏了一段惡意程式 程式裡面的連結會指向站長 WordPress 後台 瀏覽器在送出這個請求時,會自動帶上站長已經登入的 Cookie(因為原本分頁沒關) 站長踩到這個惡意網址、讀到那段...