【要約】X投稿の品質を上げるために入れた3つの改善 — テーマ重複防止・投稿タイプ多様化・AI的文体排除 [Zenn_Python] | Summary by TechDistill
> Source: Zenn_Python
Execute Primary Source
// Problem
開発者がContent AgentによるX投稿の下書き生成を運用する中で、生成コンテンツの質の低下に直面した。LLMに生成を任せきりにしたことで、以下の技術的課題が発生していた。
- ・トピックの偏り:同じリサーチ情報に基づき、特定の技術トピックが頻出する。
- ・投稿タイプの固定化:曜日ごとに投稿内容が決まっており、バリエーションが乏しい。
- ・文体の不自然さ:AI特有の定型表現が多用され、人間味に欠ける。
// Approach
開発者は、LLMの生成能力を補完するために、外部データを用いた履歴管理とルールベースの制御を導入した。具体的には以下の3つの手法を採用している。
- ・S3を用いたテーマ除外:過去14日分のS3データを取得し、プロンプトに禁止リストとして注入する。
- ・LRUによるタイプ選択:投稿タイプをプール化し、最後に使用された時間が最も古いものを優先的に選定する。
- ・ネガティブ制約の適用:プロンプトに「絶対に使わないフレーズ」を明示し、AI的な文体を排除する。
// Result
改善の結果、生成されるコンテンツの多様性と自然さが大幅に向上した。具体的な成果は以下の通りである。
- ・テーマの分散:同じテーマが2週間以上繰り返されない状態を実現した。
- ・構成の多様化:投稿タイプが日ごとに分散し、単調さが解消された。
- ・文体の改善:AI特有の定型文が排除され、人間が書いたような自然なトーンが得られた。
Senior Engineer Insight
> LLMの出力をプロンプトのみで制御しようとするのは限界がある。本件のように、S3を用いた状態管理やLRUアルゴリズムといった決定論的なロジックを組み合わせる設計は、実運用における品質安定化において極めて合理的である。ただし、履歴データの肥大化に伴うS3へのI/Oコストや、プロンプトのトークン消費量とのトレードオフには注意が必要だ。スケーラビリティを考慮するなら、履歴のインデックス化も検討すべきだろう。