GO Tech Blog
https://techblog.goinc.jp/
GO Tech Blogは、タクシーアプリ『GO』を始めとして様々なサービスを展開しているGO株式会社が技術情報などを紹介するテックブログです。
フィード

機械学習基盤にFeature Store(Feast)をセルフホストで導入した
GO Tech Blog
はじめに こんにちは。AI技術開発部 データプラットフォームグループの鈴木です。 タクシーアプリ『GO』では、タクシー車両とのマッチングや到着予定時刻(ETA)の予測など、多くの機能で機械学習を利用しています。これらのサービスは「特徴量(Feature)」を入力として動いているのですが、その特徴量を作って届ける部分の作りがサービスごとにバラバラで、開発のたびに同じような設計と実装を繰り返していました。 そこで、特徴量を扱う専用のサービスとして Feature Store を導入しました。OSS の Feast を自社のインフラ基盤上にセルフホストする形で構築し、現在は複数の機械学習サービスから…
2日前

メモリ管理のブラックボックスを解き明かす 〜glibc mallocの動的最適化と、Python 3.14 mimallocがもたらす未来〜
GO Tech Blog
こんにちは。GO株式会社 AI技術開発部 データプラットフォームグループの按田です。 データ基盤、機械学習基盤、アルゴリズム基盤の開発、運用、診断、性能改善など、システム寄りの課題に取り組んでいます。 我々のチームが運用するシステムは、ワークロードの特性からPythonが採用されることが多いです。Pythonで書かれたアプリケーションでは「GC(ガベージコレクション)が動いているはずなのに、OS側から見た物理メモリ使用量(RSS)が減らず、最終的にOOM(Out of Memory)が発生する」という事象に直面することがあります。 一見するとメモリリークのようですが、Python自身のGCはき…
1ヶ月前

GO TechTalk #33 『GO』における、AI活用の現場から 〜2026 夏〜
GO Tech Blog
こんにちは!バックエンドエンジニア兼技術広報担当のもぎです。2026年5月26日に「GO TechTalk #33 『GO』における、AI活用の現場から 〜2026 夏〜」(connpass)を開催しました。生成AIの実務活用をテーマに、バックエンドチームの2人のエンジニアが登壇したこのイベントには多くの方にご視聴いただき、盛況となりました。 イベントの開催背景 Claude CodeやGitHub Copilotの普及により、生成AIを使ったコーディングはすっかり当たり前になりました。ただ、バックエンドエンジニアの仕事はコードを書くことにとどまりません。仕様の整理、障害対応、他チームとの調整…
2ヶ月前

AIエージェントとの協業で「施設ポリゴン作成の効率化」を試みた話
GO Tech Blog
はじめに こんにちは。AI技術開発部の佐竹です。 タクシーアプリ『GO』では、タクシー需要を詳細に分析するため、駅や病院といった施設ごとに「その施設を起終点とする乗降が発生する場所」を地理的な境界(ポリゴン)として定義しています。本記事では、AIエージェントを活用して、この施設ポリゴン作成を効率化している取り組みを紹介します。 なぜ「施設ポリゴン」が必要なのか? タクシー需要の分析では、地球表面を六角形グリッドに分割するH3 1 などの均一メッシュで面的に需要を可視化する手法が一般的です。一方で、「駅周辺のニーズ」や「医療施設への通院パターン」など、施設を起点とした分析が必要な場面も多々ありま…
2ヶ月前

クラウドネイティブ会議で登壇しました
GO Tech Blog
こんにちは。最近は知床で世界自然遺産になっていました、バックエンド開発部のP山です。 クラウドネイティブ会議とは クラウドネイティブ会議は、CloudNative Days・Platform Engineering Kaigi・SRE Kaigiの3つのカンファレンスが合同で開催する大規模テックカンファレンスです。2026年は5月14日〜15日の2日間、名古屋の中日ホール&カンファレンスにて開催されました。クラウドネイティブ技術、プラットフォームエンジニアリング、SREの3つの領域が交わることで、分野横断の学びと交流が生まれる場を目指したイベントです。 このクラウドネイティブ会議にて、「継続的…
3ヶ月前

新卒サーバーサイドエンジニアの一年目振り返り
GO Tech Blog
こんにちは、バックエンド開発部の森です。タクシーアプリ『GO』のサーバーサイドをGo (golang)で開発しています。 私は2025年4月に新卒入社しました。この1年間で様々な案件を担当してきましたが、何を学び、今後どのような方針で進んでいくのかを書き留めておこうと思います。 まずはいくつか印象に残っている失敗を挙げてそこから何を学ぶことができたのか、書いていきたいと思います。 失敗と学び 1. テストコードもメンテナンス対象である 案件の QA で見つかったバグを直すためにコードを少し修正した際、テストが通らなくなり、デバッグに何時間も費やしてしまったことがありました。しかし原因を突き詰め…
3ヶ月前

