指南

點樣將 AI 原型推上正式使用

將 AI 原型推上正式使用,即係縮窄「我試用時運作正常」同「其他人使用時依然運作」之間嘅距離。實際上需要做五件事:每次改動都測試主要流程;嚴格控制邊個可以睇同更改邊啲嘢;確保錯誤會喺用家告訴你之前,你已經知道;備份數據,並證明你可以還原;同埋令應用程式喺手機上夠快。呢啲全部都唔需要重寫,它係一份清單,你可以同當初建立原型嗰個 AI 一齊逐項完成。

原型與正式使用:實際改變咗乜

原型只有一位小心嘅用家,就係你。你知道要撳邊個掣,你輸入合理嘅資料,如果出錯,你聳聳肩,然後叫 AI 修好。正式使用則有好多粗心嘅用家、一啲好奇嘅用家,偶爾仲有一個懷有惡意嘅用家。程式碼唔需要變成「企業級」;只需要處理原型從來未遇過嘅情況。

範疇原型正式使用
資料樣本數據,容易重設真實客戶資料,唔可以遺失
用家只有你,以管理員身份登入好多帳戶,權限各不相同
輸入你自己輸入嘅嘢空白欄位、超大檔案、怪異字元、腳本
錯誤你喺預覽入面睇到喺你瞓覺時發生
改動改完睇一睇改動時唔會弄壞人哋依賴嘅嘢
機密資料測試金鑰點樣都得一旦外洩就會產生費用嘅真實金鑰

本指南餘下部分會逐一講解呢啲範疇。

第一步:凍結範圍,並寫下主要流程

喺加強任何嘢之前,先決定第一版係乜嘢。列出三至六個最重要嘅流程,例如「註冊、建立專案、邀請隊友、付款」。呢啲就會成為你嘅測試腳本、監察目標,以及每次改動後要檢查嘅項目。

唔喺清單上嘅嘢,要麼砍走,要麼清楚標示為測試版。令四個流程做到可靠,比令十四個流程做到可靠容易得多。

第二步:似陌生人咁測試,再令測試可以重複

AI 建立工具擅長寫出順利情況下可以運作嘅程式碼。正式使用嘅問題,通常出現喺唔順利嘅情況。用以下方法測試每個主要流程:

  • 錯誤輸入:必填欄位留空、一個 5,000 字元嘅名稱、一個冇 @ 嘅電郵、負數數量、一個過去嘅日期。
  • 重新整理同返回按鈕:喺結帳途中重新整理;提交表格後按返回。有冇嘢被建立兩次?
  • 兩個分頁、兩位用家:用兩個唔同帳戶登入,並嘗試透過更改網址中嘅 ID 打開對方嘅頁面。
  • 細屏幕同慢速網絡:手機大小嘅螢幕,以及限速嘅連線(瀏覽器開發者工具可以模擬)。
  • 空白狀態:一個全新、冇任何資料嘅帳戶。原型通常用樣本數據建立,冇數據時就會顯得壞咗。

然後令檢查可以重複執行。最少要保留一份書面清單,每次發佈前執行。更理想係要求 AI 為最重要嘅流程編寫自動化測試:

為以下流程加入自動化端對端測試:用電郵註冊、建立專案、邀請第二位用家,以及喺 Stripe 測試模式完成結帳。另外加入測試,確認用家無法透過更改網址查看或編輯其他用家嘅專案。

證明用家「不能」做某件事嘅測試,正正係原型最常缺少嘅。

第三步:原型常常漏掉嘅基本保安

AI 建立應用程式嘅保安問題,大多並唔特別,而係缺少檢查。逐項檢視以下清單;更完整嘅版本可以參閱AI 建立應用程式保安清單:

  • **伺服器端授權。**隱藏一個按鈕並唔等於保安。每個讀取或更改資料嘅請求,都必須喺伺服器端檢查登入用家是否有權限。如果你嘅應用程式使用帶有列級規則嘅資料庫,就要檢查佢哋有冇開啟並已經測試。
  • **機密資料唔可以入到瀏覽器。**付款、電郵或 AI 服務商嘅 API 金鑰,應該放喺伺服器端環境變數,絕對唔可以放喺前端程式碼。如果你唔肯定呢個係乜意思,請閱讀環境變數同機密資料係乜嘢。
  • **伺服器端驗證。**瀏覽器可以被繞過,所以任何重要檢查都要喺伺服器端重做一次。
  • **正確處理登入。**使用經過充分測試嘅驗證函式庫或服務,唔好自行編寫密碼儲存方法。我哋嘅為應用程式加入登入功能指南列出咗各種選擇。
  • 速率限制:用於登入、註冊、重設密碼,以及任何會發送電郵或調用付費 API 嘅功能。
  • 友善嘅錯誤訊息:用家應該見到「發生錯誤」;詳細資料要記入你嘅記錄,而唔係顯示喺畫面上。
  • **輪換任何曾經外洩嘅嘢。**如果曾經將正式金鑰貼入對話、提交或截圖之中,就要喺服務商處更換。

