Pengumuman Genkit Go 1.0 dan Pengembangan Berbantuan AI yang Disempurnakan

9 SEP. 2025
Chris Gill Product Manager
Cameron Balahan Group Product Manager

Kami sangat senang bisa mengumumkan perilisan Genkit Go 1.0, rilis stabil dan siap produksi pertama dari framework pengembangan AI open source Google untuk ekosistem Go. Bersamaan dengan rilis ini, kami juga memperkenalkan perintah genkit init:ai-tools untuk meningkatkan secara signifikan alur kerja pengembangan berbantuan AI Anda.

Genkit adalah framework open source untuk membangun aplikasi berbasis AI full-stack. Framework ini menyediakan antarmuka terpadu untuk beberapa penyedia model dan API yang efisien untuk konten multimodal, output terstruktur, panggilan alat, retrieval-augmented generation (RAG), dan alur kerja agentik. Dengan Genkit Go, Anda sekarang bisa membangun dan menerapkan aplikasi AI siap produksi dengan kecepatan, keamanan, dan keandalan Go.

TL;DR

Genkit Go sekarang sudah stabil dan siap untuk penggunaan produksi!

Fitur utama:

  • Alur AI yang aman tipe dengan struktur Go dan validasi skema JSON
  • Antarmuka model terpadu mendukung Google AI, Vertex AI, OpenAI, Ollama, dan lainnya
  • Panggilan alat, RAG, dan dukungan multimodal
  • Alat pengembangan lokal yang berlimpah dengan biner CLI mandiri dan UI Developer
  • Integrasi asisten coding AI melalui perintah genkit init:ai-tools untuk alat seperti Gemini CLI

Siap memulai coding? Lihat panduan memulai kami.

Yang Baru di Genkit Go 1.0

Siap Produksi

Genkit Go 1.0 merepresentasikan komitmen kami untuk menyediakan fondasi yang stabil dan dapat diandalkan untuk membangun aplikasi berbasis AI di Go. Dengan rilis ini, Anda bisa menerapkan aplikasi berbasis AI ke dalam produksi dengan Genkit, karena API-nya sudah stabil dan teruji dengan baik.

Seperti Go itu sendiri, ini dimaksudkan agar program yang ditulis dengan Genkit 1.* akan terus dikompilasi dan dijalankan dengan benar, tidak berubah, bahkan ketika rilis “point” masa depan Genkit muncul (Genkit 1.1, Genkit 1.2, dll.).

Alur AI yang Aman Tipe

Salah satu fitur Genkit yang paling kuat adalah flow - fungsi untuk kasus penggunaan AI yang menyediakan kemampuan observasi, pengujian yang mudah, dan deployment yang disederhanakan. Begini cara Anda mendefinisikan flow di Go untuk menghasilkan urutan langkah terstruktur:

package main
 
import (
    "context"
    "encoding/json"
    "fmt"
    "log"
 
    "github.com/firebase/genkit/go/ai"
    "github.com/firebase/genkit/go/genkit"
    "github.com/firebase/genkit/go/plugins/googlegenai"
)
 
// Define your data structures
type RecipeInput struct {
    Ingredient          string `json:"ingredient" jsonschema:"description=Main ingredient or cuisine type"`
    DietaryRestrictions string `json:"dietaryRestrictions,omitempty" jsonschema:"description=Any dietary restrictions"`
}
 
type Recipe struct {
    Title        string   `json:"title"`
    Description  string   `json:"description"`
    PrepTime     string   `json:"prepTime"`
    CookTime     string   `json:"cookTime"`
    Servings     int      `json:"servings"`
    Ingredients  []string `json:"ingredients"`
    Instructions []string `json:"instructions"`
    Tips         []string `json:"tips,omitempty"`
}
 
