Communitygithub.com

arquiteto-de-pipeline-recsys

Projete pipelines de recomendação, ranqueamento e feed utilizando o framework de seis estágios Fonte→Hidratador→Filtro→Pontuador→Selecionador→EfeitoColateral, popularizado pela xAI.

O que é arquiteto-de-pipeline-recsys?

Esta skill capacita engenheiros de software e cientistas de dados a projetar e implementar pipelines de recomendação e ranqueamento seguindo o padrão de seis estágios (Fonte → Hidratador → Filtro → Pontuador → Selecionador → EfeitoColateral), popularizado pelo algoritmo For You open-source da xAI. A skill oferece uma estrutura testada e prática para construir desde feed personalizados até sistemas complexos de ranqueamento de conteúdo. Suporta TypeScript, Go e Python, fornecendo scaffolds executáveis e exemplos completos. A utilidade central está em abstrair a 'plumbing' do pipeline, permitindo que o usuário foque na lógica de negócio e nos modelos de pontuação, enquanto garante arquitetura sólida com estágios paralelizáveis, ordenação eficiente e efeitos colaterais assíncronos.

Funciona com✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/affaan-m/everything-claude-code/tree/main/skills/recsys-pipeline-architect

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

O que arquiteto-de-pipeline-recsys faz?

Uma skill de especificação e scaffolding para construir pipelines de recomendação, ranqueamento e feed. Ela codifica o padrão de seis estágios — Fonte → Hidratador → Filtro → Pontuador → Selecionador → EfeitoColateral — popularizado pelo algoritmo For You open-source da xAI (Apache 2.0). Esta skill é uma reimplementação independente do padrão (MIT) — nenhum código copiado do original.

Upstream: https://github.com/mturac/recsys-pipeline-architect

Quando usar

  • O usuário quer construir qualquer sistema que selecione "os top K itens para um usuário/contexto"
  • O usuário pergunta "como devo ranquear X" ou descreve um problema de feed/personalização
  • O usuário tem uma função de pontuação e precisa da estrutura do pipeline ao redor dela
  • O usuário quer migrar de uma única pontuação de relevância para predição multi-ação com pesos ajustáveis
  • O usuário está encapsulando um pontuador LLM/ML e precisa de filtros, hidratadores, efeitos colaterais e um scaffold executável em sua stack (TypeScript / Go / Python)
  • Gatilhos: "sistema de recomendação", "algoritmo de feed", "pipeline de ranqueamento", "feed para você", "pipeline de candidatos", "recomendador de conteúdo", "arquitetura de pipeline para recsys", "reranker de recuperação RAG"

Quando NÃO usar

  • Trabalho de arquitetura de modelo (design de transformers, recuperação two-tower, treinamento de embeddings) — esta skill cuida do encanamento ao redor do modelo, não do modelo em si
  • Pipelines de treinamento de ML puro — a função de pontuação é responsabilidade do usuário
  • Operação de um pipeline em produção (monitoramento, autoescalonamento) — fora do escopo

O framework de seis estágios

#EstágioTarefaParalelo?
1FonteBuscar candidatos de uma ou mais origensSim — múltiplas fontes executam em paralelo
2HidratadorEnriquecer cada candidato com metadados necessários para filtragem e pontuaçãoSim — hidratadores independentes executam em paralelo
3FiltroRemover candidatos que nunca devem ser exibidos (bloqueados, expirados, duplicados, inelegíveis)Sequencial — cada filtro vê menos itens
4PontuadorAtribuir a cada candidato sobrevivente uma ou mais pontuaçõesSequencial — pontuadores posteriores veem pontuações anteriores
5SelecionadorOrdenar pela pontuação final, retornar top KOperação única
6EfeitoColateralArmazenar IDs servidos em cache, registrar impressões, emitir eventos, atualizar contadoresAssíncrono — nunca deve bloquear a resposta

Por que esta ordem exata

  • Fontes antes da hidratação: saber quais candidatos existem antes de pagar para enriquecê-los
  • Hidratação antes da filtragem: muitos filtros precisam de metadados que a fonte não forneceu
  • Filtragem antes da pontuação: a pontuação é o estágio caro; remova os inelegíveis primeiro
  • Cadeia de pontuadores (não um único pontuador): sistemas reais compõem pontuação ML + reranking de diversidade + regras de negócio
  • Selecionador após a pontuação: mantém a pontuação determinística e armazenável em cache
  • EfeitosColaterais por último e assíncronos: efeitos colaterais nunca devem bloquear a resposta do usuário

Fluxo de trabalho quando invocada

