Back to Blog
AIエージェントループエンジニアリング自動化Claude APIシステム設計

パイプラインとループの違い:AIエージェントが自律改善するとはどういうことか

自分のブログ(chiapuru.com)向けに、記事の生成から配信までを自動化するエージェントシステムを構築した。

Agent1がトレンドを収集して記事を生成し、Agent2がchiapuru.com・Qiita・Zennに配信し、Agent3がXに投稿する。 GitHub Actionsで週次スケジュール実行され、人間がSupabaseで承認するだけで動く。

しかし、ループエンジニアリングを解説したQiitaの記事を読んで気づいた。 このシステムはまだ「パイプライン」であり、「ループ」ではない。

パイプラインは品質が水平に流れる

パイプラインとは、決められた処理を決められた順序で流すだけの構造だ。

自分のシステムで言えば、同じプロンプト・同じルールで毎週記事が生成される。 Agent4がQiitaのいいね数やPVを収集してSlackに投げるが、その数字は次の記事生成に何も影響しない。

つまり品質は改善されない。最初の記事も100本目の記事も、生成プロセスの質は同じだ。

ループは成果が入力を書き換える

ループとの違いは、出力が次の入力に戻るかどうかだ。

パイプライン:
入力 → 処理 → 出力 → 入力 → 処理 → 出力(水平に流れる)

ループ:
入力 → 処理 → 出力
  ↑               |
  └── 成果の分析 ──┘(螺旋状に上昇する)

記事の質を上げていくループが閉じた状態とは、たとえばこういうことだ。

  • PVが高かった記事のタイトルパターン → Agent1のトピック選定プロンプトに注入する
  • いいね数が伸びた記事の構成 → writing-rulesに自動反映する
  • 読者が離脱しやすい章の位置 → 記事構造のテンプレートを修正する

これが実装されてはじめて、週を追うごとに記事の質が上がっていく。

人間がオーケストレートするか、AIがオーケストレートするか

ループとパイプラインの違いを別の角度から見ると、「誰がオーケストレートしているか」の問題でもある。

現在の自分のシステムでは、人間が次のことを判断している。

  • 承認(Supabaseでdraft → approvedに手動更新)
  • 次週のテーマ方針(Agent4のSlackレポートを見て人間が決める)

AIのオーケストレート比率が上がれば上がるほど、ループの概念に近づく。 ただし、比率だけを上げてもループにはならない。フィードバックが閉じていなければ、高度に自動化されたパイプラインになるだけだ。

ループ度を決めるのは「自動化の度合い」と「フィードバックの閉鎖度」の2軸だ。

人間の承認をどこに残すか

フィードバックを自動化するほど、人間の介在点を減らすほど、ループは自律的に動くようになる。

一方で、品質に責任を持つポイントは残す必要がある。 誤情報が自動投稿されたり、一人称トーンがズレた記事が自動公開されたりするリスクは、自動化が進むほど高くなる。

自分が選んでいるバランスは「生成はAI・承認は人間」だ。

承認以外のオーケストレーションをすべてAIに移譲しつつ、公開前の最終チェックだけ人間が握る。 このポイントだけ残せば、フィードバックループを自動化してもシステムが暴走するリスクは低い。

今のシステムに足りないもの

自分のAgent4(効果測定)は、現状「観測はしているが学習していない」状態だ。

Supabaseにメトリクスを貯めているにもかかわらず、そのデータがAgent1のプロンプトに戻っていない。 ここを繋ぐだけで、システムの性格が「パイプライン」から「ループ」に変わる。

具体的な実装は単純だ。

// Agent1起動時に、過去の高PV記事タグをSupabaseから取得する
const topTags = await getTopPerformingTags({ limit: 5 });

// システムプロンプトに注入する
const systemPrompt = `${BASE_PROMPT}
なお、過去の高PV記事で多く使われたタグは ${topTags.join(', ')} です。
これらのテーマに関連するトピックを優先してください。`;

たったこれだけで、フィードバックが閉じる。

ループは目的ではなく手段

ループを完成させることが目的ではない。 記事の質が週を追うごとに上がり、読者が増え、サイトの価値が高まる、それが目的だ。

ループはその手段として機能する。 パイプラインのまま運用し続けることも選択肢の一つだが、成果が同じ水準で流れ続けることを受け入れる必要がある。

自分は記事の質を改善していきたいので、フィードバックループを閉じる実装を次のフェーズで追加する予定だ。

Share:
View all posts