Laboratórios de engenharia de AI

Código para os artigos deste site. Cada cartão indica o que o projeto mediu e o que precisa para o executar.

Laboratórios das séries

  • Market Analyst Agent

    Série: Engineering the Agentic Stack

    Um agente de investigação com LangGraph que obtém dados de mercado e prepara relatórios. A série usa-o como implementação de referência para raciocínio, memória, ferramentas, guardians e runtime.

    Resultado: Sem benchmark. Os testes verificam as tool calls sobre dados de mercado sintéticos e a forma como o guardian encaminha as transações para aprovação.

    Como executar: uv run pytest tests/test_tools.py usa dados sintéticos e não precisa de modelo. Uma análise completa precisa de Python 3.13+, Docker e chaves API de modelo e de pesquisa, e faz chamadas pagas ao modelo.

    Repositório · Parte 1

  • Agent Harness Lab

    Série: Building and Evaluating Agent Harnesses

    Um agente de suporte com LangChain que trata de reembolsos, perguntas sobre entregas e alterações de conta. Ficheiros de spec ligam e desligam componentes do harness, para que duas configurações corram sobre as mesmas tarefas.

    Resultado: Com gpt-6-luna, ambas as specs passaram 12 de 12 verificações de estado personalizadas. A spec com Schema-Guided Reasoning e o Jev write guard custou cerca de 2,2 vezes mais e demorou cerca do dobro do tempo. Em oito tarefas de retalho do τ³-bench, a spec protegida passou 6 e a spec simples passou 7, mas as tarefas falhadas mudaram entre execuções, por isso essa diferença não favorece nenhuma das specs.

    Como executar: make test corre offline. make a1-custom e make a1-tau3 chamam modelos através do OpenRouter e precisam de uma chave API.

    Repositório · Artigo

  • Recursive Harness Engineering Lab

    Série: Recursive Harness Engineering

    Um LLM propõe alterações a uma ferramenta de memória, testes determinísticos em Python avaliam cada alteração em 20 histórias sintéticas e os resultados dos testes decidem a proposta seguinte.

    Resultado: Três campanhas começaram em 13 de 20 e todas chegaram a 20 de 20 com os mesmos três patches, usando 12 chamadas ao modelo por cerca de USD 0.04. Uma varredura de todas as 384 configurações correu em menos de um segundo e encontrou 16 que passam, por isso esta pesquisa não precisava de um LLM.

    Como executar: lab verify e lab serve verificam o estudo gravado sem chave API. Uma nova campanha precisa de OPENAI_API_KEY e da flag --live.

    Repositório · Artigo

Mais laboratórios

  • RAG Evals Demo

    Notebooks e módulos que calculam métricas de retrieval, reranking e geração no corpus SciFact, mais uma varredura de definições de chunking, embedding e LLM. O Qdrant corre integrado, por isso não precisa de Docker.

    Resultado: Não é reportado nenhum benchmark no SciFact. Os testes unitários fixam os exemplos práticos do artigo, como Recall@5 = 0.750, MRR = 0.625 e nDCG@5 = 0.627, para que possa verificar cada métrica com um cálculo manual.

    Como executar: make eval corre o conjunto de testes. make benchmark chama modelos alojados GPT, Claude e Gemini e precisa das respetivas chaves API.

    Repositório · Artigo

  • TypeScript Agent Service

    Um monorepo pnpm para engenheiros de ML em Python que precisam de entregar TypeScript: duas implementações de agent loop, uma API em streaming, histórico de execuções em Postgres, um worker e um servidor MCP.

    Resultado: 40 testes, dos quais 36 correm sem Postgres nem chave API. Os testes do agent loop terminam em menos de um segundo, sem rede.

    Como executar: Node 24 e pnpm. pnpm demo não precisa de chave API, base de dados nem Docker. A API real precisa de OPENAI_API_KEY e de Postgres em Docker.

    Repositório · Artigo

  • Search Ranking Stack

    BM25, dense retrieval, fusão híbrida, reranking com cross-encoder e reranking com LLM sobre uma amostra de dados de pesquisa de produtos Amazon ESCI, medidos etapa a etapa.

    Resultado: O NDCG@10 é 0.585 para BM25, 0.611 para dense retrieval e 0.628 para a fusão híbrida, que supera cada método isolado. O Recall@100 fica fixado no retrieval (0.842 para o híbrido), e as etapas seguintes não o conseguem aumentar.

    Como executar: uv sync, depois uv run download-data (download de 2,5 GB, amostra de 5 MB). A etapa com LLM corre através do Ollama, da API da Anthropic ou de um modelo Qwen local.

    Repositório · Artigo

  • Model Compression Demo

    Uma CLI que planeia a quantização de LLMs para um dado modelo e hardware de destino, e depois imprime receitas, dry runs, comandos de serving e planos de benchmark para vLLM, LLM Compressor e TensorRT-LLM.

    Resultado: Sem resultado medido. Os números de benchmark do artigo vêm de outras equipas; a demo dá-lhe os comandos para medir os seus.

    Como executar: uv run python demo.py plan e os outros comandos de planeamento não precisam de GPU. As execuções de quantização, serving e qualidade precisam de uma GPU e de vLLM.

    Repositório · Artigo