func main() {
    ctx := context.Background()
 
    // Initialize Genkit with plugins
    g := genkit.Init(ctx,
        genkit.WithPlugins(&googlegenai.GoogleAI{}),
        genkit.WithDefaultModel("googleai/gemini-2.5-flash"),
    )
 
    // Define a type-safe flow
    recipeFlow := genkit.DefineFlow(g, "recipeGeneratorFlow", 
        func(ctx context.Context, input *RecipeInput) (*Recipe, error) {
            dietaryRestrictions := input.DietaryRestrictions
            if dietaryRestrictions == "" {
                dietaryRestrictions = "none"
            }
 
            prompt := fmt.Sprintf(`Create a recipe with the following requirements:
                Main ingredient: %s
                Dietary restrictions: %s`, input.Ingredient, dietaryRestrictions)
 
            // Generate structured data with type safety
            recipe, _, err := genkit.GenerateData[Recipe](ctx, g,
                ai.WithPrompt(prompt),
            )
            if err != nil {
                return nil, fmt.Errorf("failed to generate recipe: %w", err)
            }
 
            return recipe, nil
        })
 
    // Run the flow
    recipe, err := recipeFlow.Run(ctx, &RecipeInput{
        Ingredient:          "avocado",
        DietaryRestrictions: "vegetarian",
    })
    if err != nil {
        log.Fatalf("could not generate recipe: %v", err)
    }
 
    // Print the structured recipe
    recipeJSON, _ := json.MarshalIndent(recipe, "", "  ")
    fmt.Println("Sample recipe generated:")
    fmt.Println(string(recipeJSON))
 
    <-ctx.Done() // Used for local testing only
}
Go

Antarmuka Model Terpadu

Genkit Go menyediakan antarmuka tunggal yang konsisten untuk bekerja dengan beberapa penyedia model AI, termasuk Google AI, Vertex AI, OpenAI, Anthropic, dan Ollama. Pelajari lebih lanjut tentang membuat konten dengan model AI:

// Use Google AI models
resp, err := genkit.Generate(ctx, g,
    ai.WithModelName("googleai/gemini-2.5-flash"),
    ai.WithPrompt("What is the weather like today?"),
)
 
// Use OpenAI models
resp, err := genkit.Generate(ctx, g,
    ai.WithModelName("openai/gpt-4o"),
    ai.WithPrompt("How are you today?"),
)
 
// Switch to Ollama for local models
resp, err := genkit.Generate(ctx, g,
    ai.WithModelName("ollama/llama3"),
    ai.WithPrompt("What is the meaning of life?"),
)
Go

Panggilan Alat

Genkit Go memudahkan model AI Anda untuk mengakses fungsi dan API eksternal. Lihat panduan panggilan alat selengkapnya:

// Define a tool
type WeatherInput struct {
    Location string `json:"location" jsonschema_description:"Location to get weather for"`
}
 
getWeatherTool := genkit.DefineTool(g, "getWeather", 
    "Gets the current weather in a given location",
    func(ctx *ai.ToolContext, input WeatherInput) (string, error) {
        // Your weather API logic here
        return fmt.Sprintf("The current weather in %s is 72°F and sunny.", input.Location), nil
    })
 
// Use the tool in generation
resp, err := genkit.Generate(ctx, g,
    ai.WithPrompt("What's the weather in San Francisco?"),
    ai.WithTools(getWeatherTool),
)
Go

Penerapan yang Mudah

Terapkan alur Anda sebagai endpoint HTTP dengan penyiapan minimal. Lihat panduan deployment untuk opsi lainnya:

// Create HTTP handlers for your flows
mux := http.NewServeMux()
mux.HandleFunc("POST /recipeGeneratorFlow", genkit.Handler(recipeFlow))
 
// Start the server
log.Fatal(server.Start(ctx, "127.0.0.1:3400", mux))
Go

Alat Developer yang Berlimpah

Genkit Go hadir dengan seperangkat alat pengembangan komprehensif yang dirancang untuk menjadikan pembuatan aplikasi AI semakin cepat dan intuitif. Seluruh toolchain lokal tersedia melalui satu CLI yang bekerja secara mulus dengan alur kerja pengembangan Go Anda.

Penginstalan CLI Mandiri

Mulai secara cepat dengan biner CLI mandiri kami – tidak perlu penginstalan runtime lainnya:

Untuk macOS dan Linux:

curl -sL cli.genkit.dev | bash
Shell

Untuk Windows: Download langsung dari: cli.genkit.dev

