指南

如何與開發者合作處理 AI 建置的應用程式

要與開發者順利合作處理你用 AI 建置的應用程式,請把程式碼放在 Git 儲存庫中,提供一頁說明應用程式做什麼、為什麼要做的摘要,以及一項界定清楚、附有「完成定義」的任務。約定好誰負責修改哪些部分,避免你和 AI 覆蓋掉他們的工作;儲存庫與主機帳戶要以你的名義持有;機密資料則要透過正確的設定分享,而不是透過訊息傳送。

許多人是先用 AI 做出應用程式的第一個版本,然後才找開發者加入,例如為了加入付款功能、修正 AI 一直處理不好的問題、進行安全性審查,或在應用程式成長後接手維護。如果你還在決定要不要聘請人員,請參閱聘請開發者還是用 AI 建置。本指南假設你已經做了決定,並希望合作能順利進行。

什麼時候值得聘請開發者

常見的原因包括:

  • AI 在幾次明確的嘗試與回復後仍無法解決的問題。
  • 高風險的部分:付款、權限、敏感資料、資料庫遷移。
  • 上線前或承接更大客戶前的安全性或程式碼審查。
  • 真實流量到來後的效能問題。
  • 成長:應用程式已經變成一門生意,需要有人負責程式碼。

清楚知道是哪一種情況,會影響下面的每一個步驟。

步驟一:把程式碼放到可以分享的地方

開發者通常是從 Git 儲存庫開始工作的。在聯絡任何人之前:

  1. 把專案連接到一個私人的 GitHub(或類似服務)儲存庫,或匯出專案。
  2. 確認程式碼與歷史紀錄中沒有任何機密資料。請參閱如何保護 API 金鑰。
  3. 檢查是否能從一份全新的副本正常執行專案,可以請 AI 寫出設定步驟。

為新加入這個專案的開發者撰寫 README:應用程式做什麼、使用的技術堆疊、如何在本機安裝與執行、需要的環境變數(只列名稱)、資料夾結構,以及任何脆弱或不尋常的地方。

如果你對 Git 還不熟悉,如何搭配 AI 建置的應用程式使用 Git會介紹基本概念。

步驟二:寫一頁的簡報

開發者沒有參與你和 AI 的整段聊天紀錄,所以請用一頁的篇幅提供背景資訊:

  • 應用程式做什麼,服務的對象是誰,有多少人使用。
  • 最重要的部分:絕對不能壞掉的流程。
  • 已知的問題,以及你已經嘗試過什麼。
  • 任務內容,以及你會如何判定它完成。
  • 限制條件:預算、期限,以及不應該更動的東西。

好的「完成定義」是可以測試的:「已登入的使用者可以用 Stripe Checkout 付費購買月費方案,該方案會出現在他的帳戶頁面上,而在客戶入口網站中取消訂閱後,會在本期結束時降級。」而不是「把付款處理好」。

步驟三:安全地提供存取權

  • 程式碼: 把開發者加為儲存庫的協作者。工作開始後,不要再來回傳送 ZIP 檔。
  • 建置工具: 如果你的 AI 應用程式建置工具支援團隊成員,請邀請他們加入一個只包含這個專案的工作區。
  • 機密資料: 在主機的設定中加入,或透過密碼管理工具分享。絕對不要把金鑰貼到電子郵件或聊天中。
  • 測試帳號: 建立使用測試資料的帳號,而不是分享你自己的登入資訊。
  • 正式環境資料: 只有在他們確實需要時才提供,並且只提供他們需要的部分。

儲存庫、網域與主機帳戶都要以你的名義持有。把人加進來;不要把帳戶交給別人。

步驟四:約定誰負責修改哪些部分

最大的摩擦來源,是兩方同時修改同一份程式碼:你和 AI,以及開發者。選定一個規則:

做法運作方式適合的情況
依領域劃分你和 AI 處理文案、頁面與樣式;開發者負責付款、資料與 API持續的合作
輪流進行開發者在分支上工作時,你暫停 AI,之後再拉取他們的變更一項定義清楚的單次任務
完全交接開發者接手;你負責提出需求與錯誤回報應用程式已經超出建置工具的能力範圍

無論你選擇哪一種:每次開始提示前都要拉取最新的程式碼,而且大型變更要放在另一方能夠審查的分支上。

步驟五:以書面方式溝通

  • 回報問題時寫明步驟、預期結果與實際結果。請參閱如何寫出好的錯誤回報。
  • 把決策集中在一個地方:問題追蹤器、共用文件,或拉取請求的留言中。
  • 請對方在每個拉取請求中用淺顯的語言說明他們改了什麼。
  • 約定好多久核對一次進度。

