[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"atpares-post-prompt-com-variaveis":3},{"slug":4,"title":5,"seoTitle":6,"description":7,"keyword":8,"category":9,"categories":10,"cta":11,"tags":12,"author":6,"coverId":13,"cover":14,"coverAlt":5,"readingMinutes":15,"publishedAt":16,"updatedAt":17,"body":18,"html":19,"headings":20,"related":40},"prompt-com-variaveis","Prompt com variáveis: como transformar um comando bom em template reutilizável","","Onde colocar a variável, como nomear, quantas cabem antes de virar formulário e como testar o template antes de confiar nele.","template de prompt","fundamentos",[9],"produtividade",[],"83f918da-15bb-453e-aa7c-4bb1a5fd2758","https:\u002F\u002Fapi.atpares.com\u002Fapi\u002Fprojects\u002Fprompteira\u002Fblog\u002Fmedia\u002F83f918da-15bb-453e-aa7c-4bb1a5fd2758",3,"2026-08-18","2026-09-17T14:26:27.713Z","Um prompt que você reescreve inteiro toda vez não é um prompt, é uma mensagem. O que transforma um comando em ferramenta é isolar a parte que muda e deixar o resto congelado.\n\n# Onde entra a variável\n\nVariável entra no dado, nunca na instrução. O que muda de rodada para rodada é o público, o produto, o texto colado, o número. O que não muda é o papel, o formato e a restrição.\n\n```\nPapel: você é um redator de e-mail de retenção.\n\nContexto:\n- Cliente: {{nome_do_cliente}}\n- Plano: {{plano}}\n- Motivo do cancelamento informado: {{motivo}}\n- Tempo de casa: {{meses}} meses\n\nTarefa: escreva o e-mail de resposta ao pedido de cancelamento.\n\nFormato: assunto com até 45 caracteres, corpo com no máximo 5 linhas, uma pergunta no fim.\n\nRestrições:\n- Não ofereça desconto se {{meses}} for menor que 3.\n- Não use a palavra \"infelizmente\".\n```\n\nRepare que a instrução ficou inteira fora das chaves. Se você começar a variabilizar o formato, o template vira formulário e perde a vantagem de ser confiável.\n\n# Como nomear\n\nNome de variável é rótulo de campo, não abreviação. `{{motivo}}` funciona, `{{m}}` não, `{{motivo_do_cancelamento_informado_pelo_cliente}}` também não, porque ninguém vai preencher isso duas vezes.\n\n| regra | exemplo bom | exemplo ruim |\n|---|---|---|\n| substantivo curto | `{{publico}}` | `{{quem_vai_ler_isso}}` |\n| sem acento e sem espaço | `{{numero_de_linhas}}` | `{{número de linhas}}` |\n| unidade no nome quando houver | `{{prazo_em_dias}}` | `{{prazo}}` |\n| um conceito por variável | `{{cidade}}` e `{{estado}}` | `{{cidade_estado}}` |\n\n# Quantas cabem\n\nAté cinco ou seis, o template continua rápido de preencher. Acima disso, quem for usar vai desistir no meio ou preencher qualquer coisa nos últimos campos, o que é pior que não ter o campo.\n\nQuando você passar de seis, tem duas saídas. A primeira é agrupar: em vez de quatro variáveis sobre o produto, uma variável `{{ficha_do_produto}}` em que a pessoa cola o texto inteiro. A segunda é quebrar em dois prompts encadeados.\n\n# Valor padrão\n\nToda variável opcional precisa de um padrão escrito no prompt, senão o modelo trata `{{tom}}` vazio como parte do texto e responde sobre chaves duplas.\n\n```\nSe {{tom}} vier vazio, use tom neutro e informativo.\nSe {{idioma}} vier vazio, responda em português do Brasil.\n```\n\n# Como testar antes de confiar\n\nTrês rodadas, com três entradas de propósito diferentes:\n\n1. A entrada típica, aquela para a qual você escreveu o prompt.\n2. A entrada mínima, com só o obrigatório preenchido e todo campo opcional vazio.\n3. A entrada de canto: texto muito curto, número zero, nome com acento, campo com duas frases quando você esperava uma palavra.\n\nSe a terceira rodada quebrar o formato, falta restrição. Se a segunda vier genérica, falta valor padrão.\n\n# O erro que mais aparece\n\nColocar a variável dentro de uma frase que só faz sentido se ela estiver preenchida. \"Considerando que o cliente mencionou {{motivo}}, responda\" vira uma frase quebrada quando o motivo não veio. Escreva assim:\n\n```\nMotivo informado: {{motivo}}\nSe o motivo estiver vazio, pergunte o motivo antes de responder.\n```\n\nA instrução condicional na linha de baixo custa uma linha e resolve o caso vazio sem quebrar a leitura do resto.","\u003Cp>Um prompt que você reescreve inteiro toda vez não é um prompt, é uma mensagem. O que transforma um comando em ferramenta é isolar a parte que muda e deixar o resto congelado.\u003C\u002Fp>\u003Ch2 id=\"onde-entra-a-variavel\">Onde entra a variável\u003C\u002Fh2>\u003Cp>Variável entra no dado, nunca na instrução. O que muda de rodada para rodada é o público, o produto, o texto colado, o número. O que não muda é o papel, o formato e a restrição.\u003C\u002Fp>\u003Cpre>\u003Ccode>Papel: você é um redator de e-mail de retenção.\n\nContexto:\n- Cliente: {{nome_do_cliente}}\n- Plano: {{plano}}\n- Motivo do cancelamento informado: {{motivo}}\n- Tempo de casa: {{meses}} meses\n\nTarefa: escreva o e-mail de resposta ao pedido de cancelamento.\n\nFormato: assunto com até 45 caracteres, corpo com no máximo 5 linhas, uma pergunta no fim.\n\nRestrições:\n- Não ofereça desconto se {{meses}} for menor que 3.\n- Não use a palavra &quot;infelizmente&quot;.\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>Repare que a instrução ficou inteira fora das chaves. Se você começar a variabilizar o formato, o template vira formulário e perde a vantagem de ser confiável.\u003C\u002Fp>\u003Ch2 id=\"como-nomear\">Como nomear\u003C\u002Fh2>\u003Cp>Nome de variável é rótulo de campo, não abreviação. \u003Ccode>{{motivo}}\u003C\u002Fcode> funciona, \u003Ccode>{{m}}\u003C\u002Fcode> não, \u003Ccode>{{motivo_do_cancelamento_informado_pelo_cliente}}\u003C\u002Fcode> também não, porque ninguém vai preencher isso duas vezes.\u003C\u002Fp>\u003Ctable>\u003Cthead>\u003Ctr>\u003Cth>regra\u003C\u002Fth>\u003Cth>exemplo bom\u003C\u002Fth>\u003Cth>exemplo ruim\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd>substantivo curto\u003C\u002Ftd>\u003Ctd>\u003Ccode>{{publico}}\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>\u003Ccode>{{quem_vai_ler_isso}}\u003C\u002Fcode>\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>sem acento e sem espaço\u003C\u002Ftd>\u003Ctd>\u003Ccode>{{numero_de_linhas}}\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>\u003Ccode>{{número de linhas}}\u003C\u002Fcode>\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>unidade no nome quando houver\u003C\u002Ftd>\u003Ctd>\u003Ccode>{{prazo_em_dias}}\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>\u003Ccode>{{prazo}}\u003C\u002Fcode>\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>um conceito por variável\u003C\u002Ftd>\u003Ctd>\u003Ccode>{{cidade}}\u003C\u002Fcode> e \u003Ccode>{{estado}}\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>\u003Ccode>{{cidade_estado}}\u003C\u002Fcode>\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003Ch2 id=\"quantas-cabem\">Quantas cabem\u003C\u002Fh2>\u003Cp>Até cinco ou seis, o template continua rápido de preencher. Acima disso, quem for usar vai desistir no meio ou preencher qualquer coisa nos últimos campos, o que é pior que não ter o campo.\u003C\u002Fp>\u003Cp>Quando você passar de seis, tem duas saídas. A primeira é agrupar: em vez de quatro variáveis sobre o produto, uma variável \u003Ccode>{{ficha_do_produto}}\u003C\u002Fcode> em que a pessoa cola o texto inteiro. A segunda é quebrar em dois prompts encadeados.\u003C\u002Fp>\u003Ch2 id=\"valor-padrao\">Valor padrão\u003C\u002Fh2>\u003Cp>Toda variável opcional precisa de um padrão escrito no prompt, senão o modelo trata \u003Ccode>{{tom}}\u003C\u002Fcode> vazio como parte do texto e responde sobre chaves duplas.\u003C\u002Fp>\u003Cpre>\u003Ccode>Se {{tom}} vier vazio, use tom neutro e informativo.\nSe {{idioma}} vier vazio, responda em português do Brasil.\u003C\u002Fcode>\u003C\u002Fpre>\u003Ch2 id=\"como-testar-antes-de-confiar\">Como testar antes de confiar\u003C\u002Fh2>\u003Cp>Três rodadas, com três entradas de propósito diferentes:\u003C\u002Fp>\u003Col>\u003Cli>A entrada típica, aquela para a qual você escreveu o prompt.\u003C\u002Fli>\u003Cli>A entrada mínima, com só o obrigatório preenchido e todo campo opcional vazio.\u003C\u002Fli>\u003Cli>A entrada de canto: texto muito curto, número zero, nome com acento, campo com duas frases quando você esperava uma palavra.\u003C\u002Fli>\u003C\u002Fol>\u003Cp>Se a terceira rodada quebrar o formato, falta restrição. Se a segunda vier genérica, falta valor padrão.\u003C\u002Fp>\u003Ch2 id=\"o-erro-que-mais-aparece\">O erro que mais aparece\u003C\u002Fh2>\u003Cp>Colocar a variável dentro de uma frase que só faz sentido se ela estiver preenchida. &quot;Considerando que o cliente mencionou {{motivo}}, responda&quot; vira uma frase quebrada quando o motivo não veio. Escreva assim:\u003C\u002Fp>\u003Cpre>\u003Ccode>Motivo informado: {{motivo}}\nSe o motivo estiver vazio, pergunte o motivo antes de responder.\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>A instrução condicional na linha de baixo custa uma linha e resolve o caso vazio sem quebrar a leitura do resto.\u003C\u002Fp>",[21,25,28,31,34,37],{"level":22,"text":23,"anchor":24},2,"Onde entra a variável","onde-entra-a-variavel",{"level":22,"text":26,"anchor":27},"Como nomear","como-nomear",{"level":22,"text":29,"anchor":30},"Quantas cabem","quantas-cabem",{"level":22,"text":32,"anchor":33},"Valor padrão","valor-padrao",{"level":22,"text":35,"anchor":36},"Como testar antes de confiar","como-testar-antes-de-confiar",{"level":22,"text":38,"anchor":39},"O erro que mais aparece","o-erro-que-mais-aparece",[41,54,65,76],{"slug":42,"title":43,"seoTitle":6,"description":44,"keyword":45,"category":9,"categories":46,"cta":47,"tags":48,"author":6,"coverId":49,"cover":50,"coverAlt":43,"readingMinutes":51,"publishedAt":52,"updatedAt":53},"como-escrever-um-prompt","Como escrever um prompt que funciona: as seis partes de um bom comando","Papel, contexto, tarefa, formato, restrição e exemplo. O que cada parte resolve, em que ordem escrever e um modelo pronto para copiar.","como escrever um prompt",[9],"escrita",[],"e93fe574-7d96-45dd-ae0c-13755bbeea53","https:\u002F\u002Fapi.atpares.com\u002Fapi\u002Fprojects\u002Fprompteira\u002Fblog\u002Fmedia\u002Fe93fe574-7d96-45dd-ae0c-13755bbeea53",4,"2026-09-01","2026-09-17T14:26:27.526Z",{"slug":55,"title":56,"seoTitle":6,"description":57,"keyword":58,"category":9,"categories":59,"cta":47,"tags":60,"author":6,"coverId":61,"cover":62,"coverAlt":56,"readingMinutes":15,"publishedAt":63,"updatedAt":64},"exemplos-dentro-do-prompt","Exemplos dentro do prompt: por que mostrar funciona melhor que explicar","Um exemplo de entrada e saída corrige mais coisa que três parágrafos de instrução. Quantos usar, como escolher e o vício que eles criam.","few shot prompt",[9],[],"26f6cdee-67e4-461c-bbc4-c0e727a97f4d","https:\u002F\u002Fapi.atpares.com\u002Fapi\u002Fprojects\u002Fprompteira\u002Fblog\u002Fmedia\u002F26f6cdee-67e4-461c-bbc4-c0e727a97f4d","2026-08-11","2026-09-17T14:26:27.625Z",{"slug":66,"title":67,"seoTitle":6,"description":68,"keyword":69,"category":9,"categories":70,"cta":47,"tags":71,"author":6,"coverId":72,"cover":73,"coverAlt":67,"readingMinutes":15,"publishedAt":74,"updatedAt":75},"frameworks-de-prompt","Frameworks de prompt: RTF, RACE, CO-STAR e CRISPE, e quando usar cada um","Quatro estruturas prontas para não começar do zero, com o mesmo pedido escrito nas quatro para você ver a diferença no resultado.","framework de prompt",[9],[],"9fc5b6f2-de62-4f9f-988c-4336902e9192","https:\u002F\u002Fapi.atpares.com\u002Fapi\u002Fprojects\u002Fprompteira\u002Fblog\u002Fmedia\u002F9fc5b6f2-de62-4f9f-988c-4336902e9192","2026-08-25","2026-09-17T14:26:27.669Z",{"slug":77,"title":78,"seoTitle":6,"description":79,"keyword":80,"category":9,"categories":81,"cta":47,"tags":82,"author":6,"coverId":83,"cover":84,"coverAlt":78,"readingMinutes":15,"publishedAt":85,"updatedAt":86},"erros-comuns-em-prompt","Sete erros que fazem a IA ignorar o que você pediu","Pedido vago, duas tarefas na mesma frase, exemplo que contradiz a regra e mais quatro defeitos com o conserto de cada um ao lado.","erros em prompt",[9],[],"ca16dee5-fc94-47bb-ab2c-b9e568fa050c","https:\u002F\u002Fapi.atpares.com\u002Fapi\u002Fprojects\u002Fprompteira\u002Fblog\u002Fmedia\u002Fca16dee5-fc94-47bb-ab2c-b9e568fa050c","2026-08-04","2026-09-17T14:26:27.581Z"]