ケーススタディ:アロケーションを契約に昇格させる
GO Tech Blog
こんにちは,開発本部ソフトウェア開発統括部バックエンド開発部の柳浦です.普段はGo言語を主に利用してタクシーアプリ『GO』のバックエンドアプリケーションの開発に従事しています.仕事以外では個人的に様々なプログラミング言語に触れているのですが,業務では扱わない言語から業務に応用できる着想を得ることもしばしばあります.この記事ではその一例として,Zigというプログラミング言語のAPIにおけるメモリアロケーションの設計を見て考えさせられた,設計における戦略について書こうと思います. Zigにおけるメモリアロケーション Zigというプログラミング言語は,Bun1やTigerBeetle,Ghostty…
3ヶ月前

エンジニアはドメイン知識とどう向き合うべきか?
GO Tech Blog
はじめに GO株式会社 次世代事業本部 GX統括部 GXシステム開発部の武田です。 GX(グリーントランスフォーメーション)事業におけるシステム開発を担当しています。 私の所属するGXシステム開発部では、タクシー事業者向けにEV(電気自動車)や充電インフラの導入を支援し、それらを活用したエネルギーマネジメントシステムの構築を行っています。 また、街中に設置した充電器の検索・予約・決済をオンラインで完結できるシステムの開発にも取り組んでいます。 部内では月に1〜2回のペースでLT(ライトニングトーク)を実施しており、本記事はその中で発表した内容の共有です。 本記事の対象読者 転職したてでドメイン…
4ヶ月前

Kepler.glの見た目を整える
GO Tech Blog
kepler.glを利用する時にちょっと役に立つtips こんにちは、AI技術開発部の秋月達樹です。 この記事では、地理空間情報の可視化ツールである「kepler.gl」について、単に地図を描画するだけでなく、視認性を高めて実務的なインサイト(気付き)を得やすくするためのtipsを紹介します。 ※なお、本記事で使用しているキャプチャには、すべて説明用のダミーデータを使用しています。 kepler.glとは kepler.glは、オープンソースとして公開されている地理空間情報の可視化支援ツールです。高度な専門知識が必要な従来のGISソフトとは異なり、Webブラウザ上で直感的に操作できるのが特徴で…
5ヶ月前

ハルシネーションを抑制するためのプロンプトテンプレートを作ってみた
GO Tech Blog
はじめに AI技術開発部の菊地です。最近、Deep Researchをはじめとする推論モデルを使って、企業調査や業界調査をすることがあるのですが、その能力の向上には驚かされるばかりです。 一方で実務としてはハルシネーションや論理の飛躍、または文章の拙さが散見され、出力結果をそのまま使うには不安を感じることが少なくありません。 一般に企業調査・業界調査において、「やや古い情報」(時系列的な考察)は、あくまで正確かつ重要な関連情報に相互引用されていることが多く、複数の文書からのクロスチェックは非常に難しくなります。 たとえば「GO株式会社について教えてください」という指示文を与えてみると、ほとんど…
5ヶ月前

エシェロン解析で交通事故発生地点を分類する
GO Tech Blog
はじめに タクシーアプリ『GO』でデータアナリストとしてデータ分析をしている赤池です。 タクシーアプリのデータ分析をしていると、タクシー需要の局所的な広がりや、ユーザーの乗降地点の地域属性を知りたくなることがあります。 そういった時に、単純に地図上に点をプロットするだけでも概況はつかめますが、密度が高すぎると集中の度合いが判別しづらくなるという問題があります。 一方で、メッシュ単位で集計して可視化したとしても、一部の突出した大きな値に全体が引っ張られ、中小規模の重要な「山」が埋もれてしまいがちです。 そこで今回は、空間に分布する1変数を用いて「エシェロン解析」によって客観的に空間構造を抽出する…
5ヶ月前

Identity-Aware Proxyで保護されたAPIをGoogleスプレッドシートのApps Scriptから実行する
GO Tech Blog
こんにちは、ソフトウェア開発統括部の伊藤です。 フルスタックエンジニアとしてアプリとバックエンドそれぞれのチームに参加して開発をしています。 Googleスプレッドシートは社内でデータの編集と共有するプラットフォームとして非常に使い勝手が良く、またApps Scriptを使った拡張性もあり優れた製品です。 しかし、権限や機能などでApps Scriptだけでは実現できず、App EngineやCloud Runといった実行環境でコードを記述してAPIで連携したい場合があります。 その際に困るのが認証です。社内向けとはいえ強力な権限を持ちがちなサービスアカウントキーをGASのスクリプトプロパティ…
5ヶ月前

