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

# 建立知識庫

> 建立知識庫、挑選來源、用 AI Context Builder 整理內容、發布版本、回溯，並依排程更新

本頁從頭到尾帶你建立一個知識庫：建立、選擇來源檔案、與 AI Context Builder 協作產生檔案樹、發布，並持續保持內容最新。

<Note>
  建立與修改知識庫需要 **Admin** 或 **Builder** 工作區角色。Operator 與 Viewer 可以開啟並閱讀知識庫。
</Note>

## 1. 建立知識庫

在側邊欄開啟 **檔案**。若看不到 **檔案與知識庫** 面板，先點選左上角的 **顯示清單**。面板會列出工作區檔案，並在 **知識庫** 區段列出每一個知識庫。點選 **全部知識庫**，再點 **新增知識庫**。

<Frame>
  <img src="https://mintcdn.com/datagen/rusBmwP8bd_Srmdm/images/browser-guide/zh/context-list.jpg?fit=max&auto=format&n=rusBmwP8bd_Srmdm&q=85&s=242270a74542e5f464874fe522103f14" alt="知識庫列表：草稿、已就緒狀態與版本" width="838" height="863" data-path="images/browser-guide/zh/context-list.jpg" />
</Frame>

填寫對話框：

| 欄位 | 用途 |
| - | - |
| **名稱** | 顯示名稱，最多 120 個字元，隨時可以重新命名。 |
| **代稱** | `.context/` 底下的小寫資料夾名稱，最多 64 個字元（英文字母、數字、`.`、`_`、`-`），會依名稱自動建議。**建立後即無法更改。** |
| **說明** | 選填，但建議填寫：Agent 會依這句話判斷哪個知識庫涵蓋某個主題。 |
| **原始資料** | 建置器使用的來源檔案，見下方說明。 |

### 選擇來源

**原始資料** 選擇器會列出所有可以用來建立知識庫的內容：

* 你在檔案頁上傳的**工作區檔案**（共用的 `.raw` 層）。
* **Agent 產出**（`outputs`），也就是 Agent 在先前執行中發布的檔案。
* **每個 Agent 自己的檔案樹**，方便把多個 Agent 整理成一份共用知識庫。
* 自架環境中，管理員掛載到工作區原始資料層的**外部來源**。

<Frame>
  <img src="https://mintcdn.com/datagen/rusBmwP8bd_Srmdm/images/browser-guide/zh/context-select-sources.jpg?fit=max&auto=format&n=rusBmwP8bd_Srmdm&q=85&s=4251bccc2cd14127aca0686155bef18d" alt="新增知識庫：勾選示例資料夾，尚未建立" width="838" height="863" data-path="images/browser-guide/zh/context-select-sources.jpg" />
</Frame>

可以依名稱或路徑搜尋，也可以直接跳到某個路徑。逐一勾選檔案，或勾選整個資料夾。

<Tip>
  **選資料夾，而不只是檔案。** 選取的資料夾會持續被追蹤：之後重新複製來源時，資料夾中新增的檔案也會一併納入。
</Tip>

<Warning>
  標示為 **個人** 的檔案一旦被選入，整個工作區的人都能透過建置器與已發布的知識庫看到它的內容。
</Warning>

來源是輸入，不是產出。選取的檔案會以唯讀方式複製到建置器工作階段的 `.sources/` 資料夾，永遠不會成為某個版本的一部分被發布。

點選 **建立**。DataGen 會開啟新知識庫的建置器。

<Tip>
  知識庫是由**檔案**建立的。若要讓 Agent 存取資料庫中的資料表，請發布一個分析資料並連結到 Agent。請見 [使用資料](/zh/data/use)。
</Tip>

## 2. 用 AI Context Builder 建立內容

建置器（`/signalgen/context/<id>/build`）是一個與 AI Agent 的對話。這個 Agent 在自己的沙盒中執行，讀取你的來源，並寫出知識庫的檔案樹。

