
はじめに
このブログ、実は裏側でけっこうな仕組みが動いています。 今回はその仕組みを整備した話を書こうと思います。
ちょっとした技術的な話になりますが、なるべくわかりやすく書いていくので、ぜひ最後まで読んでみてください。
これまでどうやっていたか
正直に言うと、これまでは「GitHub Copilot に全部お願いする」という、ざっくりとしたやり方をしていました。
「この記事書いて」→ Copilot が書く → 自分でファイルに貼る → Git でプッシュ → デプロイ、みたいな流れです。
決して悪くはないのですが、毎回同じ手順を繰り返す部分が多く、「もうちょっとうまくできないかな」とずっと思っていました。
エージェントを役割ごとに分けることにした
そこで、各作業をエージェントとして定義して、それぞれに明確な役割を持たせることにしました。
設計したエージェントは以下の通りです。
| エージェント | 役割 |
|---|---|
| Writer | 記事の執筆・posts/ への保存 |
| ImageGen | アイキャッチ画像の生成・public/images/ への保存 |
| Git | ブランチ作成・コミット・プッシュ・PR作成 |
| BlogOrchestrator | 投稿フロー全体の統括・各エージェントの呼び出し |
他にも機能開発向けのエージェント(Spec・Impl・Test・TechLead・Quality など)も整備しましたが、ブログ運営という観点では上の4つが主役です。
BlogOrchestrator がフローを統括する
ポイントは BlogOrchestrator の存在です。
「こんな記事を書いてほしい」とテーマを伝えると、BlogOrchestrator が以下の手順で各エージェントを順番に呼び出していきます。
ユーザー要望(テーマ・内容)
↓
[BlogOrchestrator]
↓
[Git] → main からブランチ作成
↓
[Writer] → 記事執筆・保存(posts/)
↓
[ImageGen] → アイキャッチ画像生成・保存(public/images/)
↓
[BlogOrchestrator] → 記事に画像を挿入
↓
[Git] → コミット → プッシュ → PR 作成
↓
完了
自分がやることは「テーマを伝えること」だけ。あとはエージェントたちが勝手に動いてくれます。
役割を分けることで何がよくなったか
単一エージェントで何でもやっていた頃と比べて、いくつか明確なメリットがあります。
1. 各エージェントの指示が明確になる 「記事を書いて、画像も作って、Git も操作して……」という複雑な指示を一度に出す必要がなくなります。Writer は執筆だけ、Git は Git 操作だけに集中できるので、エージェントへの指示がシンプルになります。
2. 再利用しやすい Git エージェントはブログ投稿フローだけでなく、機能開発フローでも使えます。共通の処理をエージェントとして定義しておけば、どのフローでも呼び出せます。
3. フローが可視化される 「このブログ記事の投稿には、これだけのステップが必要なんだ」ということが明文化されます。属人的な手順が減り、再現性が上がります。
で、この記事もそのフローで書かれています
タイトルを見ればわかるかもしれませんが…… そうです、この記事自体も、今整備したエージェントフローで書かれています。
BlogOrchestrator にテーマを伝えたところ、Writer が記事を書き、ImageGen が画像を用意し、Git がブランチを作ってコミット・プッシュしてくれました。
「エージェント構成の話をエージェントに書かせる」というオチ、なかなか気に入っています。
おわりに
今回の整備でブログ運営がずいぶんラクになりました。テーマさえ決まれば、記事を出すまでの面倒な作業は全部エージェントが引き受けてくれます。
もっとブログを気軽に更新できるようになりそうなので、今後は記事の頻度も少し上げていけたらいいな、と思っています。
引き続きよろしくお願いします!