> ## Documentation Index
> Fetch the complete documentation index at: https://datagen.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# 核心概念

> 工作區、構件與基礎設定、構件之間如何掛載，以及版本與發布如何運作

這一頁說明 DataGen AI Cloud 背後的心智模型。讀過一次，其他頁面都建立在這些概念之上。

## 工作區

你建立的一切都位於**工作區**中：連線、檔案、知識庫、Agent、App，以及它們執行時所依賴的基礎設定。每位使用者都有一個個人工作區，團隊則可以建立共用工作區並邀請成員。

每位成員都有一個工作區角色——「**管理員**」、「**建構者**」、「**操作員**」或「**檢視者**」——而個別資源可以只針對該資源覆寫某位成員的角色。

## 構件與基礎設定

DataGen 把**你建立的東西**和**它執行在什麼之上**分開。

* **構件**是團隊建立與使用的東西：**資料**、**檔案**、**知識庫**、**Agent** 與**應用（App）**。
* **基礎設定**是構件所指定的共用設定：存放憑證的**連線保險庫**、決定映像檔與資源的**沙箱環境**，以及決定 Agent 執行框架的 **Harness**。

每個 Agent、App 與 AI 建構器都在沙盒中執行。沙盒啟動時會使用所指定的沙箱環境、Harness 與連線保險庫。沒有指定的項目會使用工作區預設值：

| 基礎設定 | 未指定時的預設值 |
| - | - |
| 連線保險庫 | 工作區的預設連線保險庫，名稱為 **Default**，第一次使用時自動建立 |
| 沙箱環境 | 標準映像檔，介面顯示為「**預設（標準映像）**」 |
| Harness | 內建的 Claude Agent SDK，搭配原生 Anthropic |

因此你不需要先設定任何基礎設定，就能建立第一個 Agent。需要更多控制時，請參考[連線保險庫](/zh/foundation/vault)、[沙箱環境](/zh/foundation/sandbox-environments)與 [Harness](/zh/foundation/harness)。

## 構件如何掛載

構件之間彼此銜接。檔案會流入知識庫與資料。Agent 使用知識庫與已發布的分析資料；App 使用已發布的分析資料與工作區檔案。

```text theme={null}
檔案 ──┬──> 知識庫 ──────────────┬──> Agent  （READ 或 READ_WRITE）
       │                          └──> App 建構器（唯讀）
       └──> 資料 ──> 已發布的分析資料 ─┬──> Agent
            （CSV、TSV、Parquet）        └──> App
```

| 構件 | 你建立的東西 | 掛載到哪裡 | 使用的基礎設定 |
| - | - | - | - |
| 資料 | 連線、來源，以及你發布的分析模型 | Agent 與 App（已發布的模型） | AI Data Builder 使用的沙箱環境與連線保險庫 |
| 檔案 | 上傳的檔案與資料夾 | 資料（CSV、TSV 與 Parquet 檔案來源）；知識庫（作為來源） | 無 |
| 知識庫 | 由選取檔案建立、有版本的知識庫 | Agent（READ 或 READ\_WRITE）；自訂 App 的 AI App Builder（唯讀，僅建構時） | AI Context Builder 使用的沙箱環境、Harness 與連線保險庫 |
| Agent | 包含指示、工具、Skill、自動化與頻道的 Agent | 使用知識庫、資料、Skill 與工具 | 連線保險庫、沙箱環境與 Harness |
| 應用（App） | marimo 筆記本或自訂網頁應用 | 執行中的 App 讀取在「**來源**」分頁選取的工作區檔案，以及連線保險庫中的憑證；自訂 App 也可以連結已發布的模型 | 沙箱環境、Harness 與連線保險庫 |

### 知識庫是快照