| 區域 | 內容 |
| - | - |
| **左側** | **對話**（開始 **新對話** 或重新開啟先前的對話）、**來源** 與 **版本** 分頁 |
| **中間** | 對話，以及你開啟來閱讀或手動編輯的每個檔案分頁 |
| **右側** | **沙箱檔案**：建置器正在寫入的即時檔案樹，以及 **變更** 檢視，精確列出發布時會寫入的內容 |

可以從建議的提示開始 —— **來源裡有什麼？**、**為這個知識庫提出結構規劃**、**建立來源的摘要索引** —— 或直接描述你要的內容：

```text theme={null}
讀完來源中的每個檔案。建立一個知識庫，包含：
- README.md：說明這個知識庫涵蓋的範圍，並列出每個檔案的索引
- 每個主題一個 Markdown 檔，用淺白的語言整理規則
- glossary.md：內部術語表
每個段落都註明來源檔案。
```

<Tip>
  請建置器產生一份說明知識庫組織方式的 `README.md`。可以寫入知識庫的 Agent 會被要求在修改任何內容前先讀它的 `README.md`，因此這份索引就是放置知識庫規則的地方。
</Tip>

工作時常用的控制項：

* **在對話中加入檔案。** 輸入框的 **從工作區加入來源** 選擇器會把檔案加入來源、複製到 `.sources/`，並在你的訊息中引用它們。
* **編輯或更新來源。** **來源** 分頁列出建置器讀取的內容。**重新複製來源** 會重新複製每個選取檔案的目前版本，不會動到你已建立的檔案樹。
* **捨棄變更。** 在 **變更** 檢視中還原單一檔案或所有未儲存的變更。
* **重新啟動工作階段。** 標題列的重新啟動按鈕會重新啟動建置器沙盒。你的檔案會先建立檢查點，並自動還原。

每一回合結束後，你的進度都會建立檢查點，所以關閉分頁不會遺失內容。在你發布之前，任何內容都不會傳到 Agent。

<Note>
  同一時間只有一個人能編輯知識庫。如果其他人已開啟建置器，你可以選擇 **僅供檢視** 或 **接手**；對方進行中的那一回合仍會完成。
</Note>

## 3. 設定建置器的執行環境

建置器與 Agent 使用相同的基礎設定。開啟知識庫的詳細頁，再開啟 **設定** 分頁：

| 設定 | 控制內容 |
| - | - |
| **預設模型** | 對話中未指定模型時，建置器使用的模型 |
| **沙箱環境** | 建置器沙盒啟動時使用的映像與套件。下次工作階段冷啟動時套用。請見 [沙箱環境](/zh/foundation/sandbox-environments)。 |
| **執行框架** | 建置器載入的 Agent 執行環境與 LLM 供應商（Harness）。請見 [Harness](/zh/foundation/harness)。 |
| **保險庫** | 建置器憑證的來源（連線保險庫）。請見 [連線保險庫](/zh/foundation/vault)。 |
| **工具套件** 與 **為此知識庫啟用 DataGen MCP** | 建置器是否能使用 DataGen MCP gateway，以及開放哪些工具。未啟用 DataGen MCP 時，工具套件沒有作用。 |
| **密鑰允許清單** | 限制建置器只能使用列出的密鑰。留空表示可使用工作區解析出的所有密鑰。 |

未設定的項目會沿用工作區預設值。點選 **儲存設定**。

你也可以在 **技能** 分頁安裝已核准的 Skill，讓建置器有更好的工作方式。這些 Skill 只是建置期工具；請見 [Skills](/zh/context/skills)。

## 4. 發布

當 **變更** 檢視顯示的正是你要的內容時，點選建置器標題列的 **發布知識庫**。對話框會顯示有多少變更將會上線，並可填寫選填的 **版本說明**。點選 **發布**。

