iT邦幫忙

2025 iThome 鐵人賽

DAY 8
0
生成式 AI

生成式AI 與 Notion 的碰撞 ?! 你還在 ctrl+c ctrl+v ?系列 第 8

Day 8 | CRUD - Create 實作篇 - AI Agent 從零創建行事曆 ( 終於有實戰了嗎 ?!

  • 分享至 

  • xImage
  •  

前言

到今天為止我們都是教學這些環境的安裝與概念的釐清,今天我們要實作 CRUD 中的Create (創建)
我將分享從零開始創建一個由 AI 助手幫我創建行事曆,當然我們這次重點在於要如何讓 agent 幫我們創建一個行事曆
我們並不會做修改的部分,我們會先試著用下精簡的 prompt 的方式來生成行事曆,再慢慢做修改並讓AI agent 盡量達到我們的要求,那我們就開始吧 !


實戰

不完整Prompt測試

我們當然還是要來一個錯誤示範,只給他短短一句話看他會創建出什麼樣的行事曆。

  1. 首先先將一個頁面開起來
  2. 確保 Notion 的整合有開啟這個頁面的權限
  3. 再下 Prompt

    不完整 Prompt:

    幫我在鐵人賽資料專區,創建一個行事曆,並幫我加入一個行程叫鐵人賽完賽日,日期是2025/10/14
    

    https://ithelp.ithome.com.tw/upload/images/20250922/20178023JKBvnAIE3N.png

讓我們來欣賞一下究竟會做出什麼樣的行事曆吧~
首先他創建一個頁面叫行事曆並使用資料庫 - 整頁做這次的行事曆
https://ithelp.ithome.com.tw/upload/images/20250922/20178023lgJLGDKgE8.png

然後我們可以看到他創建了一個相當陽春的資料庫,雖然陽春但我們也證實了,我們的claude desktop 串 Notion 是完全可行的
做到這一步其實意外的很有成就感,這樣前面做的也算是都有回報了。
https://ithelp.ithome.com.tw/upload/images/20250922/20178023Yk5fZiAu7f.png

我們看一下版本紀錄,就可以證明說我完全是沒有動作,全權交給claude desktop,但這樣的行事曆我完全不會想用,只有時間跟狀態是沒有意義的我們需要更完整的行事曆。
https://ithelp.ithome.com.tw/upload/images/20250922/20178023fP9EdlggVX.png


完整Prompt測試

那這次我們使用下列完整Prompt,這段Prompt完整的應用了我們Day-7所敘述的一個完整prompt該如何下讓 AI 出現幻覺的機率最低且遇到問題會跟我們回報。
且使用 Markdown 格式,讓 AI 能更清晰地解析每一個步驟和其中的細節。
這就像我們給予AI一個標準的規格書一樣讓他照著我們要的創造自己的行事曆。

完整Prompt:

# 角色
你是一個 Notion 操作專家,能夠將我的自然語言指令,分解成一系列精確的 Notion API 呼叫來執行。

# 主要目標
在 Notion 中設定一個新的行事曆資料庫,並新增第一筆行程。

# 執行步驟與錯誤處理

請嚴格按照以下步驟執行,並在每一步完成後簡短回報進度。如果任何一步失敗,請立即停止並報告錯誤。

**步驟一:定位父層頁面**
- **任務:** 在 Notion 中搜尋一個標題完全符合「鐵人賽資料專區」的頁面。
- **成功條件:** 找到唯一的一個頁面。
- **失敗處理:** 如果找不到,或找到多於一個,請停止並詢問我頁面的確切位置。

**步驟二:創建子頁面**
- **任務:** 在上一步找到的頁面中,創建一個新的子頁面。
- **頁面標題:** 「行事曆-完整Prompt版本」

**步驟三:創建內嵌資料庫**
- **任務:** 在上一步創建的子頁面中,創建一個新的**內嵌資料庫 (inline database)**。
- **資料庫標題:** 「行程總覽」
- **資料庫結構(屬性):**
    - `目標完成時間`: `date`
    - `狀態`: `select` (選項: "尚未完成", "進行中", "完成")
    - `重要程度`: `select` (選項: "重要", "不重要")
    - `緊不緊急`: `select` (選項: "緊急", "不緊急")

**步驟四:【盡力而為】設定屬性圖示 (Icon)**
- **任務:** 嘗試為以上四個屬性尋找合適的非 Emoji 圖示。
- **限制:** 如果 Notion API 或你的工具不直接支援搜尋或設定非 Emoji 圖示,**請使用以下 Emoji 作為備案**,不要報錯:
    - `目標完成時間`: 📅
    - `狀態`: 📊
    - `重要程度`: ⭐
    - `緊不緊急`: 🔥

**步驟五:新增第一筆行程**
- **任務:** 在新創建的資料庫中,新增一筆資料。
- **資料內容:**
    - `活動名稱`: "鐵人賽完賽日期"
    - `目標完成時間`: "2025-10-14"
    - `狀態`: "進行中"
    - `重要程度`: "重要"
    - `緊不緊急`: "不緊急"

---

# 最終回報
所有步驟完成後,請給我一個指向新創建頁面的 Notion 連結。

https://ithelp.ithome.com.tw/upload/images/20250922/20178023N0MtWYPdLb.png

這邊我們可以看一下最終輸出結果是否有符合預期https://ithelp.ithome.com.tw/upload/images/20250922/20178023XvdFLY4Lgr.png
能看到頁面並不是內嵌資料庫,其餘的基本上都很完整,哪我們可以看一下究竟為什麼會這樣。
它在 create_page 的時候出現問題了,原因是因為它完全沒有這個MCP工具,所以它直接幫我們創建一個資料庫而不是先創建一個頁面,所以我們在使用的時候要先知道究竟這個工具可以使用,那我們該如何確定它有什麼樣的 create MCP工具呢 ?
點開下圖框框處
https://ithelp.ithome.com.tw/upload/images/20250922/20178023qRpcxtEqBY.png

點開後我們可以看到他只有三個 create 的 MCP,並沒有 create_page,只有創建資料庫、已存在的資料庫中新增一個頁面、創建評論,所以他能做到的不多,
像是 create_page 並無法使用,因為我們的MCP並沒有這個工具當然無法使用。
但能創建資料庫跟在資料庫新增頁面也是足夠做出我們要的行事曆了。
https://ithelp.ithome.com.tw/upload/images/20250922/20178023JYG9q5N4t5.png

結語

今天我們測試出來,claude desktop 的 create 的部分功能是相對少的,但我們可以做到最基本的創建資料庫,但今天我們釐清了我們 MCP 中 create 工具的功能了
這也讓我們知道,我們原本是希望可以做出一個能幫我們整理資料並整理到資料庫的一個工具,那這樣完全是可以做到的,也可以讓各位做出自己的行事曆 ! !
明天我將接續 CRUD 系列的 Read 實戰分享 請各位敬請期待! !


上一篇
Day 7 | Prompt 基礎教學,你還在當 AI 原始人?!
系列文
生成式AI 與 Notion 的碰撞 ?! 你還在 ctrl+c ctrl+v ?8
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
justin_log
iT邦新手 5 級 ‧ 2025-09-22 13:29:43

圖片可以清楚一點嗎/images/emoticon/emoticon46.gif
我想要跟著實作但看不清楚要怎麼做 :(

我要留言

立即登入留言