Ícone do site Café Codificado

Desenvolvimento orientado a especificações: a chave para agentes de IA escaláveis

Desenvolvimento orientado a especificações: a chave para agentes de IA escaláveis

“A pessoa que comunica o melhor será o programador mais valioso no futuro. A nova habilidade escassa é escrever especificações que capturam totalmente suas intenções e valores”. Sean Grove de Openai disse recentemente no Conferência de Engenheiro de AI.

As especificações, não solicitadas ou código, diz Grove, estão se tornando a unidade fundamental de programação, e as especificações de redação é a nova superpotência.

Como a IA torna mais fácil do que nunca gerar código, duas coisas ficaram claras. A primeira é que a geração de mais código com a IA não Remova a complexidade da engenharia de software; Apenas abstraia isso para depurar, testar e implantar pipelines. E esse código de escrita nunca foi o gargalo.

Escrever código não é o gargalo

O gargalo é saber o que construir, reunindo requisitos, sabendo por que construí -lo e, finalmente, saber se foi construído corretamente e alcançou suas intenções. As organizações de engenharia sentirão que, quanto mais avançada os modelos de IA ficam, aponta Grove.

Projete o alinhamento entre as equipes, resolvendo requisitos conflitantes, eliminando a dívida tecnológica, trazendo rigor para revisões de código e preservando o conhecimento institucional quando os engenheiros seniores saem são listados como os desafios fundamentais que dificultam a construção de software em O anúncio da Amazon para seu AI IDE e o conceito de desenvolvimento orientado a especificações.

A principal coisa que determina se um agente é bem -sucedido ou falha é a qualidade do contexto que é dado. E, se queremos que os agentes tenham sucesso não apenas em vibração de codificação de aplicativos legais do zero, mas em bases de código da Brownfield Enterprise, dando a agentes o contexto certo – ou engenharia de contexto – é a peça que faltava para que isso aconteça.

Mas obter o contexto é difícil. Mesmo quando as janelas de contexto de modelos de idiomas grandes (LLMS ‘) estão aumentando, já sabemos que fornecer contexto maior ao LLMS realmente diminui a qualidade. O segredo é a qualidade do contexto fornecido.

As especificações são “contexto refinado” que fornecem informações suficientes para que os LLMs sejam eficazes sem serem sobrecarregados.

O que é o desenvolvimento orientado por especificações?

Desenvolvimento orientado a especificações é a prática de escrever especificações antes de escrever código-ou pedir uma ferramenta de IA para escrever código. Em vez de apenas tentar sua sorte com os avisos, não importa o quão cuidadosamente criados e, em seguida, solicitando correções, o desenvolvimento orientado a especificações começa com documentos claros e estruturados que capturam requisitos, intenções e restrições.

Na era da codificação da IA, uma especificação atua como um guia para os agentes da IA, algo que eles podem referir, validar seu trabalho e usar para permanecer orientado. É uma estrela do Norte que permite que os agentes assumam tarefas maiores e mais complexas sem perder o controle da intenção.

O desenvolvimento orientado a especificações substitui o caos da codificação de vibração ad hoc, orientada por prontuidade por uma maneira estruturada e durável para os programadores expressarem seus objetivos. Ele permite que os desenvolvedores sejam mais específicos sobre detalhes específicos e para o agente comunicar seu plano com antecedência.

Uma especificação se torna uma espécie de super prompt de versão controlada por versão, legível por humanos.

Como funciona o desenvolvimento orientado por especificações?

Se você simplesmente solicitou a IA a “implementar as permissões de usuário”, ela pode criar um sistema de controle de acesso (RBAC) baseado em função padrão (RBAC) com funções de administrador e usuário. Na superfície, o código pode parecer polido e pronto para produção. Mas não parará de perguntar se você precisa de permissões de granulação fina, janelas de acesso temporário ou ganchos em um provedor de identidade existente. O código gerado parece profissional e completo, mascarando o fato de resolver o problema errado.

O desenvolvimento orientado a especificações exige que os engenheiros diminuam a velocidade, pense claramente sobre o que estão construindo e se comunica de uma maneira clara e estruturada sobre:

  • Formatos específicos de entrada/saída e tipos de dados.
  • Regras de negócios explícitas e casos de borda.
  • Restrições de integração e dependências do sistema existentes.
  • Requisitos de desempenho e escala esperada.
  • Regras de manuseio de erros e validação.
  • Requisitos de segurança e conformidade.

A partir daí, os agentes criam uma lista de tarefas para fazer para criar o código de acordo com as especificações. Os engenheiros ainda podem interagir com os agentes por meio de avisos e direcioná -los.

Da colaboração do desenvolvedor-agente à codificação multiplayer

Construir software com agentes de IA não é um esporte solo, especialmente em organizações de engenharia maiores. Os projetos modernos geralmente abrangem vários repositórios, microsserviços, avisos e especificações. Imagine adicionar um botão “compartilhar” às suas especificações para compartilhar conhecimentos em toda a sua equipe e delegar a execução.

É aí que Runbooks Entre. Um conceito que estamos desenvolvendo é transformar a codificação assistida por uma atividade para um jogador em um multiplayer. Os runbooks dão às equipes um espaço compartilhado para colaborar em avisos, alinhar -se aos fluxos de trabalho de execução e manter uma trilha de auditoria clara de decisões.

Pense nos RunBooks como o link ausente entre as especificações do produto e o código. Um runbook não é apenas documentação, é uma base de conhecimento vivo que outros podem pegar, estender e se adaptar. Você pode aproveitar o runbook de outra pessoa, transferir o contexto entre repositórios ou caminhos de código, redigir suas próprias especificações e obter feedback ou reunir partes interessadas e agentes de codificação em uma única sessão estruturada.

Sair da versão mobile