Novita × TiDB:從程式碼到生產環境

Novita × TiDB:從程式碼到生產環境

Novita Artifact Hosting 與 TiDB 攜手,為 AI 生成的應用程式提供代管應用部署與可立即上線的資料庫層。由 Novita 負責執行環境,TiDB 提供相容 MySQL 的資料基礎架構,AI 程式碼代理只需一個部署工作流程,就能從生成的程式碼邁向可運作、有資料支撐的應用程式。

問題所在

過去一年來,Cursor、Claude Code 與 Devin 等 AI 程式碼代理讓我們感覺「只要一個提示就能建構應用程式」似乎已成可能。但現實仍有些尷尬:大多數代理生成的程式碼從未真正進入生產環境。

原因並非程式碼本身有問題,而是部署仍然太過複雜。

一個典型的 AI 生成應用程式可能需要:

  • 執行環境,例如容器或沙箱
  • 資料庫,例如 PostgreSQL 或 MySQL
  • 網域與 SSL 憑證
  • 環境變數設定
  • 資料庫遷移腳本

這些都不是代理在寫程式時通常會處理的事。

AI 程式碼代理仍需要部署元件組合

Novita Artifact Hosting:代理構建作品的歸宿

Novita Artifact Hosting 是一個專為 AI 程式碼代理所建立應用程式設計的全代管部署平台。核心概念很簡單:

代理寫程式碼,Novita 讓程式碼運作起來。

工作流程相當直接:

  1. 代理在沙箱中生成程式碼與 Dockerfile。
  2. 透過單一 SDK 呼叫 project.deploy(sandbox_id, arti_dir) 啟動部署。
  3. Novita 建置 Docker 映像檔。
  4. 輕量執行環境將部署上線。
  5. 使用者可透過 https://my-app.novita.space 這類網域存取應用程式。

這個工作流程已經正式運作,但它只解決了運算端的問題。真正的應用程式還需要資料。

TiDB:AI 生成應用程式的理想資料庫層

對於 AI 生成的網頁應用程式,資料庫層有兩個硬性需求:

  1. MySQL 相容性。 大多數 AI 友善的框架,例如 Next.js、Django 與 Laravel,都能與 MySQL 生態系統順暢運作。AI 生成的程式碼也很可能使用 MySQL 驅動程式。
  2. 零運維。 代理開發者不想管理資料庫,不想設定連線池、調校參數或處理備份。

TiDB 同時滿足這兩項需求:

  • 完全相容 MySQL 協定,AI 生成的程式碼無需改寫 SQL 就能執行。
  • 分散式架構,自動擴展,無需專職 DBA。
  • 支援 HTAP,同一資料庫可同時處理 OLTP 交易與分析查詢。

Novita + TiDB:一個參數就能加入資料庫

使用 Novita Artifact Hosting,啟用代管資料庫只需要一個參數:

deployment = project.deploy(
    sandbox_id="xxx",
    arti_dir="./workspace/my-app",
    database=True,  # 這一行
    migrations=[
        Path("./migrations/0001_schema.sql").read_text(),
        Path("./migrations/0002_seed.sql").read_text(),
    ],
    http_port=3000,
)

Novita Artifact Hosting 與 TiDB 部署工作流程

背後自動發生的事:

  1. 自動為專案建立或重複使用 TiDB 實例。
  2. 依序執行遷移,建立資料表、索引與種子資料。
  3. DATABASE_URL 注入部署環境,應用程式直接從 os.environ["DATABASE_URL"] 讀取。
  4. 部署應用程式,連線資料庫,開始為使用者提供服務。

對開發者而言,這代表無需註冊資料庫、無需設定連線字串、也無需手動執行遷移步驟。只需一行:database=True

這對 AI 程式碼代理的意義

之前 現在
代理寫程式碼,然後開發者手動部署到 Vercel 或 Railway。 代理寫程式碼,然後一次 SDK 呼叫就完成部署。
開發者必須在 TiDB Cloud、PlanetScale 或其他平台建立資料庫。 代管資料庫自動建立,連線資訊自動注入。
遷移腳本必須手動執行。 遷移自動依序執行。
環境變數必須手動設定。 DATABASE_URL 自動注入。
上線一個應用程式需要在三個平台之間協調。 一個平台、一個 API 就能處理完整流程。

目前狀態

  • Artifact Hosting 已上線,並支援自訂網域。
  • 由 TiDB 驅動的代管資料庫目前處於試用階段。
  • 提供 Python SDK 與 CLI 支援。
  • 開放原始碼範例可在 GitHub 上取得:ecomm-with-sqlecomm-with-managed-dbsnake-game-static

下一步規劃

一旦代管資料庫功能正式上線(GA),Novita 與 TiDB 的組合還能進一步擴展:

  • 多區域部署: TiDB 的多資料中心能力結合 Novita 的全球沙箱節點。
  • 資料主權: 使用者可以選擇資料儲存的位置。
  • 代理原生工作流程: 代理可以透過 SDK 直接建立專案、部署應用程式與佈建資料庫,讓整個流程完全自動化。