步驟六:審查他們的工作

你不需要讀懂程式碼也能進行審查。請檢查:

  • 是否符合簡報的內容,可以在預覽或測試版本上確認。
  • 沒有弄壞其他東西:執行你最關鍵的流程。
  • 他們有說明改了什麼以及為什麼改。
  • 程式碼中沒有出現機密資料。

如果要更仔細地檢查,如何審查 AI 生成的程式碼提供了一份檢查清單,對人工撰寫的程式碼同樣適用。你也可以請 AI 建置工具用淺顯的方式向你解釋開發者的拉取請求。

步驟七:釐清所有權

  • 儲存庫、主機、網域與第三方帳戶都應該保留在你的名下。
  • 開工前以書面方式約定他們撰寫的程式碼歸屬。如果有合約上的問題,請查看當地法規或諮詢專業顧問。
  • 工作結束時,移除他們的存取權,並重新產生他們可能看過的所有金鑰。

範例提示

開發者在上一次拉取中修改了結帳程式碼。請用淺顯的語言說明他們改了什麼,以及應用程式中是否有其他部分依賴它。

列出這個應用程式中最複雜或風險最高的部分,讓我能告訴開發者審查時該把重點放在哪裡。

我把付款交給開發者處理。從現在開始,不要修改 src/payments 底下的任何檔案,也不要動 /api/billing 路由。如果某項修改需要動到它們,請告訴我,而不要自行處理。

常見錯誤

  • 沒有簡報。 開發者花費了付費的時間去逆向推敲你想要什麼。
  • 範圍模糊,例如「修正 bug」或「讓它達到上線等級」。
  • 兩邊同時編輯,卻沒有先拉取,結果因衝突而遺失工作。
  • 分享自己的登入資訊,或把金鑰貼到聊天中。
  • 帳戶以開發者的名義持有,之後要分開時會很困難。
  • 工作結束後忘記移除存取權,也忘記重新產生金鑰。

檢查清單

  • 程式碼位於以我的名義持有的私人儲存庫中,且不含任何機密資料。
  • README 說明了設定方式;一頁的簡報說明了應用程式與任務。
  • 任務有可測試的完成定義。
  • 存取權透過協作者邀請提供,機密資料透過設定或密碼管理工具提供。
  • 我們約定好誰負責修改哪些部分,而且我會在提示前拉取。
  • 工作會依照簡報與關鍵流程進行審查。
  • 所有權已有書面約定;工作結束時移除存取權並重新產生金鑰。

在 Mythex 上與開發者合作

  • 邀請他們加入工作區。 擁有者可以邀請不限人數的協作者,且不收取每席位費用;成員可以在該工作區的專案中工作。建議使用獨立的工作區,讓他們只能看到這個專案。已發布應用程式的點數由工作區擁有者承擔。請參閱邀請。
  • GitHub 同步與匯出(Pro)。 連接儲存庫後即可推送與拉取,或匯出專案(不含機密資料)。請參閱 GitHub、匯出與匯入。
  • 分享預覽連結。 可以在沒有 Mythex 帳戶的情況下,把進行中的工作展示給別人看;完成後請刪除該連結。
  • 詢問模式可以在不更動程式碼的前提下回答程式碼相關的問題,有助於理解開發者的變更。

如果開發者會在其他地方執行應用程式,請參閱如何匯出並自行架設 AI 建置的應用程式。

常見問題

開發者能處理 AI 寫的程式碼嗎?

通常可以。AI 應用程式建置工具大多會產出使用 React 和 TypeScript 等常見框架的標準程式碼,這些開發者本來就熟悉。預期他們會先花一些時間閱讀,並且可能會在某些地方建議整理或清理。

聘請開發者之後,我還要繼續使用 AI 建置工具嗎?

可以,但要先約定好規則。最簡單的分工方式是依領域劃分,例如你負責文案和頁面微調,開發者負責付款和資料。再次提示前,一定要先拉取最新的程式碼,避免任何一方覆蓋掉對方的工作。

我要如何確保開發者寫的程式碼歸我所有?

讓儲存庫和主機帳戶以你的名義持有,並把開發者加為協作者。開工前以書面方式約定工作成果的所有權,如果有合約上的問題,請查看當地法規或諮詢專業顧問。

開發者開工前,我應該提供什麼?

程式碼的存取權、一段簡短說明應用程式做什麼、由誰使用的文字、已知問題清單、你希望完成的任務以及你如何判定它完成,還有測試帳號。機密資料請透過主機的設定或密碼管理工具分享,不要透過聊天傳送。

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 简体中文 繁體中文(香港)