<?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: thiago schwanz</title>
    <description>The latest articles on DEV Community by thiago schwanz (@thiagoschwanz).</description>
    <link>https://dev.to/thiagoschwanz</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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4183464%2F6bc61c12-5cc7-4c2a-9164-b40d4e57cbb0.png</url>
      <title>DEV Community: thiago schwanz</title>
      <link>https://dev.to/thiagoschwanz</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/thiagoschwanz"/>
    <language>en</language>
    <item>
      <title>FLOW CODING: AI Obeys Those Who Know How to Think</title>
      <dc:creator>thiago schwanz</dc:creator>
      <pubDate>Thu, 15 Oct 2026 14:23:39 +0000</pubDate>
      <link>https://dev.to/thiagoschwanz/flow-coding-ai-obeys-those-who-know-how-to-think-3nng</link>
      <guid>https://dev.to/thiagoschwanz/flow-coding-ai-obeys-those-who-know-how-to-think-3nng</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;The Death of Vibe Coding&lt;/p&gt;

&lt;p&gt;"Building this system will take us about two years."Sentences like this can be forgotten forever.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The internet has an almost childish habit of slapping catchy labels on every passing wave of hype. Lately, the buzzword has been &lt;em&gt;vibe coding&lt;/em&gt;. The promise sounded irresistible to anyone who had never actually shipped software to production: you sit in front of your screen, open a chat window, throw a vague idea in natural language, chat like you are catching up at a bar, and watch the code materialize. Almost magical, almost poetic, and utterly fragile.&lt;/p&gt;

&lt;p&gt;For weekend prototypes, disposable two-line scripts, or flashy social media demos, it looks great. The problem starts the very next minute, when the project meets real-world constraints. When a user clicks where they shouldn't, when two people attempt to book the exact same slot simultaneously, when the database connection drops, or when the cloud bill arrives at the end of the month.&lt;/p&gt;

&lt;p&gt;That is when &lt;em&gt;vibe coding&lt;/em&gt; falls apart.&lt;/p&gt;

&lt;p&gt;It collapses because engineering software was never about typing fast or relying on a tool that nods along to everything you say. Building software is about anticipation, architecture, and having absolute clarity about the problem long before touching the keyboard.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Vibe coding&lt;/em&gt; died the moment teams needed stability instead of spectacle. What replaces it is not a retreat into rigid, outdated manuals, but a far more mature discipline: &lt;strong&gt;FLOW CODING&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;To understand the difference without theoretical fluff, we need to inspect what actually happens under the hood of a Large Language Model. AI does not think, lacks intuition, and has no innate grasp of your business logic. It is an extraordinarily capable statistical engine trained to predict the next sequence of tokens based strictly on what is loaded into its context window.&lt;/p&gt;

&lt;p&gt;Under a &lt;em&gt;vibe coding&lt;/em&gt; workflow, what you feed into that window is sheer chaos. You ask for a feature without defining boundaries. The model outputs generic code. The code breaks. You paste the raw stack trace back into the chat, complaining. The model attempts a patch by introducing unrequested assumptions, breaking something that worked five minutes ago.&lt;/p&gt;

&lt;p&gt;Within half an hour, the conversation becomes a contaminated patchwork of dead code, conflicting instructions, and noise. The model enters semantic drift. It loses track of the initial system requirements and begins generating increasingly erratic logic. You assume you are programming, but you are merely manufacturing entropy.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;FLOW CODING&lt;/strong&gt; operates in the exact opposite direction. It is grounded in a simple operational law: AI obeys those who know how to think. If you do not know what you want, you get the internet's statistical median, which is almost always functional mediocrity.&lt;/p&gt;

&lt;p&gt;In &lt;em&gt;flow coding&lt;/em&gt;, the interaction never begins until the mental blueprint is fully mapped out. You do not open an IDE to ask the machine what should be built. You sit down knowing the system's non-negotiable constraints. If the system must run at zero cost, that restriction is not an afterthought; it is the core design principle. If customer data cannot touch third-party servers, your architectural decisions are locked before writing a single line. If the end user only interacts through WhatsApp, you do not bolt on a heavy authentication dashboard just because the model recommended a trendy framework.&lt;/p&gt;

&lt;p&gt;This mindset shifts the entire dynamic. Instead of wrestling with syntax across endless trial-and-error iterations, you operate in deliberate, decoupled phases.&lt;/p&gt;

&lt;p&gt;First, you instruct the model on who it needs to be for that specific domain and freeze its execution. You load the core constraints, provide concrete examples of the expected input/output behavior, and define operational boundaries. Execution is only unlocked once you validate that the model’s grasp of the architecture is completely unambiguous.&lt;/p&gt;

