Agent Skills by ALSEL
Anthropic ClaudeLLM・AI開発⭐ リポ 0品質スコア 50/100

developing-genkit-go

GenkitをGoで使用してAI駆動アプリケーションを開発します。ユーザーがGenkitを使ったGoでのAI機能・エージェント・フロー・ツールの構築を求める場合や、生成・プロンプト・ストリーミング・ツール呼び出し・モデルプロバイダーを含むGenkit GoコードでのAI機能構築が必要な場合に使用します。

description の原文を見る

Develop AI-powered applications using Genkit in Go. Use when the user asks to build AI features, agents, flows, or tools in Go using Genkit, or when working with Genkit Go code involving generation, prompts, streaming, tool calling, or model providers.

SKILL.md 本文

Genkit Go

Genkit Go は Go 用の AI SDK であり、生成、構造化出力、ストリーミング、ツール呼び出し、プロンプト、フローを複数のモデルプロバイダー間で統一されたインターフェースで提供します。

Hello World

package main

import (
	"context"
	"fmt"
	"log"
	"net/http"

	"github.com/genkit-ai/genkit/go/ai"
	"github.com/genkit-ai/genkit/go/genkit"
	"github.com/genkit-ai/genkit/go/plugins/googlegenai"
	"github.com/genkit-ai/genkit/go/plugins/server"
)

func main() {
	ctx := context.Background()
	g := genkit.Init(ctx, genkit.WithPlugins(&googlegenai.GoogleAI{}))

	genkit.DefineFlow(g, "jokeFlow", func(ctx context.Context, topic string) (string, error) {
		return genkit.GenerateText(ctx, g,
			ai.WithModelName("googleai/gemini-flash-latest"),
			ai.WithPrompt("Tell me a joke about %s", topic),
		)
	})

	mux := http.NewServeMux()
	for _, f := range genkit.ListFlows(g) {
		mux.HandleFunc("POST /"+f.Name(), genkit.Handler(f))
	}
	log.Fatal(server.Start(ctx, "127.0.0.1:8080", mux))
}

コア機能

必要なものに応じて、適切なリファレンスを確認してください:

機能リファレンスいつロードするか
初期化references/getting-started.mdgenkit.Init のセットアップ、プラグイン、*Genkit インスタンスパターン
生成references/generation.mdGenerateGenerateTextGenerateData、ストリーミング、出力フォーマット
プロンプトreferences/prompts.mdDefinePromptDefineDataPrompt.prompt ファイル、スキーマ
ツールreferences/tools.mdDefineTool、ツール割り込み、RestartWith/RespondWith
ミドルウェアreferences/middleware.mdai.Middlewareai.WithUseHooks (Generate/Model/Tool)、ビルトイン (RetryFallbackToolApprovalFilesystemSkills)
フロー & HTTPreferences/flows-and-http.mdDefineFlowDefineStreamingFlowgenkit.Handler、HTTP サーバリング
モデルプロバイダーreferences/providers.mdGoogle AI、Vertex AI、Anthropic、OpenAI 互換、Ollama セットアップ

Genkit CLI

インストール済みか確認: genkit --version

インストール:

curl -sL cli.genkit.dev | bash

主要コマンド:

# Developer UI (トレーシング、フロー テスト) を使ってアプリを開始 (http://localhost:4000)
genkit start -- go run .
genkit start -o -- go run .   # ブラウザも開く

# CLI から直接フローを実行
genkit flow:run myFlow '{"data": "input"}'
genkit flow:run myFlow '{"data": "input"}' --stream   # ストリーミング付き
genkit flow:run myFlow '{"data": "input"}' --wait      # 完了を待機

# Genkit ドキュメントを検索
genkit docs:search "streaming" go
genkit docs:list go
genkit docs:read go/flows.md

詳細な CLI と Developer UI については references/getting-started.md を参照してください。

主要なガイダンス

  • g を明示的に渡す。 genkit.Init が返す *Genkit インスタンスは中央レジストリです。グローバルに保存するのではなく、すべての Genkit 関数に渡します。これは SDK 全体での中心的なパターンです。
  • AI ロジックをフローでラップする。 フローはトレーシング、可観測性、genkit.Handler 経由の HTTP デプロイ、Developer UI と CLI からのテスト機能を提供します。保持する価値のある生成呼び出しはフローの中に配置してください。
  • 出力型に jsonschema:"description=..." struct タグを使用する。 モデルはこれらの説明を使用して、各フィールドに何を含めるべきかを理解します。これらがなければ、構造化出力の品質が大幅に低下します。
  • 優れたツール説明を書く。 モデルは説明文字列に基づいてどのツールを呼び出すかを決定します。曖昧な説明は、ツール呼び出しの欠落または誤った呼び出しにつながります。
  • 複雑なプロンプトには .prompt ファイルを使用する。 プロンプト コンテンツを Go コードから分離し、Handlebars テンプレートをサポートし、再コンパイルなしで反復できます。コード定義プロンプトはシンプルなワンライナーのケースに適しています。
  • カスタムミドルウェアを書く前に、ビルトインミドルウェアに手を出す。 RetryFallbackToolApprovalFilesystemSkills は一般的な横断的ニーズをカバーし、ai.WithUse を通じて相互に構成できます。references/middleware.md を参照してください。カスタムミドルウェアを書く場合は、New でキャプチャされたクロージャ内で呼び出しごとの状態を割り当て、WrapTool が変異するものを保護してください。ツールは並行して実行される場合があるからです。
  • 最新のモデル ID を確認する。 モデル名は頻繁に変更されます。ハードコードされた名前に頼るのではなく、プロバイダーのドキュメントで現在のモデル ID を確認してください。references/providers.md を参照してください。

