🧬 Software 3.0 — Karpathy
Andrej Karpathy (ex-Tesla AI, OpenAI) categorizou o software em três eras. Software 1.0 = código humano explícito. Software 2.0 = redes neurais com pesos aprendidos. Software 3.0 = LLMs programados via prompts em linguagem natural. LLMs viraram a nova "CPU" — capaz de raciocinar, ler, escrever, decidir. Quem programa em 3.0 é qualquer um que sabe especificar bem. Não é moda — é mudança de paradigma comparável ao surgimento do computador pessoal.
🔑 As três eras do software
- ▸1.0 (1950+): Código C, Python, JS — humano escreve cada linha
- ▸2.0 (2012+): Pesos de redes neurais — você não escreve, você treina
- ▸3.0 (2022+): Prompts + contexto — você descreve, modelo executa
🪟 A janela de contexto
A janela de contexto é a memória de trabalho do modelo — tudo que ele "vê" ao mesmo tempo. Em 2022 era 4-8k tokens. Em 2026 chegamos a janelas de 1 milhão+ de tokens em modelos como Claude e Gemini. Token é mais ou menos uma sílaba (em inglês, ~4 caracteres). Atenção: existe diferença entre janela total e janela útil — o fenômeno "lost in the middle" mostra que modelos prestam mais atenção ao começo e ao fim do contexto. Posicionamento da informação importa.
📊 Tamanhos de janela típicos (2026)
- GPT-4o: 128k tokens (~300 páginas)
- Claude Opus 4.7: 1M tokens (~2.500 páginas) — o que está sendo usado neste curso
- Gemini 2.5: 1-2M tokens dependendo do tier
- 1 token: ~4 caracteres em inglês, ~3 em português
💡 Dica prática
Coloque a instrução crítica no final do prompt longo. Coloque o contexto importante no início. O meio é a área onde o modelo mais perde atenção em janelas grandes.
📚 Memória — curto vs. longo prazo
LLM por padrão é amnésico. Memória de curto prazo = a conversa atual, dentro da janela. Toda vez que você abre nova sessão, ele esquece tudo. Memória de longo prazo = sistemas externos que você integra: notas persistentes, bases vetoriais, banco de dados. Sem memória externa, você fica re-explicando contexto a cada sessão. ChatGPT/Claude já têm "memória" embutida limitada — mas pra trabalho profissional sério, memória externa estruturada é o salto.
⚡ Curto prazo (sessão)
- • Conversa atual aberta
- • System prompt fixo
- • Anexos da sessão
- • Some quando você fecha/limpa
🗄️ Longo prazo (externo)
- • Vector DB (Pinecone, Qdrant, Supabase)
- • "Memórias" do ChatGPT/Claude
- • Notion, banco SQL, arquivos
- • Persiste entre sessões e reinicializações
🔗 RAG — Retrieval-Augmented Generation
RAG é a técnica que faz o modelo trabalhar com seus dados sem alucinar. O fluxo: você indexa seus documentos transformando-os em embeddings (vetores matemáticos que capturam significado). Quando faz uma pergunta, o sistema busca os chunks mais similares e injeta no contexto antes da resposta. Resultado: o modelo "sabe" sobre seus documentos sem ter sido treinado neles. RAG resolve dois problemas críticos: conhecimento específico e data freshness (informação recente).
Chunking
Quebra documentos em pedaços de ~500-1000 tokens. Granularidade é trade-off entre precisão e contexto.
Embedding
Cada chunk vira vetor numérico. Vetores próximos = significados próximos.
Busca por similaridade
Pergunta vira embedding. Sistema retorna os top-K chunks mais próximos.
Geração com contexto
Modelo recebe: pergunta + chunks recuperados + instrução. Responde fundamentado.
📊 Quando RAG vale a pena
- Sempre: base de conhecimento > 100 documentos
- Sempre: dados que mudam frequentemente
- Pode pular: base pequena que cabe na janela direto
- Cuidado: chunks mal feitos > resposta ruim mesmo com bom modelo
🎼 Orquestrando contexto
Em uso profissional, prompt nunca aparece sozinho. Você orquestra camadas: system prompt (regras estáveis), exemplos few-shot, dados recuperados (RAG), histórico da conversa, instrução final do usuário. Cada camada tem custo (tokens), e a orquestração inteligente equilibra qualidade × custo × latência. Quem domina isso opera num nível profissional bem acima do "abro o ChatGPT e pergunto".
🎼 Stack de contexto típico
- 1.System prompt: persona, regras, formato — fixo, raramente muda
- 2.Few-shot examples: 2-3 pares input/output exemplares
- 3.Recuperação (RAG): chunks relevantes da base
- 4.Memória de longo prazo: preferências do usuário, decisões anteriores
- 5.Histórico curto: últimas N trocas da conversa
- 6.Instrução atual: pergunta/comando do usuário
🧪 Hands-on — contexto rico
Hora de sentir a diferença. Escolha uma tarefa real (resumir um documento longo seu, gerar relatório, responder com base em sua wiki) e monte o stack: system + 2 exemplos + dados + instrução. Rode antes com prompt simples e depois com contexto rico. A diferença de qualidade costuma ser noite e dia. Esse é o momento que muita gente "vê" pela primeira vez do que IA é capaz quando bem alimentada.
Escolha tarefa real
Algo que você faria mesmo essa semana — não exemplo de brincadeira.
Defina system prompt curto e claro
Persona, regras, formato. 5-10 linhas bastam.
Cole 2 exemplos completos
Input "x" → output "y". Forneça o nível de qualidade que você espera.
Anexe os dados/documentos relevantes
Se for grande, use ferramentas com RAG. Se couber na janela, cole direto.
Instrução final clara
No fim do prompt, repita o que você quer e em que formato.
💡 Dica prática
Salve esse stack como template reutilizável. A próxima tarefa do mesmo tipo só requer trocar a "instrução final" e talvez os dados. Você acabou de criar um agente especializado mínimo.
🎯 Resumo do Módulo
Próximo Módulo:
1.5 — Dialogar com Agentes