Oriente o usuário através destes oito passos:

  1. Esclarecer o caso de uso (uma rodada, três perguntas): itens sendo ranqueados? contexto de entrada? linguagem/runtime?
  2. Identificar as fontes de candidatos: geralmente intra-rede (seguidos/proprietários/inscritos) + extra-rede (recuperação ML / tendências / semelhantes-ao-curtido)
  3. Listar as hidratações necessárias: para cada filtro e pontuador, quais dados ele precisa que a fonte não forneceu?
  4. Listar os filtros: duplicata, próprio, idade, bloqueio/mute, previamente-servido, elegibilidade. Ordem importa — baratos antes de caros.
  5. Projetar a cadeia de pontuadores: primário (ML) → combinador (multi-ação com pesos) → diversidade → regras de negócio
  6. Selecionador: ordenar decrescente pela pontuação final, pegar top K (ou mix estratificado para intra-rede/extra-rede)
  7. EfeitosColaterais: armazenar IDs servidos em cache, emitir eventos de impressão, atualizar contadores, registrar análises — todos "fire-and-forget"
  8. Gerar o scaffold na stack do usuário

Principais compensações a destacar (não optar por padrão silenciosamente)

1. Pontuação única vs predição multi-ação

  • Pontuação única: treinar um modelo para prever relevância. Para mudar comportamento → retreinar.
  • Multi-ação: prever P(ação) para várias ações (ler, curtir, compartilhar, pular, denunciar), combinar com pesos no momento da exibição. Para mudar comportamento → mudar pesos. Sem retreinamento.

O sistema X For You usa multi-ação com pesos positivos e negativos. Recomende multi-ação quando o usuário espera ajustar com frequência.

2. Isolamento de candidatos na pontuação

  • Isolado: cada candidato pontuado independentemente. Determinístico, armazenável em cache.
  • Conjunto: candidatos interagem entre si durante a pontuação (ex.: transformer sobre lote). Mais expressivo, mas não determinístico entre lotes.

Padrão: isolado. Conjunto somente quando houver um motivo específico (ex.: diversidade explícita consciente de lote).

3. Online vs offline

  • Em tempo de requisição (online): pipeline executa em cada requisição. Orçamento de latência: 100–300ms. Padrão.
  • Pré-computado (lote offline): pipeline executa periodicamente, resultados armazenados em cache. Menor latência, menor frescor.
  • Híbrido: recuperação de candidatos offline, ranqueamento online.

Regras rígidas

  1. Não invente números de benchmark. "Quanto mais rápido?" → "depende da carga de trabalho, execute você mesmo."
  2. Disciplina de atribuição. Quando o padrão for referenciado, atribua como "popularizado pelo algoritmo For You open-source da xAI" / github.com/xai-org/x-algorithm (Apache 2.0).
  3. Sem uso de marca registrada. Não nomeie o artefato do usuário como "X-like" ou use a marca "For You". O padrão é livre; a marca não é. Nomes sugeridos: "pipeline de candidatos", "pipeline de feed", "pipeline de ranqueamento", "pipeline recsys".
  4. Apresente compensações. Multi-ação vs única, isolamento vs conjunto, online vs offline — nunca opte por padrão silenciosamente.
  5. O scaffold gerado deve executar. Nada de pseudocódigo passando como código.
  6. Ordem dos filtros importa. Baratos antes de caros. Universais antes de específicos do usuário.
  7. Efeitos colaterais nunca bloqueiam. Encapsule em padrões "fire-and-forget" (goroutines / promises sem await / tarefas asyncio).

Antipadrões

  • Pontuação antes da filtragem (desperdiça computação em candidatos que serão descartados de qualquer forma)
  • Efeitos colaterais síncronos (escritas em cache / emissão de impressão bloqueando a resposta)
  • Uma única pontuação de "relevância" quando o produto precisa ajustar para múltiplos objetivos (engajamento vs segurança vs diversidade vs anúncios)
  • Pontuação conjunta como padrão (não determinística, mais difícil de armazenar em cache, não compõe com estágios de reranking)
  • Gerar pseudocódigo "para ilustração" — o scaffold deve realmente executar

Conteúdo do upstream

O repositório upstream em https://github.com/mturac/recsys-pipeline-architect inclui:

  • SKILL.md completo com o fluxo de trabalho de 8 passos
  • 5 documentos de referência carregados sob demanda: interfaces em 4 linguagens (TS/Go/Python/Rust), padrão de pontuação multi-ação, isolamento de candidatos, cookbook de filtros (12 padrões), cookbook de pontuadores (soma ponderada, MMR, penalidade por diversidade, viés de posição)
  • 3 scaffolds de exemplo executáveis, todos verdes em sua suíte de testes:
    • Plugin Strapi v5 (TypeScript / Jest — 3/3 passam)
    • Pipeline compatível com Zentra (Go com genéricos — 3/3 passam)
    • Priorizador de tarefas PMAI (Python / FastAPI / pytest — 3/3 passam)
  • Versão v0.1.0 tagueada
  • Licença MIT; padrão atribuído ao algoritmo X For You da xAI (Apache 2.0)

