<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Jady Sobjak de Mello Godoi</title>
    <description>The latest articles on DEV Community by Jady Sobjak de Mello Godoi (@jadysmgodoi).</description>
    <link>https://dev.to/jadysmgodoi</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1202380%2F8ad9613c-d5b9-482d-a7b5-33f87f8119fe.png</url>
      <title>DEV Community: Jady Sobjak de Mello Godoi</title>
      <link>https://dev.to/jadysmgodoi</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/jadysmgodoi"/>
    <language>en</language>
    <item>
      <title>Arquitetura Hexagonal e IA: Integrando Flexibilidade e Manutenibilidade</title>
      <dc:creator>Jady Sobjak de Mello Godoi</dc:creator>
      <pubDate>Tue, 09 Jun 2026 12:08:48 +0000</pubDate>
      <link>https://dev.to/jadysmgodoi/arquitetura-hexagonal-e-ia-integrando-flexibilidade-e-manutenibilidade-2lij</link>
      <guid>https://dev.to/jadysmgodoi/arquitetura-hexagonal-e-ia-integrando-flexibilidade-e-manutenibilidade-2lij</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fllq2u9sa44td4nhiz31z.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fllq2u9sa44td4nhiz31z.png" alt="Exploração aprofundada da aplicação da Arquitetura Hexagonal em projetos de Inteligência Artificial, destacando flexibilidade, proteção contra dependência de fornecedor e facilidades de teste" width="799" height="436"&gt;&lt;/a&gt;&lt;br&gt;
No cenário atual de desenvolvimento tecnológico, a Inteligência Artificial (IA) avança a passos largos, trazendo consigo não apenas novas possibilidades, mas também desafios significativos — um dos quais é a integração de sistemas flexíveis e manuteníveis. Um dos principais problemas enfrentados por desenvolvedores é o chamado "vendor lock-in", que ocorre quando um software fica preso a um determinado fornecedor ou tecnologia, tornando sua evolução ou mudança um exercício complexo e custoso. Aqui surge a Arquitetura Hexagonal como uma solução poderosa para projetos de IA, não apenas contornando esse problema, mas também introduzindo outros benefícios ligados à testabilidade e facilidade na troca de componentes.&lt;/p&gt;

&lt;h2&gt;
  
  
  Fundamentação
&lt;/h2&gt;

&lt;p&gt;A Arquitetura Hexagonal, também conhecida como Arquitetura de Portas e Adaptadores, foi proposta por Alistair Cockburn como uma maneira de isolar a lógica de negócio de uma aplicação de suas preocupações de infraestrutura. Esse isolamento é conseguido ao estruturar a aplicação em três camadas principais: Domínio, Aplicação e Infraestrutura. A camada de Domínio abriga a lógica de negócios e deve ser totalmente independente do mundo externo. A camada de Aplicação orquestra o comportamento do sistema, enquanto a Infraestrutura fornece implementação para interfaces definidas no Domínio e na Aplicação.&lt;/p&gt;

&lt;h3&gt;
  
  
  Princípios Fundamentais da Arquitetura Hexagonal
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Princípio da Responsabilidade Única&lt;/strong&gt;: Cada componente tem uma única razão para mudar, mantendo a simplicidade e o foco.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Inversão de Dependência&lt;/strong&gt;: O Domínio e a Aplicação definem contratos que são implementados pelas camadas externas, promovendo baixo acoplamento.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Portas e Adaptadores&lt;/strong&gt;: Estrutura que permite a comunicação entre o núcleo do sistema e o mundo externo, encapsulando interações específicas e mantendo a lógica de negócios independente.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Desenvolvimento
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Proteção Contra "Vendor Lock-in"
&lt;/h3&gt;

&lt;p&gt;Em um ecossistema de IA que muda rapidamente, a dependência de uma específica biblioteca ou tecnologia pode se tornar uma armadilha. A Arquitetura Hexagonal oferece uma forma de proteger-se deste problema através do uso de Portas (Interfaces) e Adaptadores (Implementações) que encapsulam detalhes de infraestruturas específicas. Assim, se o desenvolvedor decide trocar de provedor ou tecnologia, tudo que precisa fazer é criar um novo adaptador sem mexer na lógica principal do sistema.&lt;/p&gt;

&lt;h3&gt;
  
  
  Testabilidade e Redução de Custos
&lt;/h3&gt;

&lt;p&gt;A testabilidade é outra preocupação crítica em aplicações que se integram com IA. O custo de invocação de APIs de modelos de linguagem reais em ambientes de teste pode ser proibitivo. Com o uso de "Mocs" e Adaptadores, testes podem ser realizados sem envolver integrações reais, reduzindo custos e acelerando o ciclo de feedback. &lt;/p&gt;

&lt;h3&gt;
  
  
  Facilidade na Troca de Ferramentas
&lt;/h3&gt;