發布會把檔案樹寫入 `.context/<slug>/`，記錄為下一個版本（v1、v2…），並把狀態設為 **已就緒**。每個連結到這個知識庫的 Agent 都會從下一回合開始讀取新版本。

在詳細頁中，**檔案** 分頁顯示目前發布的內容 —— 也就是已連結的 Agent 讀到的內容。

## 5. 版本與回溯

**版本** 分頁（在詳細頁與建置器中都有）列出每個版本的時間、檔案數與版本說明。上線中的版本標示 **上線中**，由 Agent 寫入的版本則標示 **代理寫入**，並列出它修改的檔案。

<Frame>
  <img src="https://mintcdn.com/datagen/rusBmwP8bd_Srmdm/images/browser-guide/zh/context-versions.jpg?fit=max&auto=format&n=rusBmwP8bd_Srmdm&q=85&s=e5a863f2497f62b05a3351ba5b16bab7" alt="NEON DB schema 版本分頁，v1 上線中" width="838" height="863" data-path="images/browser-guide/zh/context-versions.jpg" />
</Frame>

* **回溯。** 在任一較早的版本上點選 **回復到此版本**。該版本的檔案會發布為一個**新**版本，Agent 會從下一回合開始讀取。原本上線中的版本會保留它的所有內容，包括 Agent 寫入的內容，因此你也能用同樣方式把它還原回來。
* **刪除版本。** 從列表中移除舊的快照。上線中的版本無法刪除。

## 6. 用自動化保持內容最新

知識庫是一份快照，所以來源改變時它不會跟著改變。若要依排程更新，開啟 **自動化** 分頁並點選 **新增自動化**。

| 欄位 | 範例 |
| - | - |
| **名稱** | `weekly-refresh` |
| **要建置器做什麼？** | `重新讀取每個來源，更新有變動的摘要，並在 README.md 記下新增的內容。` |
| **排程** | `0 9 * * 1`（cron，每週一 09:00） |
| **時區** | `Asia/Taipei` |
| **啟用** | 開啟 |

提示會作為該次執行唯一的訊息送給建置器，並使用知識庫自己的模型、沙盒與憑證。用 **立刻執行** 馬上試跑，並在 **最近的執行** 查看每次執行的狀態。

<Warning>
  排程執行**永遠不會發布**。它會把結果存進建置器的草稿，並在完成時寄信給執行身分的那位使用者。請開啟建置器、檢查 **變更** 檢視，再點選 **發布知識庫** 讓內容上線。
</Warning>

如果排程時間到時有人正開著建置器，該次執行會被跳過（**跳過 —— 建置器有人在用**），不會排隊；下一個排程時間會再試一次。

## 刪除與復原

詳細頁上的 **刪除知識庫** 會把知識庫從每個 Agent 取消連結。預設情況下，已發布的 `.context/<slug>/` 資料夾會留在儲存空間中；勾選 **同時刪除已發布的檔案** 則會永久移除檔案樹、版本快照與草稿。

已刪除的知識庫可以在知識庫頁面的 **已刪除** 清單中復原，期限由管理員在各工作區的 **設定 → 儲存** 中設定。

<AccordionGroup>
  <Accordion title="未歸屬的檔案">
    知識庫頁面會列出 **未歸屬的檔案**：位於 `.context/` 底下、但不屬於任何知識庫的資料夾，通常是刪除知識庫後留下的。使用 **收錄成知識庫** 接手某個資料夾（其中的檔案會直接記為 v1，不會搬動任何東西），或將它刪除。
  </Accordion>
</AccordionGroup>

## 下一步

<CardGroup cols={2}>
  <Card title="使用知識庫" icon="plug" href="/zh/context/use">
    連結到 Agent 與 App，並選擇讀取或讀取與寫入權限。
  </Card>

  <Card title="Skills" icon="wand-magic-sparkles" href="/zh/context/skills">
    上傳、審核 Skill，並安裝到 Agent、知識庫與 App。
  </Card>
</CardGroup>


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