&lt;p&gt;This preserves a massive amount of cognitive focus and token budget. When instructions arrive clean, without fluff, vague requests, or meta-commentary, the model's attention heads focus on the target with mathematical precision. The resulting code is not a lucky guess; it is the direct compilation of a rigorous specification.&lt;/p&gt;

&lt;p&gt;There is an even deeper leap that sets these approaches apart: moving from simple text generation to autonomous agents and closed loops.&lt;/p&gt;

&lt;p&gt;In &lt;em&gt;vibe coding&lt;/em&gt;, the human remains a fatigued middleman. The machine produces a snippet, you manually copy and paste it into the terminal, watch it fail, return to the chat, and apologize for the inconvenience. You become an intern to the model.&lt;/p&gt;

&lt;p&gt;In &lt;em&gt;flow coding&lt;/em&gt;, the system is built to act. You equip the model with deterministic tools, define objective success criteria, and let the loop run. If an incoming payload is malformed or an edge-case ambiguity arises, the system itself detects the variance, adjusts its execution path within authorized parameters, resolves the issue, and logs the outcome. The machine shoulders the heavy lifting of execution and self-healing, while the human retains the only asset no technology can replace: the capacity to exercise critical judgment, steer strategy, and define what actually matters.&lt;/p&gt;

&lt;p&gt;The death of &lt;em&gt;vibe coding&lt;/em&gt; is not bad news. It marks the end of the illusion that computing power can substitute for clear thinking. The model may be the most sophisticated tool on the planet, but it remains an amplifier. If you approach it with haste, confusion, and superficiality, it will return a broken, superficial system at the speed of light.&lt;/p&gt;

