every Tech Blog
https://tech.every.tv/
株式会社エブリーのTech Blogです。
フィード

AI ファースト・カンパニーに向けて
every Tech Blog
AI ファースト・カンパニーに向けて 株式会社エブリーでCTOを務めている今井( @imakei_ )です。 本記事は AIブログリレー 第10本目、そして最終回です。7/1から開発部長陣がリレー形式で「組織とAI」について書いてきて、3人で計9本を積み上げてきました。 書いているうちに気づいたのですが、9本はバラバラのトピックを並べたようでいて、実は一つの共通した背骨で繋がっていました。結論から言うと、それは 「オントロジー」 です。会社の現実を人間とAIの共通言語として定義するというこの考え方が、組織・データ・プロダクトという別々のレイヤーで、姿を変えながら何度も顔を出していました。この最…
7日前

AI時代、ソフトウェアは3層で考える
every Tech Blog
AI時代、ソフトウェアは3層で考える 株式会社エブリーでCTOを務めている今井( @imakei_ )です。 本記事は AIブログリレー 第9本目 です。これまで自分は、組織OSや組織デザイン、AI活用の評価といった「AIを活かす土台」を、主に組織の側から書いてきました。今回はその視点を、作られるソフトウェアの側に移します。 結論を先に言うと、AI時代はソフトウェアの作り方そのものを変える必要があり、その鍵はソフトウェアを3つの層で捉え、「長く残す Core」と「捨てて作り直せる Disposable な部分」の境界をどう引くかにある、と考えています。そしてこの境界を引く作業は、組織の回で触れ…
8日前

AIエージェントを "動かす" データ基盤
every Tech Blog
こんにちは。開発1部の村上です。 本記事は AIブログリレー 8本目 です。 エブリーではAIエージェントを社内のあらゆる業務で活用していくことを目指しています。そのAIエージェントたちを支えるのがデータ基盤です。そしてこの基盤を、AIにデータを「読ませる」ためのものから、AIエージェントを「動かす」ためのものへ進化させていきたいと考えています。本記事では、そのために必要なステップを整理します。 人のための基盤から、AIエージェントを "動かす" 基盤へ これまでのデータ基盤は、暗黙のうちに「人が使う」前提で設計されてきました。ダッシュボードを見るのも、SQLを書くのも人です。「この売上には手…
11日前

AI活用をどう評価するか
every Tech Blog
AI活用をどう評価するか —— TokenMaxxing から TokenOptimization へ 株式会社エブリーでCTOを務めている今井( @imakei_ )です。 本記事は AIブログリレー 第7本目 です。自分はこれまで、第1本目で「オントロジーと組織OS」、第4本目で「AIファーストな組織デザイン」について書いてきました。今回はそれらと地続きのテーマとして、AI活用をどう評価するかについて書きます。 結論を先に言うと、AI活用の評価指標は固定するものではなく、フェーズに応じて TokenMaxxing → TokenOptimization と乗り換えていくもの、そして最終的に…
12日前

レガシーシステムをAIでどうアップデートしていくか
every Tech Blog
開発2部の内原です。 本記事は AIブログリレー 第6本目 です。 長く運用されてきたシステムというものは、様々な背景からいわゆるレガシー化していることも多いと思います。またそのシステムを担当していく際、多くの場合で似たような問題が発生します。 仕様書が古い or 存在しない 最初に実装したメンバーがいない テストがない このような開発・運用・保守しづらい状況だと、抜本的な対策をしたいが動かなくなるリスクを考慮して、都度継ぎ足し継ぎ足しの改修を繰り返すことになり、結果としてより開発・運用・保守が辛くなるという負のループに陥ることが多いと思います。 最近は生成AIがコードを書くのが当たり前の状態…
13日前

組織のAI活用を支えるMCPゲートウェイ
every Tech Blog
こんにちは。開発1部の村上です。 本記事は AIブログリレー 5本目 です。 弊社ではすでに全社共通ゲートウェイによる社内リモートMCPサーバーを構築したり、それをもとにMCPを社内で内製して多くの社員が使っていたりと、社外の公式MCPの利用も盛んになっています。本記事では、今後組織のMCP活用が拡大するとぶつかる課題を整理し、それを支える基盤としてのMCPゲートウェイというコンセプトについて書きます。 MCP is deadは本当か 基盤の話に入る前に、そもそもMCP自体必要でしょうか。今年2月末、「MCP is dead. Long live the CLI」という記事が反響を呼びました。…
14日前

