ネタ帳にタイトルだけ書いても記事にならない — AI執筆パイプラインの盲点
9件、全滅。
PiloTube(パイロチューブ)のブログ自動化パイプラインを走らせたら、candidate(記事候補)が9件あったのに全件 rejected(却下)で返ってきた。エラーじゃない。パイプライン自体は正常に動いている。なのに1本も記事が生成されなかった。
原因を調べて、正直ちょっと笑った。自分のせいだった。
何を作っていたか
PiloTube の開発を進めながら、並行してブログの更新も自動化しようとしている。アイデアが浮かんだらネタ帳(データベース)にタイトルを書き込んでおいて、AIが「これは記事にできる」と判断したものを自動的に執筆フローに流す、という仕組みだ。
手順としてはこうなる。
- ネタ帳に記事候補を登録する
- パイプラインが候補を読み込んで「記事化できるか」を判断する
- OK なら執筆フローへ、NG なら rejected として弾く
- 執筆フローでAIが本文を生成する
自分がやることは「ネタを思いついたら登録する」だけ、という状態を目指していた。
問題:9件全滅
ある日、パイプラインを走らせてみた。ネタ帳には9件の候補が溜まっていた。「よし、まとめて処理されるな」と思って実行したら、ログにこう並んだ。
candidate_01: rejected
candidate_02: rejected
candidate_03: rejected
...
candidate_09: rejected
全部 rejected。
最初はパイプラインのバグを疑った。判定ロジックがおかしいのか、プロンプトが壊れているのか。ログを追いかけて、判定部分の出力を確認したら、AIがこう返していた。
「記事化に必要な情報が不足しています。タイトルのみで内容の詳細が確認できないため、判定を保留します」
保留じゃなくて rejected になってたけど、要するにそういうことだった。
原因:タイトルしか書いていなかった
ネタ帳のスキーマ(データ構造)には、こんなフィールドがある。
title— 記事タイトルdescription— 記事の概要・何を書くかnotes— 補足メモ、エピソード、使いたいキーワードなど
9件全部、title だけ埋まっていて、description も notes も空だった。
思い返せば当然だ。ネタを思いついた瞬間って、「あ、これ記事になりそう」という直感だけがある状態で、詳細なんて何も固まっていない。だからタイトルだけ書いて「あとで肉付けしよう」と思っていた。
その「あとで」が来ないまま、9件溜まっていた。
盲点だったこと
自動化パイプラインを設計するとき、自分は「AIが賢く補完してくれる」という前提を無意識に持っていた。
タイトルが「キャンプ場でのトラブル対処法」だったとして、AIなら「ああ、キャンプのトラブル系の記事ね」と文脈を読んで、それなりの記事を書いてくれるんじゃないか、と。
でも考えてみれば、それは無茶な話だ。
「キャンプ場でのトラブル対処法」というタイトルだけでは、自分が実際に体験したエピソードが何なのかをAIは知らない。どんな状況で、何に詰まって、どう解決したのか。そのリアルな情報がゼロなら、AIが書けるのは「一般的なキャンプトラブルの対処法」という、どこにでもあるような記事だけだ。
それは自分が書きたいものじゃない。だから AI も「これは記事化できない」と判断した。正しい判断だった。
パイプラインは壊れていなかった。むしろ、ちゃんと機能していた。
実際にやったこと
まず、9件の候補を一つずつ開いて、description と notes を埋めた。
タイトルだけ書いてあるものを見ながら「なんでこれをネタにしようと思ったんだっけ」を思い出す作業だ。
正直、2件は思い出せなかった。タイトルを見ても「あ、これ何の話だっけ」となって、結局その2件は自分でアーカイブ(保留)に移した。タイトルだけのネタは揮発する。鮮度がある。
残り7件は思い出せたので、それぞれに概要とメモを書き込んだ。
たとえばこんな感じ。
Before:
title: "ネタ帳にタイトルだけ書いても記事にならない"
description: (空)
notes: (空)
After:
title: "ネタ帳にタイトルだけ書いても記事にならない"
description: "ブログ自動化パイプラインでcandidate 9件が全件rejected。
原因はdescription/notesが空だったこと。"
notes: "自分のせいだったというオチ。AIは正しく動いていた。
パイプライン設計の盲点として、入力品質の問題を語る。"
これを埋めてから再度パイプラインを走らせたら、7件中6件が accepted(承認)になった。
気づいたこと:ゴミインはゴミアウト
プログラミングの世界に「Garbage In, Garbage Out」という言葉がある。入力がゴミなら出力もゴミになる、という意味だ。
AI執筆パイプラインでも、まったく同じことが起きる。
タイトルだけ入れてAIに「記事を書いて」と言うのは、料理人に「なんか美味しいもの作って」とだけ言って食材も渡さないようなものだ。腕がいい料理人でも、材料がなければ料理はできない。
自分が作ったパイプラインは、入力の品質チェックを判定フローに組み込んでいた。だから全件 rejected という形で問題が可視化された。これは設計として正しかったと思う。もし品質チェックなしで「タイトルだけでも書いてみて」という設計にしていたら、9件分のスカスカな記事が生成されて、それを確認する手間が別途発生していた。
弾いてくれて、よかった。
運用ルールを一つ追加した
この件を受けて、ネタ帳への登録ルールを変えた。
旧ルール:
- タイトルを書く
- description と notes はあとで埋める
新ルール:
- タイトルを書いたら、その場で description に「なぜこれを書こうと思ったか」を1〜2行書く
- notes には「使いたいエピソードや数字」を箇条書きで残す
- この2つが空のまま登録しない
完璧な原稿を書く必要はない。でも「なぜこれを書こうと思ったか」だけは、思いついた瞬間に書く。そこだけは熱量がある状態で残しておかないと、あとで思い出せない。
読者への持ち帰り
AI を使った自動化を組んでいる人、あるいはこれから組もうとしている人に伝えたいことがある。
AIは「文脈の補完」はできるが、「体験の補完」はできない。
一般的な知識や論理の組み立ては得意だ。でも「自分がその場で感じたこと」「実際に詰まった瞬間」「解決したときの手応え」、そういう一次情報はAIの外側にある。それを渡さない限り、AIが書けるのは「それっぽい何か」でしかない。
自動化の精度は、パイプラインの設計よりも、入力の品質で決まる。
ネタ帳にタイトルだけ書いて「あとで肉付けしよう」と思っているなら、その「あとで」は来ない。思いついた瞬間が一番情報量が多い。その瞬間に2〜3行でいいから書き残す習慣が、パイプライン全体のアウトプット品質を底上げする。
今回の全件 rejected は、自分にとってちょうどいい警告だった。
チャプター生成AI
URL貼るだけ。AIがチャプターを自動生成。
YouTubeのURLをコピーして貼る
「生成する」を押す
概要欄にコピペして完了
月3回まで無料 · クレジットカード不要