&lt;p&gt;When you arrive with real domain experience, clear context, and a precise diagnosis of the underlying problem, the machine ceases to be a novelty chatbot and becomes a natural extension of your ability to build.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Flow coding&lt;/em&gt; is precisely that: zero distracted hype, uncompromising technical precision, and total operational control in the hands of whoever knows where they are going.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What are you building today: a sandcastle sustained by reactive prompts, or a structure designed to stay standing long after the chat window closes?&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>vibecoding</category>
      <category>flowcoding</category>
      <category>aicoding</category>
      <category>softwareengineering</category>
    </item>
    <item>
      <title>FLOW CODING: A ia obedece quem sabe pensar</title>
      <dc:creator>thiago schwanz</dc:creator>
      <pubDate>Thu, 15 Oct 2026 14:23:39 +0000</pubDate>
      <link>https://dev.to/thiagoschwanz/flow-coding-a-ia-obedece-quem-sabe-pensar-24aj</link>
      <guid>https://dev.to/thiagoschwanz/flow-coding-a-ia-obedece-quem-sabe-pensar-24aj</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;A morte do Vibe Coding&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;"Para criarmos esse sistema demoraremos uns 2 anos."Frases assim poderão ser esquecidas para sempre.A internet tem uma mania quase infantil de colocar nome bonito em qualquer empolgação passageira. Nos últimos tempos, a palavra de ordem virou &lt;em&gt;vibe coding&lt;/em&gt;. A promessa parecia irresistível para quem nunca tinha colocado um sistema de verdade para rodar: você senta na frente do computador, abre uma janela de chat, joga uma ideia qualquer em linguagem natural, conversa como se estivesse batendo papo no bar e assiste ao software brotar na tela. Quase mágico, quase poético, e absolutamente frágil.Para protótipo de fim de semana, para script de duas linhas ou para impressionar seguidor em vídeo de rede social, isso é lindo. O problema começa no minuto seguinte, quando o projeto precisa ir para a vida real. Quando o cliente clica onde não devia, quando dois usuários tentam agendar a mesma vaga ao mesmo tempo, quando o banco oscila ou quando a fatura da nuvem chega no fim do mês.Aí o &lt;em&gt;vibe coding&lt;/em&gt; desmorona.Ele desmorona porque construir software nunca foi sobre digitar rápido nem sobre ter uma ferramenta que concorda com você em tudo. Construir software é sobre antecipação, sobre arquitetura e sobre ter clareza do problema antes de encostar no teclado.O &lt;em&gt;vibe coding&lt;/em&gt; morreu no momento em que as pessoas precisaram de estabilidade em vez de espetáculo. E o que assume o lugar dele não é uma volta aos manuais engessados de antigamente, mas uma disciplina muito mais madura: o &lt;strong&gt;FLOW CODING&lt;/strong&gt;.Para entender a diferença de verdade, sem enrolação teórica, a gente precisa olhar para o que acontece por baixo do capô de um modelo de linguagem. A inteligência artificial não pensa, não tem intuição e não sabe o que o seu negócio precisa. Ela é um motor estatístico absurdamente competente em prever o próximo pedaço de texto com base no que você colocou dentro da janela de contexto.Quando você opera no estilo &lt;em&gt;vibe coding&lt;/em&gt;, o que você joga nessa janela é pura bagunça. Você pede uma funcionalidade qualquer sem delimitar o terreno. O modelo entrega um código genérico. O código dá erro. Você pega a mensagem de erro crua, sem analisar, e joga de volta no chat reclamando. O modelo tenta consertar inventando uma suposição que você não pediu, quebrando o pedaço que estava funcionando cinco minutos atrás.Em meia hora, a conversa vira uma colcha de retalhos contaminada de lixo, de remendos e de ordens contraditórias. O modelo entra no que a gente chama de deriva semântica. Ele começa a esquecer o ponto de partida e passa a entregar código cada vez mais instável. Você acha que está programando, mas está apenas gerando entropia.O &lt;strong&gt;FLOW CODING&lt;/strong&gt; faz exatamente o movimento contrário. Ele parte de uma lei operacional muito simples: a inteligência artificial obedece a quem sabe pensar. Quem não sabe o que quer recebe de volta uma média estatística da internet, que quase sempre é a mediocridade funcional.   No &lt;em&gt;flow coding&lt;/em&gt;, a conversa nem começa enquanto você não tiver desenhado o mapa na própria cabeça. Você não abre a tela para perguntar o que a máquina acha que deve ser feito. Você senta para trabalhar sabendo exatamente quais são as restrições inegociáveis do sistema. Se o projeto precisa rodar de graça, essa restrição não é um detalhe de orçamento, é o próprio design. Se os dados não podem vazar para servidores de terceiros, a escolha da ferramenta já está tomada antes de escrever uma única linha. Se o usuário final é uma pessoa leiga que só sabe mexer no WhatsApp, você não vai inventar uma tela de login complexa só porque o modelo sugeriu uma biblioteca da moda.   Essa postura muda completamente a dinâmica de trabalho. Em vez de ficar corrigindo sintaxe em loops intermináveis de tentativa e erro, você trabalha em blocos fechados e deliberados.Primeiro você ensina a máquina quem ela precisa ser naquele contexto específico e congela a resposta dela. Você deposita os requisitos, mostra exemplos reais do comportamento esperado e estabelece as regras de contorno. Você só libera a execução quando valida que o modelo compreendeu a arquitetura sem ambiguidades.   Isso economiza uma quantidade brutal de atenção e de tokens. Quando a instrução chega limpa, sem ruído, sem pedidos vagos e sem meta-conversa, os mecanismos de atenção do modelo miram no alvo com precisão cirúrgica. O código gerado não é um palpite solto no escuro, é o reflexo direto de uma especificação bem amarrada.   E existe um salto ainda mais profundo que separa essas duas posturas: a passagem da resposta simples para os agentes e loops autônomos.   No &lt;em&gt;vibe coding&lt;/em&gt;, você continua sendo o intermediário cansado do processo. A máquina escreve um texto, você copia com a mão, cola no terminal, vê que quebrou, volta no chat e pede desculpa pelo incômodo. Você vira o estagiário da inteligência artificial.No &lt;em&gt;flow coding&lt;/em&gt;, o sistema é arquitetado para agir. Você conecta o modelo às ferramentas certas, cria critérios objetivos de sucesso e deixa o ciclo rodar. Se uma mensagem chega com formato estranho ou uma ambiguidade aparece, o próprio sistema é capaz de detectar o desvio, recalcular o passo dentro dos limites autorizados, resolver a pendência e registrar o que fez. A máquina faz o trabalho pesado de execução e autocorreção enquanto o ser humano preserva o único recurso que nenhuma tecnologia substitui: a capacidade de julgar, de escolher a direção e de decidir o que tem valor de verdade.   A morte do &lt;em&gt;vibe coding&lt;/em&gt; não é uma notícia ruim. É apenas o fim da ilusão de que a tecnologia faz o trabalho da mente. A ferramenta pode ser a mais avançada do planeta, mas ela continua sendo apenas um amplificador. Se você entrar com pressa, confusão e superficialidade, vai receber de volta um sistema confuso e superficial, só que executado na velocidade da luz.   Se você entrar com contexto, com a sua vivência de mercado e com um diagnóstico claro do problema real, a máquina deixa de ser um brinquedo de adivinhação e passa a ser uma extensão natural da sua capacidade de construir.   O &lt;em&gt;flow coding&lt;/em&gt; é isso: menos empolgação desatenta, muito mais precisão e o controle firme da operação sempre nas mãos de quem realmente sabe para onde está indo.&lt;strong&gt;Qual sistema você está construindo hoje: um castelo de areia que vive de prompt reativo ou uma estrutura feita para ficar de pé quando a tela fechar?&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>inteligenciaartificial</category>
      <category>vibecoding</category>
      <category>flowcoding</category>
      <category>criandosistema</category>
    </item>
  </channel>
</rss>
