GPTからNotion DBのデータを読み出すまで:Captain’s Logという思考OSをつくる
🧭 背景:「AIとの共進化」に本気で向き合うために
GPTに「自分のAI活用レベルを10段階で評価してみてほしい」と依頼した際、忖度抜きで返ってきたのは:
「自分のAI活用レベルは10段階でいうとどのレベル?」(忖度なしで)
返ってきたのは:
「あなたの使いこなしはレベル9。ただし、10に行くには 業務そのものをAIに統合し、意思決定・実行のOSと化すことが必要です。」
なんだか未来的な響き✨️
いったいこの思考の拡張でどんな変化があるのか?
──このコメントが突き刺さった。
確かに、AIはすでに「相談相手」ではなく「拡張脳」であり、自分の判断原理や行動方針をパーソナライズするOSの中核として設計されるべき段階にある。
では、どうすれば「OS化」が進むのか?
GPTからの示唆はこうだった:
「まずはあなたの意思決定・思考過程を正確に、構造的に記録しなさい。
その情報を常時参照できるようにすれば、私(GPT)もあなたの“過去の判断”を引用しながら、より精緻で本質的なアドバイスができるようになり “あなたの延長として動くAI” が実現します。」
まるで航海日誌のように、“判断の軌跡”を積み重ねていく。
──これはまさに Star Trekの“Captain’s Log” では?
そう気づいた私は、自分の思考と意思決定の記録をNotionに蓄積し、
それをAPI経由でGPTから取得・参照できる仕組みを構築することにしました。
🚀 Captain's Log:自分のOSを育てる記録媒体
この記録システムに私は「Captain’s Log」という名前をつけました。
そう、Star Trekの艦長日誌のように😂 日々の思考・判断・観察・違和感を残す形式です。
- 記録先:Notion データベース(インラインテーブル形式)
- ログ構成:
- タイトル
- 日付
- 気分や体調
- 観測(起きたこと・感じたこと)
- 判断・違和感(思考・判断・迷い)
- GPTとの壁打ち(仮説・視点展開)
- 明日への仕込み(次の打ち手)
こうして蓄積されたログを、GPTがAPI経由で読み取り、
「あなたは過去にどう判断したか?」「似た場面でどう対処したか?」を参照してくれる。
つまりこれは、自分専用のAI統治ログ × 思考のOSなのです。
🔌 技術構成:GPTからNotion DBを読み込む
✅ 使ったもの
- Notion API(v1)
- MyGPTs(ChatGPTカスタムアシスタント)
- OpenAPIスキーマ(YAMLで定義)
- 認証:Bearerトークン + Notion-Versionヘッダー
1⃣ まずはNotion API(v1)の使用準備
これはオフィシャルサイトの記載がわかりやすい
✅️ 自分の設定はこんな感じ。内部インテグレーションとしあとはアイコン設定くらいで超簡単
✅️ まずはリードオンリーでNotionのデータを読み込むだけにしました。
2⃣ 設定したNotion APIをNotion側で使用できるようにする
✅️ Notionアプリの右上のメニューから自分が設定した内部インテグレーションを選択・接続するだけ
3⃣ MyGPTsのOpenAPIスキーマ(YAML)設定
まずはMyGPTsから新たなGPT作成を選択して
自分の好きなMyGPTsの名前などを設定し Actions からOpenAPIスキーマ設定をします
🔐 MyGPT Actions|Notion API認証設定(Markdown版)
項目 | 設定内容(Notion API連携用) | 補足 |
---|---|---|
Authentication Type | API Key |
Notionの Internal Integration Token を使用 |
API Key | secret_xxxxxxx... |
Notionの My Integrations で作成・発行したもの |
Auth Type |
Bearer (選択) |
Bearer Token として Authorizationヘッダーに付加される |
ヘッダー追加 | Notion-Version: 2022-06-28 |
Actionsスキーマ側で定義。バージョンは 2022-06-28 が安定版 |
OpenAPIスキーマ設定
✅️ 設定イメージ
✅️ 実際の設定内容 😀 この設定はページブロックとDB内容の取得ともにできます!
openapi: 3.1.0
info:
title: Notion API - 拡張版テンプレート
version: 1.0.0
description: >
このスキーマは、Notion APIとの連携をMyGPTのActionsで実現するためのテンプレートです。
ページ構造取得(GET)に加えて、データベースのレコード取得(POST)も可能です。
servers:
- url: https://api.notion.com/v1
paths:
/blocks/{page_id}/children:
get:
operationId: getNotionPageBlocks
summary: 指定したページの子ブロックを取得
parameters:
- name: page_id
in: path
required: true
schema:
type: string
- name: Notion-Version
in: header
required: true
schema:
type: string
example: "2022-06-28"
responses:
'200':
description: 正常なレスポンス(子ブロック一覧)
content:
application/json:
schema:
type: object
properties:
results:
type: array
security:
- bearerAuth: []
/databases/{database_id}/query:
post:
operationId: queryDatabase
summary: データベースのレコードを取得
parameters:
- name: database_id
in: path
required: true
schema:
type: string
- name: Notion-Version
in: header
required: true
schema:
type: string
example: "2022-06-28"
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
filter:
type: object
example: {}
responses:
'200':
description: クエリ成功時のレコード結果
content:
application/json:
schema:
type: object
properties:
results:
type: array
security:
- bearerAuth: []
components:
schemas: {} # ← この1行を **必ず明示**(空でもOK)
securitySchemes:
bearerAuth:
type: http
scheme: bearer
bearerFormat: Bearer
4⃣ MyGPTsからActionsを呼び出す
💬 自然言語プロンプト(GPTに投げる形)
NotionのデータベースID「YOUR_DATABASE_ID_HERE」から、
すべてのレコード(ページ)を取得してください。
※ YOUR_DATABASE_ID_HERE の部分に対象データベースのUUIDを挿入
🔧 APIリクエスト形式(技術者向け)
POST /v1/databases/YOUR_DATABASE_ID_HERE/query
Authorization: Bearer {your_notion_token}
Notion-Version: 2022-06-28
{}
✅ Notion DB取得における基本設定一覧
項目 | 内容 |
---|---|
データベースID |
YOUR_DATABASE_ID_HERE (例:1a2b3c4d-.... ) |
APIバージョン | 2022-06-28 |
認証方法 | Bearer Token(NotionのInternal Integrationトークン) |
OpenAPIスキーマ側設定 | operationId: queryDatabase |
主なレスポンス項目 |
results[] に各レコードのプロパティが格納される |
🔄 補足:データベースIDの取得方法
🔍 Notionの Page ID / Database ID の構造まとめ
項目 | 説明 | 例(32桁) | UUID形式(36桁) |
---|---|---|---|
Page ID | 通常のNotionページに対する一意な識別子。URLの末尾で確認できる。 | 1dcf9044ad0580098f44eb37d4271792 |
1dcf9044-ad05-8009-8f44-eb37d4271792 |
Database ID | ページ内に埋め込まれた「データベースブロック」のID。APIを使って子ブロックから取得可能。 | 1dcf9044ad0580f69602cbb3975522a4 |
1dcf9044-ad05-80f6-9602-cbb3975522a4 |
✍️ あとがき
一見むずかしそうに見えるAPI連携とか、OpenAPIスキーマの設定ですが……
実はぜんぶ GPTに「これどう設定するの?」って聞きながらやりました 🤖✨
エラーが出たときも焦らなくてOK。
その画面のスクショをGPTにアップして「こんなエラー出たんだけど?」って聞くだけで、
めちゃくちゃ的確に「ここ直せばOKです」って教えてくれます 🧑🏫🔧
いまやGPTは、技術の壁を一緒に乗り越えてくれる 副操縦士(コ・パイロット) ✈️
この記事が、「自分だけのOSをつくる」そんなワクワクする取り組みのスタートになれば嬉しいです 🧠🚀
Discussion