制作事例 | AI駆動開発の、動く証拠
このサイトの問い合わせに最初に応えているAI——あれは、外部のチャットツールを貼ったのではなく、自分たちで一から作った顧客対応AIだ。社内コードネーム「御用聞き(goyokiki)」。
以前の記事『脱WordPress』で、私たちは「受注AIの深掘りは別稿で」と書いた。これがその別稿だ。
関連記事 | この記事は、ここで予告した「別稿」脱WordPressの時代が来た。──AIと、隅々までいじれる自社サイトを1から建てた話
→
中身は、軽いチャットボットではない。マルチテナント基盤、RAGと顧客別メモリを持つAIエージェント、メール⇄チャットの双方向統合、見積もりを人間に渡すHITL設計、そして42項目の自動検証——本番品質でひと通り実装し切った。そしてそれを、AI駆動開発で1日で本番稼働に乗せた。速さの主役は、ツールではなく「何を作り・どう守り・何をAIに任せないか」という設計判断のほうだ。
ただし、これは「AIに丸投げしたら魔法で動いた」という話ではない。むしろ逆だ。どこを自動で任せ、どこを人間が握るかを設計で決め、全部を実機で動かして確かめたから、本番に出せた。その制作の中身を、現場の記録として書く。

01何を、作ったのか
御用聞きは、問い合わせ受信 → AIが一次対応 → クライアント専用ダッシュボード発行 → 継続発注までを一本で回す、2層ダッシュボード+クライアント専用AIエージェントだ。役割を2つの画面に分けてある。
| CAG側(管理ダッシュボード) | クライアント側(専用画面) |
|---|---|
| 受信トレイ(AIが分類・要約) | 自分専用のAIチャット |
| クライアント発行・ナレッジ管理 | 案件の状況・進捗 |
| 要判断キュー(人間が答える待ち行列) | 再注文・署名つき資料URL・未払い時ロック |
※ 全テーブルを組織IDで分離するマルチテナント設計。第1段階=CAG自社運用(=今このサイトで稼働中)、第2段階=課金つきSaaSとして外部提供できる作り。
2層に分けたのには理由がある。CAG側は「複数のクライアントを一望して捌く」ための画面、クライアント側は「自分の案件だけが、自分専用に見える」画面。同じデータを別の見え方で出し分けるには、誰がどこまで見えるかをデータベースのレベルで制御しておく必要がある。後から「権限」を貼るのではなく、最初から組織IDで仕切る——ここを設計の出発点にした。
まずは自分たちで毎日使って、良し悪しを自分の体で確かめる——ドッグフーディングから始めた。売る前に、使い手として痛みも便利さも知っておくためだ。
02メールに返信すると、そのままAIチャットになる
いちばん「動いた瞬間」が気持ちよかったのが、これだ。
クライアントへの通知メールには、返信先(Reply-To)にスレッドを識別するトークンを仕込んだ専用アドレス(reply+<トークン>@…)を入れてある。すると——クライアントがそのメールに返信するだけで、本文がそのままチャットに流れ込み、AIが応答する。メール派の相手にも、チャット画面を開かせずに同じ体験を届けられる。
実機テストでは、送信から約10秒で受信トレイに「分類・要約つき」で着弾した。さらに、送信元アドレスと登録アドレスが食い違う"なりすまし"は拒否して、スタッフに警告を上げる。メールという枯れた経路を、AIチャットの入口として安全に使えるようにした。
地味だが、これは効く。BtoBの現場では「専用画面にログインして」より「いつものメールに返信して」のほうが圧倒的に動いてもらいやすい。相手の習慣を変えさせず、こちら側でチャットに変換する——導入のハードルを下げるための、設計の一手だ。チャットからの入力も、メール返信からの入力も、裏では同じ応答パイプラインに合流させてあるので、どちらから来ても応対の質は変わらない。