ライセンス: Apache-2.0(寛容ライセンスのため全文を引用しています) · 原本リポジトリ

詳細情報

作者
firebase
リポジトリ
firebase/agent-skills
ライセンス
Apache-2.0
最終更新
不明

Source: https://github.com/firebase/agent-skills / ライセンス: Apache-2.0

関連スキル

OpenAILLM・AI開発⭐ リポ 6,054

agent-browser

AI エージェント向けのブラウザ自動化 CLI です。ウェブサイトとの対話が必要な場合に使用します。ページ遷移、フォーム入力、ボタンクリック、スクリーンショット取得、データ抽出、ウェブアプリのテスト、ブラウザ操作の自動化など、あらゆるブラウザタスクに対応できます。「ウェブサイトを開く」「フォームに記入する」「ボタンをクリックする」「スクリーンショットを取得する」「ページからデータを抽出する」「このウェブアプリをテストする」「サイトにログインする」「ブラウザ操作を自動化する」といった要求や、プログラマティックなウェブ操作が必要なタスクで起動します。

by JimmyLv
汎用LLM・AI開発⭐ リポ 1,982

anyskill

AnySkill — あなたのプライベート・スキルクラウド。GitHubを基盤としたリポジトリからエージェントスキルを管理、同期、動的にロードできます。自然言語でクラウドスキルを検索し、オンデマンドでプロンプトを自動ロード、カスタムスキルのアップロードと共有、スキルバンドルの一括インストールが可能です。OpenClaw、Antigravity、Claude Code、Cursorに対応しています。

by LeoYeAI
汎用LLM・AI開発⭐ リポ 1,982

engram

AIエージェント向けの永続的なメモリシステムです。バグ修正、意思決定、発見、設定変更の後はmem_saveを使用してください。ユーザーが「覚えている」「記憶している」と言及した場合、または以前のセッションと重複する作業を開始する際はmem_searchを使用します。セッション終了前にmem_session_summaryを使用して、コンテキストを保持してください。

by LeoYeAI
汎用LLM・AI開発⭐ リポ 21,584

skyvern

AI駆動のブラウザ自動化により、任意のウェブサイトを自動化できます。フォーム入力、データ抽出、ファイルダウンロード、ログイン、複数ステップのワークフロー実行など、ユーザーがウェブサイトと連携する必要があるときに使用します。Skyvernは、LLMとコンピュータビジョンを活用して、未知のサイトも自動操作可能です。Python SDK、TypeScript SDK、REST API、MCPサーバー、またはCLIを通じて統合できます。

by Skyvern-AI
汎用LLM・AI開発⭐ リポ 1,149

pinchbench

PinchBenchベンチマークを実行して、OpenClawエージェントの実世界タスクにおけるパフォーマンスを評価できます。モデルの機能テスト、モデル間の比較、ベンチマーク結果のリーダーボード提出、またはOpenClawのセットアップがカレンダー、メール、リサーチ、コーディング、複数ステップのワークフローにどの程度対応しているかを確認する際に使用します。

by pinchbench
汎用LLM・AI開発⭐ リポ 4,693

openui

OpenUIとOpenUI Langを使用してジェネレーティブUIアプリを構築できます。これらはLLM生成インターフェースのためのトークン効率的なオープン標準です。OpenUI、@openuidev、ジェネレーティブUI、LLMからのストリーミングUI、AI向けコンポーネントライブラリ、またはjson-render/A2UIの置き換えについて述べる際に使用します。スキャフォルディング、defineComponent、システムプロンプト、Renderer、およびOpenUI Lang出力のデバッグに対応しています。

by thesysdev
本サイトは GitHub 上で公開されているオープンソースの SKILL.md ファイルをクロール・インデックス化したものです。 各スキルの著作権は原作者に帰属します。掲載に問題がある場合は info@alsel.co.jp または /takedown フォームよりご連絡ください。
原作者: firebase · firebase/agent-skills · ライセンス: Apache-2.0