AIファーストな組織デザイン
every Tech Blog
AIファーストな組織デザイン 株式会社エブリーでCTOを務めている今井( @imakei_ )です。 本記事は AIブログリレー 第4本目 です。第1本目の「オントロジーと組織OSとこれからのエンジニア」(以下、前回)では、会社の現実を共通言語(オントロジー)として定義し、その上で人とAIが意思決定を回す「組織OS」を、エンジニア組織が主導して作っていく、という話を書きました。 今回はその続きとして、AI時代の組織デザインについて書きたいと思います。組織OSという「仕組み」の話に対して、今回はそれを動かす「組織のかたち」の話です。結論から言うと、これからの組織は、より少数で、事業にアラインし、…
15日前

AIエージェントのハーネスとは何か
every Tech Blog
開発2部の内原です。 AIエージェントを使って開発していると、同じモデルを使っているはずなのにツールやエージェントによって賢さがまるで違う、という体験をすることがよくあります。モデルそのものは変わらなくても差が出る理由を考えてみます。 その差を生んでいるのが、モデルを取り巻く装備、いわゆるハーネスです。ハーネスという言葉はなんとなく使われがちですが、何を指しているのかは意外とふわっとしています(少なくとも自分の理解は割と曖昧でした)。 この記事では、この言葉を構成要素に分解して、何がエージェントの実力を決めているのかを整理してみます。 エブリーにおけるAIエージェントの活用状況とハーネスの必要…
18日前

全社のAIファーストを牽引するエンジニアの役割
every Tech Blog
こんにちは。開発1部の村上です。 本記事は、エブリーの開発部長陣がリレー形式で組織とAIについて書いていく「AIブログリレー」の第2本目です。 第1本目で、CTOの今井が「オントロジーと組織OSとこれからのエンジニア」という記事を書きました。会社の現実を人間とAIの共通言語として定義し、その上で意思決定が回り続ける「組織OS」を作る。そしてその組織OSづくりはエンジニア組織が主導すべきであり、最初の一歩として社内FDE(Forward Deployed Engineer)を立ち上げる、という内容です。 エブリーは「AIファースト・カンパニー」を掲げています。AIを単なる業務効率化ツールではなく…
19日前

オントロジーと組織OSとこれからのエンジニア
every Tech Blog
株式会社エブリーでCTOを務めている今井( @imakei_ )です。 本日からエブリーの開発部長陣が考える組織とAIについて 全10本にわたって開発部長陣とリレー形式で、ブログを投稿します! 今回はその AIブログリレー 第1本目 で、「オントロジー」と「組織OS」という考え方を入り口に、これからのエンジニア組織の役割について書きたいと思います。 結論から言うと、この組織OSづくりは、エンジニア組織が主導すべきだと考えています。 オントロジーと組織OS まず前提を簡単に整理します。 弊社エブリーはAIファーストカンパニーとして、プロダクトでの活用はもちろん、開発現場でもAIの実用的な活用を進…
20日前

「26卒エンジニアの輪を広げNight」を開催しました!!
every Tech Blog
こんにちは、25卒エンジニアの190です。 2026年6月5日、弊社のオフィスを会場に「26卒エンジニアの輪を広げNight」というイベントを開催しました。さまざまな会社に入社した26卒エンジニアに集まってもらい、お互いの働き方やこれからの抱負を共有して交流してもらう、というイベントです。 このイベントは、弊社25卒の私とuho-wq、あかがわまさともの3人で企画・運営しました。 本記事では、企画した背景・当日の内容・運営してみて気づいたことをまとめます。 背景 私たち25卒は、入社1年目に社外のエンジニアと知り合える機会に恵まれ、そこでできたつながりが日々の支えや刺激になっています。 一方で…
1ヶ月前

