正式環境場景

程式碼生成用 LLM API

情境:產品團隊收到小功能工單,為既有報表頁新增 CSV 匯出,不變更公開 API。 將工單、儲存庫規範、受影響檔案與測試命令交給模型。 回傳統一格式差異檔,以及證明功能可用的測試。

功能需求轉為通過測試、可審查的程式修正
程式碼生成用 LLM API

正式環境實作

API、主要模型與備援設定

正式環境選擇建議原因
APIPOST /v1/chat/completionsOpenAI 相容伺服器端請求
主要模型gpt-5.6-terra預設用 Terra,因為此流程需要理解儲存庫並產生可用修正,但不需每張工單都用 Sol 等級推理。
備援模型gpt-5.5小型獨立修改只在通過相同驗收測試後使用 gpt-5.5;跨架構邊界,或 Terra 同一測試失敗兩次時升級 Sol。
升級模型gpt-5.6-sol只在主要路徑未達品質或複雜度門檻時使用
輸出規則任務文字或修正可順利套用的差異檔,以及涵蓋所有驗收條件的測試。
01
情境

正式應用中的程式碼生成

情境:產品團隊收到小功能工單,為既有報表頁新增 CSV 匯出,不變更公開 API。 將工單、儲存庫規範、受影響檔案與測試命令交給模型。 回傳統一格式差異檔,以及證明功能可用的測試。

LLMFly AI 僅負責生成。 應用仍在臨時 worktree 檢查修正、執行 lint 與測試,將失敗作為新訊息送回。 不會直接合併第一筆回應。

02
架構

程式碼生成流程如何運作

  • 取得工單、規範、受影響檔案與測試命令。
  • 要求統一差異檔與新增或修改的測試。
  • 只在臨時 worktree 套用修正。
  • 執行確定性驗證,失敗送回進行一次有界修正。
  • 通過的修正交由人工審查。
03
API 請求

透過 LLMFly AI 呼叫 gpt-5.6-terra

從伺服器送出請求,將範例內容與預留工具格式換成應用的資料與工具。

request.example
curl https://app.llmfly.ai/v1/chat/completions \
  -H "Authorization: Bearer $LLMFLY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-5.6-terra",
    "messages": [
      {"role": "system", "content": "You are editing an existing repository. Return only a unified diff. Preserve public APIs, follow the supplied conventions, and include tests for every acceptance criterion."},
      {"role": "user", "content": "Add CSV export to the report page. Files and acceptance criteria follow below."}
    ]
  }'
04
模型選擇

為什麼以 gpt-5.6-terra 為主要模型

預設用 Terra,因為此流程需要理解儲存庫並產生可用修正,但不需每張工單都用 Sol 等級推理。

小型獨立修改只在通過相同驗收測試後使用 gpt-5.5;跨架構邊界,或 Terra 同一測試失敗兩次時升級 Sol。

05
驗收

程式碼生成驗收檢查

指標通過條件
建置與測試通過率修正可建置,所有受影響測試在隔離環境通過
需求涵蓋每個驗收條件都有對應變更檔案或測試
不必要檔案變更未說明理由時,不改無關檔案、依賴或公開介面
每筆採用修正的成本生成、重試、測試與審查均在團隊每筆變更預算內
06
失敗處理

部署前要處理的失敗

  • 只測試簡單示例
  • 採用能編譯但未滿足需求的程式碼
  • 候選模型使用不一致的上下文
  • 忽略審查與修正成本
07
輸出

回傳輸出與執行紀錄

可順利套用的差異檔,以及涵蓋所有驗收條件的測試。

每次正式執行記錄模型 ID、請求 ID、token 用量、重試、驗證結果與最終處理。

常見問題

程式碼生成評測應包含什麼?

使用自己儲存庫的任務,固定需求、測試命令與審查標準。

生成程式碼應自動合併嗎?

視為未受信任的修正。 隔離建置與測試後,再依風險進行審查。

比較程式開發 API 只看 token 價格夠嗎?

不是。 比較計入重試、測試、審查與修正後,每筆採用變更的成本。

用自己的輸入測試設定

以相同請求、工具與驗證規則比較主要和備援模型。

比較模型