CLI bekerja dengan aplikasi Genkit dalam setiap bahasa yang didukung (JavaScript, Go, Python) dan memberi Anda beberapa perintah yang mudah untuk melakukan pengujian dan iterasi dengan cepat seperti menjalankan dan mengevaluasi alur Anda.

UI Developer Interaktif

UI Developer menyediakan antarmuka visual untuk melakukan pengujian dan proses debug aplikasi AI Anda:

  • Menguji alur secara interaktif: Jalankan alur dengan input yang berbeda dan lihat hasil yang dirender dengan bersih
  • Debug dengan pelacakan terperinci: Visualisasikan dengan tepat proses yang dilakukan alur AI Anda selangkah demi selangkah
  • Memantau performa: Lacak latensi, penggunaan token, dan biaya
  • Bereksperimen dengan prompt: Uji berbagai prompt dan konfigurasi model

Luncurkan UI Developer bersama aplikasi Go Anda melalui CLI:

genkit start -- go run .
Shell

Berikut adalah pengalaman yang terlihat ketika menjalankan dan memeriksa alur recipeGenerator dari sebelumnya:

Memperkenalkan genkit init:ai-tools

Kami juga sangat senang bisa memperkenalkan perintah genkit init:ai-tools yang merevolusi cara Anda bekerja dengan asisten AI selama pengembangan. Fitur ini, kini tersedia untuk developer Go dan JavaScript, secara otomatis mengonfigurasi asisten coding AI populer untuk bekerja secara mulus dengan framework dan peralatan Genkit. Pelajari lebih lanjut tentang pengembangan berbantuan AI di Genkit.

Untuk menggunakannya, instal Genkit CLI dan jalankan:

genkit init:ai-tools
Shell

Menjalankan perintah akan melakukan hal berikut:

  1. Mendeteksi konfigurasi asisten AI yang ada dan mempertahankan setelan Anda saat ini
  2. Menginstal server Genkit MCP dengan alat pengembangan yang kuat:
    • lookup_genkit_docs: Menelusuri dokumentasi Genkit dari genkit.dev
    • list_flows: Membuat daftar semua alur dalam aplikasi Genkit Anda saat ini
    • run_flow: Menjalankan alur dengan input pengujian
    • get_trace: Mengambil jejak eksekusi untuk proses debug dan analisis
  1. Membuat file GENKIT.md dengan petunjuk khusus bahasa yang komprehensif untuk asisten AI

Alat AI yang Didukung

Perintah memiliki dukungan bawaan untuk:

  • Gemini CLI - Asisten coding AI berbasis CLI dari Google
  • Firebase Studio - Lingkungan pengembangan agentik berbasis cloud dari Firebase
  • Claude Code - Asisten coding Anthropic
  • Cursor - Editor kode berbasis AI

Untuk alat lainnya, pilih opsi “generic” untuk mendapatkan file GENKIT.md yang bisa Anda integrasikan secara manual.

Pengalaman Pengembangan yang Disempurnakan

Dengan integrasi asisten AI, Anda bisa:

  • Mengajukan pertanyaan tentang Genkit Go API dan mendapatkan jawaban yang akurat dan terkini.
  • Membuat kode Genkit khusus untuk Go yang mengikuti praktik terbaik.
  • Men-debug alur dengan meminta asisten AI Anda menganalisis jejak.
  • Menguji aplikasi Anda dengan input yang dihasilkan AI
  • Mendapatkan bantuan untuk pola khusus Go dan kode idiomatis.

Mulai cepat

1. Buat project baru:

mkdir my-genkit-app && cd my-genkit-app
go mod init example/my-genkit-app
Shell

2. Instal Genkit dan CLI:

go get github.com/firebase/genkit/go
curl -sL cli.genkit.dev | bash
Shell

3. Siapkan integrasi asisten AI:

genkit init:ai-tools
Shell

4. Buat alur pertama Anda menggunakan contoh di atas.

5. Mulai UI Developer:

genkit start -- go run .
Shell

Untuk panduan yang lebih terperinci, lihat panduan memulai.

Pelajari Lebih Lanjut

Genkit Go 1.0 menggabungkan performa dan keandalan Go dengan framework dan alat AI Genkit yang siap produksi. Kami tak sabar ingin segera melihat kreasi Anda!

Selamat coding! 🚀