知識庫是一個具名、有版本的檔案樹，由你選取的來源建立：工作區檔案、個人檔案、Agent 產出、某個 Agent 自己的檔案，或外部來源。每次發布都會儲存一份新快照，已掛載的 Agent 會在沙盒中的 `/mnt/context/contexts/<slug>/` 以唯讀方式讀取其中的檔案。它是快照，不是即時連結：來源檔案變更時，知識庫只有在你再次發布時才會更新。

### 存取模式

把知識庫掛載到 Agent 時，你可以決定 Agent 能對它做什麼。存取模式在知識庫的「**代理**」分頁上設定：

| 存取模式 | Agent 可以做什麼 |
| - | - |
| `READ` | 讀取知識庫（介面上的「**讀取**」）。檔案樹以唯讀方式掛載在 Agent 的沙盒中。這是預設值。 |
| `READ_WRITE` | 讀取並寫回知識庫——例如記錄它學到的東西。選擇「**讀取與寫入**」讓 Agent 自行寫入，或選擇「**讀取與寫入（寫入前詢問）**」讓它在每次寫入前先請求核准。 |

### 知識庫開放範圍

Agent 的**知識庫開放範圍**（context exposure）決定它能看到哪些知識庫：

* `ATTACHED`——Agent 只能看到掛載給它的知識庫。目前建立的每個 Agent 都使用此模式。
* `ALL`——Agent 能以唯讀方式看到工作區中的每個知識庫。此模式只存在於較早建立的 Agent，無法為原本不是此模式的 Agent 開啟。

開放範圍永遠不會授予寫入權限，只有明確的 `READ_WRITE` 掛載才會。

存取模式只適用於 Agent。自訂 App 會把知識庫連結到它的 AI App Builder：建構時，建構器對話以唯讀方式讀取這些知識庫，發布後的 App 則看不到它們。

Agent 的**記憶**就是以「**讀取與寫入**」掛載的知識庫：Agent 會把學到的東西記錄在那裡。請參考[記憶](/zh/context/memory)。

### 資料以已發布模型的形式掛載

Agent 讀取的是**已發布的分析模型**，而不是原始連線或來源。Agent 連結已發布且實體化的模型，並用 `datagen-data` CLI 查詢；每次查詢都會讀取上線版本的最新資料。已發布的模型不是知識庫的來源——你要直接把它們連結到 Agent 或 App。請參考[使用資料](/zh/data/use)。

## 版本與發布

知識庫、資料、Agent 與 App 共用同一套生命週期：你在**草稿**上工作，然後**發布**一個版本，供其他所有東西使用。

| 構件 | 在哪裡工作 | 發布 | 回到舊版 |
| - | - | - | - |
| 資料 | AI Data Builder 中的草稿模型 | 發布一個版本（即時查詢或實體化） | 回溯到較早的版本，或把它還原到草稿 |
| 知識庫 | AI Context Builder 中的來源與建構結果 | 發布一份新快照 | 回溯到較早的版本（會以新版本發布） |
| Agent | Agent Builder 中的設定與檔案 | 發布，同時也會部署 Agent | 回溯到較早的版本 |
| 應用（自訂 App） | AI App Builder 中的檔案與設定 | 儲存版本，再從「**版本**」發布 | 發布較早的版本 |

發布永遠不會改變你正在編輯的內容，編輯也永遠不會改變已發布的內容。使用端——讀取知識庫或查詢模型的 Agent——讀取的永遠是已發布的版本。自動化也遵循同一個規則：知識庫或 App 的排程執行只會寫入草稿、不會發布；資料的排程更新則會重新執行已發布的 SQL，而不會修改它。

marimo 筆記本的運作方式不同：它沒有建構器，marimo 會直接在工作區共用的筆記本資料夾中儲存筆記本檔案。

## 下一步

<CardGroup cols={2}>
  <Card title="快速開始" icon="bolt" href="/zh/overview/quickstart">
    在大約 10 分鐘內實際運用這些概念。
  </Card>

  <Card title="連線保險庫" icon="key" href="/zh/foundation/vault">
    從基礎設定開始：存放構件要使用的憑證。
  </Card>
</CardGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.