Desenvolvimento de Software Apoiado por IA
Horário
Terça e Quinta, 20h. De 01/09/2026 a 22/12/2026.
Objetivo
Capacitar o aluno a construir e entregar sistemas de software reais usando agentes de IA como ferramenta de trabalho, sabendo especificar, dirigir, revisar, testar e responder pelo que a ferramenta produz.
Esta não é uma disciplina sobre como construir agentes. É sobre como construir software com eles. O agente é o instrumento; o produto é o sistema.
Ementa
Funcionamento de assistentes de código: o suficiente para prever onde falham. Decomposição de tarefas e engenharia de contexto. Preparação do repositório para agentes. Specification-Driven Development (SDD, desenvolvimento guiado por especificação). Testes como contrato. Revisão de código gerado. Evolução de código legado. Qualidade, segurança e custo do código gerado. Medição, integração contínua e entrega em produção.
O que se espera
Todas as atividades são feitas em duplas: não individualmente, não em trio.
Ao fim do semestre, cada dupla entrega um sistema funcionando e publicado, em uma URL que qualquer pessoa consiga abrir no dia da apresentação. Desse critério decorre o resto:
- Escopo pequeno e terminado vale mais do que escopo grande e inacabado.
- Deploy (publicação em produção) desde cedo. O sistema vai ao ar no Portão 1, ainda incompleto, e evolui publicado. Quem deixa a publicação para o final costuma não publicar.
- Você responde pelo que assina. O agente escreve o código, mas a decisão é sua, e você vai defendê-la oralmente.
- Medir antes de opinar. Toda afirmação sobre o que a ferramenta melhorou vem com o número que a sustenta.
Não se espera que vocês implementem agentes do zero nem escrevam código melhor que o agente. Espera-se que saibam especificar, dirigir, revisar e entregar.
A Parte I, de 01/09 a 15/10, tem dez aulas e dois laboratórios. A Parte II, de 20/10 a 10/12, é o projeto. Revisão e teste vêm antes de o projeto começar, porque quem só aprende a gerar código, e não a julgar o código gerado, acumula dívida técnica sem perceber.
Ferramentas
Usaremos o Claude Code como referência nas aulas. Cada dupla pode adotar outra ferramenta no projeto (Cursor, GitHub Copilot, Codex, Gemini CLI), desde que documente o uso e saiba justificar a escolha. Quem tiver dificuldade de acesso pago deve falar comigo na primeira semana.
Cada dupla mantém um repositório público no GitHub com o código, o SPEC.md, o AGENTS.md, os testes e o diário de uso. A hospedagem é livre, desde que gratuita: Vercel, Render, Fly.io, Supabase ou GitHub Pages atendem. A stack é escolha da dupla.
Avaliação
- Atividades Práticas, AP1 e AP2 (15 pontos cada): 30 pontos
- Projeto de Disciplina: 50 pontos
- Diário de uso: 10 pontos
- Defesa Oral individual: 10 pontos
Atividades Práticas
- AP1, do spec ao deploy. Entrega em 22/09. Escolher uma aplicação pequena, escrever o
SPEC.mdantes de qualquer código, conduzir o agente até funcionar e publicá-la. Entregar o repositório, a URL no ar e um relatório curto: o que o agente acertou de primeira, onde travou, o que vocês reescreveram à mão. - AP2, brownfield e revisão. Entrega em 13/10. Receber o repositório de outra dupla, adicionar uma funcionalidade com apoio do agente e entregar os testes que provam que nada quebrou, mais uma revisão crítica dizendo o que foi aceito, o que foi rejeitado e por quê. A nota vem do rigor da revisão, não do tamanho da funcionalidade.
Diário de uso
Em toda aula, cada dupla registra o que fez com o agente, em diario/AAAA-MM-DD.md, enviado por commit no dia. O histórico do git carimba a data de cada entrada, então dez registros escritos na véspera aparecem como dez registros escritos na véspera.
Cada entrada cabe em dez linhas:
# Aula 07 (06/10)
**Objetivo.** Adicionar filtro por data na listagem de eventos.
**Ferramenta.** Claude Code, ~40 min, 3 iterações.
**O que o agente entregou.** Filtro funcionando, mas consultando o banco a cada tecla.
**O que mudamos à mão.** Debounce de 300ms e um índice em `evento(data)`.
**O que aprendemos.** Ele não considera custo de consulta se a spec não menciona.
O diário alimenta o relatório de processo dos Portões 2 e 3 e dá base concreta para a Defesa Oral. Registros honestos sobre falhas valem mais nota do que registros que só relatam sucesso.
Projeto de Disciplina
Tema. Uma aplicação real, com usuário identificável que não seja a própria dupla, construída com apoio de agentes e publicada na internet. O campus oferece bastantes candidatos: matrícula, biblioteca, restaurante universitário, editais, horários, laboratórios.
Requisitos.
- Publicada em URL pública a partir do Portão 1 e até o fim do semestre.
SPEC.mdversionado, escrito antes do código, no formato spec, plan, tasks.- Testes automatizados em integração contínua (CI) desde o Portão 1. Se o produto tiver um componente de IA, acrescentar uma suíte de evals (avaliações automatizadas) para essa parte.
AGENTS.mdversionado e diário de uso em dia.- Ao menos um marco desenvolvido sobre código legado, escolhido de uma lista de repositórios que eu divulgo no kickoff.
Portões.
- Portão 1, em 27/10.
SPEC.md, testes em CI e a aplicação publicada, ainda que mínima. Sem URL e sem CI, não passa. 10 pontos. - Portão 2, em 17/11. Funcionalidade completa em produção, marco em código legado concluído, relatório de revisão do código gerado e custo de uso medido. 15 pontos.
- Portão 3, em 10/12. Demonstração ao vivo de 12 minutos na URL pública, relatório final e defesa das decisões técnicas e de processo. 25 pontos.
Defesa Oral
Em 01/12 e 03/12, cada aluno defende individualmente um trecho do código do próprio projeto, escolhido por mim na hora. As perguntas tratam de decisões: por que esta estrutura e não outra, o que acontece se esta entrada for nula, por que este teste existe.
Não se trata de decorar código. Trata-se do ponto central da disciplina: você é responsável pelo que assina, mesmo sem ter digitado.
Sobre o uso de agentes
Nesta disciplina o uso de agentes não é permitido, é obrigatório. É o objeto de estudo.
O que muda é o padrão de exigência. Se o agente sugere X, entenda por que X e não Y, e saiba defender a escolha. Se ele escreveu 800 linhas e você não sabe explicar 20 delas, essas 20 não deveriam ter entrado no repositório. Ocultar o uso é que configura desonestidade acadêmica, não usar.
E, na apresentação final: se você vier apenas para ler o que o agente escreveu, por favor, nem venha.
Atividades Assíncronas
Na semana de 08 a 11/09 estarei no CBSoft 2026, no IME-USP, e não haverá aula em 08/09 e 10/09. Entregas para 15/09: a leitura dirigida da Aula 1, com uma página explicando a contradição entre os três estudos, e as duas entradas de diário da semana.
Cronograma
Passível de alterações. Verificar o calendário acadêmico oficial da UFPA para feriados estaduais e municipais.
| # | Data | Dia | Conteúdo |
|---|---|---|---|
| 1 | 01/09 | Ter | Apresentação da disciplina. Quem decide o quê: 70% do planejamento é humano, 80% da execução é do agente |
| 2 | 03/09 | Qui | Como um assistente de código funciona por dentro. Contexto, janela, alucinação, custo |
| — | 08/09 | Ter | CBSoft 2026, sem aula (atividade assíncrona) |
| — | 10/09 | Qui | CBSoft 2026, sem aula (atividade assíncrona) |
| L1 | 15/09 | Ter | Laboratório: dirigindo o agente numa funcionalidade real, do pedido ao commit |
| 3 | 17/09 | Qui | Decomposição de tarefas e engenharia de contexto |
| L2 | 22/09 | Ter | Laboratório: AGENTS.md e os seis smells de configuração. Entrega AP1 |
| 4 | 24/09 | Qui | Specification-Driven Development, e a evidência que contraria a promessa |
| 5 | 29/09 | Ter | Testes como contrato: cobertura contra qualidade de asserção, e o excesso de mock |
| 6 | 01/10 | Qui | Revisão de código gerado, e o que acontece quando 6 em cada 10 PRs não são revisados |
| 7 | 06/10 | Ter | Código legado: exploração, mapeamento, refatoração incremental |
| 8 | 08/10 | Qui | Qualidade e segurança: vulnerabilidades recorrentes, segredos, alucinação de pacotes |
| 9 | 13/10 | Ter | Medição e entrega: testes, CI, observabilidade, deploy. Entrega AP2 |
| 10 | 15/10 | Qui | Custo, limites e o que continua humano (confirmar Dia do Professor no calendário da UFPA) |
| KO | 20/10 | Ter | Kickoff do Projeto: duplas, escolha do problema e lista de repositórios legados |
| — | 22/10 | Qui | Oficina: escrevendo o SPEC.md e publicando pela primeira vez |
| G1 | 27/10 | Ter | Portão 1: SPEC.md, testes em CI e aplicação no ar |
| — | 29/10 | Qui | Clínica de código: revisão coletiva de PRs gerados por agente |
| S1 | 03/11 | Ter | Seminário crítico de artigos (primeira metade das duplas) |
| S2 | 05/11 | Qui | Seminário crítico de artigos (segunda metade) |
| — | 10/11 | Ter | Acompanhamento dos projetos |
| — | 12/11 | Qui | Acompanhamento dos projetos |
| G2 | 17/11 | Ter | Portão 2: sistema completo, marco em legado e relatório de revisão |
| — | 19/11 | Qui | Acompanhamento dos projetos |
| — | 24/11 | Ter | Clínica de segurança: auditoria cruzada do código gerado entre duplas |
| — | 26/11 | Qui | Acompanhamento dos projetos |
| DO | 01/12 | Ter | Defesa Oral individual, parte 1 |
| DO | 03/12 | Qui | Defesa Oral individual, parte 2 |
| — | 08/12 | Ter | Nossa Senhora da Conceição, sem aula (feriado municipal em Belém) |
| G3 | 10/12 | Qui | Portão 3, Demo Day: apresentações finais, 12 minutos por dupla |
| — | 15/12 | Ter | Buffer |
| — | 17/12 | Qui | Buffer |
| — | 22/12 | Ter | Buffer, fechamento e notas |
Leituras
Uma leitura obrigatória por aula, marcada em negrito. As demais são complementares.
Aula 1. How Claude Code is used in practice, Anthropic, 2026, com cerca de 400 mil sessões. Complementares: METR, 2025 e Peng et al., 2023. Os três se contradizem, e explicar isso é a atividade da semana.
Aula 2. Building Effective AI Agents. Complementar: Best practices for Claude Code.
Aula 3. Effective context engineering for AI agents. Complementar: Barke et al., Grounded Copilot, OOPSLA 2023.
Laboratório 2. Especificação AGENTS.md. Complementar: Santos et al., Configuration Smells in AGENTS.md Files, que achou ao menos um problema em 91 de 100 repositórios.
Aula 4. Hill, Does Spec-Driven Development Reduce Defects?, 2026, que testou a promessa em 100.247 PRs e não encontrou a redução anunciada. Complementares: Spec Kit e Piskala, 2026.
Aula 5. Are Coding Agents Generating Over-Mocked Tests?, MSR 2026. Complementar: Test Coverage Analysis of Agentic Pull Requests.
Aula 6. These Aren’t the Reviews You’re Looking For. Complementar: Watanabe et al., On the Use of Agentic Coding, TOSEM 2026.
Aula 7. Vilas Boas, Pinto, Monteiro, Carida e Ribeiro, One Developer Is All You Need, 2026. Complementar: Articulate but Wrong.
Aula 8. Cloud Security Alliance, Vibe Coding Security Debt, 2026. Complementares: Pearce et al., Asleep at the Keyboard?, IEEE S&P 2022, e Perry et al., CHI 2023.
Aula 9. Evaluation best practices, OpenAI. Complementar: Liang, Yang e Myers, ICSE 2023.
Aula 10. Hassan et al., Agentic Software Engineering, 2025.
Para os seminários, o ponto de partida é Hou et al., Large Language Models for Software Engineering: A Systematic Literature Review, ACM TOSEM, 2024.
Entrega atrasada
Entregas após o prazo serão aceitas, mas os pontos referentes não serão contabilizados.
Política de plágio e uso de IA
O uso de ferramentas de IA é obrigatório nesta disciplina, mas deve ser documentado, não ocultado. Submeter trabalho gerado por agente sem registrar o processo, e sem ser capaz de defendê-lo oralmente, é considerado desonestidade acadêmica.
Duplas são encorajadas a discutir ideias entre si. Copiar solução ou parte de solução de outra dupla configura plágio, e nesse caso as duplas envolvidas não receberão os pontos da atividade.