Tech Leverages 技術活動レポート 25年3Q期号

2025年10〜12月中に、レバレジーズが関わった技術イベントのご紹介です。 自社イベント開催や、イベント登壇など多様な関わり方で、合計16件のイベントに参加しました!

AI Builders Dayスポンサーブースの様子

主催・共催技術イベント

AIが変えるアジャイル、変えられないアジャイル〈MeetUp#4〉

9/4に、開発組織の拠点であるポーラ渋谷ビルにて、「AIが現場にもたらした変化」と「AIでは変えられないアジャイルの本質」について語るイベントを開催しました。 (イベント詳細はこちらから)

実装の精度を上げる、設計フェーズのAI活用

10/10に、オンラインにて、「設計のどの部分にAIを使っているのか?」「なぜ、AIに任せられると判断したのか?」といった内容についてリアルな事例を深掘りしていくイベントを開催しました。 (イベント詳細はこちらから)

AI時代を生きるエンジニアのLT&交流イベント〜うひょ氏・ミノ駆動氏登壇〜 集まっtail 2025

10/23に、「AI時代を生きるエンジニアの学びやキャリア」をテーマに、「これからのAI時代を生きるエンジニア」として考えるきっかけとなるような内容の交流イベントを開催しました。 (イベント詳細はこちらから)

AIが変えるアジャイル、変えられないアジャイル

11/6に、アジャイル開発やチーム改善に関心のある方を対象とした、オフライン/オンライン対話&交流イベントを開催しました。 (イベント詳細はこちらから)

工数・コストを大幅削減!「脆弱性診断の自動化」で実現する持続可能なセキュリティチェック体制

脆弱性診断によるリリースサイクルの遅延やコスト増大、属人化といった課題に焦点を当て、これらを解決するための自動化について、実践事例を交えて紹介するイベントを開催しました。 (イベント詳細はこちらから)

Langfuse Night #4 - Langfuse Team 来日記念 -

LLMエンジニアリングプラットフォームとして国内外で注目度急成長中の Langfuse についてのノウハウを共有するコミュニティイベントを開催しました。 (イベント詳細はこちらから)

紅白LTセッション & 2025年ラストMeetup#6(agile effect)

12/11に、アジャイル開発やチーム改善に関心のある方を対象とした、オフライン/オンライン対話&交流イベントを開催しました。 (イベント詳細はこちらから)

オフライン開催!【プロダクトトップに聞く】未経験プロダクトマネージャーを育てる方法とその実践

12/17に、「未経験のプロダクトマネージャーを育てる方法」にフォーカスし、各社がどのように試行錯誤しながら育成を行っているのかを紐解くイベントを開催しました。 (イベント詳細はこちらから)

レバテックMeetup~2025年のフロントエンド~

12/23に、各社の「2025年のフロントエンド」の取り組みやトレンドについて語り合うライトニングトークイベントを開催しました。 (イベント詳細はこちらから)

イベント登壇

Fivetran Japan - Meet up #2 in TOKYO!

テクノロジー戦略室のゲンシュンが、Fivetran Japan - Meet up #2 in TOKYO! に登壇しました。 (イベント詳細はこちらから)

speakerdeck.com

Data Engineering Summit 前夜祭

テクノロジー戦略室のゲンシュンが、 Data Engineering Summit 前夜祭に登壇しました。 (イベント詳細はこちらから)

speakerdeck.com

Langfuse Night #4 - Langfuse Team 来日記念 -

テクノロジー戦略室の苑田が、JAWS-UG Presents - AI Builders Dayに登壇しました。 (イベント詳細はこちらから)

speakerdeck.com

アジャイルデータモデリング事例共有会

テクノロジー戦略室のゲンシュンが、アジャイルデータモデリング事例共有会に登壇しました。 (イベント詳細はこちらから)

speakerdeck.com

JAWS-UG Presents - AI Builders Day

テクノロジー戦略室の苑田が、JAWS-UG Presents - AI Builders Dayに登壇しました。 (イベント詳細はこちらから)

speakerdeck.com

レバテックMeetup~2025年のフロントエンド~

NALYSYS開発部の縄巻が、レバテックMeetupに登壇しました。 (イベント詳細はこちらから)

speakerdeck.com

カンファレンススポンサー

pmconf 2025 ゴールドスポンサー

12/4に行われたpmconf 2025にて、レバレジーズ株式会社がゴールドスポンサーとして協賛しました。

JAWS-UG Presents - AI Builders Day

12/4に行われたJAWS-UG Presents - AI Builders Dayにて、レバレジーズ株式会社がシルバースポンサーとして協賛しました。

会場スポンサー

TSKaigi 2026 キックオフ

“TSKaigi2026 キックオフ”イベントに、イベントスポンサーとして会場の提供をしました。 (イベント詳細はこちらから)

Vercel Meetup #4 - Vercelの内側見せちゃいます special

“Vercel Meetup”イベントに、イベントスポンサーとして会場の提供をしました。

We are hiring!

レバレジーズ株式会社では一緒にサービスを開発してくれる仲間を募集中です。 もしご興味を持っていただけたなら、以下のサイトからご応募ください。

HRMOS求人ページ

会社説明資料

技術は好きに、運用は本気で。社内ブログ「ぷれぽす」を作って育てている話

はじめに

こんにちは。レバレジーズ テクノロジー戦略室 SREチームの横江です。
普段は、事業部横断で他チームのSRE活動をサポートしています。
今回は、私がpdm(プロダクトマネージャー)を務め、有志メンバーと 「サイドプロジェクト」 として開発した社内テックブログ 「prairie post(通称:ぷれぽす)」 についてのお話です。

ぷれぽすのアイコンです

「社内の課題を解決したい」という思いから始まったこのプロジェクトですが、ただのツール作りには留まらないプロジェクトになりました。

そこは、エンジニアとして技術を楽しむ実験場であると同時に、ユーザーに向き合いサービスを育てる「本気のものづくり」の場でもあったのです。 * 技術選定の自由度が高い環境で挑戦したい
* 職種の枠を超えて、技術領域を広げたい
* 作ったものを改善し続ける「プロダクト志向」な開発がしたい

そんな「技術もプロダクトも好き」なエンジニアの方に、レバレジーズでの開発の雰囲気が少しでも伝われば嬉しいです!


プロジェクトの立ち上がりの背景

「気軽にアウトプットできる場が欲しいから、社内ブログを作りたいな」 プロジェクトが始まったきっかけは、室長からのシンプルな一言でした。

この言葉の裏には、プロジェクト始動のきっかけとなる課題意識がありました。

弊社には多くのエンジニアが在籍していますが、当時はナレッジ共有に「改善余地」があり、横断的に知見を活かせる場づくりが必要だと感じていたのです。

※ 記載している課題感は、当時の状況を踏まえたプロジェクトメンバー個人の視点であり、組織やプロセスそのものを否定するものではありません。

そこで、「それなら自分たちで作ろう」とテクノロジー戦略室内部で有志を募りました。 データエンジニア、TQC(品質管理)、SRE/プラットフォームエンジニア、AIエンジニアなど、多様な職種のメンバーが集結しました!

私たちは、以下の2つを大きな目的として掲げ、サイドプロジェクトを始動しました。

  1. 【課題解決】ナレッジ共有の活性化
    • 事業部を跨いで、エンジニア同士がより活発にナレッジを共有できる最適な場を提供する。
  2. 【技術者の成長】スキルアップと挑戦の機会
    • 開発を通じて自分たちのスキルアップを図り、モダンな技術の検証と実践的な挑戦の場として活用する。

こうしてプロジェクトは始まりましたが、メンバーは皆、本業の業務を抱えています。

忙しい中でモチベーションを維持し続けるには、「開発プロセスそのものを最高に楽しめるものにする」 必要がありました。

そこで私たちは、「技術は好きに遊ぶ」「でもプロダクトとしては本気で作る」 という2つのこだわりを大切にして開発を進めることにしました。


こだわり①:技術的な「実験場」として遊び尽くす

せっかく自分たちで作るなら、開発プロセスそのものを最高に楽しめるものにしたい。

そこで1つ目に大切にしたのが、ここを技術やキャリアの「実験場」にすることです。

1. モダンな技術を自由に選ぶ

普段の業務アプリケーション開発では、どうしても「安定稼働」が最優先されるため、最新技術の導入には慎重にならざるを得ません。
そこで、ぷれぽすでは、社内標準言語の TypeScript をベースにしつつ、それ以外は「今、使ってみたい技術」を自由に選びました。

実際に、「ぷれぽす」での検証を経て、いくつかの技術は本番のプロダクト開発でも採用されるようになりました。

今回はせっかくなので、ぷれぽすを支えるアーキテクチャと技術スタックを少しだけご紹介します! ※詳しい話は今回の趣旨から外れるため、おまけ程度にご紹介します。

AWSアーキテクチャ

ぷれぽす AWSアーキテクチャ

技術スタック

  • SPA構成
  • フロントエンド
    • React/Vite
    • shadcn/ui, tailwindcss
    • TanStack Router & Query
  • バックエンド
    • Hono
  • インフラ
    • K8s(EKS), Helm
    • Terraform
  • 監視ツール
    • Grafana
    • Prometheus, Grafana Tempo
    • OpenTelemetry 他

2. 職種の壁を越えた「やりたい」の尊重

また、技術選定だけでなく、誰が何を担当するかについても、あえて「得意領域」ではなく、メンバーが今チャレンジしたいことを最優先で決めています。 * データエンジニアやSREバックエンド実装を担当
* 普段k8sを触っているプラットフォームエンジニア が フロントエンド実装を担当

それぞれ専門領域を持ちながら、希望に応じて新領域に挑戦し、最初は不慣れな部分もありましたが、お互いにコードレビューし合い、知見を深めていきました。

その結果、今ではプラットフォームエンジニアがフロントエンドを、SREがバックエンドの実装を、それぞれ自走できるレベルまでスキルアップしています。


こだわり②:運用は「いちプロダクト」として本気で向き合う

2つ目に大切にしたのは、「本気でプロダクトを作る」 ということです。

技術は「遊び心」を持ちつつも、リリース後の運用や品質には「いちプロダクト」として本気で向き合っています。

どれだけ技術的に面白いものを作っても、ユーザー(社内エンジニア)に使ってもらえなければ意味がありません。

「作って満足」で終わらせないために、チームで以下のような活動を行っています。

  • 知恵を出し合う
    • 定期的にチームで集まり、「どうすれば投稿が増えるか?」「使い続けてもらうには?」を議論しています。
  • 自分たちで目標を立て、リリースする
    • 明確な目標を設定し、自分たちで新機能を企画・開発・デプロイしています。

ただコードを書くだけでなく、限られた時間の中で「使われるもの」を作る難しさと楽しさを味わえるのも、このプロジェクトの醍醐味です。


おわりに

社内の「ナレッジ共有不足」という課題に対し、有志が集まり、自分たちで技術を選び、楽しみながら解決していく。 レバレジーズには、技術的な挑戦による自律的な成長機会があり、プロダクト志向でものづくりができる環境があります!

そんな環境で一緒に働きたい方や、技術が好きでプロダクト志向がある方、ぜひ採用情報をご覧ください。


We are hiring!

この記事を読んで「レバレジーズ、面白そうだな」「自分もこんな環境で挑戦してみたい」と感じていただけたなら、ぜひ一度カジュアルにお話ししてみませんか?

私たちは、この記事で紹介したような課題に、オーナーシップを持って共に挑戦してくれる仲間を募集しています。 あなたからのご応募を、心からお待ちしています。

テックフェス2025 夏レポート

はじめに

こんにちは、レバレジーズ株式会社で普段はSREをしている斉藤です。
そして今回は、「テックフェス2025夏」運営委員長を務めさせていただきました。

本記事では、レバレジーズグループ全体のエンジニアが一堂に会した 「テックフェス 2025 夏」 の様子を紹介します。

今回のテックフェスでは、「AI × エンジニア」 を軸に、
御田稔(みのるん)氏によるAIをテーマにした基調講演、総勢80名が参加したAIハッカソン、AWS社をお招きして行われたAIエージェントのハンズオンなど、さまざまなコンテンツを実施しました。
この一日を通して、「AIをどう活かし、どう学び、どう仲間とつながるか」を全員で考える場となりました。

当日の雰囲気は動画でも紹介していますので、👇️からぜひご覧ください!

www.youtube.com

テックフェスとは

テックフェスは、レバレジーズグループに所属するエンジニアを対象に、半年に一度開催される社内最大級の技術イベントです。
エンジニアが新しい技術に興味を持ち、みんなで学び合うことを目的に、組織全体の技術力と交流を高める“社内の技術祭”として続いています。

このイベントの特徴は、事業部の垣根を超えて“有志のエンジニアたち”が自ら運営していること。
普段は異なる開発チームに所属するメンバーが横断的に集まり、テーマ設計から企画・広報・当日の運営までを自分たちの手で作り上げています。

2025年8月7日に開催された 「テックフェス2025 夏」 のテーマは、
「Leverages Singularity 〜仲間とつながり、AIとともに歩む未来〜」

このテーマを掲げた背景には、会社として掲げている“1兆円規模の企業を目指す”という大きな目標があります。
その未来を支えるエンジニア組織として、AIを軸に次の2つの側面から進化していく必要があると考えました。

① 既存サービスの成長加速
AIを活用することで、日々の開発生産性を大きく引き上げるだけでなく、サービス自体にAIを組み込むことで価値を何倍にも拡張できる。そうした未来が現実的になってきています。
その第一歩として、全エンジニアが“AIを使いこなす”きっかけを提供したいという思いがありました。

② 新規プロダクトの創出
これからのレバレジーズには、既存の延長線ではない新しい事業を自ら生み出す力が求められます。
AIの登場によって、アイデアを形にするまでのハードルは劇的に下がりました。
「自分でも作れるかもしれない」
「ちょっと試してみようかな」
そう思える文化を根づかせるためにも、AIをテーマにしたフェスを通して、全員が挑戦できる環境がすでにここにあることを伝えたい、という狙いがありました。

このような背景のもと、「AI × エンジニア」という共通テーマで、全員が同じスタートラインに立ち学べる1日をつくりました。

下記では今年のテックフェスのそれぞれのそれぞれのコンテンツの様子を書いていきます。

基調講演

今回は御田稔(みのるん)氏に「まだ間に合う!AIエージェントに入門して、LLM時代に生き残れるエンジニアになろう」という題名で、最新トレンドとAIエージェントの今後の展望についてお話ししていただきました。

登壇者紹介

御田稔(みのるん)氏

  • KDDIアジャイル開発センター株式会社 テックエバンジェリスト
  • 技術の楽しさを伝える活動を行いながら、クラウドやAI領域の内製開発・プリセールス・技術コンサルティングに従事しています。
  • AWS Community Hero、AWS Samurai、2025 Japan AWS Top Engineer & All Certs、Qiita 2024 Top Contributor認定
  • 著書:
    • 『Amazon Bedrock 生成AIアプリ開発入門(SBクリエイティブ)』
    • 『やさしいMCP入門(秀和システム)』
    • 『AIエージェント開発/運用入門(SBクリエイティブ)』

学び、感想

今回の基調講演は、まさに「AI × 人間の未来」を体感できる時間でした。
AIエージェントやMCPのような進化の激しいテーマを、AIの進化の流れやトレンドの変化とともに紹介いただき、AIの基礎から最前線までを一気に学べる貴重な2時間でした!

AIの理解が整理され、「実際に触ってみたい」に変わった瞬間
みのるんさんの解説によって、これまで断片的だった AIエージェントやMCPの仕組みが整理され、全体像として理解できた という声が多くありました。「点だった知識が線になった」というイメージに近いと思います。
また、ライブデモでは、Claude Codeを使ったAIコーディング実演を披露していただき、みのるんさんの普段の使い方や、AIコーディングツールを活用する際に意識しているポイントなど、目から鱗の情報が満載でした。
参加後のアンケートでも、「これなら自分も試せそう」「AIエージェントを触ってみたい」など、講演が行動につながったという声が多く寄せられています。

キャリアの話が心に刺さった
30歳を過ぎてからフルスタックに転身したというみのるんさんの言葉に、
「自分もまだ挑戦できる」「AIを家庭教師にして学んでみよう」と勇気をもらった人がたくさん。
特に「手を動かすことが一番の学び」というメッセージは、多くの参加者の原動力になったと思います。

運営として感じたこと
今回のテーマ「Leverages Singularity 〜仲間とつながり、AIとともに歩む未来〜」を、みのるんさんがまさに体現してくれました。
AIはエンジニアを置き換えるのではなく、可能性を拡張する存在。その希望を、会場中が共有できた時間でした。

みのるんさん、心動かされる講演をしてくださり、本当にありがとうございました!
参加者・運営ともに、忘れられない一日になりました。

AIハッカソン

概要

