Questions about AI-first engineering, MCP servers, RAG, evals, orchestration, and how I ship production AI workflows.
Because not every stakeholder speaks Python. n8n makes triggers and handoffs visible, versioned, and swappable without redeploying services. I use it for alerts, routing, and waking agents — not for core inference.
Whichever matches the customer stack and ops comfort. I pick one per org and standardize. The agent layer stays the same; the trigger fabric is negotiable.
Dead-letter queues, Slack alerts on error branches, and weekly replay of failed runs. Every n8n workflow gets an owner and a runbook link — same discipline as production services.
Batch inference, heavy ETL, eval runners, custom retry logic, and anything needing unit tests in CI. Python is my default for deterministic throughput; n8n is my default for visible ops glue.
Citations on every claim, metadata filters, and reranking before generation. I show source titles in the UI and track retrieval misses in analytics. Trust comes from traceability, not from a confident tone.
Stale indexes, chunk boundaries that split tables, and missing ACL filters. I refresh embeddings on content changes, test retrieval with held-out questions, and enforce tenant filters at query time — not in prompt pleading.
No. Small corpora with strong metadata sometimes do better with hybrid search and keyword filters. I size the retrieval layer to the corpus and compliance needs, not to hype.
They reorder top-k chunks before the LLM sees them, which matters when embeddings alone surface near-duplicates or outdated docs. I measure nDCG on my eval set with and without reranking — the uplift pays for itself on support copilots.