領収書の一括発行機能をGoのイテレータできれいに実装できた
GO Tech Blog
こんにちは、ソフトウェア開発統括部の伊藤です。 フルスタックエンジニアとしてアプリとバックエンドそれぞれのチームに参加して開発をしています。 タクシーアプリ『GO』では、2025年12月のアップデートで領収書の発行機能を大きくアップデートしました。 確定申告の時期だったということもあり、多くの方にご利用いただいておりますが、その裏側にはいくつかの技術的ハードルがありました。 今回、領収書の発行機能をアップデートするにあたって、Go 1.23で導入されたイテレータを活用することで複雑な処理を効率的に記述できたので紹介したいと思います。 領収書の発行機能アップデート 今回の領収書の発行機能アップデ…
5ヶ月前

PHPerKaigi2026に参加しました!
GO Tech Blog
こんにちは、九州が産んだハルシネーションことP山です。 会社の技術イベント参加費用支援を受けて、2026/3/20〜2026/3/22の日程で開催されたPHPerKaigi 2026に参加したので、内容をレポートします。 PHPerKaigiとは 公式サイトを引用します。 PHPerKaigi(ペチパーカイギ)は、PHPer、つまり、 現在PHPを使用している方、過去にPHPを使用していた方、 これからPHPを使いたいと思っている方、そしてPHPが大好きな方たちが、 技術的なノウハウとPHP愛を共有するためのイベントです。 近年の開催においてはPHPの話題が中心であるものの、プログラミング言語…
5ヶ月前

スペック駆動開発をデータ分析にどう実践するか
GO Tech Blog
はじめに GO株式会社でデータサイエンスチームのマネージャーを務めている織田です。 この記事では、最近注目されているスペック駆動開発(Spec-Driven Development: SDD)が、データ分析プロジェクトにどこまで適用できるかを考察し、探索的なプロジェクトに適したアプローチを提案します。 SDDとは何か 「雰囲気」でコーディングエージェントに指示を出してコードを生成させるVibe Codingは、大規模で長期のシステム開発では破綻すると言われています。アーキテクチャを考慮しないスパゲッティコードの量産、対話が進むにつれてAIが初期要件を忘れるContext Drift、開発者がコ…
6ヶ月前

2人客が増えるとラーメン屋は潰れるか
GO Tech Blog
はじめに こんにちは、AI技術開発2グループの田村です。普段はデータ分析を通したプロダクト改善に従事しています。 今回は業務とは直接関係のない、個人的な興味から取り組んだ話題をご紹介します。 先日ラーメン屋に行った時、気になった場面に出くわしました。 店内はよくあるカウンター席のみで、自分の前の番は2人組のお客さんが並んでいました。 店はこの2人客を隣り合う席に案内しようとしていて、運用としては次のようなものでした。 空席ができても、隣同士で空いていなければ2人組は案内しない 2人客の後ろに1人客が並んでいても、1人客を先に案内しない(順番は守る) こうした運用はラーメン屋では珍しくなく、2〜…
6ヶ月前

二部グラフの最大重みマッチングとその解法
GO Tech Blog
高速マッチングを実現する!二部グラフの最大重みマッチングとその解法 こんにちは!AI技術開発部の木村彩恵です。 業務では、タクシーアプリ『GO』の中核技術である、乗客からのリクエストに対し配車するタクシーを決定するマッチングエンジンの開発に携わっています。 タクシーアプリ『GO』のマッチングエンジンでは、マッチングの全体最適を実現するために、一つ一つのリクエストに対して都度タクシーを決定するのではなく、一定周期ごとに複数のリクエストに対して一括でタクシーを決定します。 このとき、迎車時間などのリクエストとタクシー間の様々な条件を重みつき二部グラフで表現し、最大重みマッチング問題を解くことでマッ…
6ヶ月前

GO TechTalk #32 タクシーアプリ『GO』の最強SREチーム
GO Tech Blog
こんにちは!バックエンドエンジニア兼技術広報担当のもぎです。2026年1月27日に、「GO TechTalk #32 タクシーアプリ『GO』の最強SREチーム」(connpass)を開催しました! この記事では、イベント当日の内容を簡単に紹介します。 GO TechTalkとは? GO TechTalkは、GO株式会社のエンジニアたちが、タクシーアプリ『GO』をはじめとしたサービスやプロダクトを開発する中で得た技術的ナレッジを共有するイベントです。 タクシーアプリ『GO』では、全国規模で稼働するリアルタイム性の高いシステムを安定して提供するため、高い可用性と信頼性を前提としたインフラ設計・運用…
7ヶ月前