テックフェスで特に盛り上がったメイン企画が「AIハッカソン」です。
当日ランダムに組まれた3人1組のチームが、コードを書かずに自然言語だけでアプリケーションを開発させるバイブコーディング形式で実施しました。
審査については、予選を各ブロックの参加者同士がお互いに発表・評価をし、決勝は各ブロックの1位が全体に対して発表し、参加者全員に加えて決勝用の審査員が評価をする形式で行いました。審査員は、エンジニア職種以外の他部門の方々、基調講演のみのるんさん、AWSハンズオンでいらっしゃったAWS社員の方々にご参加いただきました。

この企画の根底には「自分の考えを、AIの力を使ってすぐに形にできる」という感動を参加者に体験してもらいたいという思いがありました。この企画を単なるおもしろアプリ開発大会で終わらせないために、運営チームで様々な角度で議論を重ねました。運営チームが拘った2つのポイントを紹介します。

評価軸について

どのような観点で、誰が評価するべきか?という点で
当初は「完成度(見た目)」と「アプリの面白さ」の2軸で詰めていたのですが、ウケ狙いを求めたおもしろアプリを作る大会になり得るのが懸念でした。一方、「社会へのインパクト」「マネタイズ」「市場規模」などのビジネス観点を求めてしまうと、参加するエンジニアが評価を適切にできないのが課題でした。
あくまでも社内イベントで事業ハッカソンではないため、今回は「あたなはその事業に参加したいか?」という主観的な熱量をもたせた評価軸を設けることにしました。

環境の整備

当初は、既に業務で利用されているGeminiやCopilotで十分だろう、という声が多数ありました。しかし運営メンバーがBolt.newやReplitといった最新のAIツールを実際に使ったところ、アウトプットのクオリティにかなり感動しました。この感動をぜひ参加者全員にも体験してほしい!という強い思いから、情シス部門と交渉し、Bolt.newやReplitを利用できる環境を用意しました。

当日の様子

予選から、どのチームも想像を超えるクオリティのアプリケーションを生み出してました。予選を勝ち抜いた4チームによる決勝戦は、M-1グランプリ方式のプレゼンバトルに加え、審査員からの鋭い質問との攻防戦も相まってかなり大盛り上がり!優勝はなんと「ヒエログリフ教育アプリ」でした笑。
また終了後のアンケートでは、満足度96%を記録。「楽しかった」「Replitが凄かった」等嬉しい声を多数いただきました。

AWSハンズオン

今回は、AWS社のソリューションアーキテクト(SA)の方を講師にお招きし、「AIエージェントシステムの開発からAWSデプロイまでを体験できる実践ワークショップ」を開催しました。
AIエージェントの仕組みを学ぶだけでなく、実際に手を動かして開発からAWSへのデプロイまでを一貫して体験していただきました。
参加してくださった方々から「AIエージェントに触れる良いきっかけとなった」「理解が深まった」というご意見をいただき、大変嬉しく思います☺️

ご登壇いただいたAWS社のソリューションアーキテクトの方、そしてご参加してくださった皆様、本当にありがとうございました!!

セッション・LT

セッションには、8名の方に登壇していただきました。
発表者の皆さん、ありがとうございました。

  • AIエージェント開発組織を構築してみた(レバレジーズ システム人事戦略室 田中瑚大さん)
  • 開発した/開発中製品をGo To Marketするために生成AIをフル活用してみた(レバレジーズ NALYSYS開発部 瀬上真宏さん)
  • 失敗から学ぶAI駆動開発:ハッカソンで直面した課題と打開策(レバレジーズ テクノロジー戦略室 苑田朝彰さん)
  • コンサルティングサービスの仮想化を通じたAI時代における新しいBPR方法論(レバテック クオリティアシュアランス事業部 篠塚亮彦さん)
  • Devinとは何だったのか(レバレジーズ NALYSYS開発部 桐生直輝さん)
  • AIで成長を加速させる ─ Obsidian in Cursor 活用(レバレジーズ ソリューション開発部 斎木克馬さん)
  • AITuberの構築に伴うコンテキスト管理と記憶要約戦略(レバレジーズ テクノロジー戦略室 原田将貴さん)
  • 「感謝」を「コード」で紡ぐ:LevLetter開発秘話とAI時代のキャリア(レバレジーズ メディアシステム部 阿部倉怜さん)

懇親会

テックフェス終了後には、懇親会も開催。事業部の垣根を越えた交流が生まれていました。
ここでも「仲間とつながる」というテーマのとおり、普段なかなか交流のない事業部同士のエンジニアたちが垣根を越えて盛り上がる時間になりました。

会場では、フェスで登壇・体験した内容をもとにしたテックフェスクイズ大会を実施。学びを振り返りながら、自然と会話と笑顔が生まれていました。

さらに、テーブルにはピザ、寿司、お酒など豪華な食事も用意され、「技術×食×人」の三拍子がそろった最高の締めくくりとなりました。
最後まで“お祭り”らしい熱量と笑顔に包まれた夜でした。

最後に

今回のテックフェス2025夏は、「Leverages Singularity 〜仲間とつながり、AIとともに歩む未来〜」というテーマのもと、AIを軸に“学び・挑戦・つながり”が交差する特別な1日となりました。
参加者の全体満足度 8.4 / 10、AI活用への期待値 7.9 / 10 と、過去最高の評価をいただきました。
基調講演・AIハッカソン・ハンズオン・LT・懇親会のすべてが連動し、「AIが人の創造力を拡張する瞬間」をみんなで体感できたことが、今回最大の成果です。

運営委員長として迎えた初のテックフェス。
250名近くが参加する大規模イベントということもあり、正直、準備段階からずっと緊張していました。
それでも、当日あの熱気と笑顔に包まれた瞬間、「やってよかった」と心から思えました!
何より、このテックフェスを支えてくれた13名の運営メンバーに心から感謝しています。
それぞれが本業の合間を縫いながら、企画・広報・司会・映像・装飾・運営と全力で取り組んでくれました。
そして、当日の様子を撮影・編集を担当してくださった採用広報チームの清水さん。
フェスの熱量をそのまま映像に残してくださり、本当にありがとうございました!(動画はこちら )
みんなの笑顔と熱意があったからこそ、このテックフェスは成功しました。
AIの時代になっても、“人と人がつながる力”こそが最大のエンジニアリングだと思います。

最後までお読みいただきありがとうございます!
それでは、次回のテックフェスでまたお会いしましょう!

レバレジーズでは、社内で技術ノウハウの共有を行うイベントはもちろん、外部から著名な方をお呼びして貴重なお話を聞く機会を積極的に設けております。
レバレジーズに少しでも興味を持っていただけた方は、こちらからエントリーをお願いします。

会社説明資料

エンジニア職採用|レバレジーズ株式会社

P.S.

今回のテックフェス、朝から会場がいい香りに包まれていたのをご存じでしょうか?
実は社内エンジニア有志の「コーヒー事業部」がコーヒーを提供してくれてました!
コードも書けて、豆も挽ける。そんな“フルスタックな男たち”の奮闘記はこちら

過去のテックフェスレポート

エンジニア歴 2 年目の私が、SaaS のデザインシステムを導入した話

こんにちは、レバレジーズの HR テック事業部でフロントエンドエンジニアをしている縄巻です。

  • 「日々の実装タスクをこなすだけじゃ、なんだか物足りない…」
  • 「もっとプロダクトの根幹に関わるような、インパクトの大きな仕事がしたい!」

エンジニアとして少しずつ経験を積んできた今、そんな風に感じている方はいませんか?

この記事では、実務経験 2 年未満だった私が、チームをまたがる大きな課題であったデザインシステムの導入に、オーナーシップを持って挑戦した経験をお話しします。

この記事を読めば、若手であっても自ら課題を発見し、最新技術を駆使しながら事業を前に進めていける、レバレジーズの挑戦的な文化を感じていただけるはずです。

そもそもデザインシステムとは?

本題に入る前に、少しだけ「デザインシステム」という言葉について説明させてください。

デザインシステムとは、単なる UI コンポーネントのライブラリではありません。それは、一貫したユーザー体験を効率的に提供するための「仕組み」そのものを指します。具体的には、再利用可能な UI コンポーネント、デザインの原則やガイドライン、そしてそれらを運用するためのルールやツール群を体系的にまとめたものです。

デザイナーとエンジニアが共通の言語と思想を持つことで、プロダクト全体の品質と開発速度を飛躍的に向上させることを目的としています。

課題:オーナー不在のデザインシステム

私が所属する SaaS プロダクトには、もともと「共通コンポーネント」として管理されている npm パッケージが存在しました。 しかし、専任のメンテナーはおらず、各開発者が必要に応じてコンポーネントを“継ぎ足し”していく運用が続き、体系的な管理がなされていない状態でした。

その結果、開発現場では、次のような数々の問題が起きていました。

  • Figma と実装の乖離:Figma にはないのに、React コンポーネントだけが存在する。
  • 命名の不統一:Figma と React でコンポーネント名が異なり、探すだけで一苦労。
  • 巨大モノリスパッケージ:たった一つのコンポーネントを更新したいだけなのに、パッケージ全体への影響調査が必要になる高い更新コスト。
  • ドキュメントとテストの不足:誰も正確な仕様を把握できない、ドキュメントもテストもないコンポーネントたち。
  • 過剰な依存関係:特定のライブラリに依存し、他の場所で再利用できないコンポーネント。
  • アクセシビリティの欠如:キーボードで操作できない、スクリーンリーダーで読み上げられないなど、アクセシビリティへの配慮不足。

これらの課題は、多くのメンバーが「問題だよね」と認識しつつも、日々のサービス開発が優先され、誰も根本的な改善に着手できずにいました。

「誰かがやる」から「自分がやる」へ

こうした状況に、私は強い危機感を覚えていました。

最初は、個人として既存コンポーネントのメンテナンスや機能追加といったコントリビュートを始めました。しかし、プロダクトが急成長する中で、一個人の部分的な改善では到底追いつかないことはすぐに明らかになりました。

そこで私は、上長との 1on1 でこの問題の大変さと、抜本的な改善の必要性について話しました。そして、「誰かがやってくれるのを待つのではなく、自分が主体となってこの状況を解決したい」と伝え、この課題のオーナーになることを志願しました。

幸いにも、同時期にジョインしたデザイナーも既存の Figma 運用に強い課題意識を持っていました。こうして、エンジニアリングとデザインの両側面からアプローチする「デザインシステム刷新プロジェクト」が、ついに本格始動しました。

そして、このプロジェクトの担当エンジニアは、私一人。もちろん不安はありましたが、それ以上に「この状況を自分の手で変えられるんだ」というワクワク感の方が大きかったのを覚えています。

実行:若手の裁量で進めた課題解決

山積する課題を解決するため、技術選定はゼロベースで、その意思決定はすべて私に一任されていました。

若手の提案だからと色眼鏡で見られることは一切なく、ロジックと熱意さえあれば挑戦させてもらえる。そんな文化が、このプロジェクトを前に進める大きな力になりました。

ここでは、導入した主要な技術や、開発を加速させた AI ツールの活用法について解説します。

1. 開発体験の向上を目指した基盤整備とコンポーネント再開発

まず、デザイナーとエンジニア間の連携をスムーズにするため、Figma コンポーネントの再設計と命名規則の統一を行い、React コンポーネントもより使いやすい形に再定義しました。これにより、デザインと実装の間の認識齟齬をなくし、コミュニケーションコストを削減しました。

幸いなことに、レバレジーズにはレバテックの「VoLT」というデザインシステムをリードしたデザイナーが在籍しており、その知見を惜しみなく共有してもらえました。

参考:レバテックのデザインシステム「VoLT」

裁量を持って挑戦できるだけでなく、こういった組織の横の繋がりからノウハウを吸収できるのも、大きく成長している会社ならではの魅力だと思います。

2. 独立したパッケージとして管理

巨大な単一パッケージが引き起こしていた更新コストの問題を解決するため、モノレポ構成への移行を決定しました。

Nx なども候補に上がりましたが、私たちのチーム規模や設定の学習コストを考慮した結果、ビルドキャッシュによる高速な CI/CD とシンプルな設定が魅力のTurborepoを選択しました。また、pnpmを組み合わせることで、ディスク容量を効率的に利用しつつ、厳密な依存関係管理を実現しています。

これにより、各コンポーネントを独立したパッケージとして管理し、サービスごとに必要なコンポーネントだけを選択的に更新できる、柔軟な運用体制を構築しました。

3. Radix UI でアクセシビリティを当たり前に

コンポーネントの品質、特にアクセシビリティを担保するために、ヘッドレス UI ライブラリであるRadix UIを採用しました。

MUI や Chakra UI のようなスタイル付きのコンポーネントライブラリも検討しましたが、プロダクト独自の厳密なデザイントークンを適用する必要があったため、スタイリングの自由度が低い点は懸念でした。

Radix UI は、スタイルを持たず、WAI-ARIA に準拠した高品質な振る舞いのみを提供してくれます。 これにより、デザインの制約を受けることなく、アクセシビリティを当たり前の品質として確保することができました。

4. Storybook によるドキュメント管理

ドキュメント不足を解消し、コンポーネントの利用を促進するためにStorybookを導入しました。

コンポーネントのカタログツールは他にも存在しますが、業界のデファクトスタンダードであり、アドオンによる拡張性が非常に高い点を評価し採用しました。

特にテストとの連携は強力です。Storybook のplay関数を使って定義したインタラクションテストを、vitestがテストファイルとして実行する仕組みを導入しました。これにより、Playwright 経由で実際のブラウザを起動してコンポーネントの操作をテストできるため、より信頼性の高い品質保証体制を構築できています。

また、各コンポーネントの Props、使用例、インタラクティブなデモを Storybook 上で一元管理することで、誰もがコンポーネントの仕様を容易に理解できる仕様書として機能させています。

5. AI は、本質的な仕事に集中するための“相棒”

担当エンジニアは私一人。これらの施策を、通常のサービス開発と並行して進める上で、AI コーディングツール(Cursor, Claude Code など)の活用は、もはや“選択肢”ではなく“必需品”でした。

これは、単に流行りの技術を使いたかったからではありません。たった一人のリソースで、最速で価値を届けるための、極めて合理的な戦略でした。

コンポーネントの雛形作成、Storybook のドキュメント生成、リファクタリング、単体テストの実装……。もしこれら全てを手作業でやっていたら、半年で今の状態に到達することは不可能だったでしょう。

定型的な作業を AI という“相棒”に任せることで、私はより本質的なコンポーネントの設計や、デザイナーとのコミュニケーションに集中できました。

成果:個人の挑戦がもたらしたチームへの好影響

デザインシステムの構築から約半年、その効果を測定するために、利用しているエンジニアを対象としたアンケートを実施しました。

開発体験の向上を裏付けるデータ

アンケートでは、デザインシステムの貢献度について 5 段階評価で回答してもらいました。

  • UI 実装速度の向上:4.05 点
  • UI の一貫性担保:4.27 点
  • 総合的な貢献度:4.27 点

特に、UI の一貫性担保や総合的な貢献度で高い評価を得られたことは、このプロジェクトの目的を達成できた証だと感じています。 さらに、これらの改善活動により、フロントエンド全体の UI 実装速度が 30% 向上したこともデータで確認できました。

開発現場からのリアルな声

定性的なフィードバックとして、開発者からは以下のような嬉しいコメントが寄せられています。

「Figma のコンポーネント名と実装名が一致しているので、迷わず実装できるようになった」 「Storybook を見れば使い方が一目でわかるので、コミュニケーションコストが大幅に削減された」 「これまで各サービスで独自実装していた UI が共通化され、無駄な実装がなくなった」

エンジニア歴 2 年目の私の活動が、実際に事業やチームの開発体験にこれだけポジティブな影響を与えられたという事実は、私にとって大きな自信になりました。

今後の展望:AI で開発生産性をさらに高める

デザインシステムは作って終わりではありません。むしろ、ここからが本当のスタート。このデザインシステムを、事業の成長をさらに加速させる強力な武器へと育てていくために、短期・長期でこんな野望を抱いています。

短期的な目標:コンポーネントの拡充と適用範囲の拡大

まずは、デザインシステムがカバーする UI パターンを増やし、より多くの開発シーンでその価値を発揮できるようにすることに注力します。

  • コンポーネントの拡充:現在の基盤に加え、より複雑で多くのサービスで必要とされるコンポーネントを拡充していきます。デザイナーと協力して汎用的な仕様を定義し、開発を進めることで、各サービスでの車輪の再発明をなくします。
  • 適用範囲の拡大:構築したデザインシステムを、プロダクト内のさらに多くのサービスに展開していきます。そのために、既存 UI からの移行ガイドを整備したり、導入を検討しているチーム向けの勉強会を開催したりと、導入をスムーズにする活動に力を入れていきたいです。

これらの活動を通じて、デザインシステムをプロダクト開発に不可欠な存在へと成長させていきます。

長期的な夢:AI とデザインシステムを融合させ、仮説検証の速度を極限まで高める

