Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【ITニュース解説】Marketing ZenStack on Reddit Accidentally Became a Product

2026年09月07日に「Dev.to」が公開したITニュース「Marketing ZenStack on Reddit Accidentally Became a Product」について初心者にもわかりやすく解説しています。

作成日: 更新日:

ITニュース概要

開発者が自身の製品についてRedditで情報発信をする際、関連スレッド探しや返信作成に膨大な時間を費やしていた。この非効率を解消するため、AIを活用し、関連性の高いスレッドを自動で見つけ、返信のドラフトを作成するツール「Marvin」を開発。これにより効率が大幅に向上し、当初は個人的なツールだったMarvinが製品として誕生した。

ITニュース解説

ZenStackの開発者が直面した課題と、それを解決する過程で生まれた新しいツール「Marvin」についての話である。ZenStackは、TypeScriptというプログラミング言語とOR(オブジェクト関係マッピング)という技術を使って作られたシステムであり、データベースへのアクセス制御を簡単に実装できるように設計されている。開発者は、Redditという大規模なオンライン掲示板で、ZenStackが解決できる具体的な問題について頻繁に目にしていた。それは、例えば企業向けのアプリケーション(マルチテナンシー対応のCRUDアプリ)を開発する際、データベースから情報を取得する際に「この組織のデータだけを表示する」といった条件(where: { orgId: ctx.orgId })を数十箇所で記述しなければならないという問題である。これを手作業で行うと、どこかで記述ミスをしてしまい、セキュリティ上の問題やデータの誤表示につながるリスクがあった。ZenStackは、このような繰り返し発生するアクセス制御の問題を、システムの設計段階で解決することを目指して作られた。開発者は、このZenStackを世に広めるため、Redditで困っている人々のスレッドを見つけては、ZenStackの考え方で解決できることを示唆するコメントを書き込んでいた。

しかし、このマーケティング活動は開発者にとって非常に困難なものだった。彼はこの活動を当初一つだと考えていたが、実際には全く異なる性質を持つ三つの作業の組み合わせであると気づいた。一つ目は「適切なスレッドを探す」作業である。Redditには多くの掲示板(subreddit)があり、毎日膨大な数のスレッドが投稿される。その中からZenStackが役立つ、まさに困っている人が投稿した新しいスレッドを見つけるのは非常に時間がかかった。例えば、プログラミング関連の主要な掲示板をいくつか確認し、フロントページから関連性の低い投稿を排除し、さらに数日前の投稿で既に解決済みとなっているものを除外する。この作業だけで、一つの価値あるスレッドを見つけるのに90分もかかることがあった。キーワード検索も効果的ではなかった。漠然とした「ORM」といったキーワードでは、抽象的な議論のスレッドばかりがヒットし、特定の具体的な問題に困っている投稿を見つけるのは困難だった。スレッドのタイトルや冒頭の数行の要約から、本当にZenStackが役立つかどうかを判断するのは、人間にしかできない高度なフィルタリング作業であり、自動化できるような単純なものではなかった。このため、開発者は本業である開発作業を優先しがちで、マーケティング活動には十分な時間を割けず、継続することが難しかった。

二つ目は「返信コメントを作成する」作業である。これは時間こそかからないが、非常に集中力と労力を要する作業だった。スレッド全体を注意深く読み込み、投稿者が何を本当に求めているのかを理解する。次に、ZenStackを紹介する際に、ただの宣伝ではなく、相手にとって本当に役立つ情報として伝わるような角度を見つける。そして、ZenStackのリンクがなくても、そのコメント自体が有用な情報として成立するように、独立した内容で書き上げる必要があった。これには高い集中力と洞察力が必要とされ、疲れている時に急いで作成したコメントは、後で後悔するような質の低いものになりがちだった。

三つ目は「コメントを送信する」作業である。これは一瞬で終わるが、最もリスクを伴う部分だった。最近では、コメント投稿を自動化するツールも存在するが、そのようなツールが生成するコメントは、質問を繰り返し、曖昧な表現を使い、複数の選択肢を提示した上で最終的に自社製品に誘導するといった、定型的なパターンを持っていることが多い。Redditのモデレーション(監視)は、ソフトウェアと人間の両方によって行われており、人間はこのような自動生成された不自然なコメントのパターンを即座に見抜くことができる。もし不自然なコメントが検出された場合、警告なしにアカウントが利用停止(BAN)されるリスクがあり、それは後になって初めて気づくことになりかねない。そのため、送信だけは絶対に手動で行う必要があった。既存の自動化ツールは、これら三つの作業を区別せず、全てを自動化しようとするものが多く、結果として利用停止のリスクを高めていた。

