genkit-ai/developing-genkit-js

Genkitを使用してNode.js/TypeScriptでAI搭載アプリケーションを開発します。ユーザーがGenkit、AIエージェント、フロー、ツールについてJavaScript/TypeScriptで質問したときや、Genkitのエラー、バリデーション問題、型エラー、APIの問題に遭遇したときに使用します。

developing-genkit-js とは?

このスキルは、GoogleのGenkitフレームワークを使用してNode.js/TypeScript環境でAI搭載アプリケーションを開発するための包括的なガイドです。Genkitは、AIエージェント、フロー、ツールを構築するためのオープンソースフレームワークであり、開発者が複雑なAIワークフローを簡単に定義・管理できるようにします。このスキルは、Genkitのセットアップ、フローの作成、ツールの統合、エラーハンドリング、バリデーション、型安全性の確保など、実践的な開発プロセスをカバーしています。また、一般的なGenkitエラー(APIエラー、型エラー、バリデーション問題など)に遭遇した際のトラブルシューティングガイドも提供します。Cline、Cursor、CodexなどのAIコーディングエージェントと併用することで、Genkitを使用したAIアプリケーション開発の生産性を大幅に向上させることができます。このスキルのドキュメント(SKILL.md)には、具体的なコード例、設定手順、ベストプラクティスが含まれており、開発者がGenkitを効率的に使いこなせるよう支援します。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/genkit-ai/skills/tree/main/skills/developing-genkit-js

Installed? Explore more 生産性&コラボレーション skills: steipete/gemini, steipete/gh-issues, steipete/skill-creator · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

developing-genkit-js は何をしますか?

Genkitを使用してNode.js/TypeScriptでAI搭載アプリケーションを開発します。ユーザーがGenkit、AIエージェント、フロー、ツールについてJavaScript/TypeScriptで質問したときや、Genkitのエラー、バリデーション問題、型エラー、APIの問題に遭遇したときに使用します。

概要

Genkitは、AI搭載アプリケーションを構築するためのオープンソースフレームワークです。このスキルは、Genkitを使用したNode.js/TypeScript開発を支援します。

主な機能

  • フロー(Flows): AIワークフローを定義・実行するための宣言的API
  • エージェント(Agents): LLMを活用した自律的なAIエージェントの構築
  • ツール(Tools): 外部APIやデータソースと連携するためのツール統合
  • バリデーション: Zodなどのスキーマバリデーションとのシームレスな統合
  • エラーハンドリング: Genkit特有のエラー(APIエラー、型エラー、バリデーションエラー)の処理

セットアップ

npm install genkit

または、Genkit CLIを使用して新しいプロジェクトを作成します。

npx genkit init

基本的な使い方

フローの作成

import { defineFlow, runFlow } from 'genkit';
import { z } from 'zod';

const greetingFlow = defineFlow({
  name: 'greetingFlow',
  inputSchema: z.object({
    name: z.string()
  }),
  outputSchema: z.string()
}, async (input) => {
  return `Hello, ${input.name}!`;
});

フローの実行

const result = await runFlow(greetingFlow, { name: 'World' });
console.log(result); // Hello, World!

エラーハンドリング

Genkitを使用する際によく発生するエラーとその対処法を以下に示します。

APIエラー

try {
  const result = await runFlow(myFlow, input);
} catch (error) {
  if (error.message.includes('API')) {
    console.error('APIエラーが発生しました。APIキーとエンドポイントを確認してください。');
  }
}

バリデーションエラー

Zodのスキーマバリデーションエラーは、フロー定義時に自動的に処理されます。入力がスキーマに準拠していない場合は、明確なエラーメッセージが返されます。

ベストプラクティス

  1. 型安全性を確保する: すべてのフローで入出力スキーマを定義する
  2. エラーハンドリング: エラーを適切にキャッチし、ユーザーにわかりやすいメッセージを表示する
  3. ツールの分割: 複雑なタスクは複数のツールに分割する
  4. テスト: フローとツールのユニットテストを作成する

参考リンク

関連スキル