AI開発の炎上を鎮火!Genkitで叶える、コード中心のAIアプリケーション構築


AI開発の炎上を鎮火!Genkitで叶える、コード中心のAIアプリケーション構築

firebase/genkit

2025-09-16

炎上プロジェクトにアサインされた君、お疲れ様!「AI機能を組み込め」という無茶振りをされ、途方に暮れているかもしれない。でも安心してほしい。AI開発の複雑な問題を一気に解決してくれる、心強い味方が現れた。それが、今回解説する Genkit だ。

Genkitは、まるでベテランエンジニアが書いたかのような、馴染みやすいコード中心のパターンでAIアプリケーションを構築するためのオープンソースフレームワークだ。AIモデルやサービスはどんどん増えていく一方、それぞれのAPIを理解して、テストして、監視して…とやっていると日が暮れてしまう。そんなときにGenkitを使えば、AI機能の開発が驚くほどスムーズになる。

Genkitは、AI開発における様々な課題を、エンジニアが普段使っている手法で解決してくれる。

複数のAIモデルや外部APIを組み合わせるRAG(Retrieval-Augmented Generation)のような複雑なAIワークフローを、関数呼び出しのようにシンプルに記述できる。まるで、通常のソフトウェアコンポーネントを組み立てるかのように、AI機能を構築できるんだ。

開発中のAIアプリケーションで、「なぜこの出力になったんだ?」と悩んだことはないかい?Genkitには、まるでデバッガーのように、AIモデルへの入力、出力、そして途中の処理ステップまでを視覚的に確認できるツールが備わっている。これで「AIは魔法の箱」ではなくなり、ブラックボックスの中身が丸見えになる。

AIアプリケーションの品質をどうやって測るか。Genkitは、人間による評価だけでなく、AIを使ってモデルの出力を自動で評価する機能も持っている。これを使えば、変更を加えるたびに手動でテストする手間が省け、改善サイクルを高速に回せる。

Genkitは特定のAIモデルに縛られない。Google、OpenAI、Hugging Faceなど、様々なプロバイダのモデルを簡単に切り替えて試すことができる。プロジェクトの要件やコストに合わせて、最適なモデルを柔軟に選択できるんだ。

Genkitの導入は驚くほど簡単だ。まずは、おなじみのnpmコマンドでGenkit CLIをインストールしよう。

npm i -g genkit

次に、Genkitプロジェクトを作成する。

mkdir my-ai-app
cd my-ai-app
genkit init

genkit initコマンドを実行すると、いくつかの設定が聞かれるので、指示に従って進めていこう。これにより、基本的なプロジェクト構成が自動で生成される。

最後に、必要なライブラリを追加する。ここでは、Google AIのモデルを使う前提で進める。

npm install @genkit-ai/core @genkit-ai/ai @genkit-ai/flow @genkit-ai/googleai

これで環境構築は完了だ。もう開発を始められる。

ここでは、最もシンプルな「テキスト生成」の例を見てみよう。

import * as genkit from '@genkit-ai/core';
import { configureGenkit } from '@genkit-ai/core';
import { googleAI } from '@genkit-ai/googleai';

// Genkitの設定を行う。Google AIをプロバイダとして追加。
// 環境変数 GENKIT_GOOGLEAI_API_KEY にAPIキーを設定しておくこと。
export default configureGenkit({
  plugins: [googleAI()],
  flowStateStore: 'firebase', // Firebaseをバックエンドとして利用する設定例
  logLevel: 'debug',
  enableTracingAndMetrics: true,
});

// `helloFlow`という名前のフローを定義
export const helloFlow = genkit.defineFlow(
  {
    name: 'helloFlow',
    inputSchema: z.string(), // 入力は文字列
    outputSchema: z.string(), // 出力も文字列
  },
  async (name) => {
    // googleAIからモデルをロード
    const gemini = genkit.model('google-ai', 'gemini-1.5-pro-latest');

    // AIモデルにプロンプトを送信
    const response = await gemini.generate({
      prompt: `Tell me a fun fact about the name ${name}.`,
    });

    // AIのレスポンスからテキストを抽出して返す
    return response.text();
  }
);

Genkit CLIを使えば、このフローを簡単に実行できる。

genkit flow:run helloFlow "Alice"

このコマンドを実行すると、Genkitが定義したフローを実行し、Aliceという名前にまつわる豆知識をAIが生成してくれる。

Genkitは、単なるAIライブラリではなく、AI開発を組織的、かつ再現性高く進めるための強力なフレームワークだ。AI機能の「開発」から「運用」「改善」まで、ソフトウェアエンジニアが直面するあらゆる課題を解決してくれる。