AWS STSのSession Tagを使った一時トークンに付与する必要十分なS3権限の動的管理
GO Tech Blog
こんにちは、こんにちは、SREグループの浜地です。 GO株式会社では、ユーザ向けのタクシーアプリ『GO』をはじめとして乗務員向け端末やタクシー後部座席タブレットなど、様々な種類の端末アプリを開発しております。 これらの端末アプリからファイルのアップロード・ダウンロードなどのためにAWS S3へアクセスが必要なユースケースがあるのですが、新しい機能提供のためにAWS STSのSession Tagを使った方法にて一時トークンを払い出し、必要十分なS3の権限を払い出す方法を今回採用しました。その内容についてご紹介します。 構成概要と要件 事情により詳細に記載できないためある程度簡略化しますが、構成…
7ヶ月前

RSGT2026に参加しました!
GO Tech Blog
RSGT2026に参加しました Webプロダクト開発部 Webプロダクト1グループのグループマネージャーをしている伊藤です。 今回初めてRegional Scrum Gathering Tokyo 2026に参加してきました。3日間、多くのセッション、Open Space Technology(OST)、懇親会に現地参加してきました。最も大きな収穫としては、自身のチームにおける複数プロダクト体制を「制約」から「可能性」へとリフレーミングできたことです。参加前のモヤっとした課題感が、セッションや対話を重ねるごとに次々と晴れていく。そんな手応えのある体験ができました。その中での学びや感じたことを共…
7ヶ月前

新人エンジニアマネージャーが受けた研修と気付き
GO Tech Blog
こんにちは。バックオフィス基盤開発部第1グループの廖です。 2025年6月から所属グループのエンジニアリングマネージャーに就任してすでに半年以上経ちました。現在の私のチームは、決済系のサービス開発を担う、7名規模の体制です。 エンジニアからマネージャーに立場が変わった当初は、心の中で葛藤や不安が多少ありました。この数ヶ月の間に社内で複数のマネージメント研修を受ける機会をいただき、多くの学びを得たので、ここで研修内容とそこから得られた気づきをご紹介していきたいと思います。 同じくEMに就任したばかりで、孤独や葛藤を感じている方のヒントになれば幸いです。 マネジメントを理論と実践知から学ぶ 株式会…
7ヶ月前

RSGT2026に参加しました!
GO Tech Blog
RSGT2026に参加しました バックオフィス基盤第2グループの名嘉眞です。 今年も去年に引き続き、Regional Scrum Gathering Tokyo 2026(以下RSGT2026) に参加しました。 去年もそうでしたが、今年も多くの学びや気づきがありました。私の視点で体験したことや感じたことを共有できればと思います。 RSGT2026とは Regional Scrum Gathering Tokyo 2026は、スクラムやアジャイル開発に関連する国内最大級のカンファレンスです。 Gatheringとあるようにセッションを聴講するだけでなく、休憩時間や会場の廊下、懇親会など至るとこ…
7ヶ月前

GoogleDocsの箇条書きをSlackにきれいにコピペするツールを生成AIと作った話
GO Tech Blog
(本ブログはGO Inc. Advent Calendar 2025の一部です) はじめに GO株式会社でエンジニアマネージャをしている渡部です。 このブログを執筆しているのは2025年12月なのですが、いつからかGoogle Docsの箇条書きをSlackにコピペしようとすると、 箇条書きのインデントレベルが保持できなくなっており、非常に困っていました。 例えば、このようなGoogle Docsの箇条書き これをSlackにコピーすると とフラットな箇条書きでコピーされてしまいます。 これでは業務上困りますので、生成AIを使ってサクッとツールを作りました。会社ではVS Code + Gith…
8ヶ月前

PythonのETLライブラリ「DLT」を導入してみた話
GO Tech Blog
PythonのETLライブラリ「DLT」を導入してみた話 今回は、BigQuery にデータを取り込む用途で DLTという Python ライブラリを導入してみた経験について軽く紹介します。 導入するまでの経緯 データプラットフォームチームでは、多様なデータを扱っており、さまざまな外部ソースからデータを GCP(Google Cloud Platform)環境に取り込んでいます。これらのデータは、分析やレポート作成をはじめとした用途のために加工され、BigQueryのテーブルやviewとして社内で提供されています。 データソースや提供パターンの多様性に伴い、データ取り込みや変換用のツールも数多…
8ヶ月前