一個涵蓋好多範疇嘅提示詞:

檢視呢個應用程式嘅正式使用保安。檢查每個 API 路由是否驗證登入用家擁有佢讀取或更改嘅紀錄、冇機密金鑰送到瀏覽器、伺服器端有驗證輸入,以及登入同重設密碼有速率限制。喺更改任何嘢之前,先列出你發現嘅問題。

要求先列出清單,你就可以睇清楚問題,再決定處理次序,而唔係收到一個龐大嘅改動。

第四步:知道幾時出錯:記錄同監察

喺預覽入面,你會即時見到錯誤。喺正式使用時,應用程式要主動通知你。分三層,由最便宜到最有用:

  1. **伺服器記錄。**確保錯誤有足夠背景資料可以重現,例如出錯嘅路由、用家 ID(唔係佢哋嘅密碼或信用卡資料)、輸入嘅結構。如果應用程式只係列印到主控台,就要要求 AI 加入結構化記錄。
  2. **錯誤追蹤。**Sentry 或類似服務會捕捉前端同後端嘅例外、將佢哋分組,並發電郵通知你。對小型應用程式來說,呢類服務嘅免費方案通常已經足夠;請喺佢哋網站上查看最新限制。
  3. **正常運作時間檢查。**一個外部服務,每隔幾分鐘載入你嘅首頁同一條關鍵 API 路由,如果失敗就發出警報。咁樣可以捉到那啲令應用程式連記錄都寫唔到嘅問題。

再加一個習慣:每次發佈之後,打開正式運行嘅應用程式,並喺真正嘅網址上執行主要流程清單,而唔只係喺預覽上。

第五步:備份同還原方法

有兩樣唔同嘅嘢需要保護,而且好容易混淆。

  • **程式碼。**將專案保存喺版本控制之中,咁樣任何改動都可以還原。好多 AI 建立工具會保留檔案嘅檢查點;同步到 Git 儲存庫,則可以喺建立工具以外保留一份副本。
  • **資料。**還原程式碼唔會還原資料庫。錯誤嘅遷移,或者有問題嘅刪除按鈕,可能會刪走任何程式碼檢查點都救唔返嘅紀錄。

至於資料,要設定定期備份,並儲存喺應用程式託管以外嘅地方。以 Postgres 資料庫而言,常見做法係將定時 pg_dump 儲存到獨立儲存空間;好多託管資料庫服務亦提供自動備份或時間點還原。然後做大多數人都會跳過嘅一步:將備份還原到一個臨時資料庫,並檢查資料確實存在。

你亦可以要求 AI 令危險操作更安全:刪除前要有確認步驟,並為用家可能想取回嘅資料採用「軟刪除」(將紀錄標示為已刪除,而唔係直接移除)。

第六步:喺手機上都夠快嘅效能

原型之所以感覺快,係因為你係唯一用家,而且數據量好細。正式推出之前:

  • **用接近真實大小嘅數據載入。**要求 AI 植入幾千筆紀錄,睇下邊啲頁面會變慢。清單通常需要分頁,而資料庫通常需要喺你篩選同排序嘅欄位上建立索引。
  • **縮小圖片。**太大嘅圖片係頁面載入緩慢最常見嘅原因。要求 AI 將圖片調整大小、壓縮,並喺摺疊線以下使用延遲載入。
  • **量度。**喺手機模式下,於 Chrome 開發者工具對實時網址執行 Lighthouse。Google 嘅 Core Web Vitals 係一個合理嘅目標:最大內容繪製(LCP)喺 2.5 秒之內、互動到下一次繪製(INP)為 200 毫秒或以下,以及累計版面位移(CLS)為 0.1 或以下。
  • **留意「喚醒」延遲。**閒置時會休眠嘅託管服務可以省錢,但係一段冇人用之後嘅第一次訪問會比較慢。對新應用程式嚟講,呢個通常係可以接受嘅取捨;但要知道佢會發生。

有 5,000 筆紀錄時,專案頁面會好慢。加入伺服器端分頁(每頁 25 筆)、為我哋篩選同排序嘅欄位加入資料庫索引,並喺下一頁載入時顯示載入中狀態。

第七步:基本營運事項