そして長期的には、AI の力を最大限に活用し、「デザインと実装の境界線を溶かす」ことに挑戦したいと考えています。

皆さんも、Figma のデザインを実装に落とし込む際の、ちょっとしたズレや手戻りに悩まされた経験はありませんか?私たちは、その根本的な課題を解決したいのです。

目指すのは、例えばこんな世界です。

  • デザイナーが Figma でワイヤーフレームを描き、「ここのボタンは、ユーザー登録を促すためのものです」といった意図を AI に伝える
  • AI がその意図を解釈し、デザインシステムに定義されたコンポーネントの中から最適なものを提案。さらに、A/B テストのための複数のデザインパターンを自動で生成してくれる
  • プロダクトマネージャーやデザイナーは、生成された実際に動くプロトタイプを使って、エンジニアが一行もコードを書く前にユーザーテストを実施する

この仕組みが実現すれば、アイデアの仮説検証サイクルは、数週間から数時間へと劇的に短縮されるでしょう。エンジニアは「Figma を再現する」作業から解放され、より複雑なロジックの実装やアーキテクチャ設計といった、本質的な課題解決に集中できます。

「自ら課題を見つけ、最新技術を駆使して事業を前に進めていける」—そんなレバレジーズの文化を体現するような、未来の開発生産性を創り出すのが、私の野望です。

まとめ:私がレバレジーズで働く理由

ここまで、エンジニア歴 2 年目の私がデザインシステムという大きな課題に挑戦できた話をしてきました。

なぜ、このような挑戦ができたのか。それは、レバレジーズに根付く「オーナーシップを尊重する文化」と「挑戦を推奨する風土」があったからだと思います。

大きな課題に対して、たとえ担当者が一人であっても、「やりたいです!」と手を挙げれば、年次に関係なく「まず、やってみなよ」と背中を押してくれる。たとえ実力不足な面があっても、周りの先輩たちがサポートしてくれます。そして、その挑戦を「いいね!」と称賛してくれる仲間がいます。

また、Cursor や Claude Code といった最新の AI ツールをいち早く全社に導入するなど、世の中の新しい流れを柔軟に取り入れ、開発体験や品質について妥協せず考え抜く文化も、私にとって大きな魅力です。「現状維持」ではなく、常により良いプロダクト、より良い組織を目指して本気で議論できる環境が、ここにはあると思います。

もし、この記事を読んでいるあなたが、

  • 「言われたものを作るだけじゃ物足りない」
  • 「もっと主体的に、事業にインパクトを与えるような開発がしたい」
  • 「自分の仕事に責任と誇りを持ち、最高のプロダクトを追求したい」

そう感じているなら、レバレジーズは最高の環境かもしれません。

私たちと一緒に、未来の開発生産性を創りませんか?

最後までお読みいただき、ありがとうございました!

We are hiring!

この記事を読んで「レバレジーズ、面白そうだな」「自分もこんな環境で挑戦してみたい」と感じていただけたなら、ぜひ一度カジュアルにお話ししてみませんか?

私たちは、この記事で紹介したような課題に、オーナーシップを持って共に挑戦してくれる仲間を募集しています。

あなたからのご応募を、心からお待ちしています。


■会社説明資料

speakerdeck.com

■採用情報はこちら(HRMOS)

hrmos.co

■まずはカジュアル面談から

hrmos.co

■開発部の雰囲気がもっとわかる動画はこちら!

Tech Leverages 技術活動レポート 25年2Q期号

2025年7,8,9月中に、レバレジーズが関わった技術イベントのご紹介です。 自社イベント開催や、イベント登壇など多様な関わり方で、合計9件のイベントに参加しました!

※OctoNihon登壇の様子

主催・共催技術イベント

未来を拓くAI技術〜エージェント開発とAI駆動開発〜

7/8に、オンラインにて、AI駆動開発について実際の運用のノウハウも交えながら、現役エンジニアがこれらの技術の基礎から実践的な内容を解説するイベントを開催しました。 (イベント詳細はこちらから)

Agile Effect MeetUp #3 アジャイル実践者の“言えなかったこと”を話す夜

7/10に、開発組織の拠点であるポーラ渋谷ビルにて、アジャイル開発に関心のある方を対象とした、オフラインの対話&交流イベントを開催しました。 (イベント詳細はこちらから)

AI・LLM活用による事業ドライブの実践

7/16に、Sansan株式会社の本社であるサクラステージにて、レバレジーズ、Sansan、Macbee Planetの三社共同主催で、AIを事業に適合させる実践的なプラクティスを共有するLTイベントを開催しました。(イベント詳細はこちらから)

Devin/Cursor/Cline全社導入 セキュリティリスクにどう対策した?

7/23に、オンラインにて、AIコーディングエージェントをスピーディーに全社導入した、DMM .com、エムスリー、freee 3社の実践事例をもとに、具体的なセキュリティ対策とその導入プロセスを語るイベントを開催しました。 (イベント詳細はこちらから)

【Product × AI Night】AI時代のつくりかたを語ろう

8/28に、開発組織の拠点であるポーラ渋谷ビルにて、レバレジーズ、Anotherworksの二社共同主催で、開発とプロダクトの二観点でのAI利用を語るLTイベントを開催しました。 (イベント詳細はこちらから)

AIが変えるアジャイル、変えられないアジャイル〈MeetUp#4〉

9/4に、開発組織の拠点であるポーラ渋谷ビルにて、「AIが現場にもたらした変化」と「AIでは変えられないアジャイルの本質」について語るイベントを開催しました。 (イベント詳細はこちらから)

イベント登壇

未来を拓くAI技術〜エージェント開発とAI駆動開発〜

テクノロジー戦略室の安藤が、未来を拓くAI技術〜エージェント開発とAI駆動開発〜 に登壇しました。 (イベント詳細はこちらから)

https://speakerdeck.com/leveragestech/wei-lai-wotuo-kuaiji-shu-ezientokai-fa-toaiqu-dong-kai-fa

OctoNihon

テクノロジー戦略室の竹下が、OctoNihonに登壇しました。 (イベント詳細はこちらから)

https://speakerdeck.com/leveragestech/speckitdedokomadedekiru-kosutohadorekurai

会場スポンサー

CTO協会スナック理事

“CTO協会スナック理事”イベントに、会場の提供をしました。 (イベント詳細はこちらから)

React Tokyo ミートアップ #9

“React Tokyo ミートアップ #9”イベントに、イベントスポンサーとして会場の提供をしました。 (イベント詳細はこちらから)

We are hiring!

レバレジーズ株式会社では一緒にサービスを開発してくれる仲間を募集中です。 もしご興味を持っていただけたなら、以下のサイトからご応募ください。

HRMOS求人ページ

会社説明資料

「新卒から圧倒的成長ができる」のはナゼ?入社〜半年のリアルな証言!

1. はじめに:「新卒からでも圧倒的に成長・活躍できる」と謳うレバレジーズ。これはナゼなのか?

「圧倒的成長・早期活躍」を軸に就活していた私 “スガノ” は、レバレジーズに新卒入社し、2025年9月現在、半年が経ちました。そんな私だから語れる、「新卒からでも圧倒的に成長・活躍できる」のはナゼなのかを、2025年新卒入社〜半年実際にした体験をベースに、結論→根拠となる2つの事実、という順序で証言します。
レバレジーズで叶う「圧倒的成長環境」とは?どんな「活躍」ができるのか? このブログにて、その真相をぜひ、あなたの目で確かめていただきたいです。

2. 結論:”新卒研修中”でも仕事を”創れる”!

成長・活躍ができると言える根拠は、以下の2点です。

1. 入社4ヶ月で、かつ研修中にも関わらず、熱意と挙手によって仕事を創れたので、成長の初速が大きい
2. その打席で、役員陣や活躍する優秀先輩社員との交流ができ、更なる成長・活躍の土台が形成された。

それを証明する2つの事例を、これから具体的にお見せします。

3.1. 事例1:新規事業開発コンテストに参加し、圧倒的行動量を発揮できた!

7月某日の朝、私はあるマネジャーから次のことを言われました。

「昨日、僕らは岩槻さん(レバレジーズ代表取締役)に、僕らのチームの事業案を壁打ちしたね。そこで頂いたフィードバックを元に、本部長と精査しながら〇〇と△△(商社や物流等、超大手複数社)にヒアリングしようか。スガノ君はアプリ開発も、◻︎◻︎部長と連携頼んだ!試算も含め任せたよ!」

研修中の新卒が、入社4ヶ月目でする会話にしてはかなり濃厚ですが、事実です。 では、この前にどのような経緯があったのか。時間を巻き戻してみましょう。

時は4月。入社直後の新卒全体研修の最中、運営側から以下のアナウンスがありました。 「近々、LEGOの参加申し込みが開始されます!熱意のある人は、ぜひ応募してくださいね!」 それを聞いて私は、「なぜここでデンマークのおもちゃの話題になるんだ?」と訝しみました。が、よくよく聞いたら、LEGOとは

  • レバレジーズ社内で行う、新規事業開発コンテストの名称
  • 優秀な社員が集い、5人チームを組んで、2泊3日で社長や役員等と合宿する催し

とのことでした。...これは応募するしかない!「圧倒的成長と早期活躍」を軸にしていた私は、溢れる熱意を応募フォームに書き綴り、参加を祈りました (LEGO詳細は、以下をご覧ください)。
www.youtube.com

無事選考を突破し、約3ヶ月、新卒研修と並行して、優秀な方々と共にアツい「活躍・成長・学び」の日々を過ごしました。私が行った「活躍」ついて、実例を3つ取り上げます。

①圧倒的量の案をアウトプット

事業案の業界を定めた後、チームメンバー間で事業案を出すフェーズがありました。他の方が0~2案を出す中、私は40を超える事業案をアウトプットしました。実際に、その中から良いものを追加調査するなど、その後のチームに大きな好影響をもたらすことができました。

②普段やらない体験で、生の声と先端技術の知見を回収

例えば、自らの意思で地元のボランティアをしたり、朝4時に起床して某市場を視察したり、関連する書籍を10冊ほど購入して読み漁ったりしました。某市場の視察時は、その場の資料や展示物を眺めるだけではなく、サポート窓口係の方や外国人観光客、清掃や交通整理をする方々にも個別に話しかけ、徹底してリアルな声を得ました。これを、何の活動・目的もなしに突然しようとする人は少ないでしょう。この行動を生んだ熱源は、LEGOなのです。

③モックをvibe coading!

昨今、動くプロダクトによって、関係者間でイメージを具体的に共有するのは当たり前になっています。開発職がチームで私のみだったので、このプロダクト作成を一手に任されました。
AI OCRを使って多様な見た目の書類のPDFを読み込み、グラフや文章を生成するネイティブアプリを作ったり、それを社員別に管理するため、組織図と対応させたwebアプリを作ったり...。
開発職の私だからこその介在価値を発揮しました。

こうした能動的な活動から、オリジナルの価値提供を重ねていけました。 また、成長・学びについては、例えば以下があります。

  • 経営企画本部長から事業立案に関する講義を限定受講
  • 他職種の解像度が爆上がりし、活躍する人の仕事を文字通り真隣で体感
  • 役員の方々や活躍社員と、オン/オフで議論や交流ができ、ビジネスへの熱意と理解が段違いにレベルアップ
  • 何より、滅多にできない新規事業立案を、3ヶ月かけて実学的に学んで実践

このLEGOを通じて、何段階もビジネスパーソンとして磨き上げられたと胸を張って言えます。 この参加を経て、私と面識がない方からも
「LEGOに参加してるの?研修と並行して頑張ってるね!」と褒めてもらえたり、
「あ、LEGOに参加してた子でしょ、社内報とかYoutubeで見たよ!
と声を掛けてもらえたりしました。 これはまさしく「活躍」であり、「圧倒的成長」だと言えると思います。

LEGOには、結果で選ばれた優秀な先輩社員も当然いますし、ポテンシャル選抜もしてくれるおかげで私は打席に立てました。本当に感謝しかないですし、手を挙げて大正解だったと思います。

おまけに、声をかけてくださった方々や一緒にLEGOに参加した有志、役員陣全員に触れ、感じたことがあります。それは、私がレバレジーズへの入社を決めた大きな理由の一つである「一緒に働きたいと思える”良い人”(熱量、スキル、他者への感情貢献力が高い優秀な人)」が多いという面です。改めて、レバレジーズは期待値を超えてくるなぁ、と実感した次第です。

3.2. 事例2:入社4ヶ月目で、プロジェクトマネジャー(PM)になり、全社的プロジェクトを任された!

7月上旬。新卒研修を行っていた私は、エンジニア組織の本部長から次のことを言われました。

「例のプロジェクトについてだけど、PMになりたい?他の選択肢は、メンバーとして引き続き参画するか、他の人に完全に渡すか、とかだけど。」
(このプロジェクトとは、社内ネットワークを最適化させるプロジェクトの一環で、エンジニア組織の内外の部署や、外部の複数企業とも連携する、全社的なものでした。)

これらも新卒研修やLEGOと並行ですが、当然、回答は当然一択ですよね。
「もちろんPMやります。私でよろしければ、ぜひ任命お願いします!」
この事実についても、「他との比較」と「具体的学び」の2点で深掘ってみます。

まず比較として、一般的に大手企業でマネジャー職は入社5~10年目、ベンチャー企業でも3~4年目とかでも珍しくないです。
しかしこれらと比べ、レバレジーズで私はたった4ヶ月でPM職を創り出せました。正直、「自分次第で早期から活躍・成長できる」と聞いて入社はしたものの、ここまでの環境とは予想していませんでした。LEGOの時と同様、新卒研修中にも関わらず、熱意と挙手でここまで行えたこと、これら成長の早さと大きさには感動と感謝しかないです。このPM経験は「圧倒的成長・早期の活躍」の機会そのものでした。

学びに関しては、マネジャーのやり方を「知る」のと「実行する」のは雲泥の差だと、実務レベルで学ぶことができました。もちろん、コンピュータサイエンス的なハードスキルのノウハウはとても勉強になりましたが、同時に大きかったのがソフトスキル面の学びです。順に具体を示します。

ハードスキル

例えば「netstat | grep tcp4 | wc -l」というコマンドの存在と、それでどんな情報が入手でき、その情報が何に使えるかを説明できるようになりました。これによって、NAT(NAPT)やセッション数、webアプリへの理解がより深まりました。

ソフトスキル

幅広い学びとして、対人折衝(期待値調整)力、ピープル・タスクマネジメント、リーダーシップやイニシアチブ、巻き込み力などがありました。以前から私は書籍や、学生時代・研修等でのリーダー経験から、ノウハウは持っていたのですが、会社組織でのPMはそれらとは全く異なりました。
例えば、連絡手段や頻度は何が最適で、タスクはどの粒度に分解して誰に割り振るのか、どう割り振るのか(解決策を探るhow的思考だけでなく、そもそも解くべき問を立てるwhy的思考は重要で、ハードルも高い!)、頭で考えるだけなら難しくないとは思います。
しかし、同じ脳みそを共有しているわけではなく、初対面で年齢・スキル・価値観、抱えている仕事もバラバラなメンバーらと協働し、タスクを理想的に実行していくのは、想像以上に難儀しました。
ここでの学びは、学生時代やインターンのそれとはレベルが異なり、大変貴重で実践性に溢れていました。

このPM経験によって、活躍する先輩らからも
「もうPMやってるの?まだ半年すら経ってないよね?早いね!」と認められたり、
外部勉強会でお会いした、外部のITベンチャー企業の方からも
「君と話してて、本当に新卒とは思えないよ。え〜、うちに来ない?(笑)」と半ば冗談を言われたりしています(笑)。
ここでの多種多様な経験が、今後の更なる「活躍」の土台となると確信していますし、そのために一層努力する所存です!

4. さいごに

客観的事実から見ても「自分次第で仕事は創れるし、圧倒的に成長・活躍できる!」と言えると思います。もしあなたが、学びや成長、活躍を軸にしているなら、レバレジーズという会社はその期待に応えるどころか超えてくる企業の一つだと言えます。これは上記を経験した私が、自信を持って保証します!

ここに”環境”は揃っています。どう輝くかはあなた次第。「成長したい!」「活躍したい!」と熱く燃える心をお持ちなら、後述のリンクの参照や、弊社社員とのカジュアル面談、または選考の次のステップへ向かうことをおすすめします。噂レベルではない、本当にレバレジーズで働く人から生まれるモノは熱く、面白いと思いますよ?

このブログが、あなたの企業選び、そして未来への一歩のきっかけになれば、筆者冥利に尽きます。最後までお読みいただき、誠にありがとうございました。

新卒エンジニアの1ヶ月目について知りたい!➡︎レバレジーズの新卒エンジニアって何するの?そんな君に伝えたい、1ヶ月目のリアル。 tech.leverages.jp