&lt;p&gt;Para sistemas que utilizam IA de forma agnóstica, é comum precisar trocar as ferramentas subjacentes à medida que o sistema cresce. Por exemplo, uma aplicação pode começar usando um banco de dados vetorial embutido para recuperação de contexto e, posteriormente, migrar para uma solução em nuvem mais robusta. A interface da Porta permite realizar tais migrações sem alterar a lógica de aplicação subjacente.&lt;/p&gt;

&lt;h2&gt;
  
  
  Aplicação Prática
&lt;/h2&gt;

&lt;p&gt;Para ilustrar, considere o desenvolvimento de um Agente Redator Técnico que organiza documentos a partir de um histórico de modificações de código. Na camada de Aplicação, um caso de uso poderia ser &lt;code&gt;GerarDocumentacaoTecnicaUseCase&lt;/code&gt;, que depende de interfaces definidas, como &lt;code&gt;ILLMClient&lt;/code&gt; para interação com modelos de linguagem e &lt;code&gt;IVectorDatabase&lt;/code&gt; para recuperação aumentada de informações. Os adaptadores, implementados na camada de Infraestrutura, concretizam essas interações usando a tecnologia escolhida, como um adaptador específico para um provedor de Inferência de IA.&lt;/p&gt;

&lt;h2&gt;
  
  
  Limitações e Trade-offs
&lt;/h2&gt;

&lt;p&gt;Embora a Arquitetura Hexagonal ofereça grande flexibilidade e estrutura, sua implementação pode ser complexa e custosa em termos de tempo, especialmente em fases iniciais de um projeto onde rapidez de prototipagem é necessária. A necessidade de criar várias interfaces e adaptar múltiplas camadas pode retardar os primeiros ciclos de desenvolvimento, justificando-se plenamente apenas em projetos que evoluam para ambientes de produção complexos e mantidos a longo prazo.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusão
&lt;/h2&gt;

&lt;p&gt;A Arquitetura Hexagonal propõe uma solução robusta para muitos dos desafios enfrentados por desenvolvedores de IA, desde a proteção contra vendor lock-in até a facilidade na troca e teste de componentes. Ao garantir que a lógica central de negócios permaneça isolada e desacoplada da infraestrutura, permite-se uma evolução mais ágil e menos arriscada do sistema como um todo. Em um campo onde mudanças rápidas são a única constante, adotar práticas arquitetônicas que promovam flexibilidade e manutenção pode ser a diferença entre sucesso e obsolescência.&lt;br&gt;
Embora os conceitos apresentados sejam importantes por si só, é na implementação que seus benefícios realmente se tornam evidentes. Em um próximo artigo, pretendo mostrar como venho aplicando essa arquitetura em um projeto real e quais aprendizados surgiram durante essa jornada.&lt;/p&gt;

</description>
      <category>ia</category>
      <category>arquiteturasoftware</category>
      <category>agents</category>
      <category>automation</category>
    </item>
    <item>
      <title>Github Speckit: Revolucionando o Desenvolvimento com SDD</title>
      <dc:creator>Jady Sobjak de Mello Godoi</dc:creator>
      <pubDate>Thu, 21 May 2026 13:54:19 +0000</pubDate>
      <link>https://dev.to/jadysmgodoi/github-speckit-revolucionando-o-desenvolvimento-com-sdd-l66</link>
      <guid>https://dev.to/jadysmgodoi/github-speckit-revolucionando-o-desenvolvimento-com-sdd-l66</guid>
      <description>&lt;h2&gt;
  
  
  Introdução
&lt;/h2&gt;

&lt;p&gt;Hoje, quero te contar sobre uma experiência que tive com uma nova forma de desenvolver software, algo que me deixou realmente empolgada. É como quando você descobre aquela ferramenta que muda a forma como você faz tudo — e isso é exatamente o que o GitHub Speckit fez por mim!&lt;/p&gt;

&lt;p&gt;O GitHub Spec Kit, ou Speckit, é uma solução incrível para o desenvolvimento software que segue a metodologia de Desenvolvimento Orientado a Especificações, ou SDD. Esse kit ajuda a estruturar ideias e documentações antes mesmo de começarmos a programar, permitindo um trabalho mais preciso e organizado, especialmente quando utilizamos IA.&lt;/p&gt;

&lt;p&gt;Vamos mergulhar um pouco mais no que torna essa ferramenta tão especial?&lt;/p&gt;

&lt;h2&gt;
  
  
  O que é o GitHub Speckit?
&lt;/h2&gt;

&lt;p&gt;O Speckit é como aquele amigo sábio que te guia em cada passo do desenvolvimento, garantindo que você esteja no caminho certo. Em vez de apenas te jogar na selva do código, ele ajuda a elaborar princípios de projeto, escopo, regras de clean code e requisitos de ponta a ponta.&lt;/p&gt;