Code w/ Claudeで学んだAnthropic式開発手法
every Tech Blog
— 実装、レビューからHarnessの整備、そしてHarnessを評価するEvalsへ 1. はじめに こんにちは、開発本部開発1部デリッシュキッチン開発部所属の西本(@daikon265)です。 6月11日に開催されたCode w/ Claude: Extended Tokyoに参加してきました。参加して感じたのは、Claude Codeの活用が「どうコードを書かせるか」から、「Claudeが安全に働ける環境をどう作り、どう改善し続けるか」に移っていることでした。 これまでClaude Codeの活用では、Harnessを使ってClaudeをうまく制御する話が中心だったと思います。 一方で今…
1ヶ月前

Lakeflow Connectで広告データを取り込む
every Tech Blog
はじめに こんにちは。 開発本部 開発1部 デリッシュリサーチでデータエンジニアをしている吉田です。 今回は、Databricksのマネージドなデータ取り込み機能であるLakeflow Connectを使って、複数の広告プラットフォームからデータを取り込んだ事例を紹介します。 注意点 本記事で扱うLakeflow Connectのマネージドコネクタは、執筆時点でいずれもベータ版の機能です。 利用している機能とその結果は執筆時点のものです。 また、リリースタイプの一覧のとおり、ベータ版は本番環境での利用が推奨されておらず、仕様変更の可能性がある点にご注意ください。 背景 広告運用の分析には、各広…
1ヶ月前