開発部全体をもっと知りたい!➡︎ 【密着】レバレジーズで活躍する26歳中途エンジニアの1日
www.youtube.com
会社説明資料:
https://speakerdeck.com/leverages/leverages-hui-she-shao-jie-zi-liao-zhong-tu-cai-yong-xiang-ke
HRMOS求人ページ:
https://hrmos.co/pages/leverages/jobs?jobType=FULL&category=1819634044861276161

なぜレバレジーズのエンジニアはコーヒーを淹れるのか?テックイベントで200杯提供した「珈琲事業部」に見る企業文化

読む前に

この記事に出てくる「珈琲事業部」というのはNALYSYS開発部というシステム本部内開発部の有志による取り組みのことです。実際の事業部ではありません。
万が一珈琲事業部に入りたくてレバレジーズを志望される場合は、システム開発部のエンジニアとしてご応募ください。

はじめに

こんにちは。レバレジーズでHRTech系SaaS NALYSYSの開発チーム、NALYSYS開発部でEMをやっております、下畑と申します。
私個人の珈琲入れてみたいなという気持ちから始まったNALYSYS開発部珈琲事業部という取り組みが、全社のテックイベントにて珈琲スポンサーとしてエンジニアたちに珈琲を振る舞うまでに至った経緯を書いてみました。

レバレジーズの雰囲気や楽しさ、珈琲事業部に対する取り組みへの真剣さが伝わる記事になっておりますので、ぜひ読んでみてください。

読むとわかること

  • レバレジーズシステム本部に入ると美味しい珈琲が飲める
  • レバレジーズシステム本部に入るとさまざまな味の珈琲が飲めて珈琲の魅力に気付ける
  • 会社の人たちに珈琲を淹れると普段エンジニアが得にくい喜びが得られる
  • やりたいことを損得なしに一緒に楽しんでくれる人や応援してくれる人が社内にいること
  • 珈琲事業部の本気度
  • レバレジーズシステム本部の雰囲気

ことの発端

名古屋に住んでいる私の友人からGolpie Coffeeという珈琲ロースターの存在を教えてもらいました。ここの豆を納得いく美味しさで淹れるのに半年かかった、という面白い話も同時に教えてもらったので自分もチャレンジしてみたくなりました。

ただ、珈琲を淹れるための器具を調べてみると、そこそこお金をかけないといけない気がしてきて、始めることを躊躇しておりました。

そんなことを考えていたおり、チームメンバーにも珈琲好きがいることが判明。
自分のためだけに器具を揃えるのではなく、彼らが道具を使って会社で珈琲を淹れてくれるのであればいい投資になるなと思い、購入を決意しました。

Go!珈琲事業部!

どうやって淹れるの?

LIGHTUP COFFEEというお店が三鷹にあります。ここではハンドドリップ講習をやっているので、まずは自分がノウハウを収集するために赴きました。
ここでの体験はとても面白かったです。講師が教えてくれたレシピをもとに生徒が珈琲を淹れるのですが、生徒が淹れた珈琲の味がそれぞれ全然違うことに驚きました。
先生が淹れてくれた珈琲は酸味や甘味などのバランスがちょうどよくカドがない珈琲だったのですが、生徒が淹れたものは酸味が強調されていたり、苦味が強調されていたりと、これはがんばり甲斐がある趣味だなと思いました。

淹れてみよう

講習で教えていただいたレシピと珈琲器具とGolpie Coffeeの豆を引っ提げて出社しました。Golpie Coffeeの豆はちょっと高いものでしたので、各フロアにある全自動コーヒーマシンに入っている豆を拝借し、淹れる練習から始めました。

マシンでいれるより美味しく淹れられて嬉しかったのを覚えています。

いい豆夢気分

Golpie Coffeeの豆を3種類購入しました。
どれも中煎り(通常のお店の浅煎り)のものでしたが、1つとても妖艶な香りのする豆がありました。珈琲の実から豆を取り出す精製という工程がありますが、ダブルアナエロビックという方法で精製されたこの豆は、珈琲とは思えないほどのフルーツ感で、パイナップルみたいな味がしたのを覚えています。

みんなでこの珈琲を飲み、珈琲の可能性を珈琲事業部内で共有できたことで、メンバー各々がいろんなお店で珈琲豆を購入してくるようになります。

豆主制度

自分たちで珈琲豆を購入して、自分たちで飲むのもいいのですが、私たちが所属しているNALYSYS開発部のメンバーたちにも飲んで欲しいなという思いが出てきました。
一方で、美味しい珈琲豆は高価なものが多いため、無償で提供し続けるには無理があると感じてもいました。

そこで、開発部のメンバーから豆を提供してもらい、自分たちは技術を持って飲める状態の珈琲をお返しする、という循環を作ろうと考えました。

豆主制度と名付け、現在もこの方式で運用しています。
珈琲好きな開発部メンバーに最初は辻斬りならぬ辻淹れを行い、胃袋をつかみます。
取り組みを面白がってくれた人や胃袋を掴まれた方達が豆主様になってくれました。

通常エンジニアは顧客との距離が遠かったり、自分1人でやった仕事が顧客から評価されることは多くはありません。
自分が淹れた珈琲を豆主様に直接提供したときに感謝される営みはエンジニアにとっては尊いものだと思えました。同じように、自分達で作ったものを自分達で営業するという取り組みをNALYSYS開発部の一部のチームが行なっていますが、彼らはこの喜びの味を知っているのかもしれません。

認知拡大へ

珈琲事業部の取り組みは口コミでNALYSYS開発部以外にも知られることとなります。
レバレジーズではslackに部活チャンネルというものを作ることができます。事業部メンバーがzc-珈琲という部活チャンネルを作ってくれたため、そこに珈琲を注文するためのワークフローを作りました。

会社に対してオープンな場を提供することによって、NALYSYS開発部だけでなく、システム本部長や別事業部の方からの注文も入るようになりました。
この取り組みによって珈琲事業部の名前が色々なところに広まっていくことになりました。

Go!テックフェス!

テックフェスで珈琲スポンサーもやるぞ

レバレジーズでは年に2度テックフェスというシステム本部全員参加型の勉強会があります。
過去のテックフェスの様子についてはこちらをご覧ください。
tech.leverages.jp

テックフェスの運営さんと珈琲事業部のメンバーの仲が良かったこともあり、珈琲事業部がテックフェスで珈琲を提供する話が持ち上がりました。
200人規模のイベントでしたので、それなりに準備が大変なんだろうなと思いつつも、面白そうだったので参加を表明しました。

エプロン欲しいなぁ

テックフェスで珈琲を淹れる際、本気度と一体感を演出するためにみんなでデザインしたロゴの入ったエプロンを作りました。自腹でしたが、大人の遊び感が出て面白かったです。

制約

200人分の珈琲を提供するとなると、豆が2kg程度必要であると見積もりました。
その豆を自腹で払うのは流石に懐が痛いので、システム本部に予算を出してもらうことにしました。通常購入している豆が1000〜2000円/100g程度でしたが、そうなると20000円以上かかります。
提示された予算が20000円程度という制限の中で、これに紙コップやアイスコーヒー用の氷を用意した場合オーバーしてしまうことになります。豆選びを頑張らなくてはいけなくなりました。

豆選び

レバレジーズの開発拠点がある渋谷一丁目支店の近くにSingle Oというコーヒー店があります。
そこのKILLER BEEというブレンドコーヒーを飲んだ時ハチミツのような甘い香りを感じました。

コーヒーがあまり好きではない人の中には、酸っぱい味が苦手という人が多くいらっしゃいます。ここで飲んだコーヒーは酸味が少なく、苦味もそこそこで、甘い香りが強く感じられる珈琲だったのと、価格も1000円/100g以下と手頃だったため、この豆を採用することに決めました。提供を終えた今となってはニーズをしっかり捉えられていたんじゃないかと思います。

大量抽出用のレシピ開発

200人に対して珈琲を都度都度ハンドドリップで淹れていくためには一度に大量の珈琲を淹れる必要がありました。美味しい珈琲を淹れるためのパラメータとして豆を挽いた際の粉の粒度とお湯の温度が特に重要になってきます。

珈琲の粉にお湯を注いでいき、最終的に2〜3分くらいで抽出が終わると渋みが出にくいと言われております。いつもの1杯取りレシピの場合より高速でお湯を落とす必要があったため、まずはいつもより粗めの挽き目で美味しい珈琲が作れるように調整を行いました。挽き目の調整が終わったら温度を変えながら味を見ていき、美味しく作れるレシピを考案していきました。

退勤後にこれらの作業を行なっていたのですが、夜遅くに大量のカフェインを摂取する羽目になりました。飲みすぎて頭が痛くなったのもいい思い出かもしれません。

オペレーションと前日準備の検討

テックフェスの開催が夏だったこともあり、アイスコーヒーの需要が高いことが予想できました。代々木にあるフグレンコーヒーというお店ではアイスコーヒーを頼むと瓶に入ったコーヒーを注ぐだけのオペレーションで手早く客を捌いていきます。これを参考に、事前にアイスコーヒーを仕込んでいくことにしました。

また、テックフェスは著名なエンジニアをお招きしてお話ししていただく基調講演(今回はみのるんさん)やレバレジーズエンジニアのLTを聞く場でもあるので、ミルで豆を挽く音がうるさいだろうと判断し、前日に大量の豆を挽いてから現地に赴くことにしました。

珈琲事業部には電動のミルがないため、コマンダンテという手挽きのミル2台を使ってゴリゴリ挽き続け、傍らで大量のアイスコーヒーを抽出しました。

テックフェス運営による宣伝

テックフェスの運営さんは今回特に気合が入っていて、事前に広報活動を積極的に行なっていました。珈琲事業部が参加することもこのような形で宣伝してくれました。

嬉しい宣伝

いざ当日

エプロン、備品、珈琲の粉、アイスコーヒーの準備を終え、万全の状態で当日を迎えました。
氷は当日コンビニで購入する予定でしたので、メンバーには先に会場に入って準備をしてもらい、自分は氷を購入してから会場に入りました。
すると謎の行列が出来ており、その先頭には珈琲事業部のブースが。運営の方の宣伝効果があったのか、テックフェス開始前に珈琲を飲みたいエンジニアの方達がたくさんいたようです。こちらとしては大興奮で急いで氷を持ってブースに向かいアイスコーヒーを注いでいるメンバーを手伝いました。

すごい行列に慄く

8L用意していた珈琲も開始から2時間程度で無くなってしまったため、ホットコーヒーとアイスコーヒーを現場でたくさん淹れることに。嬉しい悲鳴を上げながらいつものテックフェスをまた違った立場で楽しむことが出来ました。

仕込んだアイスコーヒーを捌くメンバー達

反省など

アイスコーヒー需要や宣伝による集客効果を見誤りました。もっとアイスコーヒーを準備してから参加したほうがよかったです。ただ、現場では珈琲事業部メンバーが機転を効かせて給湯室への往復を少なくするための工夫をしてくれたり、珈琲事業部ではないNALYSYS開発部メンバーの自主的な協力のもとなんとか珈琲を淀みなく提供出来たのではないかと思います。

珈琲を飲まれた方からは、「いつもは砂糖を入れているがブラックでも美味しく飲めた」など嬉しい感想をいただきました。運営の方がテックフェス自体のFBを募集していたのですが、そこにも珈琲が美味しかったという旨のコメントがあり嬉しかったです。

新たな挑戦

テックフェスでの取り組みでシステム本部内での認知は広がったと思います。
レバレジーズの全社イベントである「納涼祭」にも参加することとなり、さらに多くの方達に珈琲を提供できる機会を得ました。
最近はカケハシさんが行なっている珈琲スポンサーのように外部イベント等でも珈琲を提供できるような存在に憧れを抱いています。NALYSYSが出展するHR系の展示会であったり、レバレジーズが企画している外部勉強会等で珈琲を振る舞える日がくるといいなと思っています。

最後に

自分の好奇心から始まった珈琲事業部という取り組みですが、珈琲好きなメンバー達がただ集まって珈琲を飲んでいるだけだったのが、活動の場所を広げ色々な方に珈琲を提供する立場になったことが不思議でもあり面白く思っております。
メンバーたちが、珈琲の奥深さや提供する喜びに本気でハマりつつあるので、社内でのプレゼンスを高めて本当の事業部になる日がくるといいなぁなんてことを半分本気で考えています。
NALYSYS開発部やシステム本部の皆さんがどういう気持ちで我々を見ているのかはわからないのですが、こんな取り組みを続けさせてくれていることに感謝しています。

私は他にも以下の2つのエントリーをこのブログに書いておりますが、記事を書くときはいつも、人に恵まれたいい会社だなと感じております。

tech.leverages.jp
tech.leverages.jp

改めて、取り組みに関わったり、温かい目で見守ってくれている皆様、豆主様へこの場を借りて感謝いたします。

一緒に珈琲を淹れてみませんか?

毎度宣伝いたしますが、この会社楽しそうだなと思ってくれた方おりましたら、ぜひ採用のご応募お待ちしております!
一緒に珈琲を淹れてくれるエンジニアの方達を心よりお待ちしております。

会社説明資料
HRMOS求人ページ
カジュアル面談はこちら

NALYSYS開発部の雰囲気がもっとわかる動画


www.youtube.com

Tech Leverages 技術活動レポート 25年1Q期号

2025年4,5,6月中に、レバレジーズが関わった技術イベントのご紹介です。 自社イベント開催やイベント登壇など多様な関わり方で、合計14件のイベントに参加しました!

※TSKaigi2025スポンサーの様子

主催・共催技術イベント

バックエンドTypeScript勉強会 ~Macbee Planet x レバレジーズの事例大公開~

4/8に、本社渋谷スクランブルスクエアにて、バックエンドTypeScriptについて実際の運用のノウハウも交えながら、実践で役立つ内容を語る、ライトニングトーク形式のイベントを開催しました。 (イベント詳細はこちらから)

ドキュメントの鮮度を維持する「しくみ化」の方法 CADDi、DMM.com、IVRyの実践例から

4/23に、オンラインにて、組織体制や運用ルールによる「仕組化」、AI技術による「自動化」の両側面から再現可能な解決策を語る、ライトニングトーク形式のイベントを開催しました。 (イベント詳細はこちらから)

AI ×フロントエンド開発のリアル

5/15に、開発組織の拠点であるポーラ渋谷ビルにて、開発現場での事例をもとにAIを活用したフロントエンド開発をテーマにした、ライトニングトーク形式のイベントを開催しました。 (イベント詳細はこちらから)

Tech-QA Meetup ~品質で未来を拓く最前線~

5/15に、オンラインにて、各社の現場でのチャレンジや、実務にすぐ活かせる知見、そしてこれからのQAの在り方について、ライトニングトーク形式で語るイベントを開催しました。 (イベント詳細はこちらから)

技術的負債へのアプローチを考えよう

5/21に、開発組織の拠点であるポーラ渋谷ビルにて、TypeScript好きな若手エンジニアを対象にしたライトニングトーク形式のイベントを開催しました。 (イベント詳細はこちらから)

はじめてのLT - TypeScript好き若手エンジニアのためのゆる懇親ナイト

5/21に、トグルホールディングス株式会社様の会場にて、システム・インフラ・プロダクト戦略の3視点から学ぶ負債解消をテーマに、ライトニングトーク形式のイベントを開催しました。 (イベント詳細はこちらから)

開発チームでどう活かす? MCPでできたこと・できなかったこと

5/28に、オンラインにて、エス・エム・エス、Ubie、SmartHR、クローバの4社から、開発現場でのMCP活用事例について語る、ライトニングトーク形式のイベントを開催しました。 (イベント詳細はこちらから)

ビズリーチ社合同勉強会

6/12に、オンラインにて、株式会社ビズリーチの開発組織の方々と合同勉強会を開催しました。

AIの出力の質を上げる。チームの集合知をAIに注入する方法

6/25に、オンラインにて、AIエージェントにチームの集合知を効率的に注入するための工夫について語る、ライトニングトーク形式のイベントを開催しました。 (イベント詳細はこちらから)

イベント登壇

バックエンドTypeScript勉強会 ~Macbee Planet x レバレジーズの事例大公開~

レバテック開発部の大内が、バックエンドTypeScript勉強会に登壇しました。 (イベント詳細はこちらから)

https://speakerdeck.com/leveragestech/rihuakutaringuituyaruno-yi-cun-nozheng-li

PHPカンファレンス小田原2025

レバテック開発部の檜垣が、PHPカンファレンス小田原2025に登壇しました。 (イベント詳細はこちらから)

https://speakerdeck.com/leveragestech/gu-kiliang-ki-laravel-nosisutemuha-guan-shu-xing-sutairuderihuakutadekirunoka

イベントスポンサー

PHPカンファレンス小田原2025 松スポンサー

4/12に行われたPHPカンファレンス小田原2025にて、レバテック株式会社が松スポンサーとして協賛しました。

TSKaigi2025 ゴールドスポンサー

5/23,24に行われたTSKaigi2025にて、レバレジーズ株式会社がゴールドスポンサーとして協賛しました。

会場スポンサー

技術書とお金の話

