PTENES
Pular para o conteúdo
MÓDULO 1 ARQUITETURA

Arquitetura de Sistemas Baseados em Prompt

Não é "como fazer prompt" — é como desenhar sistemas de prompt. Pense como arquiteto, não como executor.

1

Prompt como Unidade Arquitetural

Pensando em blocos de construção

Mudança de Paradigma

Um prompt não é texto — é uma unidade arquitetural com interface, contrato de comportamento, dependências e responsabilidades definidas.

Visão Tradicional

  • • Prompt = texto que gera resposta
  • • Sucesso = resposta "boa"
  • • Iteração = ajustar palavras
  • • Escala = copiar e colar

Visão Arquitetural

  • • Prompt = componente com contrato
  • • Sucesso = comportamento previsível
  • • Iteração = refinar interface
  • • Escala = composição e reuso

Anatomia de um Prompt como Componente

┌─────────────────────────────────────────────────────┐
│  PROMPT COMPONENT: "order_analyzer"                 │
├─────────────────────────────────────────────────────┤
│  INTERFACE                                          │
│  ├─ Input: OrderData, CustomerHistory               │
│  ├─ Output: AnalysisResult (structured)             │
│  └─ Errors: InsufficientData, AmbiguousOrder        │
├─────────────────────────────────────────────────────┤
│  CONTRACT                                           │
│  ├─ Preconditions: order.status == "pending"        │
│  ├─ Postconditions: result.confidence > 0.8         │
│  └─ Invariants: no side effects                     │
├─────────────────────────────────────────────────────┤
│  DEPENDENCIES                                       │
│  ├─ Requires: product_catalog (context)             │
│  ├─ Requires: pricing_rules (context)               │
│  └─ Optional: customer_preferences                  │
├─────────────────────────────────────────────────────┤
│  IMPLEMENTATION                                     │
│  └─ [prompt template with slots]                    │
└─────────────────────────────────────────────────────┘

Benefícios da Visão Arquitetural

🔄
Reusabilidade
🧪
Testabilidade
📈
Escalabilidade
2

Arquiteturas Mono-Prompt vs Multi-Prompt

Decidindo a estrutura do sistema

Mono-Prompt

Um único prompt que lida com toda a complexidade. Contexto completo em uma chamada.

✓ Simplicidade de implementação
✓ Latência baixa (1 chamada)
✓ Contexto unificado
✗ Limite de complexidade
✗ Difícil de testar partes

Multi-Prompt

Múltiplos prompts especializados que se comunicam. Decomposição de responsabilidades.

✓ Modularidade
✓ Testabilidade por componente
✓ Escalabilidade de complexidade
✗ Latência maior
✗ Perda de contexto entre chamadas

Matriz de Decisão

Critério Mono Multi
Tarefa simples e bem definida ✓ —
Múltiplas etapas dependentes — ✓
Latência crítica ✓ —
Reuso de componentes — ✓
Rastreabilidade de decisões — ✓
3

Camadas Arquiteturais de Sistemas LLM

Separação de responsabilidades

Arquitetura em Camadas

┌─────────────────────────────────────────────────────┐
│  PRESENTATION LAYER                                 │
│  • Interface com usuário                            │
│  • Formatação de entrada/saída                      │
│  • Validação de input                               │
├─────────────────────────────────────────────────────┤
│  ORCHESTRATION LAYER                                │
│  • Roteamento de requests                           │
│  • Composição de prompts                            │
│  • Gestão de fluxo                                  │
├─────────────────────────────────────────────────────┤
│  BUSINESS LOGIC LAYER                               │
│  • Skills especializadas                            │
│  • Regras de negócio                                │
│  • Transformações de dados                          │
├─────────────────────────────────────────────────────┤
│  CONTEXT LAYER                                      │
│  • Gestão de contexto                               │
│  • RAG / Retrieval                                  │
│  • Memory management                                │
├─────────────────────────────────────────────────────┤
│  MODEL LAYER                                        │
│  • Abstração de LLM                                 │
│  • Fallbacks                                        │
│  • Rate limiting                                    │
└─────────────────────────────────────────────────────┘

Princípio: Separation of Concerns

Cada camada tem responsabilidade única. Mudanças em uma camada não afetam outras. Permite evolução independente.

Princípio: Dependency Inversion

