CHALLENGE
課題
自社の情報発信は「続かない」ことが最大の問題だった。人が下書きを確認して公開する運用にすると、下書きは溜まるのに公開が続かない。通知を出しても人は見ない。この実測から、人間の承認を前提にしない仕組みが必要だと判断した。
APPROACH
取り組み
- 公開の門番を人間から機械ガードに置き換える。X・noteとも無人公開が既定で、ガードに落ちた記事だけ下書き+Slack通知で人間に回す
- 執筆はClaude Codeを3コール連鎖(執筆 → 独立した批評 → リライト)。批評をリライトが完全には反映しない前提で、最終稿への独立した機械検査(NG語・字数・出典なし数値・AI臭)を唯一のゲートにした
- CTAや定型文はLLMに書かせず機械で付与。保存→ガード→公開の順序にして、どこで失敗しても記事は手元に残る
- 無人生成は架空の実績を作りがちなので、一人称の実績語りをプロンプトで禁止。代わりに承認済みの実話を「知見箱」として蓄積し、テーマが合う日だけ判断基準の根拠として注入する
- Xは投稿の型を4種ローテーションし、直近3本との骨格重複を禁止して単調化を抑制。ネタ源は複数のビジネス系フィードを収集し、実務家目線で「持ち帰れる着眼点があるか」をスコアリングして選ぶ
- 全体を自社サーバーの専用コンテナに載せ、cronで毎朝収集→日中複数枠で投稿。キルスイッチは環境変数1つ
TECH
技術
- Bun / TypeScript(収集・スコアリング・執筆・ガード・投稿)、SQLite
- Claude Code(生成・批評・リライト)
- Python / Playwright(Xの投稿・フォロー運用)
- note.com への自動投稿
- Slack(公開通知・ガード落ち通知)
- Proxmox LXC、cron
- サムネイル自動生成(HTML→画像、文節改行対応)
OUTCOME
結果
X・noteとも無人運用で稼働中。noteは毎朝1本を自動生成・自動公開し、Xは1日5枠の定時投稿に加えてフォロー・いいねの運用も自動化している。仕組みはプレイブックとして汎用化済みで、別連載・別アカウントはテーマカタログとプロンプト、認証情報の差し替えだけで複製できる。
SCALE
規模
- note: 毎日1本(自動公開)
- X: 1日5枠の自動投稿、フォロー・いいね運用も日次で自動化
- 記事の生成→公開まで人間の作業ゼロ(ガード落ち時のみ判断)
OTHER