全社共通ゲートウェイによるセキュアな社内リモート MCP サーバーを実現した話
every Tech Blog
先日行われた挑戦weekの中で、全社共通で利用できるリモート MCP ([Model Context Protocol](https://modelcontextprotocol.io/)) サーバー向けの認証・認可ゲートウェイを設計・実装しました。
1ヶ月前

トモニテ開発部で「AI days」をやってみた 〜開発部のAI活用を一段引き上げる2日間〜
every Tech Blog
はじめに こんにちは、トモニテ開発部の吉田です。 今回は、私たちの部署で実施した「AI days」という取り組みについてレポートします。2日間かけて、普段の開発業務にAIを組み込むための土台を集中的につくる社内イベントです。 そもそものきっかけは、私が「トモニテでのAI活用をもっと加速させていきたい」と声を上げたことでした。私は役職者ではなく一開発メンバーですが、その思いを伝えたところ、具体的な形として今回のAI days開催に至りました。最初から「AI daysをやりたい」と考えていたわけではなく、「なんとかしたい」という思いが先にあって、それがチームを巻き込んだ取り組みに育っていった、とい…
1ヶ月前

なぜ MySQL では DDL をロールバックできず PostgreSQL ではできるのか
every Tech Blog
こんにちは、デリッシュキッチン開発部の鈴木です。 概要 Data Definition Language(DDL、データ定義言語)、つまり CREATE TABLE や ALTER TABLE でスキーマを変更する操作を、トランザクションの中で実行してあとからロールバックできるかは、データベースによって違います。MySQL ではロールバックできず、PostgreSQL ではロールバックできます。 ロールバックは、1 つのトランザクションの中で行った変更を、記録しておいた変更前の状態に戻す操作です。だからロールバックするには、その操作が 1 つのトランザクションに収まっていること、そしてその変更…
1ヶ月前

デリッシュキッチンアプリの複雑なディープリンク処理の実現方法
every Tech Blog
はじめに こんにちは、デリッシュキッチンでiOSエンジニアをしている谷口恭一です。 デリッシュキッチンの iOS アプリでは、プッシュ通知やディープリンクから特定の画面・特定のセクションへ直接遷移する導線を数多く提供しています。 delish://scroll_to_any_section このリンクの例で意図しているのは、次の一連の動作です。 アプリを起動し、下部タブバーで特定のタブに切り替え目的の画面に遷移し、その中の特定のセクションまでスクロールし、必要ならそのセクションのモーダルを提示する。 一見ただの画面遷移に見えます。ところが指示された通りに実装すると、アプリが閉じている状態や他画…
1ヶ月前

Firebase Crashlytics MCP × Claude でクラッシュ対応を半自動化する
every Tech Blog
はじめに こんにちは。開発本部でデリッシュキッチンの Android アプリ開発を担当している岡田です。 アプリを運用していると、リリースのたびに Crashlytics とにらめっこする時間が必ず発生します。クラッシュの一覧を眺めて、優先度を決めて、スタックトレースを読んで、該当コードを探して、原因を考えて、直す。やること自体は明確なのですが、ダッシュボードとエディタを行き来する手作業が地味に重く、件数が増えると後回しになりがちでした。 本記事では、公式の Firebase MCP サーバーが提供する Crashlytics ツールを Claude Code から使い、この一連の流れ(トリア…
1ヶ月前

Goの import cycle not allowed を出しているのはコンパイラじゃない
every Tech Blog
Goの import cycle not allowed を出しているのはコンパイラじゃない こんにちは、uho-wq です。 早速ですが、以下のソースコードをビルドするとどのような結果になるでしょうか? # ディレクトリ構成 $ tree . . ├── a │ └── a.go ├── b │ └── b.go └── go.mod 3 directories, 3 files // ./a/a.go package a import ( "example.com/cycle/b" ) func A() string { return b.B() } // ./b/b.go package…
1ヶ月前

iOSアプリの広告効果はどう計測されているのか、Adjustを通して調べてみた
every Tech Blog
はじめに こんにちは、開発1部で食事管理アプリヘルシカの開発をしている新谷です。 ダイエット・食事管理・体重管理・カロリー計算 - ヘルシカevery, Inc.ヘルスケア/フィットネス無料apps.apple.com 今回は、iOSアプリの広告効果がどう計測されているのかを、アトリビューションツール Adjust を通して調べてみました。 iOS開発を始めて半年ほど経ちましたが、Adjustは広告効果を測定するためのツール程度の認識しかなく、改めて仕組みを理解してみようと思ったのがきっかけです。正直、すべてを細かく追えたわけではないのですが、調べて分かった範囲を整理してみます。 広告アトリビ…
2ヶ月前

TSKaigi参加記|型アサーションを点検した
every Tech Blog
目次 はじめに セッション「業務に残された良くない型で考える TypeScript の限界」 自分のプロジェクトを点検してみた まずは網羅的に数える 「どう対策するか」で分類する 実際に直してみた ユニオン配列の絞り込み 点検してわかったこと おまけ: TSKaigi 2026 を楽しんだ話 おわりに はじめに こんにちは、デリッシュキッチンでフロントエンドの開発をしている惟高です! 先日、TypeScript のカンファレンス「TSKaigi 2026」に参加してきました。 イベント全体の様子やブースの企画、各セッションの紹介は弊社の最速レポートにまとめているので、当日の雰囲気が気になる方は…
2ヶ月前

Laravel Octane + Swoole のメモリ挙動を仕様から読み解く
every Tech Blog
はじめに こんにちは。リテールハブ開発部小売アプリチームの池です。 業務で Laravel Octane のメモリが残る挙動について調査する機会がありました。 Laravel Octane は、長時間稼働するプロセス上で Laravel アプリケーションを動かして高速化するツールです。便利な一方で、プロセスが長く生きるためメモリが残り続け、書き方次第ではリクエスト間で状態が引き継がれてしまうという、従来の Nginx + PHP-FPM 構成の Laravel では発生しにくい特性を持っています。この特性を理解せずに使うと予期しない事故につながる可能性があると感じました。 そこで本記事では、O…
2ヶ月前

Claude で食トレンドを分析できる MCP を自作した
every Tech Blog
はじめに こんにちは。開発本部 開発1部 デリッシュリサーチチームの江﨑です。 デリッシュリサーチは、デリッシュキッチンに蓄積された検索ログやレシピへの反応をもとに食トレンドを分析できるサービスです。 本記事では、社内用にデリッシュリサーチのデータを Claude から自然言語で問い合わせられるようにする MCP サーバーを自作した話を紹介します。FastMCP と Databricks Apps で実装した構成、運用上のノウハウ、そしてリリース後に社内で広がった活用事例をまとめます。 はじめに 背景:なぜ自前の MCP サーバーを作ったか システム全体像 使用技術 MCP サーバーの実装 ツ…
2ヶ月前

TSKaigi 2026 にゴールドスポンサーとして協賛します!
every Tech Blog
目次 はじめに TSKaigiとは? イベント当日について アフターイベントのご案内 はじめに この度、株式会社エブリーは、2026年5月22日(金)、23日(土)に開催される「TSKaigi 2026」に、ゴールドスポンサーとして協賛することになりました! TSKaigiとは? 2026.tskaigi.org TSKaigiは「学び、繋がり、"型"を破ろう」をミッションに掲げ、2024年に第1回が開催された、TypeScriptに関するあらゆるテーマを扱う国内最大級の技術カンファレンスです。2026年はベルサール羽田空港に会場を移し、2日間にわたって開催されます。 今年の開催概要は以下のと…
2ヶ月前

Laravel 13へアップデートする際の対応とAI検索機能をざっくり理解する
every Tech Blog
はじめに こんにちは、リテールハブ開発部でバックエンドエンジニアをしているホシと申します。 現在、Laravel などを利用しながら小売アプリ開発に取り組んでいます。 少し前になりますが、先日3月17日にLaravel13がリリースされました。 (https://laravel.com/docs/13.x/releases) 昨年にもLaravel12について、バージョンアップ内容などを記事にしたのですが、 今年も新バージョンについてお話しできればと思います。 前回同様にまずはサポート期限の一覧を記載します。 1年サイクルでリリースしているのと、サポート期間はあっという間に過ぎてしまうことがわ…
2ヶ月前

Goのtime. Nowとは? 〜synctestを添えて〜
every Tech Blog
Goのtime.Nowとは? 〜synctestを添えて〜 はじめに エブリーでエンジニアをやっております、赤川です。食事管理アプリ ヘルシカ の開発を通じてGoを嗜んでいます。 ダイエット・食事管理・体重管理・カロリー計算 - ヘルシカevery, Inc.ヘルスケア/フィットネス無料 ふと、以下のコードを見て、「Goにおける現在時刻ってなんなんだ…?」となりました。 now := time.Now() OSから取って来ているのは既知とした上で、Goのコードでそれをどのような形で扱っているのか、synctestの仮想時刻を返す挙動がどのように実装されているのかなど、いろいろ気になったのでコー…
2ヶ月前

Gemini APIのコストを削減するための選択肢
every Tech Blog
はじめに こんにちは!デリッシュキッチンで主にバックエンドの開発を担当している秋山です。 私たちのチームでは Gemini API を使った機能を運用しており、利用料金をいかに抑えるかは継続的に向き合うべきテーマになっています。 この記事では、Gemini API のコスト削減の選択肢を一通り整理したうえで、私自身が実際に試した中での学びを共有します。 料金体系 まずはGemini APIの料金に対して説明します。 Gemini API の料金は、ざっくり以下の3要素で決まります。 入力トークン: プロンプトやシステム指示、画像・動画・音声などの入力 出力トークン: モデルが返したテキスト 思…
2ヶ月前

Lambda × S3 Files で構成するステートフルなデータ前処理パイプライン
every Tech Blog
エブリー開発本部の塚田です。 バックエンドやデータ基盤をメインに担当しています。 2026年4月に Amazon S3 の新機能として Amazon S3 Files が GA となり、続けて4月後半には Lambda からの利用にも対応 しました。 データエンジニア視点で見ると、「Lambda で並列データ処理を書くときに毎回悩んでいた、状態の持ち回り」がやりやすくなるんじゃないかと感じました。 本記事では、Lambda 上のデータ前処理パイプラインを S3 Files で組み直すとどう変わるか、を検討しました。 なぜ Lambda 前処理で「状態」が悩みの種だったのか Lambda はスケ…
2ヶ月前

外部連携バッチシステムの動作確認をしやすくする
every Tech Blog
はじめに こんにちは。リテールハブ開発部の清水です。 私たちのチームでは、外部システムと深夜帯にCSVをやり取りするバッチシステムを開発・運用しています。 これらのバッチ群は適切な順番で適切な設定で実行することが求められるのですが、 新メンバーがジョインしたとき、これをローカル環境で実際に動かして確かめるのはハードルが高いと感じていました。 本記事ではこのようなバッチシステムを動作確認しやすくするために考えた点をご紹介します。 対象のバッチシステム 本番のインフラ構成イメージ ローカル開発環境 Docker Composeで FTP / S3互換ストレージ / MySQL を立てて、Goバッチ…
2ヶ月前