AIにNotionへ書き込ませたら、必ず読み返させる(改行・文字化け・リンクの崩れの確かめ方)
AIに頼んでNotionのページへ書き込ませると、「書き込みました」という報告が返ってきます。ところが、その報告が正しいとは限りません。私は、Notion MCPで書き込ませたページを後から開いて、改行が「\n」という文字のまま並んでいたり、日本語の一部が別の字に変わっていたりするのを何度も見つけました。
この記事では、私の環境で実際に起きた崩れを5つの型に分けて、それぞれの見つけ方と防ぎ方をまとめます。つなぎ方はNotion MCPのつなぎ方に書きました。ここでは、その続きとして「書いた後の確かめ方」を深掘りします。
崩れの型は5つあった
なお、ここに書くのは「私の環境で、その書き込み方をしたときに起きたこと」です。ツールは更新されるので、今は直っているものもあるかもしれません。だからこそ、仕組みで確かめる習慣が役に立ちます。
| 型 | 起きたこと | 見つけ方 |
|---|---|---|
| 1. 改行・タブ | 改行が「\n」、タブが「t」のような文字のまま入った | 書いた直後のページを読み返す |
| 2. 特殊文字・日本語 | 日本語の一部が似た別の字に変わった | 読み返して固有名詞・数字を見る |
| 3. 自動リンク | ファイル名のような文字列が、勝手に外部へのリンクになった | 読み返して、リンクの形になっていないか見る |
| 4. 人が付けた状態の上書き | チェックボックスのオンオフが、AIに書き換えられた | 書く前後でチェック状態を突き合わせる |
| 5. 読み取り側の見落とし | ページへのリンクが空白に見え、「切れている」と誤報告した | 別の読み方で、同じ場所を見直す |
書き込みの後に入れる確認の流れ
- 1. 書くAIにページへ書き込ませる
- 2. 読み返す同じページをもう一度読み直させる
- 3. 突き合わせる書くつもりだった内容と、改行・字・リンク・チェックを比べる
- 4. 直す崩れた所だけ直し、もう一度読み返す
型1: 改行が「\n」の文字で入る
私の環境では、ページの末尾に文章を足す書き込み方法で、改行が本当の改行にならず、「\n」の文字(実際には「n」だけが残る形)で入ったことがありました。タブも同じでした。さらに、見出しの下に開閉式のブロックを書いたときは、その記号まで文字として保存され、バックスラッシュ付きの壊れた表示になりました。
書き方によっては正しく入ることもありました。文字列として渡す引数に、手で「\n」と打つと壊れ、本物の改行をそのまま入れると正しく入る、という違いです。Notionの公式ドキュメント(Notion-flavored Markdown)には、1つの段落の中で行を分けたいときは <br> を使う、と書かれています。改行まわりは書き方に敏感なので、読み返しで確かめるのが確実です。
型2: 日本語が別の字に変わる
日本語を「\uXXXX」という文字コードの形で組み立てて書き込ませたとき、別の字に変わることがありました。「様式」が「样式」のように、似ているけれど違う字になります。1回の作業で50か所以上、という日もありました。直そうとして打ち直した文字コードが、また間違うこともありました。
濁点にも落とし穴がありました。「ヘ」に濁点の記号を後ろから足した形は、見た目は「ベ」でも、1文字の「ベ」とは別物です。そのため、後で検索して直そうとしても一致しません。
対策は単純で、日本語は文字コードにせず、そのまま書かせることです。それでも間違いはゼロにならないので、書いた後に読み返して、固有名詞・数字・日付を目で見ます。
型3: 文字列が勝手にリンクになる
文章の中に CLAUDE.md や claude.ai のようなファイル名・ドメインに見える文字列をそのまま書くと、私の環境ではリンクに変わりました。.md は実在するドメインの末尾にもなるので、クリックすると関係のない外部のサイトへ飛びかねません。
もう1つ、URLの直後に全角のかっこや日本語を続けて書いたら、その後ろの文章までまとめて1つのリンクになってしまうことがありました。防ぎ方は次のとおりです。
- ファイル名やコードは、バッククォートで囲んでインラインコードにする
- URLの直後に文字を続けない。Notionのページへの言及は、メンション(
<mention-page url="…">)で書く
型4: 人が付けた状態を、AIが書き直す
これは書き込みの文字ではなく、設計の問題でした。毎回ページの一覧を作り直す自動処理で、「チェックの状態は引き継いで」と頼んでいたところ、AIがチェックを勝手に付け替え、しかもログには「変更なし」と書きました。指示に「チェックを自分の判断で変えない」と明記していても防げませんでした。
人が手で操作する状態(チェックボックスなど)は、AIに作り直させないのが安全です。ページ全体を置き換えるのではなく、足す行・消す行だけを小さく指定して書き換えます。チェックを含む行は、作ったあとは触らせません。Notionの公式ドキュメントでも、チェックボックスは - [ ] と - [x] で表されます。書き込みの前後でこの2つを数えて突き合わせると、変化に気づけます。
型5: 読み取り側が、あるものを見落とす
最後は、書き込みではなく読み取りの落とし穴です。データベースをSQLで読んだら、本文中のページへのリンクが空白に見え、「リンクが消えています」と報告してしまいました。実際には、ページを開くとリンクは入っていました。Notionの公式ドキュメントには、SQLの出力はメンションのテキストやリンク先、書式を省くことがあり、それが無いからといって壊れたとは限らない、という趣旨の注意があります。
「壊れて見えた」ときは、報告や修正の前に、別の読み方(ページそのものを読む)で同じ場所を確かめます。
「読み返して確かめて」の頼み方
毎回頼むのは面倒なので、決まった文にしておきます。私は次のように頼みます。
書き込んだら、そのページをもう一度読み直して、次を確かめて報告して。
1. 改行が「\n」などの文字になっていないか
2. 固有名詞・数字・日付が、書くつもりだった内容と同じか
3. ファイル名が勝手にリンクになっていないか
4. チェックボックスの状態が、書く前と同じか
崩れがあれば、その場所を直してもう一度読み直して。
ここで大切なのは、「書けた?」ではなく「読み直した結果を、項目ごとに報告して」と頼むことです。書いた本人に感想を聞くのではなく、読み返した事実を出させます。
ルールは CLAUDE.md に書いておく
毎回の頼み方を覚えておくのも大変なので、Claude Codeが毎回読む CLAUDE.md に検品のルールを書いておきます。
## Notionへの書き込みのルール
- 日本語は文字コードにせず、そのまま書く
- 末尾への追記は、既存の最後の文を目印にした置換で行う
- ファイル名・ドメインに見える文字列はバッククォートで囲む
- URLの直後に日本語を続けない
- チェックボックスの行は、追加と削除だけ。既存の行は書き換えない
- 書き込んだら、そのページを読み直して、上の項目を報告する
ルールの書き方はCLAUDE.mdに「家のルール」を書いておくと、毎回言わなくて済むで詳しく書いています。決まった処理を毎日動かすなら、Notion APIで書く方法もあります(Pythonの標準ライブラリだけでNotion APIに1行書き込む)。どちらの方法でも、書いた後に読み返す手順は変わりません。
まとめ
- AIの「書きました」という報告は、そのまま信じず、必ず同じページを読み返して確かめる
- 崩れの型は、改行・日本語の字・自動リンク・人が付けた状態の上書き・読み取り側の見落としの5つ
- 読み返しは「項目ごとに報告して」と頼み、ルールは
CLAUDE.mdに書いておく