“技術書とお金の話”イベントに、会場の提供をしました。 (イベント詳細はこちらから)

酒とゲームとインフラとGCP@レバレジーズ ~新緑に乾杯!初夏のクラウド談義〜

“酒とゲームとインフラとGCP”イベントに、会場の提供をしました。 (イベント詳細はこちらから)

GitHubCopilotとAI時代のデータ管理方法 ~開発生産性向上やデータ管理・MCPまで~

“GitHubCopilotとAI時代のデータ管理方法”イベントに、会場の提供をしました。 (イベント詳細はこちらから)

We are hiring!

レバレジーズ株式会社では一緒にサービスを開発してくれる仲間を募集中です。 もしご興味を持っていただけたなら、以下のサイトからご応募ください。

HRMOS求人ページ

会社説明資料

AIに全権委任したら黒☆魔☆術コードが生まれた話 - 生成AIハッカソンで試したVibe Coding実践録

こんにちは!テクノロジー戦略室AI推進チームの苑田です! AWS Summit 2025 生成AIハッカソンがあり、全部で150チームほど参加した中、準優勝することができました!その時に試したAI駆動開発を時系列順でまとめました!

作成したアプリに関しては別のメンバーが記事を書いてくれたので、一緒にみてもらえるとイメージしやすいと思います!

AWS Summit 生成AIハッカソンで準優勝しました!

AI駆動開発で使用したツール

  • GitHub Copilot
  • GitHub Copilot Coding Agent
  • GitHub
  • v0

担当範囲

  • 苑田:AI Agent(Strands Agents)周り、Backend
  • メンバーA:Backend、スライド作成
  • メンバーB:Backend、デモ動画作成
  • メンバーC:Frontend

開発までのスケジュール

生成AIハッカソンの流れ

6月25日に予選があり、作ったアプリケーションを披露する必要があります。スケジュールは上記の通りですが、通常業務や諸々の対応をしていると、実際の構築期間は3週間となりました。当然、通常業務もあるので、メンテ性と可読性の品質を担保する開発ではなく、スピード重視のVibe Codingで進めることにしました。

Vibe Coding

人間がコードを書かずに自然言語でLLMアプリに指示して開発することをVibe Codingといいます。とはいえ、適当に開発すると変なコードが出来上がるので、以下の順番でコーディングするようにしました。

  • 作りたいものをAIと壁打ちして要件を決める
  • AIに詳細設計を作成してもらう
  • 何をすべきかTODOリストを作成してもらう
  • どのAIでもタスクを処理できるように、GitHub IssuesにTODOを登録する
  • Issueを元にAIがコードを書く
  • AIがPRを作成する
  • PRをレビューして問題なければマージ

できるかぎり人間の動作を減らすために、Issueの登録やPRの作成はGitHub MCPを使って自動化しました。 下記のようにcopilot-instructions.mdにOrganizationとリポジトリの詳細を記載することで、エンターキーを押すだけで開発が進んでいきます。

<!-- I want to review in Japanese. -->
# リポジトリ
- Organization: "現在の組織"
- repository: "現在のリポジトリ"
<!-- I want to review in Japanese. -->

また、「なぜGitHub issuesを使うのか」という話は後で出てきます。

AIの書いたコードを全て許可する

Vibe Codingをしていると、AIの開発スピードが早すぎてレビュワーの負荷がかかり、人間がボトルネックになってしまいます。なので、基本的にAIが書いたコードは全て許可する方針で開発を進めました。

これは実験的な部分もあったのですが、今後AIが賢くなって行った時に、全部AIが開発、運用、テスト、レビュー、修正をやってくれるといいよね!とチーム内で会話になったのがきっかけです。

設計は人間が行い、開発、修正に関してはAIに任せるというスタイルで開発を進めました。

黒☆魔☆術コードができてしまった

基本的にレビューせずに即マージすることはまずあり得ないので、とても気持ちが良くポチポチマージしていました。このタイミングではもうすでに人間が読めるコードではなくなっており、これが本当のVibe Codingと意味不明なことを言ってました。しかし、発表1週間前に大問題が発生しました。

これAPIから取ったデータを表示してないんじゃね?

どういうことかというと、APIからデータを取得してフロントに表示するはずが、毎回同じデータを返してくるという問題が発生しました。

調査した結果、AIエージェントが処理を失敗した時に返す値をそれっぽい固定値で設定しており、APIと連携できていなくとも、きちんとした値を返すようにしていたのが原因でした。

例:
def analyze_sentiment(self, text):
    try:
        # 実際のAPI呼び出し
        response = self.sentiment_api.analyze(text)
         return response['sentiment']
     except:
        # API失敗時の固定値フォールバック
        return "neutral"

例のように、API呼び出しが失敗したとしても、「neutral」が返ってくるので、フロントエンドではエラーが発生しません。

よくよく考えると、AIエージェントは目的を達成するためにタスク分解して処理をするので、最終的なゴールがフロントに表示することであれば、こういうコードを書いてしまうのは当然でした。

「なるほどな〜」と思いながらリファクタリングをしようとしたのですが、人間の介入はしない前提で開発を進めていたため、ここからが地獄の始まりでした。

人間によるリファクタリング

発表1週間前に黒魔術コードが完成してしまったので、以下の内容でリファクタリングを行うことにしました。

  • 過剰なtry-exceptを削除
  • エラーが発生した時に文字列ではなく、エラーコードを返すように修正
  • 人間が確認しやすいように、ディレクトリ構成を整理
  • APIの疎通ができていない箇所を修正

先ほど記載した通り、AIエージェントは目的を達成するためにコーディングするので、大量のtry-exceptを生成します。なので、不必要なtry-exceptは削除し、エラーが発生した場合、すぐ検出できるように変更しました。

また、とてつもない量のファイルやコードを生成するので、人間が全部確認するのは不可能と判断し、人間が確認しやすいようにディレクトリ構成を整理しました。この時はわかりませんでしたが、ディレクトリ構成や内容をREADME.mdに記載すると、AIの迷いが少なくなった気がします。

APIの疎通に関しても、Mockを大量に生成していたので、全て削除しました。

これらの作業に丸3日かかりましたが、なんとかBackendだけリファクタリングを終えることができました。 Frontendは私の担当ではないのでなんとかしてもらおうという魂胆です。当然担当は地獄を見ていました。

AIが開発しやすいような開発環境の作成

発表まで残り4日。リファクタリングが終わり、AI駆動開発がなかなかうまくいかないなぁと思いながら開発していたのですが、1つの仮説が浮かびました。それは、AIが開発しやすいような開発環境を用意すれば、AI駆動開発がもっと楽になるのではないかということです。

今まではAIが好き勝手にコードを書いていたのですが、AIが必要な情報を取得できないと関連する箇所を次々と調査してしまい、本来の目的を見失ってループに入ってしまいます。したがって、AIが効率的に必要な情報へ辿り着けるよう、専用ツールを作成しました。

  • docker-compose関連のコマンドを叩くシェル
    • ワンコマンドでAIが使用できる
  • MCPの活用
    • GitHub MCPを駆使して、AIが自動でIssueやPRの確認、作成できるようにする
    • Strands AgentsのDocs MCPを使用することで、最新の情報でもドキュメントを参照できるようにする
  • git worktreeの活用
    • 複数のブランチを同時に開発できるようにする(これは長いので下で書く)

作成したツールをAIに使用してもらうために、copilot-instructions.mdで以下のような指示を書きました。

# 利用可能なスクリプト
- `./scripts/run-dev.sh` - 開発環境の起動(自動ポート割り当て)
- `./scripts/status-dev.sh` - 全worktreeの状況確認
- `./scripts/stop-dev.sh` - 環境停止
- `./scripts/create-worktree.sh` - 新worktree作成
- `./scripts/remove-worktree.sh` - worktree削除

# AIエージェント向け指示
- `docker-compose logs` などの標準コマンドは使用禁止
- 環境の状況確認は `./scripts/status-dev.sh` を使用
- ポート競合やログ確認が必要な場合は上記スクリプトの出力を参照

これにより、人間がやることを極限まで減らし、AIが開発しやすい環境を整えることができました。以下の画像は、AIが実際に叩くシェルの例で、今このプロジェクトでどのコンテナが動いているかを確認できます。

このようなツールを用意してルールに記載しておくと、ツールを使った結果をAIが確認し、それを元に修正をするようになります。

例えば、エラーが発生した時に以下の手順でAIは修正します。

  • ステータス確認シェルでコンテナの状況を確認する
  • 確認したコンテナ名やステータスを元に、ログ確認シェルを使用し、ログを確認する
  • 対象箇所を調査する
  • 修正する
  • 動作確認し、エラーが無くなれば終了

このように、適切なツールを渡すことで、変なことをする回数が減りました。

git worktreeによる並列開発

AIが開発しやすい環境を作ってうまく開発ができてきました。しかし、待ち時間が暇なんですよね。 Twitterを見ると怒られるし、どうしようかなと考えていたら、AIがコードを書いている間に、別のブランチで開発を進めることができるかもしれないと思いつきました。

そこで、git worktreeを使って、複数のブランチを同時に開発できるようにしました。 git worktreeの説明は以下のブログが参考になります。

AIエージェントで並列実装なら必須技術! Git Worktree を理解する

git worktreeを使うと、AIが開発する環境を簡単に作成できます。 私はworktreeを作成、削除するシェル(script以下)を用意しており、以下の構成で使用していました。 親は基本的にworktreeを作成、削除、本番環境のデプロイを行う場所で、子はAIが実際に開発する場所と定義していました。

ここで必要なのが、AIが動作確認するための環境です。 docker-composeを使用しているため、並列で開発しているとportが枯渇する問題が発生しました。なので、portを動的に割り当ててdocker-compose upするシェルを作りました。 これにより、AIが簡単に動作確認できます。

また、git worktreeを使用することで、以下のメリットがありました。

  • AIがコードを書いている間に、別のブランチで別のIssueを進めることができる
  • 同じIssueを複数のAIに処理させ、一番いいものを採用できる

1つ目はそのままですが、2つ目が結構便利でした。 AIは同じプロンプトでも生成する内容が異なるため、2〜4並列でAIに同じプロンプトで生成させ、その中でいいものを選択していました。私たちはこの開発をリセマラ駆動開発と呼んでいます。

完成!

無事予選前日の深夜12時にアプリケーションが完成しました。なんとか完成したのでワイワイしていると、スライド作成していないことに気づき、予選当日の開始1時間前にスライドが完成しました。ここら辺の話は色々あったので、また別のタイミングで話せたらなと思います。

実際にAI駆動開発やってみた結果

今回色々な仮説をもとに検証を行なっていましたが、AIが開発しやすい環境を作成した途端、爆発的に開発が進みました。 AIが指示通りに動いてくれない理由は、考えることが多すぎて変な方向に進んでいくからという結論になりました。AI駆動開発はコーディングしてもらうだけだと思っていたので、タスクを処理しやすいように環境を整えてるのは新鮮で面白かったです。

また、ある程度コードを人間が読めるようにする必要があると感じました。今回はハッカソンだったので最悪全部壊せばいいですが、本番稼働しているアプリだと必ず人間がリファクタリングする必要があります。したがって、ある程度人間が読めるようにドキュメントを整備したり、コーディング規約を言語化しておくことで、最悪の事態は避けられると思います。

どうすればもっと開発が楽になるか考えてみた

ひとまずアプリをリリースできましたが、今後組織に普及していくために、チーム内でどうすればもっと開発が楽になるかを考えました。話題として上がったのがAIが暴走してしまい、人間が対応するのが大変だったという点です。実際に試したわけではないので話半ばで聞いて欲しいですが、チーム内で結論付けたことを記載しておきます。

テストを書く

今回スピード重視で開発していたため、テストを書かずに構築していました。しかし、AIは目的を達成するために、モックを作ったり、都合のいい処理を書いたりします。明確なテストを用意しておくことで、ある程度この暴走は抑えられるのではないかと考えました。

また、AIがすごいスピードでリファクタリングするので、いきなりコードが動かなくなることも多々ありました。その観点でも、テストがあると人間は安心でき、AIもテストが失敗したら修正を行なってくれるので、チーム内では必須だと結論付けました。

しかし、テストを書いたとしても、そのテストが通るようにコードを生成したりするので、ある程度人間がレビューする必要があります。

プロンプトを使い分ける

copilot-instructions.mdに守って欲しいことや設計手法など全部記載しても、AIは完全にそれ通りに動くわけではないことを学びました。 したがって、TODO作成プロンプト、構築プロンプト、テストプロンプトのように、プロンプトを分けることで役割分担するのもいいのではないかと考えました。

今回のハッカソンでは、各専門エージェントを使用したマルチエージェントで構築しており、1つのエージェントで構築するより精度が向上しました。

この要領でプロンプトを分ける(claude codeだとカスタムスラッシュコマンド)と、AIが暴走することは少なくなると思います。

まとめ

Copilotのプレミアムリクエストが1週間で無くなった時はどうなるかと思いましたが、なんとか乗り切ることができました。 期限内に構築完了し、準優勝できたのは、間違いなくAI駆動開発のおかげだと思っています。

次の目標としては、このAI駆動開発をもっと楽にするような仕組みを開発して、他のチームに展開していきたいです。

おまけ

引き継ぎコンシェルジュ ko☆shiで出しましたが、引☆継☆王 ko☆shiの可能性もありました。 この命名を考えるのに、冗談抜きで数時間かかったので、もっとマシな会話をしたらよかったなと反省しています。

最後に

最後まで読んでいただきありがとうございます!AI推進チームでは一緒にAI推進を行うメンバーを募集しています!もっとAI推進チームやレバレジーズについて知りたい方は会社説明資料をご覧いただき、ぜひこちらからご応募ください!
AIソリューションアーキテクト(AIエンジニア)
AI/機械学習系 研究員

レバレジーズの新卒エンジニアって何するの?そんな君に伝えたい、1ヶ月目のリアル。

はじめに

こんにちは!レバレジーズに25卒のエンジニアとして入社したイツキです。

この記事を読んでくださっている方の中には、レバレジーズに少しでも興味を持っている就活生も少なくないかもしれません。 「実際に入社したらどんな感じなんだろう?」と、リアルな情報を集めている最中なのではないでしょうか。

この記事は、新卒エンジニアとして入社した、イツキ、スガノ、アミタニの3人が最初の1ヶ月をどのように過ごしたか書いた体験談です。

レバレジーズの新卒エンジニアが最初の1ヶ月でどのようなミッションに挑戦するのか。 技術スタックの話やチームの雰囲気だけでなく、それ以上に『ここで働くことは面白いのか、成長できるのか』

現在まさに企業研究を進めている方、レバレジーズのエンジニア職に少しでも興味を持ってくださっている方にとって、何かしらのヒントになる情報を届けられたら幸いです。

【第1章】ミッションは「俺たちのことを知ってもらえ!」~ゼロからの企画挑戦~

入社して間もない私を含む3名の新卒エンジニアに、最初のミッションが与えられました。

開発本部全体のキックオフ(250名規模)で30分間の枠を提供する。そこで君たち3人のことを、先輩エンジニアたちに知らしめてほしい。

驚いたのは、その自由度の高さでした。「君たちがこの会社でどうなりたいか、そのために先輩たちにどう認知されたいかという目的から考え、それを達成する手段を自分たちで企画・提案して良い。唯一の制約は、30分の時間と、何かしらのシステムを開発して使用すること」。

ゼロからの企画を任せてもらえるのかと、同期と共に驚いたことを覚えています。若いうちから裁量を持って挑戦したいと考えていた私にとっては、はじめの一歩として願ってもないチャンスでした。

私たちが目指したのは、単に顔と名前を覚えてもらうだけではありません。「この新人たちは、なかなか面白いじゃないか」「何かやってくれそうだ」「一緒に働いたら楽しそうだ」と、ポジティブな第一印象を持ってもらうこと。それが、これから私たちがこの会社で価値を発揮していくための、重要な一歩になると考えたからです。

そこでまず考えたのが、社内の膨大なナレッジをまとめ、質問に答えてくれるAI Botの開発でした。これならば、私たち自身が会社の情報をキャッチアップするのにも役立ちますし、先輩方の役にも立てるかもしれない、一石二鳥だと盛り上がりました。AIと議論しながら開発を進め、2週間ほどで動作するものが完成。このBotを使って社内ナレッジクイズ大会を実施したら盛り上がるのではないかと、期待は膨らむばかりでした。

そして2週間目の終わり。意気揚々と進捗を報告した私たちに、上司が一言。

「それで、君たちの目的は達成されるの?」

その言葉に、私たちは詰まってしまいました。頭の中が真っ白になるというのは、こういうことかと感じました。

「AI Botを開発しました!」というだけで、私たちのことを「面白い」と思ってもらえるのでしょうか。「一緒に働きたい」と感じてもらえるのでしょうか。

答えは、明確にNoでした。 私たちが社内ナレッジをキャッチアップしたい。私たちがAI Botを作ってみたい。これらは全て、私たちの都合、私たちのやりたいことでした。参加者(先輩エンジニアたち)の視点が、完全に抜け落ちていたのです。