Camadas superiores não dependem de implementações específicas. Abstrações permitem trocar LLMs ou fontes de dados.

4

Contratos de Comportamento entre Prompts

Garantias e expectativas

Contratos definem o que um prompt garante fazer e o que ele espera receber. Sem contratos, sistemas de prompt são frágeis.

Elementos de um Contrato

Preconditions

O que deve ser verdade ANTES de chamar o prompt.

input.length < 10000

Postconditions

O que será verdade DEPOIS da execução.

output.format == "json"

Invariants

O que NUNCA muda durante a execução.

no_external_calls

Error Conditions

Como falhas são sinalizadas.

throws: AmbiguousInput

Exemplo de Contrato Documentado

/**
 * @contract SentimentAnalyzer
 *
 * @precondition text.length > 0 && text.length < 5000
 * @precondition language in ["pt", "en", "es"]
 *
 * @postcondition result.sentiment in ["positive", "negative", "neutral"]
 * @postcondition result.confidence >= 0.0 && result.confidence <= 1.0
 * @postcondition result.reasoning.length > 0
 *
 * @invariant deterministic for same input (temperature=0)
 * @invariant no PII in output
 *
 * @throws EmptyInputError if text is empty
 * @throws UnsupportedLanguageError if language not supported
 * @throws LowConfidenceError if confidence < 0.5
 */
5

Padrões Arquiteturais Recorrentes

Soluções comprovadas

Chain of Responsibility

Prompts em cadeia onde cada um pode resolver ou passar adiante.

intent → router → specialist → fallback

Pipeline

Transformações sequenciais onde output de um é input do próximo.

extract → transform → validate → format

Supervisor

Um prompt coordena e valida trabalho de outros prompts.

supervisor → [workers] → aggregator

Reflection

Prompt analisa e melhora seu próprio output iterativamente.

generate → critique → refine → validate

Quando Usar Cada Padrão

Chain Roteamento dinâmico, fallbacks, escalação
Pipeline ETL de dados, processamento em etapas
Supervisor Tarefas paralelas, agregação, validação cruzada
Reflection Qualidade crítica, auto-correção, refinamento
6

Análise de Arquiteturas Reais

Estudos de caso de produção

Case: Assistente de Suporte Técnico

USER QUERY
    │
    ▼
┌─────────────────┐
│  INTENT ROUTER  │ ← Classifica intenção
└────────┬────────┘
         │
    ┌────┴────┬────────────┐
    ▼         ▼            ▼
┌───────┐ ┌───────┐ ┌──────────┐
│ FAQ   │ │TROUBLE│ │ ESCALATE │
│ MATCH │ │ SHOOT │ │ TO HUMAN │
└───┬───┘ └───┬───┘ └────┬─────┘
    │         │          │
    └────┬────┴──────────┘
         ▼
┌─────────────────┐
│   FORMATTER     │ ← Formata resposta
└────────┬────────┘
         ▼
┌─────────────────┐
│  SAFETY CHECK   │ ← Valida antes de enviar
└─────────────────┘

Case: Sistema de Code Review

PR DIFF
    │
    ▼
┌─────────────────────────────────────┐
│           SUPERVISOR                │
│  "Coordinate review, aggregate"     │
└────────────────┬────────────────────┘
                 │
    ┌────────────┼────────────┐
    ▼            ▼            ▼
┌────────┐  ┌────────┐  ┌────────┐
│SECURITY│  │ STYLE  │  │ LOGIC  │
│ CHECK  │  │ CHECK  │  │ CHECK  │
└───┬────┘  └───┬────┘  └───┬────┘
    │           │           │
    └─────┬─────┴───────────┘
          ▼
┌─────────────────────────────────────┐
│         AGGREGATOR                  │
│  "Consolidate, prioritize issues"   │
└────────────────┬────────────────────┘
                 ▼
┌─────────────────────────────────────┐
│         FORMATTER                   │
│  "Format as GitHub PR comment"      │
└─────────────────────────────────────┘

Exercício: Analise a Arquitetura

Para cada case study, identifique:

  • 1. Qual padrão arquitetural foi usado?
  • 2. Quais são os contratos entre componentes?
  • 3. Onde estão os pontos de falha?
  • 4. Como você melhoraria a arquitetura?
Voltar
Masterclass Home
Próximo
Módulo 2: Design de Contexto

Baixar este módulo

Salve para estudar offline