5/13 ローンチ予定!
PiloTube

PiloTube 開発日誌

← 「ひとり社長のAI開発記」一覧へ

# キャッチーなタイトル候補3つ

約7分で読めます

ネタ帳にタイトルだけ書いても記事にならない — AI執筆パイプラインの盲点

9件、全滅。

PiloTube(パイロチューブ)のブログ自動化パイプラインを走らせたら、candidate(記事候補)が9件あったのに全件 rejected(却下)で返ってきた。エラーじゃない。パイプライン自体は正常に動いている。なのに1本も記事が生成されなかった。

原因を調べて、正直ちょっと笑った。自分のせいだった。


何を作っていたか

PiloTube の開発を進めながら、並行してブログの更新も自動化しようとしている。アイデアが浮かんだらネタ帳(データベース)にタイトルを書き込んでおいて、AIが「これは記事にできる」と判断したものを自動的に執筆フローに流す、という仕組みだ。

手順としてはこうなる。

  1. ネタ帳に記事候補を登録する
  2. パイプラインが候補を読み込んで「記事化できるか」を判断する
  3. OK なら執筆フローへ、NG なら rejected として弾く
  4. 執筆フローでAIが本文を生成する

自分がやることは「ネタを思いついたら登録する」だけ、という状態を目指していた。


問題:9件全滅

ある日、パイプラインを走らせてみた。ネタ帳には9件の候補が溜まっていた。「よし、まとめて処理されるな」と思って実行したら、ログにこう並んだ。

candidate_01: rejected
candidate_02: rejected
candidate_03: rejected
...
candidate_09: rejected

全部 rejected。

最初はパイプラインのバグを疑った。判定ロジックがおかしいのか、プロンプトが壊れているのか。ログを追いかけて、判定部分の出力を確認したら、AIがこう返していた。

「記事化に必要な情報が不足しています。タイトルのみで内容の詳細が確認できないため、判定を保留します」

保留じゃなくて rejected になってたけど、要するにそういうことだった。


原因:タイトルしか書いていなかった

ネタ帳のスキーマ(データ構造)には、こんなフィールドがある。

  • title — 記事タイトル
  • description — 記事の概要・何を書くか
  • notes — 補足メモ、エピソード、使いたいキーワードなど

9件全部、title だけ埋まっていて、descriptionnotes も空だった。

思い返せば当然だ。ネタを思いついた瞬間って、「あ、これ記事になりそう」という直感だけがある状態で、詳細なんて何も固まっていない。だからタイトルだけ書いて「あとで肉付けしよう」と思っていた。

その「あとで」が来ないまま、9件溜まっていた。


盲点だったこと

自動化パイプラインを設計するとき、自分は「AIが賢く補完してくれる」という前提を無意識に持っていた。

タイトルが「キャンプ場でのトラブル対処法」だったとして、AIなら「ああ、キャンプのトラブル系の記事ね」と文脈を読んで、それなりの記事を書いてくれるんじゃないか、と。

でも考えてみれば、それは無茶な話だ。

「キャンプ場でのトラブル対処法」というタイトルだけでは、自分が実際に体験したエピソードが何なのかをAIは知らない。どんな状況で、何に詰まって、どう解決したのか。そのリアルな情報がゼロなら、AIが書けるのは「一般的なキャンプトラブルの対処法」という、どこにでもあるような記事だけだ。

それは自分が書きたいものじゃない。だから AI も「これは記事化できない」と判断した。正しい判断だった。

パイプラインは壊れていなかった。むしろ、ちゃんと機能していた。


実際にやったこと

まず、9件の候補を一つずつ開いて、descriptionnotes を埋めた。

タイトルだけ書いてあるものを見ながら「なんでこれをネタにしようと思ったんだっけ」を思い出す作業だ。

正直、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がチャプターを自動生成。

1

YouTubeのURLをコピーして貼る

2

「生成する」を押す

3

概要欄にコピペして完了

無料でチャプターを生成する →

月3回まで無料 · クレジットカード不要