有幾樣細嘢,可以將一個業餘應用程式同一個令人信任嘅應用程式分開:

  • 自訂網域,並使用 HTTPS。參閱點樣連接自訂網域。
  • 交易電郵,由已驗證嘅網域發送,用於註冊確認同重設密碼。點樣由應用程式發送電郵有詳細說明。
  • 私隱政策同條款,描述你實際收集嘅資料。唔好抄寫你未有做到嘅合規聲明。
  • 支援途徑,即使只係一個有人監察嘅電郵地址。
  • 測試同正式使用嘅金鑰分開,付款同電郵嘅金鑰都要分開,並清楚記錄邊個環境用邊組。

第八步:順利交接

遲早會有其他人參與應用程式:自由工作者、新嘅聯合創辦人,或者六個月後嘅你自己。要令佢哋容易接手:

  • 一份 README,講明點樣運行、需要邊啲環境變數(只寫名稱同用途,絕對唔寫數值),以及點樣部署。
  • 主要流程清單同自動化測試。
  • 簡短嘅架構說明:前端、後端、資料庫、第三方服務,以及每樣東西託管喺邊度。
  • 存取權限清單:邊個擁有網域、託管、資料庫、付款同電郵帳戶嘅管理員權限。呢啲帳戶要放喺商業電郵之下,而唔係個人電郵。
  • 程式碼放喺 Git,最好同步到一個你擁有嘅儲存庫。如果日後可能轉換託管,請閱讀點樣匯出同自行託管 AI 建立嘅應用程式。

AI 可以草擬大部分呢啲文件:

為一位從未見過呢個專案嘅開發者撰寫 README:應用程式做乜、技術堆疊、點樣喺本機運行、佢讀取嘅每個環境變數(只寫名稱同用途),資料庫結構點樣組織,以及點樣部署。

正式推出準備清單

  • 主要流程已寫下並測試,包括「不能存取他人嘅資料」
  • 每條資料路由都有伺服器端授權同驗證
  • 前端程式碼冇機密金鑰;曾經外洩嘅金鑰已經輪換
  • 登入同任何會產生費用嘅功能都有速率限制
  • 錯誤追蹤同正常運作時間警報,指向一個你會查閱嘅收件箱
  • 資料庫備份已儲存喺應用程式託管以外,並且成功測試過一次還原
  • 已用接近真實嘅數據檢查分頁同索引
  • 自訂網域、已驗證嘅發送網域、私隱政策
  • 為下一位接手者準備好 README 同存取權限清單

喺 Mythex 入面處理

如果你喺 Mythex 建立咗原型,大部分步驟都可以喺同一個專案入面用提示詞完成。輸入 /test,Mythex 會似用家咁喺實時預覽上點擊,並報告壞咗嘅流程;參閱 App Testing。金鑰放喺專案機密資料入面,而唔係放喺對話之中;每次代理成功完成一個回合,都會儲存一個檔案檢查點,你可以還原。發佈之後會得到一個實時網址,託管同資料庫都從同一個點數餘額扣費(託管限制解釋應用程式同資料庫點樣休眠同喚醒)。檢查點保存嘅係檔案,而唔係資料庫紀錄,所以你仍然要規劃資料備份。Pro 計劃可以連接自訂網域,並匯出程式碼或同步到你自己嘅 GitHub 儲存庫,方便交接。

常見問題

原型同正式應用程式有咩分別?

原型證明一個概念喺你小心使用時可以運作。正式應用程式則要喺陌生人隨便使用時依然運作:保護佢哋嘅資料、應付錯誤輸入、出錯時通知你,並且可以喺出事後還原。

AI 建立嘅應用程式可以正式使用嗎?

可以,只要你按照檢查任何應用程式嘅方式去檢查佢。AI 寫出嘅程式碼就係普通程式碼;除非你特別要求,它常常會漏咗嘅,係一啲冇咩吸引力但好重要嘅工作:存取權限檢查、輸入驗證、錯誤處理、記錄同備份。

推出之前一定要有自動化測試嗎?

每次發佈之前,你至少要有一個可以重複執行、檢查主要流程嘅方法。對小型應用程式來說,可以係一份書面嘅逐步點擊清單;隨住應用程式愈來愈大,就可以要求 AI 為那些會令你賺錢或蝕錢嘅流程加入自動化測試。

點樣備份應用程式嘅資料庫?

定期匯出資料庫(以 Postgres 而言,用 pg_dump),並將備份儲存喺應用程式本身託管以外嘅地方。然後至少測試一次還原,因為未經測試嘅備份只係一個希望。

Mythex · Pricing · 用 AI 建造任何嘢 · 網站及應用程式範本 · Mythex 比較 · AI 應用程式開發詞彙表 · 免費 AI 應用程式開發工具 · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Bahasa Indonesia Íslenska Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Português (Portugal) Română Русский Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(台灣)