Upgrade to Pro — share decks privately, control downloads, hide ads and more …

生成AIを活用した社内システムの紹介とAI駆動開発の実践エピソード

 生成AIを活用した社内システムの紹介とAI駆動開発の実践エピソード

株式会社コーボーでは、生成AIを活用した社内システム「COOBOO AI PORTAL」を開発しました。
この資料では、社内システムが何故誕生したのか・どんな技術が活用されているかをまとめています。
※2025/4/11に弊社が行っているLT会で発表された資料となっています。

Avatar for 株式会社コーボー

株式会社コーボー

April 25, 2025
Tweet

More Decks by 株式会社コーボー

Other Decks in Technology

Transcript

  1. 自己紹介
 3 米田 直樹 (AI・DX推進グループ/エンジニア) 2021年1月: 株式会社コーボー入社。 HR事業部テックグループとして、大手企業の CRMシステム開発案件 に参画。

    Wantedlyのストーリー:https://www.wantedly.com/companies/cooboo/post_articles/306263 2025年1月: 新たに新設されたAI・DX推進グループに異動。 生成AIに関する情報共有や、 Google Workspaceに関する発信活動 や、生成AIを活用した社内システム 「COOBOO AI PORTAL」の開発を担当。 AI・DXへの関心を高める活動をしています。
  2. 作成に至る背景
 10 リリースまでのスケジュール 2025年1月 2025年2月 2025年3月 AI・DX推進グループに異動 プロダクトリストの作成を開始 1/17 GoogleCloud契約

    GoogleWorkspaceの情報発信を 開始 GoogleCloudの環境を使って 開発・検証を実施 3/17 社内リリース 🚀 15期上期評価面談 15期上期評価会議 15期下期キックオフ 目標設定&評価 FB 社員旅行 社内行事 AI・DX推進G 1月中旬から開発を開始し、約2ヶ月でリリース まで実施!
  3. 社内アプリケーションの紹介
 13 AIチャット • ChatGPTライクなインターフェースでAIと対話。 • 文脈を考慮した自然な会話が可能。 • アイコンとして、コーボーの公式マスコット「ちゅ~に んぐ君」を採用。

    • Gemini for GoogleWorkspaceもあるが、あえて チャット機能を標準搭載した。 ◦ 「キャラクター設定」をしたことで親しみが生ま れ、想定よりも使われている機能。
  4. 開発スタック&インフラ構成
 開発言語&フレームワーク 
 モダンな構成も検討したが、今回は自身が開発スピードを重視。 開発メンバーは私1名のみ。開発言語にはPython、フレームワークにFlaskを採用。 18 観点 / 技術構成 Flask

    + HTMLテンプレート React + TypeScript + FastAPI 概要 Pythonの軽量WebフレームワークでHTMLテンプ レートを返す伝統的な構成 フロントとバックを分離。 ReactでSPAを構築、API サーバーはFastAPIで実装 開発者目線のメリット - 学習コストが低い - セットアップが簡単 - サーバーサイドレンダリングで完結 - コンポーネント設計で UI再利用性が高い - 型安全で保守性が向上 - API設計が明確 - テスト・CI/CDと親和性が高い 開発者目線のデメリット - フロントのUIがモノリシックになりがち - JavaScriptとの連携が面倒 - モダンなUI/UXが難しい - 初期構築が複雑 - フロント/バック間の通信処理が必要 - チームによっては学習コストが高い
  5. • Google Cloud は、Googleが提供するクラウド コンピューティング サービス。 • Google Cloud Platform

    (GCP) としても知られている。(現在はGoogle Cloudが正 式名称。) • コンピューティング、ストレージ、データベース、ネットワーキングなど、さまざまなサー ビスを提供。 • シェア率はAWS(33%)、Azure(20%)に次ぐ3位(11%)。 ◦ AIに力を入れているので今後の伸びに期待 。 ◦ 4月に行われたGoogle Cloud Next '25ではA2Aをはじめ、様々なアップデート 内容が話題に。 開発スタック&インフラ構成
 19
  6. • 社内で利用している『Google Workspace』とのシナジーが最大のメリット。 • OAuthやGoogleドライブとの連携など、容易に実装できそう。 • マーケでGA4を取り扱う事も多いため、Google Cloudの環境があると便利。 なぜ『Google Cloud』なのか


    20 各社クラウド環境とサーバレス機能のざっくりと比較表。 観点 / クラウ ド環境 Google Cloud (Cloud Run) AWS(Fargate / Lambda) Azure(App Service / Functions) 開発者目線の メリット - サーバーレスで管理が簡単 - Dockerだけで完結、シンプル - Google Workspaceと統合しやすい(OAuth, Drive API 等) - Cloud BuildやIAMと連携しやすい - サービスの種類が非常に豊富 - エンタープライズ向けの機能が充実 - CI/CD連携も強力(CodePipeline, CodeBuild) - Microsoft製品との親和性が高い( Teams, Outlook, Excel等) - Visual StudioなどMS系ツールとの統合がス ムーズ 開発者目線の デメリット - 公式ドキュメントがAWSよりやや少ない - ベストプラクティスが見つかりにくい場合あり - 初期学習コストが高い - 設定が複雑で迷いやすい - AWS特有の概念が多い - やや抽象度が高くブラックボックス感あり - SDKの情報が少なめ(特に非 .NET系)
  7. 開発スタック&インフラ構成
 • 運用面のコストも重要なポイント。(特に弊社規模の会社であれば尚の事。) • 新規ユーザーは、最初の 90 日間で使用できる $300 のクレジットが付与される。 •

    今回は無料のクレジットを残した状態でサービスイン出来たため、運用コストの面でも良い形でスター トできた。 • Google Cloudの見積もりツールを活用し、事前に運用コストの試算も行なった。 21 各サービスを構成する前に見積もりを実施 https://cloud.google.com/products/calculator?hl=ja
  8. 開発スタック&インフラ構成:コアとなるサービス
 • Google Cloud が提供する コンテナベースのサーバレス実行環境 。 • 任意の言語・フレームワークで作成したアプリケーションをDocker コンテナにして

    デプロイすることで、自動スケーリングを実現する。 • 使用したリソースに対してのみ課金される従量課金制を採用。 • CPU: 毎月最初の 240,000 vCPU 秒 メモリ: 毎月最初の 450,000 GiB 秒 リクエスト: 毎月最初の 200 万リクエスト  と無料枠がある点も魅力。 22 Cloud Run 

  9. 開発スタック&インフラ構成:コアとなるサービス
 • Google Cloud の機械学習プラットフォーム。 • Vertex AI の Gemini

    2.0 Flash を利用し、自然言語処理・要約などを実現。 • アイコン画像はVertexAIから画像生成AI「Imagen3」を利用。 23 Vertex AI 
 Gemini 
 • Googleの生成AIモデル。コスパに優れた「Gemini 2.0 Flash」を利用。 • 文章や画像、音声などマルチモーダルに対応。 • 100万トークンの入力コンテキストウィンドウを持つ。
  10. 開発スタック&インフラ構成:コアとなるサービス
 • Google Cloud の音声認識サービス。 • 数百万時間の音声データと数十億の文章でトレーニングされた Google Cloud の

    音声向け基盤モデル 『Chirp 2』 を利用し、高速な文字起こしを実現。 ◦ Geminiでも文字起こしは出来るが処理速度や精度からこちらを採用。 • 議事録作成など、1時間の音声データも2〜3分で文字起こしが完了。 24 Speech-to-Text 

  11. 開発スタック&インフラ構成:コアとなるサービス
 • Google Cloud のフルマネージドのリバースプロキシ • HTTPS によってアクセスされるアプリケーションの一元的な承認レイヤを確立で きる。 •

    IAP のポリシーは組織全体に拡張できるので、コーボーの組織ドメイン所属ユー ザーにアクセスを絞ることが可能になる。 26 Identity-Aware Proxy 

  12. • コーディング部分は95%をAIで実現できたが、インフラはそうもいかず…。 • CloudRunはデプロイ含めて簡単に利用開始できるものの、リクエストサイズの上 限に32MiBの制限がある。 ◦ 1時間の音声データだと32MiBを余裕で超えてしまうため上限に引っかかって しまう。 ◦ 署名付きURLを採用し、CloudStoregeに32MiB以上のファイルをアップロー

    ドできるように対応した。 • 特にIAP周りの制御も複雑だった。 ◦ GoogleCloudのドキュメントや、GoogleCloudのパートナー会社の技術ブロ グも参考にした。 • 動くモノ自体は比較的早くに出来ていたので、2月の期間を使ってしっかりインフラを触る ことができた。 開発スタック&インフラ構成:苦労話
 29 インフラ苦労話
  13. AI駆動開発:利用したAIサービス
 31 開発時も様々な場面でAIサービスを活用 利用した工程 利用サービス 用途 要件定義 • ChatGPT •

    Gemini • 両機能それぞれで回答内容をチェック • インフラも相談したが、学習データの都合 上、良い回答は得られず。 画面設計 • v0 • Claude 3.5(3.7) Sonnet • v0は画面イメージ作成時に一時的に使用。 • メインはClaude。 コーディング • Claude 3.5(3.7) Sonnet • AIエディタのCursorから利用 テーブル設計 • Claude 3.5(3.7) Sonnet • AIエディタのCursorから利用 Claude 3.7 Sonnetがリリースされて以降、利用するモデルも3.7に変更。
  14. AI駆動開発:Cursorについて
 33 Cursorを利用する上でのポイント① • コーディング部分は95%をAIで実現できた。 ◦ Cursorがなかったらこの開発は実現できなかった。 • 最初のうちは命令していない『変更』が大量に発生。暴れ馬状態に。 •

    乗りこなすためには『ルール設定』 が重要。 • cursorのモードの使い分けも重要。 ◦ ソースの特定箇所を確認する場合は『Task』を利用。 ◦ 一括で処理したい場合は『Agent』を利用。(Yoloモードは利用せず。) • 1つのチャットスレッドを使い回さず、新しいタスクを開始する度に別チャットを開始 し、開始時にルールを確認させる方法が安定していた。
  15. AI駆動開発:Cursorについて
 35 重要なCursorのルール設定 • Cursorに限らず、WindsurfやClineにもルール設定 は存在している。 • ルール設定をすることで、ルールに従って動作する(確率が高くなる。) • ちゃんとルールを読み込んでいるかを確認するため、何かしらの命令を仕込んで

    おくと良い。 なお、GitHub上に公開されているrulesには、Unicodeの制御文字を使って悪意ある指示を紛れ込 ませている「ルールファイルバックドア」 なるハッキング手法が誕生している。ルールを参考にする 場合は注意が必要。
  16. AI駆動開発:その他のAIエディタ
 40 Cursor以外の選択肢 Cursorに限らず、 • Windsurf • Cline • GitHub

    Copilot Aegent • VS Code(2025年4月7日から全ユーザーに提供開始) のような、Agentモードが存在するツールが開発時には有用。 本発表時点では、私個人にはCursorが一番しっくりきた。 大体無料枠があるので、色々触って自身にあった武器を見つけて欲しい。
  17. AI駆動開発:継続的な開発のために
 43 プロダクトリリース後の情報を収集する 合わせて、Googleフォームをつかったアンケートも実施。 • プロダクト内のダッシュボードから何時でも利用可能。 • GoogleフォームとGoogle App Scriptを組み合わせ、アンケートの回答が行われ

    ると即座にSlackに通知が来るように設定。 ◦ アンケートしたのに気付いてもらえない…という事がないような工夫が必要。 アンケートの内容から、実際に改善に繋がった機能も。 ユーザーアンケートは必ず収集すべし!
  18. よかったこと よかったこと・苦労したこと
 45 • その他の業務をこなしながら2ヶ月でサービスインできた。 • AI駆動開発を用いて0 → 1の実績を作ることができた。 ◦

    次のプロダクトでは今回得た知見も活かしてより高度な物が作れる自信にも 繋がった。 • 関係部署にヒアリングをしながら開発した結果、リリース後も継続して利用して貰 えるプロダクトができた。 ◦ また、利用者から直接フィードバックを貰えるのもありがたい。 • ウォーターフォールの開発手法(要件定義→設計→開発…)が活きた。 ◦ ウォーターフォールの弱点だった「開発の遅さ」がなくなり、要件定義から開発 ・運用までを爆速で実行できる。
  19. 苦労したこと よかったこと・苦労したこと
 46 • インフラ全般。 ◦ インフラ領域の構築は初だったので兎に角手探りだった。 ◦ 今後、コーディング部分はどんどんAIによる開発が進みそう。 ◦

    プロダクトを公開するためのインフラスキルが一層求められそう。 ◦ 最低限、サーバレスは抑えておいた方が良さそう。 • Cursor(というかClaude)の暴走。 ◦ 不要な変更が多発する。(画面レイアウトが変わったり。) ◦ ルールの作り込みが重要。 ◦ プロダクト開発を進めながら、ルールを育てていくことが大事。 ▪ チーム開発時はルールを共有しながら開発すべし。 ▪ ルールを.mdや.yamlにしておき、リポジトリ管理しておくとよい。
  20. これからの開発にAIは必須!恐れず挑戦してみよう!! 最後に
 47 • とにかく「物作り」の楽しさを満喫できる。 ◦ このスピードで、自身の思い描いていたモノが出来るのは純粋に感動する。 ◦ vibe codingでアイディアをノリノリで具現化しよう。

    • コーディング能力も大事だけど、「何を作りたいか」を考える力が重要! ◦ 「あんなこといいな」「できたらいいな」を常に考え、言語化する。 • 個人のプロダクト開発にも挑戦してみたい。 ◦ この個人開発が今一番熱い領域。 ◦ 本業で出来ないことを挑戦できるチャンス! • AIを恐れず、徹底的に使い倒して「AIを使えるエンジニア 」になろう!