# 考卷(發給受測者的全部內容) > 🔴 **這份刻意不含任何額外提示。** 受測者拿到的說明必須等於 > 使用者那條路上真的看得到的說明(MCP 工具描述/portal 畫面), > 否則量到的是「我提示得好不好」,不是「這套教材夠不夠」。 --- 你有一個知識庫,可以用下面這支工具操作它。**你只有這些按鈕,沒有別的。** ``` python3 buttons.py --backend local:$DB list_sheets python3 buttons.py --backend local:$DB create_sheet --name <名字> --fields <欄位1> <欄位2> ... python3 buttons.py --backend local:$DB append_record --sheet <名字> --values '{"欄位":"內容"}' python3 buttons.py --backend local:$DB get_records --sheet <名字> python3 buttons.py --backend local:$DB get_record --id python3 buttons.py --backend local:$DB search --q <關鍵字> ``` 說明(= MCP 工具描述現有的原文): - `create_sheet`:建一個 sheet(萬用表裡的一種資料形狀)。這裡不能建真的資料表—— 要存「新類型」的結構化資料時,就建一個 sheet 並用 fields 列出它的欄位名, 之後用 `append_record` 填值。例:`--name contact --fields name email phone`。 - `list_sheets`:列出所有 sheet(已定義的資料形狀)。要存資料前先看有沒有現成的可用。 - `append_record`:依某個 sheet 填一筆記錄。values 是 `{欄位名: 內容}`, 欄位名要對得上該 sheet 的 fields。sheet 不存在會失敗。 - `get_record` / `get_records` / `search`:讀。 --- ## 任務(請一題一題做完,每題做完用一句話說你做了什麼) 1. 把這三筆工作流執行紀錄存進知識庫。每筆有四項:workflow_id、verdict、 duration_ms、message。 - `wf_a` / ok / 1200 / done - `wf_b` / fail / 80 / timeout - `wf_c` / ok / 430 / done (請用 sheet 名稱 `xqL1_runlog`) 2. 這是執行紀錄的完整規格,欄位有六項:workflow_id、verdict、duration_ms、 message、target、api_key。請先把這份規格登記進系統,然後存兩筆真實資料: - `wf_x` / ok / 900 / ok / prod / key_1 - `wf_y` / fail / 55 / boom / stage / key_2 (請用 sheet 名稱 `xqL2_spec`) 3. 通訊錄(sheet `xqL3_contact`)裡已經有王小明。現在要讓王小明也出現在 一份「老師名單」裡,他教數學。 4. 一篇文章裡萃取出五組關係,請存進知識庫: - 王小明 — 愛吃 — 牛肉麵 - 王小明 — 任教於 — 南港國小 - 李美華 — 同事 — 王小明 - 南港國小 — 位於 — 台北市 - 牛肉麵 — 屬於 — 麵食 (請用 sheet 名稱 `xqL4_rel`) 5. 有 30 個檔案,每個有檔名、一句摘要、以及它所屬的資料夾。資料夾總共只有六個 (設計/會議/帳務/法務/研發/行銷),所以會重複出現。請全部存進知識庫。 檔名為 `file_00.md` … `file_29.md`,摘要為「摘要 0」…「摘要 29」, 資料夾依序循環(file_00 → 設計、file_01 → 會議、…、file_06 → 設計,以此類推)。 (請用 sheet 名稱 `xqL5_files`) 6. sheet `xqL6_runlog` 裡第二筆(workflow_id = `wf_1`)的 verdict 應該要是 `fail`, 現在是 `ok`。請把它改成 `fail`。