エージェントで拡張しながらコミュニティの人間らしさを保つ
Vercelはコミュニティサポートの自動化において「Community Guardian」と「c0」の2つのエージェントを活用し、ルーティングや調査を自動化することで人間の専門家が高度な対話に集中できる体制を構築した。
キーポイント
Community Guardianによる運用自動化
新しい投稿の分析、重複チェック、担当者への割り当てを自動化し、48時間未回答の場合は再割り当てを行うことで、負荷の偏りと見落としを防ぐ。
c0によるリサーチ支援とフィードバック収集
Slack上で知識ベースやGitHub issuesを検索し、回答に必要なコンテキストパッケージを生成するだけでなく、製品チームへのフィードバックとしてコミュニティの声を可視化する。
技術スタックとアーキテクチャ
AnthropicのClaudeをAI Gateway経由で利用し、Vercel Workflows上で10分ごとのチェックとスリープサイクルを実行することで、リソース消費を抑えながら継続的な監視を実現している。
導入初期的成果と人間との役割分担
23日間で1,400回以上のエージェント実行を行い、重複スレッドの自動クローズや「放置」されたスレッドの復活に成功し、最終的な回答は依然として人間が行うというバランスを保っている。
非エンジニアによるエージェント構築
開発者でなくてもアイデアがあれば構築可能であり、著者はエンジニアリングの背景を持たずにAIコーディングエージェントと対話することでシステムを構築した。
思考層の導入と柔軟な実装
従来の堅牢でないルールベースの自動化から、「投稿を理解し意図を判断する」思考層へ移行し、AI GatewayやVercel Workflowsなどの既存ツールを活用して複雑な処理を簡素化した。
プロンプトを通じた対話型開発
チュートリアルやドキュメントに従うのではなく、自然な対話を通じてプロンプトを段階的に具体化し、システムが会話から成長していくプロセスで開発を進めた。
影響分析・編集コメントを表示
影響分析
この記事は、AIエージェントを大規模なコミュニティ管理に実装する具体的なアーキテクチャと運用パターンを示しており、特に「人間の感情・共感」と「AIの効率性」をどう棲み分けるかという実務的な指針を提供している。技術的にはVercelエコシステム内での実装例だが、その設計思想は他のプラットフォームやサポート組織にも適用可能なベストプラクティスとなる。
編集コメント
Vercelの事例は、AIエージェントを「完全自動化」ではなく「人間の専門性を補完するインフラ」として位置づけている点に特徴があります。技術的な実装詳細よりも、運用上の役割分担設計が参考になるケーススタディです。
Vercelにおいて、開発者コミュニティは私たちのあらゆる活動の中心です。私たちが構築するものを利用する人々に最も近くあり続ける方法であり、その源泉です。
コミュニティの成長に伴い、自動化は規模拡大を支えてくれました。しかし、質問が見落とされることは依然としてあり、ルーティングには時間がかかり、コンテキストスイッチングによって、実際に専門知識を必要とする本質的な作業から私たちの注意力がそがれてしまいました。そして自動化は、最も重要な瞬間――誰かと真につながり、その人を助けるような瞬間――には決して役立つことができません。心から気にかけてくれる人と話す感覚を、AIで再現することはできないのです。
そこで私たちは、人間を必要としないルーティング、トリアージ、フォローアップを担当するエージェントを構築しました。これを「Community Guardian」と呼びます。その機能、構築方法、そして非エンジニアを含む誰もが同様にエージェントを開発(ship)できる方法について説明しましょう。
Community Guardian オペレーション層
新しい投稿が入ると、Guardianはそれを分析し、重複をチェックし、適切な専門性とキャパシティ(bandwidth)を持つチームメンバーに割り当てます。各メンバーは最大10件の質問を処理し、その後は新しい質問が別のメンバーに回されるため、タイムゾーンを跨いでワークロードのバランスが保たれます。
見落としは一切ありません。質問が48時間回答されない場合、Guardianはそれを再割り当てします。さらに情報待ちの状態ではリマインダーを送信し、会話が解決された時点を検知します。
内部では、GuardianはAI Gatewayを介してClaudeを利用し、Vercel Workflows上で動作しています。これにより、10分ごとにチェックインし、サイクル間はリソースを消費せずにスリープすることが可能です。
これでオペレーション面は処理されましたが、私たちのチームが適切に対応するためには、より優れたコンテキストが必要でした。
インテリジェンス層: リサーチアシスタント c0
Guardianが物流(ロジスティクス)を管理する一方で、c0は深く調査を行うエージェントです。私たちのチームが普段から作業しているSlack内に存在します。
チームメンバーがスレッドの背景情報(コンテキスト)を必要とする時、c0はナレッジベース、ドキュメント、GitHub issues、過去の議論を検索し、コンテキストパッケージをまとめます。このパッケージにより、チームは個人の記憶に頼る代わりに、より速く、より正確に対応できるようになります。
個々のスレッドを超えて、c0は製品チームとのフィードバックループを完結させるのにも役立ちます。コミュニティの感情や繰り返し発生する技術的課題を追跡するため、誰かが一週間分の投稿を監査するのに何時間も費やす代わりに、c0に「主要な製品フィードバック」を尋ね、製品に関する会議に実際のデータを持ち込むことができるのです。
人間の集中力を取り戻す
導入初めの23日間で、このシステムは281人のユニークユーザーを支援しました:
| メトリック | 成果 |
|---|---|
| 初期コンテキスト収集 | チームメンバーが到着する前に、4,716件の初回応答で問題をトリアージしログを収集 |
| スレッド復活 | 8件に1件の「放置(ghosted)」されたスレッドが復活し、23件の解決が確認された |
| オペレーション規模 | 最近の2週間で、古くなったチェックから自動解決まで、1,400回以上のエージェント実行 |
| 重複検出 | ベクトル類似性により4つの重複スレッドを検出、うち3つは95%以上の信頼度で自動クローズ |
すべての本質的な回答は、今も私たちのチームから発信されています。エージェントは、それらの回答を取り巻く他のすべての作業を処理します。トリアージや追跡といった反復作業から解放された私たちのチームは、複雑なペアデバッグや関係構築、広範なコミュニティ向けのコンテンツ作成、あるいは大切にしている開発者たちとただ楽しむことに、時間を費やすことができるようになりました。
自分自身で構築する
このようなものを構築するために、開発者である必要はありません。必要なのはアイデアだけです。私はエンジニアではありません。コミュニティを管理し、開発者と対話するのが仕事です。確かに、私たちが解決しようとしている問題は理解していますが、毎日プロダクションコードを書いているわけではありません。
私のアイデアは、チューリッヒでの講演で私たちのコミュニティワークフロー自動化について話した時に生まれました。しかし当時は従来型の自動化、つまりスクリプトとルール、「if-this-then-that」のロジックに頼っていました。機能はしましたが、脆い(brittle)ものでした。あらゆるエッジケースに対して新しいルールが必要だったのです。
もっと賢いものが欲しかったので、私はコーディングエージェントを使い、「新しい投稿が到着する」と「アクションを取る」の間のステップである「思考層」を追加する実験を始めました。「投稿に『billing』が含まれていたら課金チームにルーティングする」のではなく、「この投稿を読み、その人が実際に必要としていることを理解し、それから判断する」ようにしたのです。
この思考層は、各投稿を見るもう一人のDXエンジニアのようなものです。ユーザーが「動かない」と言った時の行間を読み、3ヶ月前のGitHub issueと点と点を結びつけ、誰かが苛立っているのか単に混乱しているのかを理解し、エスカレートすべき時と、より多くのコンテキストを収集すべき時を見極めることができます。この方法で構築することで、私は平易な英語で欲しいものを説明し、動作するコードを受け取り、実際のコミュニティスレッドでテストし、反復改善することができました。
私は、異なるタスクに異なるモデルを使い分け、エージェントに私たちのドキュメントやコミュニティを読むアクセス権を与え、何か失敗した時に中断、再開、回復できるようにしたかったのです。すべてをゼロから構築する代わりに、必要なものをコーディングエージェントに説明し、既にそうした複雑さを扱えるAI Gateway、AI SDK、Vercel Workflowsにたどり着きました。
それを構築したプロンプトたち
最初のプロンプトは核心となるアイデアでした:「投稿の割り当てやフォーマットなど、コミュニティの日常業務を助けるエージェントを構築してください。現時点でどのモデルが最適かはわかりませんが、新しいAPIキーなしで簡単に切り替えられるようにしてください。エージェントにはAI SDKを使用してください。」
そこから、構築するものについて理解が深まるにつれ、プロンプトはより具体的になっていきました。「そして10分ごとにトリガーし、最新のスレッドをチェックしたい」。最初はcronジョブを使っていましたが、この目的ではVercel Workflowsに切り替えました。耐久性のある実行(durable execution)により、エージェントはチェック間で中断し、中断した場所から正確に再開できるようになったのです。
「4時間ごとに担当をローテーションするようにしてください」。それぞれのプロンプトが次の疑問を解き放ちました。私はチュートリアルやドキュメントに従っていたのではありません。会話をしていたのです。そしてシステムはその会話から成長していきました。
適切な専門用語やコーディング方法を知っている必要はありません。自分の問題を十分に理解して説明でき、何かが期待通りに動かない時に反復改善する意思があればいいのです。思考層は、自動化を「これらの厳密なルールに従う」ことから、「状況を理解し、判断を下す」ことに変えるのです。
心を込めて構築する
コミュニティとは、結局のところ人に関するものです。私たちは、チームメンバーが完全に参加する時間とエネルギーを持ち、コミュニティ内の開発者と共に、開発者のために構築し続けることを望んでいます。
もし同様のものを構築したいのであれば、私たちはc0をChat SDKで、またSlack、Teams、Discordなどでエージェントを構築するための統一されたTypeScript SDKを使用して構築しました。Guardianは耐久性のある実行のためにVercel Workflowsを利用しています。コミュニティで何か構築したら、ぜひ共有しに来てください。私たちが学んだことを通じて話す機会は、いつでも歓迎です。
原文を表示
At Vercel, our developer community is at the heart of everything we do. It's how we stay closest to the people using what we build.
As our community grew, automation helped us scale. But questions still got lost, routing took time, and context switching pulled us away from the work that actually required our expertise. And automation could never help with the things that mattered most, the moments where you really connect with someone and help them. You can't use AI to replicate the feeling of talking to a person who really cares.
So we built agents to take over the routing, triage, and follow-ups that don't need a human. We call this the Community Guardian. Let's talk about what it does, how we built it, and how anyone, including non-engineers, can ship agents too.
The Community Guardian operations layer
When a new post comes in, the Guardian analyzes it, checks for duplicates, and assigns it to the team member with the right specialty and bandwidth. Each person handles up to 10 questions before new ones go to someone else, keeping the workload balanced across time zones.
Nothing gets overlooked. If a question goes unanswered for 48 hours, the Guardian reassigns it. It sends reminders when we're waiting for more information and detects when conversations are resolved.
Under the hood, the Guardian uses Claude through AI Gateway and runs on Vercel Workflows, which lets it check in every 10 minutes and sleep between cycles without consuming resources.
That handles the operations side, but our team still needed better context to respond well.
The intelligence layer: c0, the research assistant
While the Guardian manages logistics, c0 is the agent that goes deep on research. It lives in Slack, where our team already works.
When a team member needs context on a thread, c0 searches our knowledge base, documentation, GitHub issues, and past discussions to put together a context package. The context package helps our team respond faster and more accurately instead of relying on their own memory.
Beyond individual threads, c0 helps us close the loop with our product teams. It tracks community sentiment and recurring technical hurdles, so rather than someone spending hours auditing a week's worth of posts, we can ask c0 for the "top product feedback" and bring real data to our product conversations.
Reclaiming human focus
In its first 23 days, the system helped 281 unique users:
Metric
Outcome
Initial context gathering
4,716 first responses triaging issues and gathering logs before a team member arrives
Thread revival
1 in 8 "ghosted" threads brought back to life, resulting in 23 confirmed solutions
Operational scale
Over 1,400 agent runs in a recent two-week period, from stale-checks to auto-solving
Duplicate detection
4 duplicate threads detected via vector similarity, with 3 auto-closed at 95%+ confidence
Every substantial answer still comes from our team. Agents handle everything else around those answers. Without the repetitive parts of triage and tracking, our team can spend time on complex pair-debugging and relationship building, creating content for the broader community, or just having fun with the developers they care about.
Build your own
You don't have to be a developer to build something like this. You just need an idea. I'm not an engineer. I manage community and talk to developers. Sure, I understand the problems we're solving, but I'm not writing production code every day.
My idea started at a talk in Zurich where I showed how we were automating community workflows. But that was traditional automation, scripts and rules and if-this-then-that logic. It worked, but it was brittle. Every edge case needed a new rule.
I wanted something smarter, so I started experimenting with my coding agent to add a thinking layer, the step between "new post arrives" and "take action." Instead of "if post contains 'billing' then route to billing team," it became "read this post, understand what the person actually needs, then decide."
The thinking layer is like another DX engineer looking at each post who can read between the lines when a user says "it's not working," connect dots to a GitHub issue from three months ago, understand when someone's frustrated vs. just confused, and know when to escalate vs. when to gather more context. Building this way meant I could describe what I wanted in plain English, get working code back, test it against real community threads, and iterate.
I wanted to use different models for different tasks, give our agent access to read our docs and community, and allow it to suspend, resume, and recover if something failed. Instead of building all of that from scratch, I described what I needed to my coding agent and landed on AI Gateway, AI SDK, and Vercel Workflows, which already handle those complexities.
The prompts that built it
The first prompt was the core idea: "Build me an agent that helps me with the community, day-to-day operations like assigning posts and formatting. I don't know which model will work best yet but make it easy to switch without needing new API keys. Use the AI SDK for the agent."
From there, the prompts got more specific as I understood more about what I was building. "And triggers every 10 minutes, I want to check for the latest threads." I'd started with cron jobs, but switched to Vercel Workflows for this. The durable execution meant the agent could suspend between checks and resume exactly where it left off.
"Make sure we're rotating assignments every 4 hours." Every prompt unlocked the next question. I wasn't following a tutorial or docs. I was having a conversation, and the system grew from that conversation.
You don't need to know the right terminology or how to code. You just need to know your problem well enough to describe it and be willing to iterate when something doesn't work the way you expected. The thinking layer turns automation from "follow these exact rules" into "understand the situation and make a judgment call."
Build with heart
Community is about people, and we want our people to have the time and energy to show up fully, building with and for the developers in our community.
If you want to build something similar, we built c0 with the Chat SDK, a unified TypeScript SDK for building agents across Slack, Teams, Discord, and more. The Guardian uses Vercel Workflows for durable execution. Come share what you build in the community. We're always happy to talk through what we've learned.
Read more
関連記事
今日のまとめ
AI日報で今日の重要ニュースをまとめ読み