Anunciamos o Genkit Go 1.0 e o desenvolvimento assistido por IA aprimorado

9 DE SETEMBRO DE 2025
Chris Gill Product Manager
Cameron Balahan Group Product Manager

Temos o prazer de anunciar o lançamento do Genkit Go 1.0, a primeira versão estável e pronta para produção do framework de desenvolvimento de IA de código aberto do Google para o ecossistema Go. Junto com esta versão, também estamos introduzindo o comando genkit init:ai-tools para turbinar seu fluxo de trabalho de desenvolvimento assistido por IA.

O Genkit é um framework de código aberto para a criação de aplicativos habilitados por IA de pilha completa. Ele fornece uma interface unificada para vários provedores de modelos e APIs otimizadas para conteúdo multimodal, saídas estruturadas, chamadas de ferramentas, geração aumentada de recuperação (RAG, na sigla em inglês) e fluxos de trabalho agênticos. Com o Genkit Go, agora você pode criar e implantar aplicativos de IA prontos para produção com a velocidade, a segurança e a confiabilidade do Go.

TL;DR

O Genkit Go está na versão estável e pronto para uso em produção!

Principais recursos:

  • Fluxos de IA com segurança de tipo com structs do Go e validação de esquema JSON.
  • Interface de modelo unificada com suporte para Google AI, Vertex AI, OpenAI, Ollama e muito mais.
  • Chamadas de ferramentas, RAG e suporte multimodal.
  • Ferramentas avançadas de desenvolvimento local, com binário de CLI autônomo e IU para desenvolvedores.
  • Integração a assistentes de codificação de IA por meio do comando genkit init:ai-tools para ferramentas como o Gemini CLI.

Quer começar a codificar? Confira nosso guia de primeiros passos.

Novidades do Genkit Go 1.0

Pronto para produção

O Genkit Go 1.0 representa nosso compromisso de fornecer uma base estável e confiável para a criação de aplicativos habilitados por IA no Go. Com esta versão, você pode implantar aplicativos habilitados por IA em produção com o Genkit com a certeza de uma API estável e bem testada.

Assim como no próprio Go, o objetivo é que os programas escritos com o Genkit 1.* continuem a ser compilados e executados corretamente sem alterações, mesmo que surjam futuras versões "pontuais" do Genkit (Genkit 1.1, Genkit 1.2 etc.).

Fluxos de IA com segurança de tipo

Entre os recursos mais avançados do Genkit estão os fluxos: funções para casos de uso de IA que oferecem observabilidade, testes fáceis e implantação simplificada. Veja como você pode definir um fluxo no Go para gerar receitas estruturadas:

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

Interface de modelo unificada

O Genkit Go fornece uma interface única e consistente para trabalhar com vários provedores de modelos de IA, incluindo Google AI, Vertex AI, OpenAI, Anthropic e Ollama. Saiba mais sobre como gerar conteúdo com modelos de IA:

// 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

Chamadas de ferramentas

Com o Genkit Go, você pode facilitar o acesso de seus modelos de IA a APIs e funções externas. Consulte o guia completo sobre chamadas de ferramentas:

// 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

Implantação simples

Implante fluxos como endpoints HTTP com o mínimo de configuração. Consulte os guias de implantação para ver mais opções:

// 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

Ferramentas avançadas para desenvolvedores

O Genkit Go inclui um conjunto abrangente de ferramentas de desenvolvimento projetadas para tornar a criação de aplicativos de IA rápida e intuitiva. Toda a cadeia de ferramentas local está disponível por meio de uma única CLI que funciona perfeitamente com seu fluxo de trabalho de desenvolvimento Go.

Instalação autônoma de CLI

Comece rapidamente com nosso binário CLI autônomo, sem necessidade de nenhuma outra instalação de ambiente de execução:

Para macOS e Linux:

curl -sL cli.genkit.dev | bash
Shell

Para Windows: faça o download diretamente em: cli.genkit.dev

A CLI funciona com aplicativos Genkit em qualquer linguagem com suporte (JavaScript, Go, Python) e fornece vários comandos convenientes para testes e iterações rápidos, como execução e avaliação de fluxos.

IU interativa para desenvolvedores

A IU para desenvolvedores fornece uma interface visual para testes e depuração de aplicativos de IA:

  • Teste fluxos de maneira interativa: execute fluxos com diferentes entradas e veja resultados renderizados de forma limpa.
  • Depure com o rastreamento detalhado: visualize exatamente o que os fluxos de IA estão fazendo, passo a passo.
  • Monitore o desempenho: acompanhe a latência, o uso de tokens e os custos.
  • Experimente prompts: teste diferentes prompts e configurações de modelos.

Inicie a IU para desenvolvedores juntamente com o aplicativo Go via CLI:

genkit start -- go run .
Shell

Veja abaixo como é a experiência de execução e inspeção do fluxo recipeGenerator mostrado acima:

Apresentamos o genkit init:ai-tools

Também estamos empolgados com a introdução do comando genkit init:ai-tools, que revoluciona a forma como você trabalha com assistentes de IA durante o desenvolvimento. Esse recurso, já disponível para desenvolvedores JavaScript e Go, configura automaticamente assistentes populares de codificação de IA para funcionarem de maneira integrada ao framework e às ferramentas do Genkit. Saiba mais sobre o desenvolvimento assistido por IA no Genkit.

Para utilizá-lo, instale a CLI do Genkit e execute:

genkit init:ai-tools
Shell

A execução do comando faz o seguinte:

  1. Detecta configurações existentes do assistente de IA e preserva suas configurações atuais.
  2. Instala o servidor MCP do Genkit com ferramentas de desenvolvimento avançadas:
    • lookup_genkit_docs: pesquisar a documentação do Genkit em genkit.dev
    • list_flows: listar todos os fluxos no app Genkit atual
    • run_flow: executar fluxos com entradas de teste
    • get_trace: buscar traces de execução para depuração e análise
  1. Cria um arquivo GENKIT.md com instruções abrangentes específicas de linguagem para assistentes de IA.

Ferramentas de IA com suporte

O comando tem suporte incorporado ao seguinte:

  • Gemini CLI – assistente de codificação de IA baseado em CLI do Google.
  • Firebase Studio – ambiente de desenvolvimento agêntico e baseado na nuvem do Firebase.
  • Claude Code – assistente de codificação da Anthropic.
  • Cursor – editor de código habilitado por IA.

Para outras ferramentas, selecione a opção "generic" para obter um arquivo GENKIT.md para integração manual.

Experiência de desenvolvimento aprimorada

Com a integração a assistentes de IA, você pode:

  • Fazer perguntas sobre APIs do Genkit Go e receber respostas precisas e atualizadas.
  • Gerar códigos Genkit específicos do Go que seguem as práticas recomendadas.
  • Depurar fluxos fazendo com que o assistente de IA analise traces.
  • Testar aplicativos com entradas geradas por IA.
  • Obter ajuda sobre padrões específicos do Go e código idiomático.

Início rápido

1. Crie um novo projeto:

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

2. Instale o Genkit e a CLI:

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

3. Configure a integração ao assistente de IA:

genkit init:ai-tools
Shell

4. Crie seu primeiro fluxo usando os exemplos acima.

5. Inicie a IU para desenvolvedores:

genkit start -- go run .
Shell

Para ver um tutorial mais detalhado, consulte o guia de primeiros passos.

Saiba mais

O Genkit Go 1.0 combina o desempenho e a confiabilidade do Go com o framework e as ferramentas de IA prontas para produção do Genkit. Mal podemos esperar para ver o que você vai criar!

Boa codificação! 🚀