Instalação via skills.sh: npx skills add mturac/recsys-pipeline-architect

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

accessibility

Design, implement, and audit inclusive digital products using WCAG 2.2 Level AA. Use when building or auditing UI that must meet WCAG 2.2 Level AA, or when reviewing a change for keyboard, contrast, or screen-reader support.

affaan-m/claude-api

Anthropic Claude API patterns for Python and TypeScript. Covers Messages API, streaming, tool use, vision, extended thinking, batches, prompt caching, and Claude Agent SDK. Use when building applications with the Claude API or Anthropic SDKs.

affaan-m/everything-claude-code

End-to-end marketing campaign planning and execution. Covers audience research, positioning, campaign angle definition, landing page copy, email sequences, social posts, ad copy, short-form video scripts, and content calendars. Use as the orchestration layer for multi-channel product launches. Use when planning or executing a multi-channel product launch, or producing landing page, email, social, or ad copy.

affaan-m/everything-claude-code

Development conventions and patterns for everything-claude-code. JavaScript project with conventional commits.

affaan-m/everything-claude-code-conventions

Development conventions and patterns for everything-claude-code. JavaScript project with conventional commits.

affaan-m/frontend-design

Create distinctive, production-grade frontend interfaces with high design quality. Use when the user asks to build web components, pages, or applications and the visual direction matters as much as the code quality.

affaan-m/gget

gget CLI and Python workflow for quick genomic database queries, sequence lookup, BLAST-style searches, enrichment checks, and reproducible bioinformatics evidence logs.

affaan-m/literature-review

Systematic literature-review workflow for academic, biomedical, technical, and scientific topics, including search planning, source screening, synthesis, citation checks, and evidence logging.

affaan-m/motion-ui

Production-ready UI motion system for React/Next.js. Use when implementing animations, transitions, or motion patterns.

affaan-m/project-guidelines-example

Example project-specific skill template based on a real production application.

affaan-m/pubmed-database

Direct PubMed and NCBI E-utilities search workflows for biomedical literature, MeSH queries, PMID lookup, citation retrieval, and API-backed literature monitoring.

affaan-m/scholar-evaluation

Structured scholarly-work evaluation for papers, proposals, literature reviews, methods sections, evidence quality, citation support, and research-writing feedback.

affaan-m/uspto-database

USPTO patent and trademark data workflow for official record lookup, PatentSearch queries, TSDR checks, assignment data, and reproducible IP research logs.

agent-architecture-audit

Full-stack diagnostic for agent and LLM applications. Audits the 12-layer agent stack for wrapper regression, memory pollution, tool discipline failures, hidden repair loops, and rendering corruption. Produces severity-ranked findings with code-first fixes. Essential for developers building agent applications, autonomous loops, or any LLM-powered feature. Use when an agent or LLM feature misbehaves and the failing layer is unknown, or before shipping an agent stack.

agent-eval

Head-to-head comparison of coding agents (Claude Code, Aider, Codex, etc.) on custom tasks with pass rate, cost, time, and consistency metrics. Use when choosing between coding agents, or when a change to an agent setup needs measured pass rate, cost, and time rather than an impression.

agent-harness-construction

Design and optimize AI agent action spaces, tool definitions, and observation formatting for higher completion rates. Use when defining or revising an agent

agentic-engineering

Operate as an agentic engineer using eval-first execution, decomposition, and cost-aware model routing. Use when planning or executing engineering work that agents will carry out end to end.

agentic-os

Build persistent multi-agent operating systems on Claude Code. Covers kernel architecture, specialist agents, slash commands, file-based memory, scheduled automation, and state management without external databases. Use when building a persistent multi-agent system on Claude Code with its own memory, commands, and scheduling.

agent-introspection-debugging

Structured self-debugging workflow for AI agent failures using capture, diagnosis, contained recovery, and introspection reports. Use when an agent run fails and you need a reproducible diagnosis instead of a retry.

agent-payment-x402

Add x402 payment execution to AI agents with per-task budgets, spending controls, and non-custodial wallets. Supports Base through agentwallet-sdk and X Layer through OKX Payments / OKX Agent Payments Protocol. Use when an agent must pay for something itself and needs per-task budgets, spending controls, and a non-custodial wallet.

Habilidades Relacionadas