炎上プロジェクトを立て直すには、まずは小さな成功体験を積み重ねることが重要だ。このGenkitを使って、RAGなどの複雑なAI機能をプロトタイプとしてサクッと作ってみてはどうだろうか?


firebase/genkit




ランジェリーショップで学ぶ!AIアプリ開発の成功事例集

彼女さんが最高のランジェリーを選ぼうと一生懸命悩んでいるように、私たちソフトウェアエンジニアも、最高のシステムをどうやって作るか、日々頭を悩ませています。 そんな時に役立つのが、今回ご紹介する「Arindam200/awesome-ai-apps」なんです。


電気代だけで動く自動調査員!Fosowl/agenticSeekで開発タスクを効率化

Fosowl/agenticSeek、これはまるで、プログラミングの世界であなたの冒険(プロジェクト)を自動で進めてくれる賢い仲間(エージェント)を、完全にローカル(あなたの本拠地)に呼び出す魔法のようなものです。これが、ソフトウェアエンジニアであるあなたにとって、どのように役立つのかを解説しましょう!


ソフトウェアエンジニア必見!AI搭載ブラウザ自動化「Stagehand」徹底解説

「browserbase/stagehand」は、AI(人工知能)と既存のブラウザ自動化ツール(Selenium、Playwrightなど)の強みを組み合わせた、まさに"goated"とも言えるフレームワークです。これまでのツールが抱えていた「UI変更に弱い」「コードが複雑になりがち」といった課題を解決し、より堅牢で、より人間らしい操作が可能なブラウザ自動化を実現します。


ソフトウェアエンジニア必見!CrewAIでAIを協調させる方法

今回は、ソフトウェアエンジニアのみんなに超ホットなライブラリを紹介するぜ。その名も. .. CrewAI!CrewAIは、AIエージェントたちをDJのように華麗にミックスして、ひとつのクルーとして協調させるためのフレームワークなんだ。ただのAIじゃなくて、それぞれの得意分野を持ったプロフェッショナルたちを束ねて、まるでチーム開発みたいに複雑なタスクをこなさせることができるんだぜ。


AIの思考が丸見えに! ヒューマン・イン・ザ・ループを実現する新世代Webエージェントフレームワーク

「microsoft/magentic-ui」っていう、なんともセクシーで未来的な響きのこのプロジェクト、ウチの可愛いエンジニアちゃんたちから見て、どう役立つのか、ママがとびっきり分かりやすく、そして優しく教えてあげるわね。これはね、Microsoftが研究プロトタイプとして公開している、「人間中心のウェブエージェント」を作るためのフレームワークなの。


ソフトウェアエンジニアが知っておくべき「HumanLayer」の安全設計

「HumanLayer」と聞くと、なんだかSF映画に出てくる怪しげなテクノロジーのように聞こえるかもしれませんね。まるで、AIが未来を占ってくれるけど、本当に信じていいの?と不安になるような…(笑)。でも、心配ご無用!これは決して怪しい占いではありません。むしろ、AIがより安全に、そして信頼できる形で「現実世界」と関わるための、とても重要な「安全装置」なんです。


『LLMs-from-scratch』徹底解説:プログラマーのためのAI自作ガイド

勇者よ、お前が探求しているのは、この世界に古くから伝わる「賢者の石」ならぬ、「賢者の知恵」を創り出す秘術だ。それは、まるでハイラル王国の歴史書のように、あらゆる知識を理解し、お前に語りかけるだろう。今日、お前と共に旅するのは、その賢者の知恵を「ゼロ」から生み出すための魔法書、『rasbt/LLMs-from-scratch』だ。


【エンジニアの休息】状態を持つ AI エージェント?cloudflare/agents の仕組みと導入をやさしく解説

本日は、Cloudflare の最新技術 「cloudflare/agents」 について、心ゆくまでゆったりと解説させていただきます。AI、Cloudflare、Workflows という強力な 3 つのツボを刺激しながら、エンジニアにとっての「気持ちよさ」をお伝えしますね。


脱OpenAI依存!GGUF/Transformersを動かすLocalAIによる「ドロップイン互換」AI環境構築術

LocalAIは、その名の通り、ローカル環境でAIモデルを実行するためのオープンソースプラットフォームです。これを、銀河帝国と反乱同盟軍の戦いに例えるなら. ..LocalAIの最大のミッションは、「OpenAIやClaudeなどのAPIと互換性のあるインターフェース」を提供しつつ、その裏側で、GGUF、Transformers、Diffusersといった多様なAIモデルを、あなたのローカル環境で実行することです。