O prompt da sala de agentes
Um pregão isométrico em 3D onde cada agente opera uma estratégia diferente e aprende sozinho qual ajuste usar. Sentado na mesa é operando. Na copa é zerado. Quem bate o limite de perda escrito antes de subir sai da sala, e a cadeira fica vazia.
A parte que vale mais neste prompt não é a cena — é o bloco de armadilhas. Ele carrega cinco erros que custam horas e que se disfarçam de outra coisa: o pior deles se apresenta como “problema de iluminação” e não tem nada a ver com luz.
Antes de colar
- Use um modelo com execução de código e edição de arquivos. Isto é um projeto, não uma resposta.
- Peça para ele rodar e olhar antes de dizer que terminou. Cena 3D que compila não é cena 3D que funciona.
- Se ele entregar tudo de uma vez e nada abrir, mande construir na ordem dos passos — cada um rodando antes do seguinte.
O prompt
Construa uma aplicação web que mostra um pregão isométrico em 3D, com agentes que operam estratégias distintas e aprendem qual configuração usar enquanto operam. STACK Vite + TypeScript + three.js. Sem framework de UI. Sem backend: tudo roda no navegador. A CENA - Câmera ortográfica em vista isométrica. Sem perspectiva: a sala precisa ler como planta. - Uma sala com 12 mesas em três fileiras, cada mesa com dois monitores e uma cadeira. - Uma copa na frente da sala: cafeteira com balcão, bebedouro, sofá, mesa de centro, plantas. - Um telão na parede do fundo, desenhado num canvas e usado como textura, mostrando: resultado do período, drawdown atual, a kill-line da conta e quantos agentes estão operando. - Avatares low-poly. A perna precisa ter coxa e canela com pivô no quadril e no joelho — sem isso, "sentado" vira perna esticada para a frente e a leitura da cena quebra. A REGRA QUE ORGANIZA TUDO Sentado na mesa = está operando. Na copa = está zerado. Bateu o limite de perda = é ejetado pela porta e a cadeira fica vazia. Essa equivalência precisa valer NOS DOIS SENTIDOS, e isso é o mais fácil de errar: - quem tem posição aberta nunca recebe atividade de copa; - quem não está sentado NÃO PODE ABRIR POSIÇÃO — nem enquanto volta da copa a pé. Implemente isso como um campo booleano por agente, escrito pela cena e obedecido pelo motor. Sem essa trava, um agente abre posição enquanto atravessa a sala e a etiqueta de resultado flutua sobre alguém tomando café. O MERCADO (simulado) Gere preço com REGIME alternando entre alta, baixa e lateral, com duração de 45 a 155 velas. Em lateral, o preço reverte para uma âncora; em tendência, há deriva. Calibre a deriva de tendência em torno de 0,12 × volatilidade. Não aumente para "melhorar os números": com deriva alta o rompimento vira máquina de imprimir dinheiro, e uma peça que mostra dinheiro de graça é propaganda, não demonstração. O resultado da conta deve oscilar em torno de zero. OS AGENTES 12 agentes, quatro por especialidade, cada um num par diferente: - Reversão à média: z-score contra a própria média. Ganha em lateral, apanha em tendência. - Rompimento de canal: sai do canal de N velas. Ganha na virada de regime, apanha em lateral. - Seguidor de tendência: cruzamento de duas EMAs. Ganha em tendência longa, apanha em serrote. Todos arriscam o MESMO valor por trade. Sem isso não dá para comparar: quem arrisca o dobro ganha o dobro sem ser melhor em nada. Meça tudo em R — múltiplo do risco assumido — e não em dinheiro. O APRENDIZADO (precisa ser real) Cada especialista carrega 4 configurações candidatas. Duas camadas: 1. ESTUDO offline: a cada 60 leituras, reexecute cada configuração sobre as últimas 320 velas já vividas. Isso dá uma nota anterior à experiência. É backtest — entra como palpite inicial, nunca como decisão. 2. BANDIDO UCB1 online: escolha a configuração de cada trade pelo R médio já realizado mais um bônus de incerteza que encolhe conforme as amostras chegam. A escolha acontece NA ENTRADA de cada trade, não uma vez no começo. É isso que faz o bandido explorar ao longo da sessão. O DASHBOARD Segunda vista, separada da sala: curva da conta com a kill-line, e por agente um gráfico de velas com o regime pintado ao fundo e as entradas e saídas marcadas, métricas (taxa de acerto, expectativa em R, fator de lucro, drawdown), histograma de R, e uma tabela de aprendizado mostrando TODAS as configurações — inclusive as perdedoras, com quantas vezes cada uma foi testada. Mostrar só a campeã transforma busca em profecia. Inclua também expectativa POR REGIME de mercado. É o que transforma a especialização de rótulo em evidência: se o número contrariar o que o cartão promete, quem está errado é o cartão. HONESTIDADE (não é enfeite, é requisito) - Desenhe a tarja "SIMULAÇÃO — SEM DINHEIRO REAL" DENTRO do telão, não numa legenda embaixo. Quem recortar o vídeo leva a tarja junto. - O passeio do preço é centrado em zero, sem viés de alta. - Se você inferir o regime a partir do preço para exibir, MEÇA a precisão dessa inferência contra a verdade do gerador e mostre o número na tela. Uma leitura fraca apresentada como fato é pior que nenhuma leitura. CINCO ARMADILHAS — leia antes de começar 1. NÉVOA. Com câmera ortográfica o alvo fica dezenas de unidades longe, então qualquer `fog` plausível engole a sala inteira. O sintoma é uma cena cinzenta que parece problema de iluminação, e não é. Não use névoa. 2. TEMPO PELO FRAME. Não conte o tick somando delta de frame: o navegador estrangula o requestAnimationFrame em aba de segundo plano e um tick de 4 s passa a levar mais de um minuto. O sintoma é a sala congelada com todo mundo zerado, fácil de confundir com motor quebrado. Use o relógio. 3. MOLDURA DO TELÃO. Se a moldura ficar na frente do plano da textura, ela tapa a tela inteira e parece canvas que não pintou. Moldura atrás. 4. BUFFER ROTATIVO. O array de velas tem teto e rotaciona. Se você guardar "quando entrei" como o comprimento do array, funciona até o buffer encher — e aí o comprimento congela e toda conta de duração vira zero para sempre. O sintoma visível é uma coluna de duração zerada; o invisível, e pior, é que as saídas por tempo param de disparar. Guarde sempre o índice absoluto da vela. 5. ALVO NO DOMÍNIO DO GRÁFICO. O seguidor de tendência mira muito longe. Incluir esse alvo na escala do gráfico esmaga as velas numa faixa fina. A escala segue o preço; a linha do alvo só aparece se couber. ENTREGA Construa por partes e RODE cada uma antes de seguir: (1) mercado e estratégias, sem cena; (2) o aprendizado, com um teste que prove que o bandido concentra na melhor configuração; (3) a cena 3D; (4) o dashboard. Escreva também um teste que rode sem navegador e falhe se: houver poucos trades, o bandido não concentrar, ou alguma posição abrir com um agente fora do posto. O teste da última regra precisa exigir que pelo menos um sinal tenha sido perdido — senão ele passa por vacuidade.
O que esperar do resultado
Numa corrida de 6.000 leituras com os 12 agentes, o comportamento saudável é: algo entre mil e dois mil trades fechados, um ou dois agentes ejetados, e o bandido concentrando na melhor configuração em praticamente todos os agentes. Esse último número é o que separa aprendizado de sorteio com gráfico.
A expectativa por especialidade deve ficar perto de zero, levemente negativa. Se vier muito positiva, a deriva do mercado está alta demais e você construiu uma máquina de imprimir — volte ao parâmetro.
Um resultado que costuma parecer bug e não é
O seguidor de tendência tende a fechar perto de zero mesmo em tendência. Com regimes de 45 a 155 velas e médias de 9 e 30 períodos, ele entra tarde e a cauda que paga a conta é curta. É propriedade real de seguidor de tendência em janela curta. Registre em vez de esconder ajustando o mercado até o número ficar bonito.
Isto é uma simulação, e precisa continuar sendo. O prompt não pede — e você não deve acrescentar — nenhuma função que compre, venda ou assine transação. Uma página que qualquer pessoa abre colando a própria chave de corretora e que envia ordem é um vetor de golpe pronto. Preço real com execução em papel é outra coisa, e é onde isso deve parar.