Pensamento Computacional com IA

Pensamento Computacional com IA — aula do módulo Lógica, Sintaxe e Raciocínio com IA, na trilha Fundamentos de Desenvolvimento IA-First da formação Dev…

Leitura de aproximadamente 3 minutos.

Módulo: Lógica, Sintaxe e Raciocínio com IA · Curso: Fundamentos de Desenvolvimento IA-First · Formação: Dev IA-First — Do Zero ao Deploy Seguro

Pensamento Computacional com IA: Decomposição, Algoritmos e Raciocínio Estruturado

Na era do desenvolvimento assistido por inteligência artificial (IA-First), a habilidade fundamental do engenheiro de software mudou: o gargalo não é mais a digitação de sintaxe ou a memorização de APIs, mas a clareza da decomposição do problema e a capacidade de validar a lógica gerada.

Um modelo de linguagem opera em cima do contexto que recebe. Se o desenvolvedor não consegue decompor o problema em etapas atômicas, o modelo gerará soluções vagas, com código redundante ou alucinações de lógica.

Os 4 Pilares do Pensamento Computacional no Contexto IA-First


+---------------------------------------------------------------+
|                 PENSAMENTO COMPUTACIONAL + IA                 |
+---------------------------------------------------------------+
| 1. Decomposição   | Dividir o problema em subproblemas atômicos|
| 2. Padrões        | Identificar estruturas conhecidas (ex: CRUD) |
| 3. Abstração      | Isolar o que é regra de negócio da infra  |
| 4. Algoritmos     | Definir a sequência determinística exata  |
+---------------------------------------------------------------+

1. Decomposição: Reduzir uma funcionalidade macro (ex: "Processar checkout de e-commerce") em funções com responsabilidade única (validar_carrinho, calcular_frete, aplicar_desconto, emitir_cobranca). 2. Reconhecimento de Padrões: Orientar o LLM a aplicar padrões consagrados (Strategy, Factory, Pipeline, State Pattern) em vez de deixar o modelo inventar soluções ad-hoc. 3. Abstração: Filtrar ruídos desnecessários. O modelo deve receber apenas os contratos e tipos essenciais para implementar a lógica. 4. Algoritmos: Escrever pseudo-códigos e especificações claras de entrada, transformação e saída.

Exemplo Prático: Decomposição de Validador de Transação

Vamos desenhar uma função que avalia se uma transação financeira é suspeita de fraude com base em histórico e limites.

1. Especificação e Contrato da Lógica


// Contrato de entrada e saída fortemente tipado
export interface Transaction {
  id: string;
  userId: string;
  amountInCents: number;
  timestamp: Date;
  ipAddress: string;
}

export interface UserRiskProfile {
  dailyLimitInCents: number;
  blockedIps: string[];
  totalSpentTodayInCents: number;
}

export type FraudDecision = 
  | { status: 'APPROVED'; reason: 'OK' }
  | { status: 'REJECTED'; reason: 'LIMIT_EXCEEDED' | 'BLOCKED_IP' | 'INVALID_AMOUNT' };

2. Algoritmo Decomposto (Pure Function)


/**
 * Avalia se uma transação deve ser aprovada ou rejeitada.
 * Função pura: sem efeitos colaterais, determinística e fácil de testar.
 */
export function evaluateTransactionRisk(
  tx: Transaction,
  profile: UserRiskProfile
): FraudDecision {
  // Regra 1: Valor deve ser positivo
  if (tx.amountInCents <= 0) {
    return { status: 'REJECTED', reason: 'INVALID_AMOUNT' };
  }

  // Regra 2: IP do requisitante não pode estar bloqueado
  if (profile.blockedIps.includes(tx.ipAddress)) {
    return { status: 'REJECTED', reason: 'BLOCKED_IP' };
  }

  // Regra 3: Limite diário acumulado não pode ser ultrapassado
  const projectedTotal = profile.totalSpentTodayInCents + tx.amountInCents;
  if (projectedTotal > profile.dailyLimitInCents) {
    return { status: 'REJECTED', reason: 'LIMIT_EXCEEDED' };
  }

  return { status: 'APPROVED', reason: 'OK' };
}

Como Orquestrar LLMs para Pensamento Computacional

Ao solicitar que uma IA crie ou refatore um algoritmo:

1. Defina Invariantes Primeiro: Especifique o que NUNCA pode acontecer (ex: saldo negativo, mutação de estado de entrada). 2. Forneça Casos de Borda: Peça que o LLM liste os edge cases (valores nulos, números negativos, timestamps no futuro) antes de escrever a implementação. 3. Solicite a Solução em Camadas:

Checklist de Segurança e Boas Práticas

Outras aulas do módulo