「顧客価値の創造」。レバレジーズが大切にしているこの言葉の意味を、肌で理解した瞬間でした。

私たちの目指した「先輩社員にポジティブな第一印象を持ってもらうこと」という目標を達成するためは、まずは顧客(=相手、今回は先輩社員)の視点に立って考える必要があります。ただ技術的に面白いもの、自分たちが面白いと思うものを作ればいいわけではありません。

この失敗と気づきこそが、最初の大きな成長の糧となりました。上司のたった一言の質問は、厳しさではなく、私たちに本質を考えさせるための、最良の道しるべだったのかもしれません。

【第2章】大幅な方針転換!「自己紹介ゲーム」爆速開発の舞台裏

上司の一言で、私たちの自信作(であったはずの)AI Bot企画は、白紙に戻りました。 正直、少し落ち込みましたが、それ以上に「確かに!」という納得感と、「ではどうするべきか!?」という新たな挑戦への意欲が湧いてきました。この切り替えの早さ、そして「どうすればできるか」を考える前向きな雰囲気がチーム全体にあったことは、振り返るととても良いことだと思います。

改めて、私たちの目的に立ち返りました。

  • 私たちのことを先輩方に知ってもらい、
  • 彼らが面白いと感じてくれ、
  • 一緒に働きたいと思ってもらう。

この3つを、250人の参加者の前で、たった30分で達成するにはどうすればよいか。そして、そこに「エンジニアらしさ」、つまり私たちが開発したシステムをどのように絡めるか。

知ってもらうにも、ただの自己紹介では面白みに欠けるから、ゲーム形式にする。クイズやパズルを解いてもらう中で、自然と私たちの人となりやスキル(の片鱗でも!)に触れてもらう。そして、ゲーム自体の作り込みで「お、この新人たちは技術もなかなかやるな」という期待感を持ってもらう。

悩んだ末、私たちが出した答えは「参加者全員を巻き込む自己紹介ゲームを作ろう!」でした。 振り返ると、シンプルでやや安直な感じもしますね。しかし、目的に照らし合わせた上で、「それを実現するためには?」ということを考えた結果です。目的を達成できるのであれば、安直であるかどうかは問題になりません。

【第3章】「ただ作るだけじゃない」面白さと気持ちの良い大変さ

さて、目的が定まった私たちは、活気を取り戻しました。

しかし同時に、残された時間は、もう3週間を切っていました。設計、開発、テスト…全てを行うには、正直に言って非常に厳しい時間でした。ここからが、まさに「爆速開発」の日々の始まりです。チーム3人で毎日顔を突き合わせ、アイデアを出し合い、役割分担して、猛烈な勢いでコードを書き続けました。

未経験の技術はもちろんありました。新しいフレームワーク、初めて触れるライブラリ…。しかし、レバレジーズには、それを乗り越えるための環境が整っていました。頼れる先輩エンジニアたちが、私たちの初歩的な質問にも根気強く付き合ってくださり、技術選定のアドバイスもいただきました。(本当に感謝しかありません…!)この「いつでも質問でき、助けを求められる」安心感が、私たちの挑戦を後押ししてくれたのは間違いありません。

そして、ここだけの話になりますが、開発の相棒として社内で利用できるGeminiの力も大いに活用しました。 アイデアの壁打ち相手になってもらったり、エラー解決のヒントをもらったり…。まさに現代のエンジニアリングだと感じました。使えるものは何でも使い、最短距離でゴールを目指す。このスピード感は、レバレジーズならではかもしれません。目的ベースで思考し、そのためならば新しい技術やツールでも積極的に試すことを推奨してくれる文化があるからこそ、私たち新卒も臆することなくAIを活用できたのです。

まずはとにかく「面白いゲーム」を作ることに全力を注ぎました。新卒3人、AIにも相談しつつ、アイデアを形にしては壊し、また作る、というサイクルを繰り返しました。1週間で10個以上のミニゲームのプロトタイプが生まれたと思います。

例えば、時間制限付きで次々とクイズが出題されるタイムショック風ゲーム、リアルタイム通信で2人が協力して謎を解くゲーム、そして、私たちが特にこだわったコードエディターを使った謎解きゲームなどです。毎日、作成したゲームをチーム内でお互いにプレイしては、「これは本当に面白いか?」「もっと面白くするにはどうしたら良いか?」と、熱心に議論を交わしました。ただ動作するだけでは不十分です。触っていて「心地よい」「ニヤニヤする」、そんな手触り感を追求しました。この試行錯誤のプロセス自体が、非常に勉強になり、何よりも楽しかったです。

最終的に、私たちが選んだのは2つのゲームでした。1つは、例の「コードエディターを使う謎解きゲーム」。もう1つは、「タイムショック風クイズゲーム」です。

コードエディターを使う謎解きゲームは、画面下部のコードを操作しながら、次の問題に進むためのパスワードを画面上から探すゲームです。このパスワードが、私たちの自己紹介にまつわるキーワードになっています。例えば「家庭菜園」。これは、チームメンバーのアミタニの趣味で、正解すると、彼が実際に作った作物の情報など、ちょっとしたエピソードが見られる仕掛けです。これで、ゲームを楽しみながら私たちのことを知ってもらえます。

タイムショック風クイズゲームでは、先ほど知ってもらった私たちの情報を元にした4択クイズを、テンポ良く出題します。数分前に見た情報を思い出してもらうことで、私たちのことをより深く印象付ける狙いです。ゲーム体験としては、かなり面白いものができたという手応えがありました。

しかし、ここでまた一つ、大事な視点に気づきました。

「このゲームは確かに面白い。しかし、参加者の先輩方は、そもそもなぜこのゲームをプレイしようと思うのだろうか?会場の250人全員を、本当に巻き込めるのだろうか?」

第1章での失敗が頭をよぎりました。ただ「私たちのことを知ってください!」だけでは、動機としては弱いかもしれません。ゲームをプレイした先に、何か彼らにとってもメリットや楽しみがなければ…。

残り時間は、もう1週間を切っていました。しかし不思議と、この新たな問題と向き合うのは楽しかったです。以前のAI Botの時とは違い、目的ベースで考えたがゆえに指摘される前に自分たちで発見できたこと。そして、それを乗り越えようとすること自体が、前回の反省が身になっていると言う成長を実感できる「気持ちの良い大変さ」だったからかもしれません。

ああでもない、こうでもないと議論しながら、ラストスパートを駆け抜けた、あの数日間は本当に濃密でした。

【第4章】そしてキックオフ当日!

その後、私たちが見つけた最後のピース。それは…「会場全体を巻き込むチーム対抗戦にして、最後はジェスチャークイズで盛り上げよう!」でした。

開発したゲームにログインしてくれた参加者をランダムに2チームに分け、ゲームのスコアを競ってもらいます。そして、そのスコアに応じて、最後のジェスチャークイズの制限時間が変わるというものです。私たち新卒がお題(私たちの趣味など!)をジェスチャーで表現し、会場全体から声を出して当ててもらうのです!これなら、一体感が生まれますし、何より楽しそうです!

結果からお話しすると、このジェスチャークイズがしっかりハマりました。 開発した、エディタークイズなどで、私たちの名前やちょっとした個性を知ってもらえていたのも、盛り上がりの要因でしょう。 会場のあちこちから声が飛び交い、全体に一体感が生まれ、想像以上の盛り上がりになりました。拙い部分もありましたが、前向きに参加して、場を盛り上げてくれた諸先輩方にも感謝しかないです。

30分間の発表が終わった時、私たちは汗だくでしたが、それ以上に大きな達成感と、やりきったぞ!という喜びでいっぱいでした。 社内イベントだからこその温かさも感じました。当日、機材トラブルもあったのですが、先輩方がサポートしてくださり事なきを得たり…。本当に感謝しかありません。

【まとめ】企画からできるエンジニアって、おもしろい

怒涛の1ヶ月。ゼロからの企画、まさかの大ピボット、そして爆速開発からのキックオフ本番…。本当に、あっという間でしたが、非常に濃い時間でした。

この経験を通して改めて感じたのは、レバレジーズの「新卒の『やってみたい!』を本気で応援してくれる文化」です。企画から任せてもらえる裁量、それを実現するための予算や頼れる先輩というリソース、そして何より、決定から実行までのスピード感。

ただ言われたものを作るだけのエンジニアにはなりたくない。 若いうちから自分で考えて、価値を生み出す挑戦がしたい。 チームで一丸となって何かを成し遂げたい。

── 就活生の時、私が抱いていたそんな想いを、レバレジーズは真正面から受け止めてくれたのだと思います。

反省点も、成長の糧。

もちろん、反省点も山ほどあります。というより、反省だらけかもしれません。特に大きかったのはこの2点です。

  • 当日のネットワーク負荷の見積もり: 想定以上の同時アクセスで、ゲームログインに少しお待たせしてしまいました…。事前の負荷テストや、もっと段階的なアクセス分散を考えるべきでした。これは完全に私たちの準備不足です。

  • 目的意識の再徹底のタイミング: 最初のAI Bot開発は、今思えば「作りたいもの」に目が向き、肝心の「誰に、何を知ってもらいたいか」が甘かったと反省しています。上司に指摘されてハッとしましたが、本当は企画の最初期に、もっと深くチームで突き詰めるべきでした。2回目のゲームの動機付けの課題は自分たちで気づけましたが、これももっと早く気づければ、さらに良いものが作れたかもしれません。

しかし、だからこそ、この1ヶ月での成長の実感は非常に大きいです。できなかったことができるようになった。見えなかったものが見えるようになった。まだまだ未熟なエンジニアですが、確かに、大きな一歩を踏み出せたと感じています。失敗を恐れずに挑戦させてもらえる環境、そしてその失敗から学ぶことを推奨してくれる文化が、この成長を後押ししてくれたのです。

実際、キックオフが終わってから、様々な先輩エンジニアの方々から声をかけていただく機会が増えました。「あのゲーム面白かったよ!」とか、「イツキくん、カードゲーム何をやっているの?」などと。私たちが最初に掲げた「自分たちのことを知ってもらい、肯定的に思ってもらう」という目的は、少しは達成できたのではないかと、今は自信を持って言えます。

もし皆さんが、「ただ作るだけじゃない、企画から関われるエンジニアになりたい」「若いうちから裁量を持って、面白いことに挑戦したい」「最高のチームで、ユーザーに価値を届けたい」そう思っているのであれば、レバレジーズは最高の環境かもしれません。

このブログが、就活生である皆さんの企業選びの、そして未来への一歩の、小さなきっかけになれば幸いです。最後までお読みいただき、ありがとうございました。

もう少し、開発部全体のことを知りたいという方は、弊社の開発部に1日密着した動画がYouTubeに上がっていますので、ご覧ください。

www.youtube.com

宣伝

レバレジーズでは、エンジニアの皆さんにも、様々な業務を通じて成長の機会を提供し、一緒に未来を切り開いていきたいと考えています。 このような価値観に共感し、「自分のアイデアで世の中に影響を与えたい」 そんな情熱を持ったあなたの応募をお待ちしています! とのことです!今年もサマーインターンシップを開催予定なので、気になる方は下記サイトから応募してみてください〜〜!

◆レバレジーズ 2027卒新卒 エンジニアサマーインターン 応募フォーム leverages-internship.goodfind.jp

◆新卒採用ページ

recruit.leverages.jp

◆エンジニア採用サイト

recruit.leverages.jp

人工知能学会全国大会(JSAI2025)に参加しました!

はじめに

はじめまして! テクノロジー戦略室先端技術グループの永安と申します。普段はAI/MLに関してプロダクトへの適用を目指した研究開発をしています。レバレジーズって研究していたの?と思ったそこのあなた、鋭いですね。先端技術グループは2025年4月に発足したばかりのチームです! Gemini2.5より年下でGPT 4.1よりは年上ですね。

先端技術グループは、AI/MLの最新技術をキャッチアップまたは新規技術を開発し、それを実際のプロダクトに落とし込んで実用化していくことを目標にしています。その一環として、先日開催された人工知能学会全国大会(JSAI2025)に参加しました。大学企業を問わず様々な研究発表を聞くだけでなく、研究者や技術者と交流することができ、自分の研究活動にとって大きな刺激となりました。 本記事ではそんな人工知能学会の様子や気になった発表について紹介します。

JSAI2025とは

JSAI2025は、JSAIが主催する、日本最大級のAIに関する学術イベントです。企業でAI開発や研究を行う技術者の参加も多く、企業所属の研究者にとって貴重な情報交換の機会となっています。今年は第39回で、前回の約3800名からさらに参加者が増加し4900人超となっていました。多くのセッションがあり、講演やポスター発表から国内研究者の研究を知ることができました。また、企業ブースの出展もあり、企業所属の研究者、技術者から各社の取り組みを直接質問することができました。2日目には学会が企画した懇親会があり、それ以外にも連日有志企画の大小様々な交流会がありました。自分は2日目の公式懇親会に参加できませんでしたが、翌日の非公式懇親会に参加したところ、普段関わらない業種でAIの研究、活用をしている研究者、エンジニアと知り合うことができ非常に有意義でした。

発表のトレンド、技術動向

近年のトレンドを反映し、LLMに関する研究発表が最も多数を占めていました。特に、LLMを個別事例へ利用することが増えたため、評価、アノテーションに関する研究が多かったです。また、LLMエージェントに関する研究も増えており、リアルユースでのワークフローの組み方の工夫がよく議論されていました。原理的に内部構造を解釈しづらいLLMの重要度がより増したことを背景に、アラインメント、解釈可能性に関する研究も多かったです。解釈性がメインのセッションが複数あり、この分野への関心が高まっていることを感じました。レバレジーズに関係する人材領域でのAI研究についても企業を中心に発表されていました。

イチオシの発表

双方向推薦システムにおけるコントラスト効果の応用

  • ある対象を別の対象と比較して提示することで相対的な価値や魅力が変化する心理的効果であるコントラスト効果をマッチング領域の推薦システムに応用した研究です。ユーザーの行動履歴を元にユーザーの行動を促す魅力的な推薦と現実的にマッチングする推薦のバランスを取ることが特徴です。双方向推薦において重要なユーザーから見た魅力と現実的なマッチングのバランスを行動履歴という時系列情報から決定する手法を述べていた点が非常に面白かったです。レバレジーズの人材推薦でも求職者の行動変化による双方向推薦のバランス調整は活用できると感じました。

エンジニアの職歴データによるスキルネットワーク分析

  • エンジニアが持つスキル同士の関係をネットワーク分析した研究です。職歴のデータセットからエンジニアの集合とスキルの集合で二部グラフを作り、ネットワーク構造の傾向を見ています。レバレジーズの中でもエンジニアの転職支援は重要で、エンジニアスキルのネットワーク構造には関心がありました。発表者はネットワーク分析の専門家で分析手法が上手く参考になりました。

LLMエージェントによるエルファロル・バー問題の解析

  • ゲーム理論におけるエルファロル・バー問題についてAIエージェントでシミュレーションを行った研究です。元々のエルファロル・バー問題は、空いている時にバー行くと良いが混んでる時には行きたくないという状況における集団の意思決定と戦略に関する問題でした。この研究では二次元上で互いの接近時に情報を伝達できる複数のAIエージェントでこの問題をシミュレーションしていました。この研究の面白い点として、LLMのプロンプトにタスクを明記せず、バー内の混雑具合に応じた快、不快のフィードバックのみから自律的にバーに入る、出るという行動をとっていたことがあります。さらに、エージェント同士の会話により、バー内で不快な状態でエージェント同士が密集して動かなくなるという現象が観察されたのも面白かったです。コントロールした環境で面白い現象を観察した研究なので、今後エージェントに関する一般的な知見が得られることも期待できるように感じました。

深層基盤モデルの数理

  • ディープラーニングに関する近年の理論研究についてまとめたチュートリアルです。機械学習理論の国内トップ研究者による講演で情報量の多さに圧倒されました。資料は一見の価値ありです。CoTの理論に関しては全く追えていなかったので新鮮に感じました。また、テスト時スケーリングの理論は今後LLMを作る側だけでなく、レバレジーズのような使う側にとっても精度向上に利用できそうで面白かったです。豊富な内容から優秀な研究者のキャッチアップの多さを感じることができ、自分自身のモチベーションにもつながるチュートリアルでした。

最後に

今回は聴講のみの参加でしたが、国内のAI研究を知ることができ、また研究者や他企業の技術者と交流することで有意義な知見が得られました。次回はレバレジーズからも発表ができるように取り組んでいきたいですね。

先端技術グループではAIに関する技術開発を行うメンバーを募集しています。ビジネスに関わる領域で研究しつつも裁量を大きく持てるところが魅力だと思います。少しでも興味を持っていただけた方はこちらからご応募いただけると嬉しいです。

「機械にはできない」はもう古い?AI技術のMCPで負荷試験を自動化してみた

