Quanto Mais Poderosa a IA, Menos Bastará Saber Pedir _ Será Preciso Saber Especificar.
Muito se afirma, especialmente nas redes sociais, que a evolução das Inteligências Artificiais permitirá que qualquer pessoa desenvolva aplicações e sistemas apenas por meio de linguagem natural. Essa percepção decorre, em parte, da crescente capacidade das IAs generativas de produzir código, interfaces, automações e protótipos a partir de instruções de alto nível. Entretanto, a facilidade de geração não elimina as etapas de engenharia que antecedem, condicionam e validam qualquer sistema computacional destinado a uso real.
Este artigo sustenta que, à medida que sistemas de IA assumam tarefas mais complexas de desenvolvimento, cresce a necessidade de que o operador forneça requisitos funcionais, restrições de segurança, critérios de desempenho, regras de negócio, requisitos de privacidade, condições operacionais e mecanismos de validação. Em ambientes regulados ou de maior risco, essa exigência poderá deixar de ser apenas uma boa prática de engenharia e tornar-se condição para que determinadas saídas sejam produzidas ou utilizadas.
Assim, a evolução das IAs tende a reduzir o esforço mecânico de implementação, mas não necessariamente a reduzir a necessidade de conhecimento técnico. Em determinadas classes de sistemas, poderá ocorrer o movimento inverso: quanto maior a capacidade de geração automatizada, maior a necessidade de qualificação para especificar, avaliar, validar e assumir responsabilidade pelo produto resultante.
1. Introdução
A popularização das Inteligências Artificiais generativas modificou significativamente a interação entre seres humanos e sistemas computacionais. Atividades anteriormente restritas a profissionais com conhecimento de programação passaram a ser parcialmente acessíveis por meio de linguagem natural. Atualmente, uma pessoa sem formação em desenvolvimento de software pode solicitar a uma IA a criação de páginas Web, scripts, consultas a bancos de dados, automações ou mesmo protótipos de aplicações completas.
Esse avanço representa uma mudança real de paradigma. Entretanto, dele deriva frequentemente uma conclusão excessivamente simplificada: a de que a capacidade de gerar código equivale à capacidade de desenvolver sistemas.
Não equivale.
Um sistema computacional não começa no código. Antes da implementação existem requisitos, arquitetura, modelagem de dados, definição de interfaces, segurança, privacidade, tratamento de falhas, critérios de desempenho, disponibilidade, manutenção, interoperabilidade, regras de negócio e condições de operação.
A IA pode reduzir drasticamente o esforço necessário para transformar uma especificação em implementação. Contudo, se a especificação for ausente, incompleta, contraditória ou tecnicamente inadequada, uma implementação aparentemente funcional poderá ocultar riscos significativos.
Essa distinção torna-se particularmente importante porque sistemas produzidos por IA podem apresentar elevada qualidade superficial. Interfaces convincentes, código sintaticamente correto e respostas tecnicamente plausíveis podem criar uma falsa percepção de robustez.
A questão central deixa, então, de ser apenas “A IA consegue construir?” e passa a ser “O usuário sabe especificar corretamente o que deve ser construído?”
2. Desenvolvimento
Parte I — Gerar código não é desenvolver um sistema
A geração de código constitui apenas uma etapa do ciclo de desenvolvimento de software. Mesmo sistemas de pequena dimensão dependem de decisões anteriores à implementação. É necessário estabelecer o comportamento esperado, definir entradas e saídas, identificar exceções, estabelecer regras de persistência, determinar condições de autenticação, controlar permissões, definir limites operacionais e prever comportamento diante de falhas.
Quando um desenvolvedor humano recebe uma especificação incompleta, ele normalmente precisa realizar perguntas adicionais antes de implementar uma solução confiável. Uma IA enfrenta essencialmente o mesmo problema.
A diferença é que sistemas generativos são capazes de preencher lacunas utilizando inferências estatísticas. Essa capacidade é útil, mas também representa risco. Uma decisão não especificada pelo usuário pode ser substituída por uma decisão plausível para o modelo, embora inadequada ao contexto real.
Em um protótipo, isso pode produzir apenas comportamento indesejado. Em um sistema comercial, financeiro, industrial, administrativo ou relacionado a dados pessoais, a mesma deficiência pode produzir prejuízo.
Portanto, a redução da barreira para produção de código não representa necessariamente redução da barreira para produção de sistemas confiáveis.
Parte II — A nova barreira: especificação
À medida que as IAs evoluem, determinadas competências deixam de ser necessárias em nível operacional. Um usuário poderá não precisar conhecer detalhadamente a sintaxe de uma determinada linguagem de programação para produzir uma aplicação. Entretanto, outras competências tornam-se proporcionalmente mais relevantes.
- engenharia de requisitos;
- arquitetura de sistemas;
- modelagem de dados;
- segurança da informação;
- privacidade;
- análise de risco;
- integração entre sistemas;
- testes e validação;
- governança;
- conformidade regulatória.
Isso produz uma inversão interessante. A IA reduz a importância de saber como escrever cada instrução, mas aumenta a importância de saber o que deve ser construído, sob quais condições e com quais restrições.
A competência deixa progressivamente de estar concentrada na sintaxe e passa para a especificação.
Pedir corresponde a expressar uma intenção. Especificar corresponde a transformar essa intenção em requisitos verificáveis. Essa diferença é fundamental.
“Crie um sistema seguro de cadastro de clientes” é um pedido. Uma especificação exige responder, entre outras questões, quais dados serão coletados, quem poderá acessá-los, como ocorrerá a autenticação, como serão armazenados, quais registros deverão ser mantidos, por quanto tempo, em quais condições os dados poderão ser alterados, quais ataques devem ser considerados, quais requisitos legais ou contratuais precisam ser satisfeitos e como falhas serão detectadas e testadas.
A primeira formulação pode ser produzida por qualquer usuário. A segunda exige conhecimento.
Parte III — Robustez aparente e robustez real
Um dos riscos da geração automatizada é a confusão entre aparência de funcionamento e robustez.
Uma aplicação pode executar corretamente o fluxo principal durante uma demonstração e, ainda assim, possuir vulnerabilidades críticas. Pode apresentar uma interface profissional e possuir consultas inseguras ao banco de dados. Pode autenticar usuários e não controlar adequadamente sessões. Pode armazenar dados e não possuir estratégia de recuperação. Pode produzir resultados corretos em condições normais e falhar de forma imprevisível diante de entradas inesperadas.
Esses problemas já existiam no desenvolvimento tradicional. A IA não os criou. O que ela modifica é a velocidade com que sistemas aparentemente completos podem ser produzidos.
Essa velocidade aumenta a necessidade de validação. Uma geração rápida pode reduzir o custo da implementação, mas não elimina o custo intelectual da verificação. Em determinados contextos, poderá inclusive ampliá-lo.
Quanto maior a quantidade de componentes gerados automaticamente, maior poderá ser a necessidade de mecanismos automáticos e humanos para verificar sua consistência.
Parte IV — Regulação, responsabilidade e exigência incorporada às próprias IAs
A evolução das IAs ocorre paralelamente à evolução das exigências de segurança, privacidade, responsabilidade e governança.
À medida que sistemas gerados com auxílio de IA sejam utilizados em ambientes comerciais ou sensíveis, torna-se previsível que fornecedores de modelos e plataformas adotem mecanismos destinados a reduzir riscos associados a usos inadequadamente especificados.
Esses mecanismos poderão assumir diferentes formas. Uma IA poderá solicitar informações adicionais antes de produzir determinada solução; restringir funcionalidades quando requisitos fundamentais não estiverem definidos; classificar determinada saída como protótipo; exigir parâmetros relacionados a segurança, privacidade ou contexto operacional; ou recusar determinadas construções quando não houver informação suficiente para produzir um resultado compatível com os requisitos aplicáveis.
Nesse cenário, a própria interação humano–IA tende a evoluir. O prompt genérico perde relevância. A especificação estruturada ganha importância.
Surge, portanto, uma consequência aparentemente paradoxal: quanto mais capaz for a IA de construir sistemas, maior poderá ser a qualificação exigida para solicitar determinados sistemas de forma tecnicamente aceitável.
Essa exigência não precisa decorrer apenas da tecnologia. Pode decorrer da combinação entre tecnologia, responsabilidade empresarial, normas técnicas, legislação, contratos e risco econômico.
Parte V — Autoria, assistência intelectual e responsabilidade
O desenvolvimento deste próprio artigo fornece um exemplo útil para uma questão correlata: o papel da IA na atividade intelectual.
Durante a elaboração do trabalho ocorreram debate, contraposição, correção conceitual, refinamento da hipótese e convergência argumentativa entre autor e sistema de IA. Após esse processo, determinadas formulações textuais puderam ser produzidas pela IA como representação linguística de entendimentos previamente debatidos e aceitos pelo autor.
Esse processo evidencia uma dificuldade das abordagens simplistas de autoria. Redigir uma sequência de palavras e ser responsável intelectualmente pelo conhecimento expresso nessa sequência não são necessariamente a mesma coisa.
A produção científica sempre utilizou mecanismos de assistência intelectual: revisão por pares, orientação acadêmica, discussão com colaboradores, revisão linguística, edição técnica e ferramentas computacionais. A introdução da IA altera a escala e a natureza dessa assistência, mas não elimina a necessidade de distinguir entre produção textual e autoria intelectual.
Normatizar o uso de IA é necessário. Entretanto, normatizar não deveria significar estabelecer arbitrariamente quais recursos um pesquisador pode ou não utilizar para organizar, discutir ou expressar suas ideias. O elemento central deve permanecer sendo a responsabilidade.
Um autor deve ser capaz de compreender o que publicou, explicar sua metodologia, defender seus argumentos, responder a críticas, identificar as fontes utilizadas, corrigir erros e assumir responsabilidade acadêmica, profissional e civil pelo conteúdo.
A autoria científica não se demonstra pelo teclado utilizado, mas pela capacidade de compreender, sustentar e responder pelo conhecimento publicado.
3. Considerações sobre o futuro da engenharia de software assistida por IA
A engenharia de software não desaparecerá diante da IA. Ela tende a mudar de nível de abstração.
Parte das atividades atualmente executadas manualmente será automatizada. Programação repetitiva, produção de estruturas padronizadas, documentação inicial e geração de testes poderão ser realizadas progressivamente por sistemas inteligentes.
Entretanto, problemas de maior nível permanecem: quem define os requisitos? Quem determina os limites? Quem decide quais riscos são aceitáveis? Quem verifica se o sistema produzido corresponde ao objetivo pretendido? Quem assume responsabilidade quando um comportamento não especificado produz dano?
Essas perguntas não são questões de sintaxe. São questões de engenharia.
A evolução das IAs poderá, portanto, reduzir a importância relativa do programador como tradutor manual de requisitos para código, ao mesmo tempo que aumenta a importância do engenheiro como responsável por especificação, arquitetura, validação e governança.
Nesse sentido, a IA não necessariamente elimina a especialização. Ela pode deslocá-la.
4. Conclusão
A popularização da IA generativa tornou possível produzir código e protótipos de sistemas com uma facilidade inédita. Essa democratização representa avanço tecnológico real. Entretanto, facilidade de implementação não deve ser confundida com facilidade de engenharia.
Sistemas confiáveis dependem de requisitos, arquitetura, segurança, validação, governança e responsabilidade. Nenhuma dessas propriedades surge automaticamente porque o código foi produzido por uma IA.
Pelo contrário, quanto maior a capacidade de geração automática, maior poderá ser a necessidade de especificações precisas capazes de limitar o espaço de soluções possíveis.
O futuro da construção de sistemas pode, portanto, ser caracterizado por uma mudança fundamental: o conhecimento técnico deixa progressivamente de ser necessário para informar como escrever o código e torna-se ainda mais necessário para determinar o que deve ser construído e sob quais condições.
Por essa razão, a evolução das IAs não implica necessariamente que pessoas sem qualificação técnica serão capazes de produzir sistemas progressivamente mais robustos. Em determinadas classes de aplicações, poderá ocorrer o contrário.
À medida que sistemas de IA se tornem mais poderosos, requisitos técnicos, regulatórios e de segurança poderão elevar o nível de conhecimento necessário para sua utilização profissional.
Referências
- ISO. ISO/IEC 42001:2023 — Information technology — Artificial intelligence — Management system. International Organization for Standardization, 2023.
- NIST. Artificial Intelligence Risk Management Framework: Generative Artificial Intelligence Profile — NIST AI 600-1. National Institute of Standards and Technology.
- ISO. AI management systems: What businesses need to know. International Organization for Standardization.
CM²O — IA, RPA & Inteligência de Dados