これらの課題に直面し、開発者は結局、手動での作業を全て止めるためのスクリプトを自ら書き始めた。このスクリプトは、特定のsubredditを監視し、どのスレッドが返信する価値があるかを教えてくれるものだった。有望なスレッドが見つかったら、AIアシスタントにそのスレッドの内容を読み込ませ、最初の返信ドラフトを作成させた。そして、開発者自身がAIと対話しながら、ドラフトが自分の言葉遣いや意図に合致するように調整していった。最終的な送信ボタンは、常に開発者自身が押した。

このスクリプトは、最初は単なる作業効率化のツールだったが、次第に開発者の日常に組み込まれ、欠かせない習慣となった。朝のコーヒーを飲みながら、スクリプトが作成した返信候補のリストを確認し、約20分間、AIと協力して人々と有意義なコミュニケーションを取る。以前は90分もかかっていたスレッド探しの時間がゼロになり、一年間も避け続けていたマーケティング活動が、苦痛なく続けられる20分間の作業へと変化した。

本来、データベースのアクセス制御を助けるORMというシステムを開発していた彼が、最終的にRedditでのマーケティングを支援するツールを偶然にも作り上げてしまったのである。このツールは「Marvin」と名付けられ、今では一つの製品として提供されている。Marvinは、ユーザーが関心を持つsubredditを自動的にスキャンし、返信する価値のあるスレッドを重要度順にランク付けして、ショートリストとして表示する。さらに、Chromeの拡張機能として動作し、ショートリストから開いたスレッドページで、ユーザーの書き方に近い形で返信のドラフトを作成する。

ユーザーはMarvinと対話しながら、ドラフトが自分の意図に完全に合うまで修正を繰り返す。例えば、「この部分を書き直してほしい」「二つ目の段落を削除してほしい」「もっとカジュアルな口調にしてほしい」といった指示を出すことで、AIがドラフトを調整する。そして、最終的に「送信」ボタンを押すのはユーザー自身である。Marvinは、実際にユーザーが送信したコメントの内容も記録し、学習に活用する。

Marvinのセットアップは比較的簡単である。ユーザーはMarvinに自分のウェブサイトのアドレスを教えるだけでよい。Marvinはウェブサイト(ホームページ、ドキュメント、ブログ記事、料金ページなど)をスキャンし、そこから二つの重要な情報を自動的に生成する。一つは、監視すべき具体的な問題やフレーズの検索クエリの初期セットである。これは「ORM」のような一般的なキーワードではなく、ユーザーのプロダクトが解決する具体的な課題に特化したものである。もう一つは、ウェブサイトの文章スタイルから判断した、返信コメントの「口調」の初期ドラフトである。これらの設定は、後からユーザーが自由に調整できる。

Marvinが提示するショートリストには、各項目に、どのsubredditからの投稿か、該当する抜粋、マッチングの強さ、なぜそれがショートリストに入ったのかの理由、そしていくつかの返信の角度(提案)が表示される。ユーザーはこのリストをざっと見て、関連性が低いと感じるものものは却下し、有望に見えるものを開いて確認する。

Marvinは、ユーザーがこのツールを使うたびに、そのパフォーマンスを向上させる。ショートリストに表示されたスレッドを「開く」「返信する」「却下する」といったユーザーの行動は、Marvinの検索とランク付けのアルゴリズムにフィードバックされ、マッチングの精度を改善する。また、ユーザーがAIとのチャットを通じてドラフトをどのように修正したか、そしてAIが作成した最終ドラフトと実際にユーザーが送信したコメントとの違いも、Marvinがユーザーの「声」や意図をより正確に理解し、次回のドラフト作成に活かすための貴重な学習データとなる。

このように、ZenStackの開発者は、自身の製品マーケティングにおける具体的な課題を解決するために、偶発的に非常に効果的なAI駆動型マーケティング支援ツール「Marvin」を生み出した。これは、システムエンジニアが実世界の課題に直面し、それを技術で解決しようとする中で、予期せぬ新しい価値が生まれる典型的な例と言えるだろう。

関連コンテンツ

関連IT用語