1. はじめに

こんにちは。テクノロジー戦略室TQCチームの原田です。
僕達のチームはTotal Quality Control、つまり全社の全システム品質管理・システム品質向上を目的に活動しています。
この目的を効果的に達成するため、データ分析に深い知識を持つ社員や、複雑な課題を整理し新たな概念を構築する社員など、それぞれの専門性や強みを共有し、協力し合いながら活動する面白いチームです。

その中で僕達が注目しているのがAI技術です。
皆さんは「この業務は人にしかできない」と言う考えを持ったことはないでしょうか?
人の判断が必要だから、機械的には処理できない——そのような業務も自動化すべく、僕達はAI技術を活用しています。

本記事では僕達が活用しているAI技術の中から、特に注目しているMCPという技術に焦点を当て、システム品質としてシステムの安定性や性能を保証する上で不可欠な試験である負荷試験を「どのように自動化したか?」をお伝えします。

2. 負荷試験自動化の現状と課題

近年負荷試験の自動化は部分的に進んでいますが、依然として経験や知識に依存する作業が多く存在します。

例えば適切な負荷量を知るために閾値を探す作業は、様々な負荷量で負荷試験を実行し、その結果を分析しながら段階的に負荷を調整していく必要があります。負荷量の調整ー負荷試験の実行ー結果の分析ー次の負荷量の決定という一連の反復的なプロセスは、今までの経験や対象システムのシステム特性を深く理解する必要があり、機械的な自動化を困難にしてきました。

例えばWebサーバーの負荷試験において、システムが安定して処理できる秒間リクエスト数の上限、つまり閾値を探す場合を考えてみます。
あるWebサーバーでは秒間リクエスト数を増やしていくにつれてCPU使用率が上昇し、その結果としてレスポンスタイムが徐々に悪化し始めるかもしれません。しかし別のWebサーバーではメモリ使用量が特定量を超えた時に、特定の処理でメモリリークが発生し、リクエスト数とは直接的な関係なしに突発的なエラーが発生するかもしれません。

このようにWebサーバーの種類や構成、アプリケーションの特性によって、負荷に対する反応は大きく異なります。このため全システム共通の負荷量で閾値を確認することができず、それぞれシステム固有の挙動を理解する必要があります。
そしてシステム固有の挙動を把握して適切な閾値を判断するためには、類似システムでの負荷試験経験や、対象Webサーバーに対する様々な負荷パターンの検証、さらに結果を分析する推論能力が必要となります。

また他にも、負荷試験結果の分析といった経験に基づく推論作業が多く存在します。

今回TQCチームでは、機械的な自動化が特に困難であった負荷量の閾値探しに着目し、AI技術であるMCPを使用して自動化を行いました。
さらにその前後の業務である負荷試験実行用スクリプトの作成と、負荷試験結果の保存についてもAIによる自動化を実現しました。

3. MCPとは?

負荷の閾値探し作業の自動化に活用した主要なAI技術であるMCP(Model Context Protocol)について、その概要を説明します。

MCP(Model Context Protocol)とは、AIが外部の様々なデータソースやツールにアクセスするためのプロトコルです。負荷の閾値探しにおいては、MCP経由で過去の負荷試験データ、現在のサーバーリソース情報、システム構成情報、負荷試験ツール(k6など)の状態といった情報にアクセスさせることができます。

4. どうやって負荷の閾値探し作業を自動化したのか?

ではどのようにして負荷の閾値探し作業を自動化したかについてお伝えします。
そのためにはまず、簡単な図ですが現在のシステム構成図を紹介します。
(システム構成図にはGeminiとPlaywright、k6に関して記載があると思いますが、そちらの説明も行うと長くなってしまうので割愛します)

特筆すべきは図の2~3と5~6です。
図の2~3で負荷試験実行用スクリプトの作成を行うのですが、ユーザーが「〇〇Webサイトにおいて、トップページへアクセス後、ログインページへ遷移してログインを実行してください。その後ユーザー登録を行うというシナリオで負荷試験を行ってください」と負荷シナリオをAIエージェントに指示すると、AIエージェントはPlaywright-MCPで指示された通りに〇〇Webサイトへアクセスした後、Playwrightから送信されたHTTPリクエストを再現する負荷試験実行用スクリプトを作成します。

そして図の5で負荷の閾値探しを行います。AIエージェントがk6を利用し、様々な負荷パターンを試しながら閾値を探します。例えば負荷シナリオを秒間20回実行した時に負荷がかからなかった場合、秒間30回で実行するといった動作を行います。
この時AIエージェントがレスポンスタイムやエラー率を確認し、負荷がかかっているかどうか判断します。

最後に図の6で負荷試験結果の保存を行い、AIエージェントは処理を終了します。
AIエージェントがMCP経由でファイルシステムにアクセスし、負荷試験結果を指定したディレクトリ配下に保存します。
例えば、送信に成功した合計HTTPリクエスト数、秒間HTTPリクエスト数、エラー率、レスポンスタイムといった負荷試験結果を指定したディレクトリ配下に保存します。

これだけでもすごく助かっているのですが、見て分かる通り今回は単一のAIエージェントで動作する構成になっています。
実は執筆前の技術検証時点では複数のAIエージェントを使用して、以下の構成で動作させていました。

  • 統括AIエージェント:以下AIエージェントの取りまとめ役。それぞれのAIエージェントと対話し、対話結果をユーザーに伝える役割
    • クローリングAIエージェント:クローリング専用AIエージェント。どんなWebページがあるか知る役割
    • 負荷試験実行AIエージェント:負荷試験を実行するAIエージェント。統括エージェントから渡された負荷試験実行用スクリプトを実行して、負荷試験を行う役割
    • ファイルシステムAIエージェント:負荷試験実行AIエージェントから負荷試験結果を受け取り、結果をファイルに保存する役割

今後は複数のAIエージェント構成による運用を行うべく再設計中になるのですが、なぜ今は複数のAIエージェント構成をやめて単一のAIエージェント構成にしているかには理由があります。

複数のAIエージェント構成を採用する場合、AIエージェント同士が対話を行い協力してタスクを進める過程において、予期しない問題が発生したのです。それはAIエージェント間での認識のずれや、意図しないAIエージェントへの間違った指示が発生し、結果として期待通りの動作が得られにくいという問題でした。

MCPの真価は、複数のAIエージェントがMCPツールを使った自律的な連携によって発揮されると僕は考えています。
例えば複数のAIエージェント構成を設計することで、以下の1~2と3を並行して処理することが可能になります。

1: 負荷試験の指示を行う統括AIエージェントはMCP経由でシステム情報を取得し、負荷シナリオ設計AIエージェントに負荷試験実行用スクリプトの生成を指示する。
2: 負荷シナリオ設計AIエージェントと負荷試験実行AIエージェントを協力させて負荷試験の実行を指示する。
3: Webサーバー監視AIエージェントがWebサーバーのリソースやWebページへアクセスして、負荷によってシステム異常が発生していないかユーザーに状況を報告する。

なお複数のAIエージェント構成を構築するにはA2Aという技術を使います。
A2A(Agent2Agent)とは複数のAIエージェント同士が対話し、互いに協力して目標を達成するためのプロトコルです。
このプロトコルを使用することで、AIエージェントがより複雑なタスクを処理できるようになります。
また、独自プログラムを実装せずにMCP同士を連携することが可能になります。
※ A2Aに則ったプログラムは必要です。

こういったこれらの結果を踏まえ、今後は自動化の業務範囲をさらに広げてより高度な負荷試験の実現を目指すべく、複数のAIエージェント構成を採用した上で以下の活用も予定しています。

  • ユーザーとの認識のすり合わせ:ユーザーが「〇〇機能にピーク時の80%の負荷をかけたい」と曖昧な要求を出した場合、MCP経由でシステムの運用データやシステム構成情報を参照し、「ピーク時」や「80%の負荷」を具体的な同時接続数やトランザクション数に落とし込むといった、要求の具体化とユーザーとの共通認識の構築に活用します。
  • テストシナリオの設計:複雑な業務フローの負荷シナリオを設計する際、各APIの依存関係やデータ連携の流れをMCP経由でAIに提供することで、網羅的かつ効率的なテストシナリオ設計に活用します。
  • 負荷試験結果の分析:試験結果やサーバーリソース情報をMCP経由で参照し、AIエージェントが異常の兆候やボトルネック箇所を推論します。
    例えば「特定APIのレスポンスタイムが平均値の3倍になっている」といった異常を認知し、対象APIにボトルネックがあるのではないかとユーザーに助言するよう活用します。

5. さいごに

最後まで読んでいただきありがとうございます。
TQCチームでは一緒に全システムの品質向上を行うメンバーを募集しています。
もっとTQCチームやレバレジーズについて知りたい方は会社説明資料をご覧いただき、ぜひこちらからご応募ください。

レバレジーズのアグリゲートサービス開発に飛び込む魅力とは?

こんにちは、ソリューション開発部でフリーランスHubの開発リーダーをしている吉本です。

レバレジーズでは様々なサービスを開発しており、その中にアグリゲートサービスがあります。

本記事では、レバレジーズで運営しているアグリゲートサービスの「フリーランスHub」と「mikaru」がどのようなサービスなのかを以下の内容をもとにご紹介していきます。

アグリゲートサービスとは

インターネット上には、日々膨大な情報やサービスが生まれています。

ユーザーは複数の情報源やサービスを行き来し比較する必要に迫られ、それは煩雑で非効率的であったりします。

その課題を解決するため、複数の異なるデータソースやサービスから情報を集約し提供するサービスがアグリゲートサービスです。

その中で、レバレジーズで運営している「フリーランスHub」と「mikaru」をご紹介します。

フリーランスHubとは

フリーランスHubは2021年4月にサービスリリースし、「フリーランスのインフラとなるサービス」をコンセプトに、現在はフリーランスエンジニア・クリエイター案件を中心にサービスを展開しているアグリゲートサービスです。

サイト内では、案件を言語や職種別に検索でき、案件の保存や保存した検索条件による新着案件メールを受け取る事などができ、自分にあった案件を見つけることができます。

フリーランスになるならまずフリーランスHubに登録するという世界を目指してサービス拡張しています。

現在は案件以外の提携サービスの紹介なども行っています。

mikaruとは

mikaruは2023年6月にサービスリリースし、医療・福祉領域における求人を中心に全国の人材紹介会社から集約した求人を掲載しているアグリゲートサービスです。 給与や職場環境などの条件で求人の検索ができることに加え、紹介会社の特徴やメリットなどを比較でき、自分にあった求人を見つけることができます。

開発体制について

チーム構成

フリーランスHub、mikaruともに、マーケター、エンジニア、デザイナーの職種が所属して日々開発を進めています。

マーケター、エンジニア、デザイナーの距離が近く、施策構想段階から各職種と相談しながらサービス開発を進めたりということもあります。

データをもとにマーケターとエンジニアで案件のレコメンドロジックを検討するなど、エンジニアも顧客価値の最大化に貢献できることがレバレジーズの強みです。職域を超えて連携することで、よりユーザーに響くサービス開発を実現しています。

エンジニアはフロントエンド、バックエンドの役割分けをしておらず、全員がフロントエンド、バックエンドの開発に携われるため様々な開発言語を経験できます。

また、インフラ構築も自チーム内で行っております。

技術スタック

フリーランスHub、mikaruともにいくつかのサービスがあり、そのサービスごとに適した開発環境を採用しています。

  • フロントエンド:Nuxt.js、Next.js
  • バックエンド:PHP(Laravel)
  • バックグラウンド処理:Go、PHP
  • インフラ:AWS(Aurora、ECS、SQS、OpenSearchなど)
  • データベース:MySQL
  • メール送信:SendGrid
  • バージョン管理:GitHub
  • CI/CD:GitHub Actions

最近では、Amazon Bedrockなどの生成AIをサービスに活用したりしています。

多くの案件・求人が存在するので、以下のような様々なアプローチで処理効率向上を実現しています。

  • バックグラウンドでのSQSを用いた非同期処理
  • データベースのパーティショニング
  • 効果的なキャッシュ活用

やりがい

フリーランスHub、mikaruともにエンジニアが実施した施策がサービス利用者数向上につながりやすいサービスです。

自分たちが実施した施策により、メディアを通じて人々が最良の選択ができる世界の実現に貢献することができます。

フリーランスHubについては、フリーランスエンジニア・クリエイター案件のアグリゲートサービスとしては一定の知名度を獲得してきたため、今後はよりフリーランスのインフラとなるようなサービスを追加し、フリーランスになるならまずフリーランスHubに登録するという世界を実現するためのフェーズに突入します。

mikaruは参入した業界規模が大きく扱う求人数が多いため、よりシステムの処理効率向上とスケールを意識した開発を行い、業界No.1を目指すフェーズです。

フリーランスHub、mikaruとも、単にプロダクトを作るだけでなくそれぞれのフェーズで「どうやって顧客への価値提供するか」を考えながら、マーケターやデザイナーと取り組んでいるため活発な環境です。

終わりに

ここまで読んでいただき、レバレジーズのアグリゲートサービスの魅力を感じて頂けたのではないでしょうか。

レバレジーズでは一緒にプロダクトづくりに取り組むメンバーを募集中です!

ご興味いただけましたら、カジュアル面談を実施しておりますのでお待ちしております。

SaaS開発のリアル:医療介護SaaS「わんコネ」で得た教訓と成功の秘訣

こんにちは、レバレジーズ株式会社医療テック事業部の大島です。

本記事では、医療・介護業界に特化したバーティカルSaaSとして「わんコネ」がどのように開発され、どのような課題を乗り越えてきたのか、その過程と得られた知見をまとめています。厳しい法規制下でのセキュリティ要件や、業務でパソコンを使わない現場との連携など、一般的なSaaS開発とは異なる特有の苦労が存在します。そうした実態と課題解決のポイントを順を追ってご紹介します。

◆わんコネとは?

わんコネは、病院や施設での入退院連携業務を効率化するために開発されたバーティカルSaaS(特定業界特化型クラウドサービス)です。
入退院連携とは、患者が入院している医療機関や介護施設から、別の病院や施設へ転院・入居する際に行われる一連の手続きを指します。具体的には、メディカルソーシャルワーカー(MSW)や退院支援看護師が患者の病状や希望を踏まえながら、受け入れ先の候補を探し、連絡・調整を行う必要があります。

しかし、現在の多くの医療・介護現場では、転院先候補とのやり取りが電話やFAXなど従来型のアナログ手段に依存しており、以下のような課題が発生しやすくなっています。

  • 情報共有の煩雑さ
    複数の施設に問い合わせる際に同じ内容を繰り返し説明しなければならないため、担当者の負担が増える。
  • 進捗の不透明感
    調整がどの段階まで完了しているのか、複数の担当者や関係機関がいつでも把握しづらい。
  • 業務負担の増大
    連絡ミスやFAXの送信漏れなど、人的ミスを誘発しやすく、担当者に精神的なストレスがかかる。

わんコネでは、こうした課題を解決するために、入退院支援業務の進捗管理やコミュニケーションを一元化できる仕組みを提供しています。具体的には以下のような特徴を持ち、MSWや退院支援看護師のみなさまの負担軽減を目指しています。

  1. リアルタイムでの情報共有
  2. 患者の転院進捗や問い合わせ状況を、関係者全員がリアルタイムで把握可能。
  3. 安全性・信頼性の確保
  4. 患者情報など機密性が高いデータを取り扱うため、通信の暗号化やアクセス権限管理などセキュリティ面を万全に整備。
  5. 導入のしやすさ
  6. クラウドベースで提供されるため、お客様でインストールなどの手間をかけずに導入可能。

患者一人ひとりにとって最適な転院先をスピーディーに見つけ、スムーズに移ってもらうためにも、入退院連携を効率化するわんコネは医療・介護現場にとって欠かせない存在になりつつあります。

こうした医療・介護分野特化型のバーティカルSaaSがもたらす最大の利点は、「現場で必要な機能を現場に寄り添った形で提供できる」ことです。一見するとニッチに見えるかもしれませんが、非常に大きな社会的インパクトがある領域でもあり、現場レベルから効率化を図ることは、少子高齢化社会において重要なテーマといえます。

◆医療介護業界の特徴と課題

医療・介護分野は超高齢社会の日本において、今後ますます重要性が高まる領域です。しかし、ICTの導入が遅れていることや複雑な法規制が存在することなどから、他業界では当たり前に進んでいるデジタル化が進まず、人力による属人的な業務が数多く残っているのが現状です。ここでは代表的な課題を4つ取り上げ、それぞれ詳しく解説します。

  1. ICT化の遅れとアナログ文化
  2. 電話・FAX・紙台帳が今なお主流。情報を重複入力する非効率や伝達ミスが日常的に発生しています。
  3. 超高齢化による業務量の急増
  4. 患者・利用者は年々増加する一方で、MSWや看護師は慢性的に不足。転院調整に割く時間と負荷が膨らんでいます。
  5. 複雑な法規制・セキュリティ要件
  6. 個人情報保護法や医療法などに厳格に準拠する必要があり、高いセキュリティ設計と運用体制が導入のハードルになります。
  7. 属人的フローと暗黙知
  8. 病院ごとに手順がばらつき、業務ノウハウが個人に依存。新人や異動者がすぐに戦力化しにくい構造的課題があります。

