
/
May 30, 2025
/
#
Min Read
À medida que a complexidade do software automóvel continua a aumentar, as equipas de engenharia estão a recorrer a ferramentas assistidas por IA para melhorar a eficiência do programador, reduzir erros e manter a qualidade em sistemas críticos de segurança. Aqui na Sibros, adotamos ferramentas como Cursor IDE, Windsurf, Cline, Claude Code e outros modelos de linguagem grande (LLMs) para apoiar o desenvolvimento em toda a nossa plataforma de veículos conectados - desde atualizações OTA até registro de dados e diagnóstico.
Neste artigo, partilhamos padrões práticos, lições aprendidas e dicas para integrar assistentes de codificação de IA no seu fluxo de trabalho, particularmente para software automóvel incorporado e baseado na nuvem. Não são ideias teóricas mas métodos reais e aplicados que estamos a incorporar nos nossos fluxos de trabalho diários para construir sistemas de produção. Vocês também podem.
Nos sistemas automóveis, os erros cometidos no início da fase de concepção são caros para corrigir mais tarde. Isto é especialmente verdadeiro em serviços fortemente acoplados, como orquestração de atualizações OTA ou transmissão de log. Com o Cursor IDE, começamos todas as novas funcionalidades com um planeamento extensivo usando IA para co-desenhar o nosso sistema.
Solicitamos ao LLM a definir responsabilidades de serviço, esboçar modelos de domínio e antecipar contratos de comunicação.
Estamos a construir um serviço de implementação para actualizações de software OTA. Por favor, descrevam-se:
Exemplo de Prompt:
Este tipo de design inicial reduz a rotatividade posterior e mantém toda a equipa alinhada nas decisões de arquitectura.
Fora da caixa, os LLMs não têm contexto sobre o seu repo específico. É aí que . regras do cursor os ficheiros entram. Pense neles como o documento de integração de IA do seu projeto.
Utilizamo-los para definir:
Exemplo de trecho:
Isso permite que a IA complete o código que corresponde ao nosso estilo e evita inconsistências internas.
O código automóvel toca frequentemente em funções críticas - pense em atualizações de firmware, controladores de travão ou diagnósticos de telemetria. Isso significa que o código gerado por IA deve ser testável, previsível e verificável.
Usamos uma abordagem de prompt “test-first”: defina como é o sucesso antes de pedir à IA que escreva a lógica.
Solicitar a geração de testes:
Isso garante que a IA funcione dentro de restrições e evita comportamentos indesejados a jusante.
Já não lemos os rastreamentos completos da pilha manualmente. Em vez disso, colamo-los diretamente no Cursor e pedimos a análise da causa raiz. Isto é especialmente útil em Go, onde os pânicos muitas vezes caem em cascata.
Exemplo rápido:
Isso acontece ao tentar chamar `.Deploy () `dentro da lógica de rollout OTA. Ajude-me a depurar.
A IA devolve causas prováveis, sugere linhas de registo e até oferece correções. Isso substitui o que costumava ser 30 minutos de pavimentação de borracha e peneiramento de toras.
Uma armadilha comum ao trabalhar com LLMs é a tendência de empilhar correções em cima de código quebrado. Isso cria “cruft” - um termo que usamos para camadas de edições mal fundamentadas.
Para evitar isso:
Este hábito mantém o código limpo e minimiza o risco de enviar algo sutilmente quebrado.
Muitos utilizadores de IA subutilizam o Cursor para a refactoração. Usamo-lo de forma proativa para reduzir a dívida tecnológica. O cursor é ótimo para identificar funções longas, blocos repetidos ou padrões inconsistentes.
Prompt:
Isso ajuda-nos a modernizar o código legado mais rapidamente, mantendo a confiança na cobertura do teste.
Aprendemos que alguns frameworks e padrões são mais amigáveis à IA do que outros. O cursor funciona melhor quando o sistema é modular, digitado e documentado.
Favorecemos:
Evitar DSL apenas internos e APIs não tipadas aumenta significativamente a eficácia da IA.
A IA não escreve apenas código, mas também escreve documentos. Utilizamos o Cursor para gerar documentação interna, especificações de API e até registos de decisão de arquitectura (ADRs).
Prompt:
Isto reduz a sobrecarga manual e mantém os nossos documentos internos atualizados à medida que as funcionalidades evoluem.
Estes padrões de desenvolvimento assistido por IA não vieram da teoria. Evoluíram de centenas de horas gastas a construir sistemas reais de nível automóvel. O nosso conselho: trate a IA como um colaborador, não um oráculo. Deixe-a lidar com repetições e sugestões, mas sempre em camadas de revisão humana, especialmente para a lógica crítica de segurança.
Para os programadores de veículos conectados que procuram mover-se mais rápido sem comprometer a fiabilidade, a adoção destes padrões oferece uma vantagem real.