【要約】AIに文体ルールを渡しても守られない — 投稿200件中196件が同じ一文で終わっていた話 [Zenn_Python] | Summary by TechDistill
> Source: Zenn_Python
Execute Primary Source
// Problem
筆者が運用するSNS自動投稿システムにおいて、プロンプトで指示した文体ルールが実質的に機能していないという深刻な問題に直面した。集計の結果、生成物の大部分が極めて単調なパターンに陥っていることが判明した。
- ・200件の投稿中196件(98%)が同一の署名で終了していた。
- ・LLMは各生成が独立しており、過去の出力を参照できない。
- ・指示文内の「例示」が「禁止」よりも強力に作用してしまう。
- ・「ぼかし表現を避ける」等の抽象的な指示は、自己判定が困難である。
// Approach
プロンプトの限界を認め、生成と投稿の間に決定論的なゲートを設置する手法を採用した。LLMに判定を任せず、外部の検証器がルール遵守を強制する設計である。
- ・Pythonを用いたチェッカー(
style_guard.py)を実装。 - ・DBから直近の投稿履歴を取得し、署名や冒頭ラベルの反復を判定。
- ・「禁止」ではなく「直近5件に1回まで」のクォータを採用。
- ・Error(ブロック)とWarn(警告)を分離し、運用性を確保。
- ・正規表現等を用いて、文字数や専門用語の有無を機械的に検証。
- ・生成側が持たない「過去の履歴」を、検証側がDBから取得して比較する。
// Result
導入後の監査により、従来の生成物の多くが品質基準を満たしていないことが可視化された。これにより、プロンプトのみでは制御不能な領域が明確になった。
- ・過去30件の監査では、30件中27件がブロック対象となった。
- ・「ぼかし語」の禁止により、内容の具体性が向上した。
- ・「かなり便利」が使えないことで、書き手が具体を書かざるを得ない。
- ・エンゲージメントへの影響は、今後継続的な計測が必要である。
Senior Engineer Insight
> プロンプトエンジニアリングへの過度な依存は、大規模運用で脆弱となる。LLMの非決定性を前提とし、検証側に履歴と決定論的ロジックを持たせる設計は、実戦的な定石だ。ただし、ルール増大による保守コストと、判定の硬直化による機会損失には注意が必要である。