03いちばん大事な設計:AIに、値決めをさせない
御用聞きの心臓部は、派手な機能ではなく「AIに何をさせないか」の線引きだ。
たとえばクライアントが「これ、見積もりいくら?」と聞いたとする。普通のチャットAIなら、それっぽい金額を即答してしまう。御用聞きは違う。エージェントは即答せず「担当者に確認します」と保留し、その問い合わせを要判断キューに起票する。人間(CAGの職人)が回答を書くと、エージェントがその回答を代理で送る。
これが、CLAUDE.mdにも掲げているCAGの運用原則——HITL(Human-in-the-Loop/重要判断は人間が承認)——の実装だ。値決め・約束・込み入った折衝のような「外したら信頼を失う判断」は、AIに渡さない。速くて24時間動くAIの一次対応と、人間が責任を持つ最終判断を、設計のレベルで分けてある。
「AIが全部やります」ではなく「AIが一次対応するから速い・24時間・その分安い。複雑な判断は職人が引き継ぐ」——この正直さが、CAGがAIを売る上での核だ。
もうひとつ、通常応答の質を支えているのが顧客ごとの「専用メモリ」だ。エージェントは、そのクライアントのナレッジ(過去のやり取り・案件情報・FAQ)を検索して引き当てたうえで答える(RAG)。日本語の表記ゆれにも当たるよう、意味の近さ(ベクトル検索)と語の一致(全文検索)を混ぜたハイブリッド検索にしてある。会話が長くなれば古い文脈を要約して圧縮し、相手の文脈を見失わない。CAGが掲げる「顧客ごとに分離し、常に更新される専用メモリ」を、汎用チャットボットではなく一社ずつの担当AIとして実装した部分だ。
041日のタイムライン:検証で固めながら、本番品質へ
「1日で本番」を、工程で分解するとこうなる。各フェーズの最後に必ず実機・自動テストで検証してから次へ進んだ。
| フェーズ | 作ったもの | 検証 |
|---|---|---|
| 0 | 基盤(Next.js+エラー監視+計測) | 監視のテストエラー捕捉を確認 |
| 1 | 15テーブル+アクセス制御+ベクトル検索 | アクセス制御 22/22 通過・警告0 |
| 2 | マジックリンク認証 | 本番ログインを実機通し |
| 3 | 公開フォーム+メール受信→AI分類 | メール経路 9/9 通過 |
| 4 | 管理ダッシュボード(受信トレイ/発行/ナレッジ/要判断) | ビルド+実機 |
| 5 | エージェント(RAG+専用メモリ+会話圧縮+HITL) | エージェント 11/11 通過 |
| 6 | クライアント画面(チャット/案件/再注文/署名URL/未払いロック) | 同上 |
※ 約60ファイル/マイグレーション4本/1日(2026-06-11)。
人間が握ったのは、アーキテクチャ/セキュリティ境界/HITLの線引き/各フェーズの検証基準という"設計の判断"だ。実装はAI駆動で高速に回し、1日で本番品質に到達させた。フルAI駆動とは「人が何もしない」ことではない。人は設計と検証に集中し、実装の速度をAIで何倍にもする——その実物がこれだ。
05「動くはず」を信じない:自動検証42項目
CAGが大事にしているのは、「テストが通った」より「実機で動かして確かめた」だ。御用聞きでは、リポジトリに3本の検証スクリプトを資産として残し、合計42項目を自動で通している。
- アクセス制御 22項目:別のクライアントのデータを覗けないか/なりすまし投稿できないか/匿名で入れないか——全パターンがちゃんと拒否されることを自動実証
- エージェント 11項目:専用ナレッジを正しく参照するか/見積もりは保留&起票するか/停止中は黙るか/会話からメモリを抽出するか
- メール経路 9項目:受信→分類→受信トレイ→返信→なりすまし照合→チャット→AI応答→通知、の一連が通るか
これらは一度きりの確認ではなく、いつでも再実行できる形でリポに残っている。「動いて見える」状態を信用せず、壊れていないことを機械で繰り返し確かめられる——これがCAGの透明性の中身だ。
06AIが自分で踏んで、自分で直した罠(技術メモ)
フルAI駆動でも、当然ハマる。むしろAIで作るからこそ出る罠もある。記録として、効いたものを3つ残す。
| 罠 | 症状 | 効いた対策 |
|---|---|---|
| LLMはJSON指定を破る | 「JSONだけで」と言っても後ろに解説文 → フェンス除去だけの解析が失敗 → 「安全側=全部エスカレ」に静かに誤爆 | 最初の { から括弧対応で抜き出すパーサに変更。温度0でも後置は止まらない前提で組む |
| 設定ツールがenvを上書き | 連携追加コマンドの裏で .env.local が再生成され全キー消失 | エディタのバージョン履歴から復元。以降は実行前に必ずバックアップ |
| 非同期基盤の署名検証 | デプロイ後に受信処理が 401 で弾かれる | エンドポイントへ再同期リクエスト一発で解消(同期前着信は戻らない=設計で許容) |
※ いずれも開発中に実際に踏み、その場で修正した事象。
共通する教訓は、CAGがずっと書いてきたことと同じ——「AIが"できました"と言っても、実機で確かめるまで信じない」。静かに失敗する経路(サイレント・フェイル)を、テストと観測で表に引きずり出す。
07締め:自社で、いちばん最初に使う
なぜ、外販より先に自社で使うのか。自分たちの顧客対応で毎日使えば、良し悪しが自分の体で分かるからだ。速い一次対応はどこまで効くのか、HITLの線引きはこれで適切か、メール返信の体験は本当に滑らかか——売る前に、使い手として痛みも便利さも知っておく。
御用聞きは、CAGの主張「AIが一次対応するから、速い・24時間・その分安い。複雑な判断は人間(職人)が引き継ぐ」を、スローガンでなく動くプロダクトにしたものだ。そしてその制作過程そのものが、「設計を決めてAIに任せ、全部実機で確かめる」というCAGのものづくりの、いちばん正直な証拠になっている。

このサイトで御用聞きに話しかけると、その思想がそのまま体験できる。気になったことを、まず聞いてみてほしい。
問い合わせ対応を、「速い・24時間・その分安い」へ。従来の応対と、御用聞きを一枚に。
| 観点 | よくある問い合わせ対応 | 御用聞き(CAGの顧客対応AI) |
|---|---|---|
| 一次対応 | 人手・営業時間内・属人的 | AIが即時・24時間 |
| メール派の相手 | 別系統で分断 | 返信がそのままチャットに(双方向統合) |
| 見積もり・重要判断 | 担当者待ちで停滞 or 即答で事故 | AIは保留→要判断キュー→人間が承認(HITL) |
| データ分離 | 後付けで不安 | 設計時からマルチテナント+アクセス制御実証 |
| 品質の確かめ方 | 「動いてるはず」 | 実機で42項目を自動検証・再実行可能 |
| コスト | 人月で膨らむ | AI一次対応で圧縮・複雑判断のみ人 |
※ 本記事はCAG自社プロダクト「御用聞き(goyokiki)」の制作記録。クライアントの実データは扱っておらず(検証は全てテストデータ)、リポジトリは非公開。掲載は仕組みの説明に必要な範囲にとどめる(v0・2026-06時点)。
脚注・出典
- 本記事はCAG自社プロダクト「御用聞き(goyokiki)」の制作記録。クライアントの実データは扱っておらず(検証は全てテストデータ)、リポジトリは非公開。掲載は仕組みの説明に必要な範囲にとどめる。
- 技術スタック:Next.js/Supabase(認証・DB・ベクトル検索・ストレージ)/Resend(メール送受信)/非同期ジョブ基盤/Claude(Sonnet+Haiku)/埋め込みモデル/エラー監視。いずれも一般に公開されている技術の組み合わせ。
- 「アクセス制御22/エージェント11/メール9=計42項目」は、リポジトリ内の検証スクリプトで自動実行・全通過を確認した自社計測値(2026-06-11時点・v0)。本番稼働後も再実行できる形で保守している。
あなたの会社にも、「速い・24時間・その分安い」一次対応を。
御用聞きは、CAG自身が毎日使っている顧客対応AIです。AIが一次対応し、複雑な判断は職人が引き継ぐ——その設計ごと、あなたの事業に合わせて作ります。まずは、このサイトのAIに話しかけてみてください。
このAIに相談する →








