Programar com IA

Programar com um agente de IA

A inteligência artificial (IA) mudou fundamentalmente a forma como programamos. Os agentes de IA podem gerar e otimizar código e até ajudar na depuração. Ainda assim, existem algumas limitações que os programadores devem ter em mente ao trabalhar com IA.

Problemas de ordenação e duplicação

Os agentes de IA têm dificuldade em respeitar a ordem correta do código. Por exemplo, podem colocar inicializações no final de um ficheiro, o que provoca erros em tempo de execução. Além disso, a IA pode definir, sem hesitação, várias versões da mesma classe ou função dentro de um projeto, o que conduz a conflitos e confusão.

Uma plataforma de código com memória e estrutura de projeto ajuda

Uma solução para este problema é utilizar plataformas de programação com IA capazes de gerir a memória e as estruturas dos projetos. Isto ajuda a manter a consistência em projetos complexos. Infelizmente, estas funcionalidades nem sempre são aplicadas de forma consistente. Consequentemente, a IA pode perder a coerência de um projeto e introduzir duplicações indesejadas ou dependências incorretas durante a programação.

A maioria das plataformas de programação com IA funciona com as chamadas ferramentas, que o modelo de linguagem de grande dimensão pode invocar. Essas ferramentas baseiam-se num protocolo padrão aberto (MCP). Também é possível ligar um agente de programação com IA a um IDE, como o Visual Code. Se necessário, pode configurar localmente um LLM com Llama ou com o Ollama e escolher um servidor MCP para integrar. servidor MCP A Fortis AI criou um para ajudar na depuração e na gestão do sistema subjacente (Linux). É útil quando pretende colocar o código diretamente em produção.
Os modelos podem ser encontrados em Hugging Face.

As extensões para IDE são indispensáveis

Para gerirem melhor o código gerado por IA, os programadores podem utilizar extensões de IDE que verificam a correção do código. Ferramentas como linters, verificadores de tipos e ferramentas avançadas de análise de código ajudam a detetar e corrigir erros numa fase inicial. Constituem um complemento essencial ao código gerado por IA, garantindo a qualidade e a estabilidade.

A causa dos erros recorrentes: contexto e função nas APIs

Uma das principais razões pelas quais os agentes de IA continuam a repetir erros reside na forma como interpretam as APIs. Os modelos de IA precisam de contexto e de uma definição clara do seu papel para gerar código eficaz. Isto significa que os prompts devem ser completos: não devem conter apenas os requisitos funcionais, mas também especificar claramente o resultado esperado e as condições-limite. Para facilitar este processo, pode guardar os prompts num formato padrão (MDC) e enviá-los automaticamente para a IA. Isto é especialmente útil para as regras genéricas de programação que utiliza, bem como para os requisitos funcionais e técnicos e a estrutura do seu projeto.

Ferramentas como FAISS e LangChain ajudam

Produtos como FAISS e LangChain oferecem soluções para ajudar a IA a lidar melhor com o contexto. Por exemplo, o FAISS ajuda a pesquisar e obter de forma eficiente fragmentos de código relevantes, enquanto o LangChain ajuda a estruturar o código gerado por IA e a manter o contexto num projeto de maiores dimensões. Também neste caso, pode eventualmente configurar tudo localmente com bases de dados RAC.

Conclusão: útil, mas ainda não autónoma

A IA é uma ferramenta poderosa para programadores e pode ajudar a acelerar os processos de desenvolvimento. No entanto, ainda não é verdadeiramente capaz de conceber e desenvolver autonomamente uma base de código mais complexa sem supervisão humana. Os programadores devem encarar a IA como um assistente que pode automatizar tarefas e gerar ideias, mas que continua a precisar de orientação e correção para alcançar um bom resultado.

Incluir contacto Incluir para ajudar a configurar o ambiente de desenvolvimento, permitindo que as equipas tirem o máximo partido desse ambiente e se dediquem mais à engenharia de requisitos e ao design do que à depuração e à escrita de código.

 

Gerard

Gerard trabalha como consultor e gestor de IA. Com uma vasta experiência em grandes organizações, consegue analisar um problema de forma particularmente rápida e avançar rumo a uma solução. Aliada à sua formação em economia, essa experiência permite-lhe tomar decisões responsáveis do ponto de vista empresarial.