Uzabase for Engineers

https://tech.uzabase.com/

スピーダ, NewsPicksなどを開発するユーザベースのTech Blog & エンジニア採用サイト

フィード

記事のアイキャッチ画像
組織図はTreeじゃなかった 〜データ構造をDAGに捉え直した話〜
はてなブックマークアイコン 1
Uzabase for Engineers
はじめに こんにちは。株式会社ユーザベース Speeda事業の伊藤、田中、都築、濱岡です。 私たちは現在、Speeda AI Agent の開発に携わっています。本記事では、その中の「組織図」を表示する機能を開発する過程で、データ構造を「Tree」から「DAG(有向非巡回グラフ)」に捉え直した話を共有します。 組織図機能について Speeda AI Agent では、企業分析を進めるためのワークフローをいくつか提供しています。その中の一つが「重要人物を特定する」というワークフローです。 このワークフローでは、対象企業の組織構造と、その中の重要人物を関連付けて把握することができます。その中で公表…
6時間前
記事のアイキャッチ画像
今更ながらDPO(Direct Preference Optimization)に入門してみた
Uzabase for Engineers
はじめに DPOを利用する上での前準備 選好データセットの準備 参照モデルを準備する DPOの損失関数 どういう時にDPOを使うのが良いのか? DPOの良い面 感情制御とスタイルの高い忠実度 事実に関する正確性と堅牢性 安全性と有害コンテンツの抑制 DPOの課題 冗長性を増大させる傾向がある 多様性が失われる(Diversity Collapse) 数学・コード生成における不安定性 DPOのunslothによる実装方法 まとめ 参考文献 🎓 学生の方へ | 1day インターンイベント開催! はじめに 株式会社ユーザベース スピーダ事業のMLEチームです。今回は今更ながらDPO(Direct …
6日前
記事のアイキャッチ画像
Agentをどうやって早く安く良くしたか 〜プロンプトキャッシュ・State戦略〜
Uzabase for Engineers
はじめに 企業レポートの生成を行うエージェントの作成を行う中で、レポート生成にかかる時間・費用・レポートの質の改善に取り組みました。 改善点を行う中で、Stateやプロンプトキャッシュ周りのAgent Platform(旧VertexAI)の仕様について深く知ることができたので記事にしています。 改善前の状況 企業レポートの作成を行うエージェントは以下のような流れで動いていました。 成果物はレスポンスに込め、次のエージェントにコンテキストとして渡し、エージェントは与えられたコンテキストとプロンプトを元に生成を行います。 レポートの質を高めるため、「執筆」→「レビュー」→「編集」を行うエージェン…
12日前
記事のアイキャッチ画像
Vertex AI のスループット上限で 429 を踏んだ話
Uzabase for Engineers
はじめに こんにちは。株式会社ユーザベースの石井です。 gemini-3-pro-image-preview の呼び出しに対して 429 Too Many Requests が返ってくる事象に遭遇しました。 問い合わせを通じてVertexAIのスループットの上限まわりの仕様の理解が深まったため記事にしております。 背景:Speeda AI Agent と「アカウントプランを作成する β版」機能 私たちが開発している 「Speeda AI Agent」のワークフローのひとつに「アカウントプランを作成する β版」という機能があります。これは、各種開示資料の要約や課題の情報をベースに、商材の提案資料…
19日前
記事のアイキャッチ画像
数式はシンプルなのに、時価総額はなぜこんなに難しいのか
Uzabase for Engineers
自己株式数・発行済株式数・取引不在の現実に向き合った数ヶ月 こんにちは。株式会社ユーザベースの相川です。 この数ヶ月、自己株式数の取得・登録と、時価総額の算出ロジックに取り組んできました。 振り返ると、やっていたのは機能追加というより、市場データの複雑さを、壊れない業務ルールに翻訳する作業でした。 時価総額の式はシンプルです。 時価総額 = (発行済株式数 - 自己株式数) × 株価 ただし実務では、この3要素が同じ時間軸で揃っていることはほとんどありません。 この「式の単純さ」と「データの複雑さ」のギャップが、実装の本質的な難しさでした。 取引がない期間が、時価総額計算を難しくする 新興市場…
24日前
記事のアイキャッチ画像
「インサイドセールスだから」という境界線を引かない。AIを活用した業務変革とAIに対する想い。
Uzabase for Engineers
こんにちは。ユーザベースの細田と申します。 私は2025年にユーザベースに入社して以来、インサイドセールス(IS)としてエンタープライズ企業様をはじめとしたさまざまな企業様の深耕や開拓に従事しております。 この記事では、私がISとして取り組んでいる生成AIを活用した業務変革や、私がなぜこれほどまでに生成AIに情熱を注いでいるのか、その想いについてお話しできればと思います。 AIが単なる業務効率化に留まらず、いかにして顧客への価値提供のあり方や私たちの働き方、そして生き方を変革しうるのかをご紹介できれば幸いです。 なぜ今、インサイドセールスに生成AIが必要なのか? ISという仕事は一見シンプルに…
1ヶ月前
記事のアイキャッチ画像
本番稼働中のDBにNOT NULL制約かつデフォルト値のないカラムを追加する
Uzabase for Engineers
はじめに 株式会社ユーザベース スピーダ事業 竹澤です。 この記事の内容としては、本番稼働中のAPIを止めずに、APIが参照しているDBにNOT NULL制約のあるカラムを追加する1つの方法の紹介です。 私はさまざまなSPEEDAのマイクロサービスから財務値を取得できるような、コアな財務APIの開発に携わっていました。 当初の設計では変則決算を考慮していなかったのですが、開発を進めていくうちに変則決算も必要になりました。 アプリケーションの構成 まずは、ここでこの財務APIの構成を紹介します。 本記事で不要な部分に関しては、省略しています。 ユーザーがAPIを叩くと、アプリケーションは財務AP…
1ヶ月前
記事のアイキャッチ画像
CursorでSalesforce Hosted MCPに接続!スクラッチ環境構築でのエラーと解消法
Uzabase for Engineers
はじめに こんにちは。株式会社ユーザベース Speeda事業の佐藤、小原、阿波連、長岡です。 *1 2026/04/14にGAされた Salesforce Hosted MCP Servers について、スクラッチ環境への接続で一部ハマりどころがありました。 本記事では、接続方法、接続トラブルの原因とその具体的な回避策について、備忘録を兼ねて共有します。 はじめに 手順 遭遇したエラーとその回避策 MCPサーバーでできること おわりに 参考文献 手順 Cursorからスクラッチ組織のMCPサーバーに接続していきます。 スクラッチ組織の作成方法は割愛します。 公式ドキュメントの手順はこちらです。…
1ヶ月前
記事のアイキャッチ画像
外部API呼出しにおける「Too many files open」の回避とHTTPクライアントの適切な管理
Uzabase for Engineers
こんにちは。株式会社ユーザベースの相川と申します。 今回は分散システムにおいて、一見関係のない「DBエラー」が「ファイルディスクリプタの枯渇」を引き起こし、最終的にバッチ処理全体に波及したケースがあったので、その内容をお話しします。 本記事では、実際に発生した障害事例をベースに、Java/KotlinアプリケーションでHTTPクライアントを扱う際の注意点と、コネクション管理の重要性について解説します。 1. 発生した事象 マイクロサービス構成において、以下の連鎖的な障害が発生しました。 最背後のDBエラー: Service-C のDBで外部キー制約エラーが発生し、レスポンスが遅延・エラー化。 …
1ヶ月前
記事のアイキャッチ画像
A2UI — エージェントがUIを"喋る"時代
Uzabase for Engineers
はじめに こんにちは。Speeda Product Teamの板倉です。 AIエージェントに「直近3年の売上推移を教えて」と聞いたとき、こんな回答が返ってきた経験はないでしょうか。 2022年の売上は120億円で、前年比+8%の成長でした。 2023年は135億円で前年比+12.5%、2024年は128億円で前年比-5.2%となっています。 2023年に大きく伸びた要因としては…(以下、長文が続く) 数字の羅列をテキストで読まされても、傾向はすぐには掴めません。これがテーブルやチャートで返ってきたら、一目で把握できるはずです。あるいは「条件を絞り込みたい」と思っても、テキストの往復で一つずつ指…
1ヶ月前
記事のアイキャッチ画像
【Skew Protection】Server Actionがクライアント-サーバー間のバージョン不一致でエラーになる問題をIstioのVirtual Serviceで解決した話
Uzabase for Engineers
はじめに みなさんこんにちは、株式会社ユーザベース エキスパートプロダクト開発チームの佐藤一徹です。 私たちのチームでは、 Speedaのエキスパート事業を支えるプロダクト群を開発しており、そのうちの一つとして社員がエキスパートを管理するための社内ツールを運用しています。 本記事では、Next.jsのServer Actionにおけるversion skew問題に対して、 Kubernetes + Istioのルーティングで「クライアントと同じバージョンのサーバーにリクエストをルーティングする」仕組みを実装した話を共有します! 問題 最近、ビジネスサイドの方からこんな問い合わせがありました。 …
1ヶ月前
記事のアイキャッチ画像
シン・リスコフの置換原則 〜現代風に考えるSOLIDの原則〜
Uzabase for Engineers
speakerdeck.com SOLID原則の中でも最もイメージしづらいとされるLSPですが、実は「オープン・クローズドの原則(拡張に対して開き、修正に対して閉じる)」を守る上で、オブジェクト指向において非常に重要な概念です。 1. LSPの核心は「振る舞いの契約」 LSPを一言で表すと「サブタイプ(子)はスーパータイプ(親)の振る舞いの約束を破ってはならない」という契約です。 静的型付け言語のコンパイラは「型」が合っているかは見てくれますが、「振る舞い」が守られているかまではチェックしてくれません。そのため、これはコンパイラではなく人間が意識して守るべき契約となります。 2. 陥りがちなア…
2ヶ月前
記事のアイキャッチ画像
Kotlin 2.3 × Java 25 への刷新:Maven 構成の見直しで「最新 LTS」の恩恵を最大化する
Uzabase for Engineers
こんにちは。先日、プロジェクトのビルド基盤を最新の Java 25 (LTS) と Kotlin 2.3 へと一気に引き上げ、あわせて pom.xml の大掃除を行いました。 最新の言語機能を取り入れるだけでなく、マルチモジュール構成における「設定の重複」を排除したことで、保守性が格段に向上しました。その詳細を共有します。 1. なぜやったのか(背景) Java 25 という新たな LTS(長期サポート)版が登場したことを受け、プロジェクトのランタイムを最新化することを決断しました。 これまでの課題: 設定の散乱: 各モジュールの pom.xml に似たようなコンパイラ設定が重複し、変更が漏れ…
2ヶ月前
記事のアイキャッチ画像
Salesforce 開発を 組織駆動 から ソース駆動 に移行してみた
Uzabase for Engineers
はじめに こんにちは、ユーザベース Sales System Engineering Teamの竹本(あだ名:たけたけ)です! 前回の記事 では、僕たちユーザベースのSalesforce構成をご紹介しました。 その中で、スクラッチOrgを用いたソース駆動開発へ転換を目指す…と締めくくりましたが、ようやく形になってきたので今回はそのストーリーをお伝えできればと考えています。 このブログを通して、よりよいSalesforce 開発体験を作る議論のきっかけになると嬉しい限りです。 なぜ組織駆動開発 > ソース駆動開発に移行したかったのか ① 変更セットでのデリバリー運用の限界を迎えたため ② Dev…
2ヶ月前
記事のアイキャッチ画像
脱JSON色付け職人!フロントエンドにおける「ドメイン」の考え方
Uzabase for Engineers
この記事は社内のLTで発表したものです。 フロントエンドにおけるドメインモデリングについてあまり記事がないため2つのパートにわけて解説をしました。 今回はフロントエンドとサーバーサイドのドメインの違いにフォーカスして解説しています。 参考文献 WEBフロントエンドにおけるソフトウェア設計の考察 - Speaker Deck 現場で役立つシステム設計の原則 | 技術評論社 エリック・エヴァンスのドメイン駆動設計(Eric Evans 今関 剛 和智 右桂 牧野 祐子 今関 剛)|翔泳社の本 🎓 学生の方へ | 1day インターンイベント開催! Speeda ソフトウェアエンジニア職 のインター…
2ヶ月前
記事のアイキャッチ画像
ソフトウェアを 「道具」にする技術 〜OOUIとAIが交差するフロントエンドのドメインモデリング〜
Uzabase for Engineers
この記事は社内LTで発表したものです。 AI時代においてこれまで銀の弾丸とされていたOOUIでないUIが多く現れています。 この中でどのようにソフトウェアとしての価値を生み出せばよいのかを解説します。 前回の発表でフロントエンドのドメインモデリングは「操作」と「表示」という話をしました。 この内容がなかなかイメージがしづらいという方にとってフロントエンドのドメインモデリングがより深く理解できるよう構成しました。 参考文献 オブジェクト指向UIデザイン | 技術評論社 モードレスデザイン 意味空間の創造 | 株式会社ビー・エヌ・エヌ 🎓 学生の方へ | 1day インターンイベント開催! Spe…
2ヶ月前
記事のアイキャッチ画像
「思考停止」から「意志駆動」へ — AIサークルで見つけた「向き合い方」の力
Uzabase for Engineers
はじめに はじめまして。ユーザベースのOperation組織で業務効率化やAIカルチャーの浸透を推進している久保田です。 Operation領域では生成AIの影響力が急速に大きくなっています。異常検知や事務作業の自動化、問い合わせへの自動回答など効率化できる白地が大きく、効率化を検討する上では不可欠なツールの一つです。 その中で、生成AIとの付き合い方について気づいたことがあります。それは、『物事への向き合い方次第で、個人や企業が生み出す価値に大きな影響があるのではないか』ということです。 この記事では、専門のエンジニア集団ではない私たちが、より価値を生み出せるようなAIとの向き合い方をどのよ…
2ヶ月前
記事のアイキャッチ画像
「顧客理解」を仕組み化する。AIとの壁打ちが生む「腹落ち」した提案と、『UB仮説作るくん』開発の裏側
Uzabase for Engineers
プレイヤーとして、イネーブルメントとして感じた「CSの課題」 まず簡単に自己紹介ができればと思います。ユーザベースの谷内(やち)と申します。 私は2020年にユーザベースに入社以来、インサイドセールスやフィールドセールスのプレイヤー、実務イネーブルメントを経て、現在はカスタマーサクセス(CS)本部のアカウントマネージャーとして大手企業の営業戦略支援や事業開発支援に従事しています。 www.uzabase.com 私たちの組織は今、大きな転換期にあります。 かつての事業部ごとの縦割り組織から、プロダクトを横断して一貫した顧客体験を提供する組織への統合を進めています。CSの役割も「特定のプロダクト…
2ヶ月前
記事のアイキャッチ画像
Salesforce トリガーの開発・メンテナンスを楽にするためのフレームワークの設計と実装
Uzabase for Engineers
はじめに こんにちは、株式会社ユーザベース スピーダ事業 Sales System Engineering Teamの村松(あだ名:MJ)です。 ユーザベースのSalesforceのアドミン/デベロッパーを担当しています。 今回は私たちのチームで用いているトリガーフレームワークについてご紹介します! Salesforce開発において、トリガーの管理は規模が大きくなるほど複雑になります。 オブジェクトごとにトリガーが増え、処理順序の制御やメンテナンスが困難になるというのは、 多くの開発チームが直面する課題かと思います。 私たちのチームでも、開発者ごとの設計でトリガー・トリガーフローが実装されてお…
2ヶ月前
記事のアイキャッチ画像
AIを使い倒して気づいた、人間の役割の変化 — コパイロットからメインパイロットになるのか?
Uzabase for Engineers
こんにちは。ユーザベースでアナリストとしてレポート執筆をしている堀籠です。 アナリスト業務でも、生成AIはここ1~2年で欠かせないツールになってきています。企業や業界の下調査、フレームワークに沿った分析など、ハルシネーションには常に注意しながらもレポート執筆の様々な場面で使用しています。 その中で、最近は、ある変化に気づくようになりました。それは、AIの能力が上がるにつれて、人間の役割が変わってきているということです。 この記事では、業務でのAI活用と、趣味で行っているゲーム開発でのAI活用の両方を通じて、この1年で自分とAIの役割分担がどう変わったかを振り返ります。 業務におけるAI活用の壁…
2ヶ月前
記事のアイキャッチ画像
Meet UB Tech #63「AI推進を文化に変える!ユーザベース社内イベント『第二回生成AIコンテスト』の舞台裏」を公開しました
Uzabase for Engineers
こんにちは、Uzabaseの角岡です。 ユーザベースのエンジニアカルチャーをゆるっとお伝えするPodcast、Meet UB Tech。 #63のテーマは、「AI推進を文化に変える!ユーザベース社内イベント『第二回生成AIコンテスト』の舞台裏」です。 ユーザベースでは「AIネイティブカンパニー」を目指し、AIと共に高付加価値を創出する仲間が集い、共に進化する組織づくりに取り組んでいます。 その取り組みの一つとして「生成AIコンテスト」を2024年より開催しており、昨年12月に二回目の開催をしました。 今回は、一昨年の生成AIコンテストから審査員及びユーザベース内のAI推進をリードをされている丸…
4ヶ月前
記事のアイキャッチ画像
グローバルで加速するAI活用文化。ユーザベースの「生成AIコンテスト2025」開催レポート
Uzabase for Engineers
1. コンテストの概要 ユーザベースでは、生成AI技術の実践的活用を促進し、メンバーの創造性と問題解決能力を引き出すことを目指しています。これまで取り組んできたAI活用の成果を可視化する場の一つとして、「生成AIコンテスト2025」を開催しました。 約30組がエントリーした1次審査から、13組が決勝プレゼンテーションへと進出。当日はユーザベースの丸の内オフィスにて、多くのメンバーが応援に駆けつけました。また、代表取締役CEOの稲垣をはじめとする役員陣が審査員としてプレゼンテーションを評価。白熱した時間となりました。 組織レベルへの進化を目指す6つのゴール 本コンテストでは、以下の6つの目的を掲…
5ヶ月前
記事のアイキャッチ画像
AIが拡げるフィードバック体験〜MCPで人事評価データを安全に活用する〜
Uzabase for Engineers
はじめに こんにちは。ユーザベースのCorporate Engineering組織でソフトウェアエンジニアをしている岩本です。 前回の記事では、社内人事評価システム「winwin」の開発の裏側についてお伝えしましたが、今回の記事ではAIを使った評価フローについてお伝えできればと思います。(前回の記事をまだ読まれてない方は、ぜひこの機会に読んでみてください!) winwinのリリース後、使いやすいシステムができたことで多くの社員から好評をいただきました。しかし、「使いやすい」だけで終わらせるのはもったいない。そもそも評価システムを内製開発したことで、人事評価データを自社で確実に管理できるという前…
5ヶ月前
記事のアイキャッチ画像
CDK for TerraformによるSnowflakeインフラ管理
Uzabase for Engineers
ソーシャル経済メディア「NewsPicks」のエンジニアの中村です。最近はデータ基盤の開発・運用や、プロダクト開発におけるAI利用のためのルール整備・ツール開発などに取り組んでいます。 NewsPicksではデータ基盤としてSnowflakeを運用しており1、Snowflakeのインフラ管理を行うためのツールとしてCDK for Terraform(CDKTF)を利用しています2。 本記事では、CDKTFを使ったSnowflakeインフラ管理の概要と、実際に運用して感じたメリット・デメリットについて紹介します。想定読者はSnowflakeの運用に携わる方のうち、TerraformもCDKTFも…
5ヶ月前
記事のアイキャッチ画像
NewsPicks AI 記事読み上げの開発:TTS モデルの選定
Uzabase for Engineers
こんにちは、ソーシャル経済メディア「NewsPicks」のサーバーサイドエンジニアの池川 @takapiro_ikeike です。 クリスマスですね! NewsPicks Advent Calendar 2025 の 最終日です。 qiita.com 昨日は nakamichi さんによる CDK for TerraformによるSnowflakeインフラ管理 でした! 今回のブログは、NewsPicks の「AI 記事読み上げ機能」の開発にまつわる概要と、そこでの TTS (Text-to-Speech) モデルの選定 に関するお話です。 AI 記事読み上げ機能とは NewsPicks の …
5ヶ月前
記事のアイキャッチ画像
NewsPicksのMLOpsにおける特徴量ストアの4つの重要観点 ~SageMaker Feature Store試験運用での学び~
Uzabase for Engineers
皆さんこんにちは!ソーシャル経済メディア「NewsPicks」プロダクトエンジニアの森田(@moritama7431)です。 この記事は NewsPicks アドベントカレンダー 2025 の16日目の記事です。 さて本日は、ざっくり機械学習のプロダクトへの実応用やMLOpsに関する内容です! 本記事は、 機械学習をプロダクトに本番導入している/これから導入したいソフトウェアエンジニア 特徴量ストア(Feature Store)の導入や運用に悩んでいる方 向けに、NewsPicksでSageMaker Feature Storeを4ヶ月間試験運用して得られた実運用の学びを言語化して整理してみた…
5ヶ月前
記事のアイキャッチ画像
一年かけてNewsPicksで利用しているAWS ElastiCache for RedisをAWS ElastiCache for Valkeyに移行しました
Uzabase for Engineers
この記事は NewsPicks Advent Calendar 2025 の6日目の記事です。 こんにちは。ソーシャル経済メディア「NewsPicks」のSREチームの飯野です。 今回は、リリースラッシュの裏側で地道に積み重ねてきたコスト最適化施策を振り返る で触れた AWS ElastiCache for Redis から AWS ElastiCache for Valkey への移行について話したいと思います。 コスト最適化施策として移行を行う 移行計画を立てる SLOを守れそうなら日中にオンライン更新を行う 移行準備 パラメータグループの変更内容確認 動作確認 移行作業 まとめ コスト最…
5ヶ月前
記事のアイキャッチ画像
ログ仕様書から自動生成されたJarをAIで安全にAndroidアプリに取り込む仕組みをつくった
Uzabase for Engineers
この記事は NewsPicks Advent Calendar 2025 の23日目の記事です。 こんにちは。NewsPicks Androidエンジニアの sefwgweo です。 今回はタイトルの通り、安全で効率的なログ送信用DataClass運用フローについて紹介します。 コード管理されたログ仕様書 NewsPicks では、モバイル・Web いずれのログも TypeScript から出力されるログ仕様書 を参照しています。 この仕様書は Pull Request ベースで管理 されており、新規追加・変更・削除まで一貫してコードで履歴を追える仕組みになっています。 コード管理によるメリッ…
5ヶ月前
記事のアイキャッチ画像
フロント初心者が Meta 製ライブラリ Lexical を使ってリッチテキストエディタを作ってみた
Uzabase for Engineers
この記事は NewsPicks Advent Calendar 2025 の22日目の記事です。 昨日は くろみやあい さんによる「育休明け、時短勤務で働くということ──プロダクトデザイナーのキャリアの話」でした。 こんにちは。ソーシャル経済メディア「NewsPicks」のPlatform Engineeringチームの崔(ちぇ)です。 私は入社して以来フロントエンドを触ったことなく過ごしてきました。 新しいチャレンジとして、社内のエディタ作り直しプロジェクトを担当することになり、今年の下半期はほぼ React & Lexical との戦いでした。今日は、Lexicalでエディタを作ってみて色…
5ヶ月前
記事のアイキャッチ画像
NewsPicksにおけるモバイル開発でのAI活用
Uzabase for Engineers
こんにちは、ソーシャル経済メディア「NewsPicks」でVP of Mobile Engineering をしております、石井です。 弊社のモバイル開発はFigma MCPを使ってUI構築をしたり、AIを使ってエンジニア以外でも環境構築せずにPRを作れるようにしています。今回はそんな話を書きます。 まず、前提として弊社モバイル開発では、主にClaude Codeを利用しています。他にもCopilotやCodexなど様々利用していますが、開発で利用しているメインは2025年12月現在はClaude Codeになります。 今回の例はAndroidになります。 モバイルエンジニアの場合 UIコンポ…
5ヶ月前