◆わんコネが解決に挑む課題

1. 施設データの“ばらつき”と更新負荷

  • 病院・介護施設ごとに項目名や表記が統一されておらず、空床や診療科情報を最新の状態で保つのが困難。
  • MSW が電話・FAXで都度確認するため、転院調整に時間がかかる。

2. 高いセキュリティ水準と複雑なアクセス制御

  • 機密性の高い情報を取り扱うため、業法や業界ガイドラインなどにより高いセキュリティ水準が求められる。
  • 病院と施設の多職種ユーザーが同じデータを扱うため、細かな権限設定と監査証跡が求められる。

3. 病院ごとに異なる属人的フロー

  • 入退院調整の手順や判断基準が施設・担当者ごとにばらつき、暗黙知に依存。
  • 進捗管理や帳票作成が個人任せになり、新人や異動者は即戦力になりにくい。

◆わんコネの開発内部 ─ 課題と解決のリアル

わんコネは「医療・介護業界における入退院連携業務を効率化する」という大きなミッションを掲げ、日々開発と運用を続けています。 その過程では、業界特有の複雑さや法規制、電話やFAXなどを用いた属人的な業務など多くの課題に直面しました。ここでは、代表的な開発上の課題とその解決策、さらに得られた教訓をご紹介します。

1. 施設データのばらつきと最新性

課題

  • 病院・施設情報(病棟構成、病床数、診療科、介護サービスなど)が多岐にわたり、表記や更新頻度が統一されていない。
  • 入退院連携をスムーズに行うには最新かつ正確な施設情報が必要だが、従来は利用者が手作業で都度確認していた。

解決策

  1. データモデルの設計と自動整形
  2. データベース側で標準化のためのスキーマを設計し、機械的に表記ゆれなどを修正する仕組みを導入。
  3. 継続的なデータ更新フローの構築
  4. 定期的に施設へ更新を促すフォームやAPIを用意し、担当者自身にメンテナンスを行ってもらう運用を実施。
  5. 検索・マッチングアルゴリズムの最適化
  6. 空床数や診療科、地域など多種多様な条件を高速かつ正確に検索できるよう、インデックスやキャッシュを最適化。

得られた教訓

  • 完璧なデータベースを最初から目指すのではなく、施設スタッフが継続的に更新しやすい仕組みづくりが重要。
  • 現場が「使いたくなる」UXやインセンティブを提供することで、データの鮮度を保ちやすくなる。

2. セキュリティと法規制への対応

課題

  • 機密性の高い患者情報を取り扱うため、医療・介護現場ごとに厳格なルールがある。
  • 病院と介護施設が同じシステム上で情報を閲覧・編集するため、アクセス権限を細かく制御しなければならない。
  • 業法や業界ガイドラインへの対応。

解決策

  1. 権限管理とアクセスコントロールの設計
  2. 患者データの閲覧範囲を設計観点に盛り込む
  3. セキュアなクラウド基盤の選定と設計
  4. 医療データに対応可能なクラウドサービスを利用し、通信の暗号化、バックアップ、DR(災害復旧)対策を整備。
  5. 定期的なセキュリティ診断の実施
  6. レバレジーズ内部の品質管理チームによる定期的なペネトレーションテスト(模擬侵入テスト)や脆弱性診断を実施。
  7. 業界ガイドラインへの対応
  8. 厚労省ガイドラインには様々なセキュリティ要件の記載がありますが、例えば、今後必須化される予定になっている2要素認証にも先行して対応済み。このように順次ガイドラインへの準拠を実施しております。
  9. 法規制・ガイドライン対応のドキュメント化
  10. サービスに関連する法規制やガイドラインをドキュメント化し、アップデートがあるたびに対応方針を更新。

得られた教訓

  • 技術面だけでなく運用面のルール整備やユーザーへの周知が不可欠。
  • セキュリティと利便性はトレードオフになりがちなので、エンジニア・プロダクトマネージャー・法務/セキュリティチームが密接に連携し、バランスを取ることがポイント。
  • 設計観点だけではなく、ロールベースアクセス制御(RBAC:Role-Based Access Control)のような仕組みが今後必要

3. 属人化された業務プロセスの吸収

課題

  • 病院や施設によって入退院調整フローが異なり、属人化が進みやすい。
  • MSWや看護師など個々のノウハウで業務が成立しているため、新人が担当すると一気に効率が落ちる。
  • 「進捗管理」「メッセージのやり取り」「患者情報の帳票作成」など多岐にわたる要素を、どこまでシステム化するかが難しい。

解決策

  1. プロセスの可視化とフロー設計
  2. ユーザーインタビューを重ねて入退院調整の共通項を抽出し、ワークフローを定義することで「誰がいつ何をするのか」を明確化。
  3. コラボレーション機能の拡充
  4. チャット機能、メモ機能を取り入れ、複数担当者がリアルタイムで連携しやすい仕組みを整備。
  5. 業務手順・帳票のテンプレート化
  6. ベテランスタッフの暗黙知を整理し、必要項目や操作手順をテンプレート化。施設ごとの細かなカスタマイズも許容する柔軟性を持たせる。

得られた教訓

  • フローが複雑な業務ほど、無理に100%標準化するよりも、ある程度のカスタマイズを認めることで導入ハードルを下げられる。
  • システム導入と並行してユーザートレーニングや運用ルールの策定を行うことで、属人化の解消が加速する。

◆まとめ:課題解決型アプローチが生み出す医療介護SaaSの価値

わんコネは、医療・介護業界における入退院支援の非効率や属人化という根本的な課題に対して、4つの大きなテーマを軸に解決策を追求してきました。

これらの取り組みを通じてわんコネが得た大きな学びは、技術はあくまで課題解決の“手段”であり、現場の声とニーズを起点に柔軟に選択・最適化していくことが重要だという点です。医療・介護のように法規制が厳しく保守的な分野では、現場に馴染みながら着実に業務を改善するアプローチが求められます。

  • 属人化の解消には、技術だけでなく現場フローの深い理解とユーザーの声の反映が不可欠。
  • 初期段階からセキュリティ要件を組み込み、やり取りする個人情報を最小限に抑える設計を行うことで、導入障壁を下げられる。
  • 既存業務を尊重しながら小さなステップで新しい仕組みを定着させるハイブリッド開発は、保守的な業界との相性が高い。

わんコネは今後、より多くの医療機関・介護施設にご利用いただき、業務効率化のご支援ができるよう、さらなる機能拡充を計画しています。患者様の命や生活の質を最優先に考える医療・介護の現場でこそ、「現場の負担軽減」と「業務効率化」を両立するデジタルソリューションが求められています。わんコネはそのニーズに応え、社会全体に貢献するサービスとして、これからも着実に進化し続けます。

現在、私たちと一緒に挑戦してくださるエンジニアを募集しています。ご興味のある方はぜひ採用サイトをご覧ください。

hrmos.co

僕が負荷試験を担当する…ってコト!?k6使ったら泣いちゃうの回避できた話

はじまり

はじめまして、テクノロジー戦略室TQCチームの柳澤といいます。ちいかわ大好きエンジニアをしています。 TQCとはあまり聞き慣れない名前かもしれませんが、Total Quality Controlの略で全社的なシステム品質管理を担当しており、負荷試験や脆弱性診断などのテストを通じて各システムの品質向上に取り組むことも多いです。

かくいう私も負荷試験を担当することが多くなり、どうやって負荷試験をやっているのかと聞かれることが増えてきたため、自分が初めて負荷試験を担当した時を思い出しつつチームの負荷試験実施方法についてご紹介できればと思います。

さて、あれはTQCチームに入って数ヶ月、仕事にも慣れてきた頃…突然先輩に言われました。

「そろそろ柳澤さんに負荷試験やってもらおうかな!」

なんということでしょう。前職で負荷試験を担当していたのはエンジニア歴が20年くらいの熟練エンジニアばかり。チームに入ってきたばかりの私がそんな難易度高そうな仕事ができるだろうか。負荷試験をやったことがない私には最終的に失敗して「泣いちゃった!」なんて言われる未来しか見えません。

「わァ…あ…」なんとか言葉を捻り出し、申し訳ありませんがお断りしますの意を伝えたところ、「k6だったら簡単に負荷試験できるから大丈夫ですよ!ブラウザで見た内容をそのままテストシナリオにできるんで!」え、そうなの?それならなんとかなるかな…。こうして頭の中で「なんとかなれーッ!」と叫びながら実施する負荷試験が始まったのでした。

k6とは

タイトルにもある通り、TQCチームはk6というオープンソースの負荷試験ツールを使用しています。Go言語で作られていてパフォーマンスが良いのが特徴ですが、私たちエンジニアにとって嬉しいのは、テストシナリオをJavaScriptで書けること。普段フロントエンドやNode.jsで慣れ親しんだ言語で書けるので、学習コストが低く、直感的にシナリオを組み立てることができます。

主な特徴はこんな感じです。

  • 開発者フレンドリー: JavaScriptでシナリオを書けるほか、CLIツールが非常に使いやすいです。
  • パフォーマンス: Go言語製のため、少ないマシンリソースで高い負荷を生成できます。
  • 豊富な連携機能: 実行結果をGrafanaなどの外部サービスに連携すればリッチな可視化もできます。

これまで負荷試験というと、専門的なツールや複雑な設定が必要なイメージがありましたが、k6は「開発者が、開発プロセスの中で継続的に実施すること」を重視して作られているため、私のように初めて負荷試験を担当するような人でもとっつきやすい設計になっているのです。

har-to-k6を使ってテストシナリオを効率的に作る

先輩が言っていた「ブラウザで見た内容をそのままテストシナリオにできる」の正体がこれ、har-to-k6です。これは、ブラウザの開発者ツールで記録した通信内容(HARファイル)を、k6のテストシナリオに変換してくれる魔法のようなツールです。 使い方はとっても簡単。

1. ブラウザで操作を記録する
  • Firefoxの開発者ツールを開き、「Network」タブを選択します。(Chromeをご利用の方は適宜読み替えてください)

  • 設定ボタンから「Persist Logs」にチェックを入れ、記録を開始します。

  • 負荷試験の対象としたい一連の操作(例:ログインして、見たい記事へのリンクをクリックするなど)を実際に行います。

2. HARファイルを保存する
  • ここまでの操作でネットワークログが貯まったはずなので、それらを負荷試験対象サイトのドメインのログだけに絞り込むため、「Filter URLs」の枠内に「domain:hoge.jp」のように入力しておきます

  • ログの絞り込みができたらネットワークログが表示されているところで右クリックし、「Save all as HAR」を選択してHARファイルを保存します。

3. k6スクリプトに変換する
  • 保存したHARファイルをhar-to-k6コマンドで変換します。
har-to-k6 your-file.har -o loadtest.js

たったこれだけで、実際のブラウザ操作に基づいたリアルなテストシナリオの雛形が完成します。あとは生成されたloadtest.jsを少し手直し(不要なリクエストを削除したり、動的な値をパラメータ化したり)するだけで、すぐに負荷試験を開始できるのです。APIの仕様書を片手に、一つ一つリクエストを組み立てる…なんて手間が不要なので喜びがあります。

次のようなコマンドでテストシナリオを実行するだけで負荷試験が動き始めます。

k6 run loadtest.js

しかし、このままでは負荷試験としては十分ではありません。実際にこのまま実行した方はお気づきだと思うのですが、並列実行数=1、実行シナリオ数=1となるため負荷が全くかかっていない状態にあることが分かります。 ここでloadtest.jsのソースコード中のoptionsを以下のように変更してみましょう。

export const options = {
  discardResponseBodies: true,
  scenarios: {
    contacts: {
      executor: 'shared-iterations',
      vus: 20,
      iterations: 300,
      maxDuration: '300s',
      gracefulStop: '30s',
    },
  },
}

ここで重要なのはvusiterationsです。

vus: Virtual Usersの略。サイトに同時アクセスしているユーザー数と考えて良い。

iterations: 負荷試験シナリオが全体として回った数。300と指定するのであれば全VUsがシナリオを合計300回実行完了したら終了となる。

この2つを使いこなせれば多くの負荷試験課題に取り組めるようになります。

実行結果の集計がわかりやすい

k6は、実行後の結果サマリーが非常にわかりやすくまとまって出力されるのも魅力です。 実際にこちらの画像のような結果が標準出力で表示されます。

http_req_duration(リクエストの応答時間)の平均(avg)、中央値(med)、最大(max)、p(95)(95パーセンタイル値)などが一目でわかり、システムの性能を多角的に評価できます。

また、先述のvusとiterationsについては画像下部のvus_maxと(紛らわしいですが)iterationsに数値が反映されていることが分かると思います。

実際の運用のお話

さて、ここまでで負荷試験を実施して結果を出す、というところまではできるようになるはずです。そうなると、次はどうやって使えば効果的な負荷試験が実施できるのかという話になってきます。 あくまで私の経験的な持論にはなるのですが、負荷試験は試験回数を増やして負荷状況を立体的に把握していくということが大事になります。

ここで再びvusiterationsに焦点を当て、その値を調整しながら何度も負荷試験を実行してみましょう。例えばvus=10、iterations=100で実行したらシステムは負荷が小さくサクサク試験が動いていくはずです。 しかし、vus=100、iterations=500にして実行してみた時はどうでしょうか?あるいはvus=300、iterations=1000にして実行してみてください。かなり負荷が高くなって完了まで時間がかかってきたり、あるいはiterationsの完了数が全く増えないなどの変化が見えてくるのではないでしょうか。

もし想定通りの負荷状況になっていなければ、そこには何かボトルネックとなる要素があるはずです。例えば実はDBが負荷に耐えられなくなって処理が止まってしまっていたり、ネットワークのトラフィックが捌ききれなくなっていたりなど様々な可能性があります。このような隠れていた要素を明らかにすることに私は負荷試験の価値があると考えます。

もちろん、同時アクセス数=100に耐えられることが確認できればOK、というような要件の場合は単純にvus=100で実行してhttp_req_durationが大きく増えたりしないことが確認できれば完了にしても良いかもしれませんが、先述のような負荷状況の変化を把握できるようにしておけば、過剰でも過小でもない最適なインフラリソースを実現できているかといった結論に辿りつけるため、実際に負荷試験を始める方はまずはここを目指していくのが良いと思います。

気になる部分と課題

k6は素晴らしいツールですが、使っていく中で「こうだったらもっと良いのに…」と感じる部分もありました。

複数のシナリオやvus設定で実行して結果を一覧で見たい時に辛い

負荷試験を進めていくとvusを小さい値から大きい値にして変化を見たり、ユースケースに従って複数のテストスクリプトを作り実行するということが発生すると思いますが、そうなったときに前述の画像のような結果出力だけだと、まとめるのに苦労するようになります。

Grafanaなどの外部サービスと連携させていれば複数シナリオをまとめて把握するのも楽になるのかもしれませんが、私たちのチームではまだ連携するまでには至っていなかったため、標準出力の結果をスプレッドシートにまとめて関係者には共有していました。しかし、作業としては大変だったため、ここも自動化することが課題となっています。

認証情報の更新が大変

Webアプリケーションの負荷試験では、ログインして取得した認証トークン(JWTなど)を後続のリクエストに含める必要がありますが、このトークンの有効期限が短い場合、テストの途中でトークンが無効になっても自動で更新する仕組みは標準では提供されていないため、「リクエストが失敗したらトークンを再取得してリトライする」ということをなんとか実現していました。しかし、毎回それをやるのは手間なのでプラグインなどを利用してログイン情報の自動取得を実現したいと思っています。

また、ログイン情報の自動取得が実現できれば多数の別個のユーザーがWebアプリケーションに負荷をかけるというシナリオを作成できるようになるため、かなり負荷試験の幅が広がると考えており、それが今後解決するべき課題となっています。

おわりに

「負荷試験」と聞いただけで震えていた私ですが、k6har-to-k6のおかげで、なんとか負荷試験を完了させ、無事にタスクをやり遂げることができました。特に、実際のブラウザ操作を元にシナリオを自動生成できる手軽さは、負荷試験初心者にとって本当に心強い味方です。

もちろん、認証周りのように少し工夫が必要な場面もありますが、基本的な負荷試験であれば驚くほど簡単に始められます。もし、あなたがかつての私のように「負荷試験こわい…」と思っているなら、ぜひk6を試してみてください。

最後になりますが、TQCチームはシステム品質の向上を目指し全社的に活動できるメンバーを募集中です!システムの品質向上やテストに関心がある方はカジュアル面談もできますのでお気軽にご連絡ください!色々とお話しできることを楽しみにしています。

hrmos.co