SQLでサービスのイベントログを集計する際のTips
GO Tech Blog
(本記事はGO Inc. Advent Calendar 2025 も兼ねています) こんにちは、AI技術開発部の西川です。 普段は主にタクシーアプリ『GO』の乗務員端末の挙動解析をしています。 今回はSQLでサービスのイベントログを集計する際によく使うTipsとして、ある時点で発生したイベントを有効期間付きの状態に変換する方法と、複数の状態を組み合わせて集計する方法について紹介します。 BigQueryの構文と関数で記載しますが他のRDBでも概ね適用できると思います。 サービスのイベントログの例 サービスによって様々な種類のイベントログが存在すると思います。 例えば『GO』の乗務員端末であれ…
8ヶ月前

チュートリアルより少し踏み込んだOR-Tools
GO Tech Blog
はじめに この記事は GO Inc. Advent Calendar 2025 の21日目です。 AI技術開発部の小南です。 この記事ではOR-Toolsで解くルート最適化について、公式のチュートリアルより少し詳しい解説を行います。 制約条件の設定をカスタマイズしたくなった時などに、基本的な使い方の理解を深めておきたい方向けの内容となります。 ルート最適化について そもそもルート最適化とはどのような問題を指すのでしょうか。 複数の地点を効率的に回るルートを考える問題で、一般的には「巡回セールスマン問題 (TSP)」や、それを複数車両に拡張した「配送計画問題 (VRP)」として知られています。 …
8ヶ月前

POI検索の失敗ログから見えた「誤字脱字」と「ユーザーの真の意図」
GO Tech Blog
こんにちは、AI技術開発部の齋藤智輝です。 この記事は、GO Advent Calendar 2025 19日目の記事です。 タクシーアプリ『GO』の目的地検索(POI検索)において、私たちはユーザー体験を損なわないよう 「検索速度」 を非常に重視しています。しかし、速度を最優先する検索アルゴリズムを採用しているがゆえに、少しの誤字や脱字が含まれるだけで検索結果が0件になってしまうという課題を抱えていました。 今回は、この課題に対して私たちがどのようにアプローチしたか、そして分析を進める中で見えてきた「誤字脱字以外の課題」についてお話しします。 誤字脱字は誰にでも起きる、でも対応は難しい 実際…
8ヶ月前

チームで生成AI勉強会を半年間やってみた話
GO Tech Blog
こんにちは。データプラットフォームグループの牧瀬です。今回は、チームで生成AI勉強会を実施した話を紹介します。 本記事は GO Inc. Advent Calendar 2025 の 13日目の記事です。 どういうチームか / チーム内勉強会 我々のチームはデータプラットフォームグループという名称です。 名前の印象とは異なり、いわゆるデータ基盤(分析基盤)の開発、運用から、諸々の機械学習基盤、機械学習を利用したサービス、 比較的タクシー配車に近い所のサービスまで、幅広く手がけています。 我々のチームでは、その時々でやり方を変えながら、場合によってはメンバーの入れ替わりもありながら、細々と勉強会…
8ヶ月前

アーキテクチャーConference2025参加レポート
GO Tech Blog
バックオフィス基盤第1グループの廖です。 アーキテクチャーConference2025に参加してきました。 2日間にわたるセッションを通じて、多くの学びを得ました。特に印象に残ったポイントと、これまでの開発経験を交えて感想をシェアしたいと思います。 学び 1. マイクロサービスは目的ではなく、あくまでも手段の1つである 1日目の「モダナイズの現実と選択:マイクロサービスが最適解か?」の基調講演で、講演者のSam Newmanさんは過去にコンサルとして企業から依頼を受けた際に一番怖い言葉が「We are doing microservices」だと語っていました。一部の企業では、上層部がマイクロ…
9ヶ月前

【Dataform 運用改善】Airflowで実行されるDataformの可視化とCLIコマンドの誤実行防止
GO Tech Blog
タクシーアプリ『GO』の分析基盤を開発運用している伊田です。本記事では、Google Cloud の Dataform の運用改善について紹介します。 ※ 本記事の対象読者は Dataform を利用している方を対象にしています この記事は、GO Advent Calendar 2025 17日目の記事です。 はじめに データ基盤チームでは、BigQuery 上でデータの変換処理を行うために Dataform を利用しています。今回は Dataform を運用していく中で改善した2つの事例を紹介します。 1つ目は Cloud Composer (Airflow マネージドサービス。以後 Air…
9ヶ月前