Uso de IA no desenvolvimento do Linux




Arnaldo Carvalho de Melo
acme@kernel.org
Red Hat
CyberDay, Centro de Inovação do Jaraguá
Maceió, Dezembro 2025

Tópicos



  • Aspectos Legais
  • Super busca
  • Revisão de código
  • Criação de código
  • Pair programming

Use AI!



  • Estímulo na Red Hat/IBM
  • Acesso a Gemini/Claude Code/etc
  • Experimente
  • Compartilhe experiências
IA não é opcional?

  • Resistência
  • 1 terço aceita imediatamente
  • 1 terço aceita quando vê resultados
  • 1 terço resiste
Resistência
  • Aumento de carga de trabalho
  • Aprender sobre IA
  • Uso gradual de ferramentas
  • Como uma motor de busca melhorado inicialmente
  • Certamente um tema polêmico

Aspectos Legais



  • Que modelo?
  • No que foi treinado?
  • Depender de infra de empresas?
  • Rodar somente localmente?
  • Modelos Open Source
  • OLMO: Open Language MOdels

kernel.org



Revisão de Código



Como?



  • semcode
  • Semantic Code Search
  • Para bases de código C e C++
  • Indexa a base de código
  • Buscas por funções, tipos, padrões de código
  • Casamento de padrão exato ou por similaridade
  • Também indexa arquivos de listas de discussão
  • E histórico git

semcode



  • Escrito em Rust
  • Serve como uma "Base de Conhecimento"
  • Desenvolvido pelo Chris Mason, Josef Bacik e Claude
  • Meta, Meta e agora Anthropic e Anthropic
  • Acessado via MCP
  • Ou interativamente

Exemplos de comandos



  • find_callees: Que functions esta função modificada pelo patch chama?
  • find_callers
  • find_callchain
  • diff_functions: Que outras funcões são impactadas por este patch?
  • Usada por humanos, em linguagem natural
  • Ou por agentes IA, via MCP

Questões não locais



  • Usando find_callers para uma função
  • Comparar quais também usam mutex_lock
  • Para verificar ordem de obtenção de locks
  • Das listas de discussão obter o porquê algo foi escrito de uma certa maneira

review-prompts


  • Expert Director
  • Contexto adicional para LLMs
  • Prompts
  • Diz à IA _como_ usar o conhecimento do semcode
  • Codifica décadas de experiência de revisão de código por humanos
  • Por subsistema
  • Taxa de falsos positivos: ~20-30%, melhorando
  • Início

Sequência



  • Message-id inicia revisão
  • Busca mensagens da série de patches
  • Assistente AI monta contexto interrogando semcode via MCP
  • Gera análise com argumentação
  • Pode parar aqui, no mantenedor ou contribuidor
  • Ou participar da lista, automatizado

FIM