&lt;h3&gt;
  
  
  Estrutura do Speckit
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Arquitetura Estruturada&lt;/strong&gt;: Instrui a IA a formar uma base sólida de princípios e requisitos.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Documentos Vivos&lt;/strong&gt;: Funciona como um "mapa" que a IA consulta e atualiza constantemente.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Divisão de Tarefas (Tasking)&lt;/strong&gt;: Transforma projetos complexos em listas de tarefas menores, garantindo clareza e precisão.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Uma vez que você coloca as especificações do projeto no Speckit com o comando inicial &lt;code&gt;/speckit.constitution&lt;/code&gt;, ele te guia, passo a passo, até a implementação final. Veja abaixo o passo a passo.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsqc5muo5cms2sa0chtop.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsqc5muo5cms2sa0chtop.png" alt="Esquematização do Github Speckit" width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Passo a passo do Speckit
&lt;/h2&gt;

&lt;p&gt;Vamos detalhar como cada comando do Speckit funciona e sua importância no fluxo de desenvolvimento:&lt;/p&gt;

&lt;h3&gt;
  
  
  Instalação
&lt;/h3&gt;

&lt;p&gt;Para começar, você precisa instalar o Speckit em seu projeto com:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;uv tool &lt;span class="nb"&gt;install &lt;/span&gt;specify-cli &lt;span class="nt"&gt;--from&lt;/span&gt; git+https://github.com/github/spec-kit.git
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;A partir daqui, você pode iniciar o Speckit no diretório do projeto:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;specify init &lt;span class="nb"&gt;.&lt;/span&gt; &lt;span class="nt"&gt;--integration&lt;/span&gt; opencode
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Dica&lt;/strong&gt;: Coloque a pasta &lt;code&gt;.opencode&lt;/code&gt; no &lt;code&gt;.gitignore&lt;/code&gt;, mas mantenha a &lt;code&gt;.specify&lt;/code&gt; no repositório GitHub.&lt;/p&gt;

&lt;h3&gt;
  
  
  Estruturando o Desenvolvimento
&lt;/h3&gt;

&lt;h4&gt;
  
  
  &lt;code&gt;/speckit.constitution&lt;/code&gt;
&lt;/h4&gt;

&lt;p&gt;Aqui é onde você define as regras do projeto. Padrão de código... Digite no prompt do opencode, algo do tipo:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;/speckit.constitution Este projeto segue princípios SOLID, testes obrigatórios, clean architecture
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  &lt;code&gt;/speckit.specify&lt;/code&gt;
&lt;/h4&gt;

&lt;p&gt;É usado para descrever o que você quer construir (features novas), e não para analisar código existente. Para documentar o que seu projeto já faz, você precisa descrever manualmente no comando:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;/speckit.specify Meu projeto já existente faz A, B, C. Ele tem as seguintes funcionalidades: &lt;span class="o"&gt;[&lt;/span&gt;detalhes]. Quero documentar isso como especificação.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  &lt;code&gt;/speckit.clarify&lt;/code&gt;
&lt;/h4&gt;

&lt;p&gt;Use este comando para refinar seu pedido antes de seguir para a implementação:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;/speckit.clarify
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Este é o momento de esclarecer ambiguidades e melhorar a especificação com a ajuda da IA.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;code&gt;/speckit.plan&lt;/code&gt;
&lt;/h4&gt;

&lt;p&gt;Transforma sua ideia em um plano estruturado, quebrando o problema em partes menores e etapas definidas:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;/speckit.plan
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  &lt;code&gt;/speckit.tasks&lt;/code&gt;
&lt;/h4&gt;

&lt;p&gt;A partir do plano, gera uma lista de tarefas executáveis, simplificando o processo de desenvolvimento:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;/speckit.tasks
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  &lt;code&gt;/speckit.implement&lt;/code&gt;
&lt;/h4&gt;

&lt;p&gt;Finalmente, tudo que foi planejado é transformado em código real:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;/speckit.implement
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Comparação e Experiência Prática
&lt;/h2&gt;

&lt;p&gt;Experimentei o desenvolvimento do mesmo aplicativo em diferentes abordagens de IA. Primeiro, apenas com o OpenCode no VSCode, que demandou revisões constantes. Depois, usei a skill grill-with-docs, que foi um pouco mais organizada e me trouxe bons resultados, mas ainda exigia supervisão e revisão. Com o Github Speckit, porém, foi impressionante: um plano bem estruturado, passos audíveis e uma execução precisa, resultando em um programa que rodou sem erros na primeira tentativa.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusão
&lt;/h2&gt;

&lt;p&gt;A experiência com o Github Speckit me fez refletir sobre como as ferramentas de IA podem transformar nosso papel como desenvolvedores. Não se trata de substituir, mas sim de evoluir com o apoio de uma tecnologia que nos liberta das tarefas operacionais, possibilitando que o foco esteja na criação e no entendimento do projeto.&lt;/p&gt;

&lt;p&gt;Então, para você que como eu ama tecnologia, vale a pena explorar o Speckit e ver como ele pode elevar o seu desenvolvimento a outro nível. Afinal, entender as origens e a lógica por trás de cada linha de código continua sendo nossa arte e talento insubstituíveis.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>github</category>
      <category>softwaredevelopment</category>
      <category>tooling</category>
    </item>
  </channel>
</rss>
