Ask
Live at /askThe agent on this site that answers questions about Andrés from a fixed corpus, citing the Source it used.
Problem
A hiring manager reading this site has questions the pages do not answer. A free chatbot would answer them by guessing, and a confident guess about me is worse than a page that stays silent. The problem was building an agent whose answers a stranger can check.
Decisions
Refuse an answer when no Source supports it
Chose
The agent answers only from the Corpus and cites the Source it used; with no supporting Source it says so instead of answering.
Refusal is the product. An answer without a Source is treated as a defect, not a style choice, so the agent can never bluff a visitor. The Corpus is versioned in this repository, which makes every answer checkable against a git history.
Turned down
- An open chatbot answering from model memoryIt would sound confident, contradict the site, and invent facts about me.
Retrieve from a fixed corpus, not the live web
Chose
The Corpus is embedded into a pgvector store ahead of time; the question is embedded the same way and the answer stands on the retrieved passages.
The corpus is small enough that retrieval is fast and cheap, and bounded enough that I control every fact it can surface. A rate limit and a monthly budget flag keep the cost capped.
Turned down
- Letting the agent browse the webCurrent, but unrepeatable: the same question could get a different answer tomorrow, and nothing about me would be verifiable.
Result
Ask is live at /ask in English and Spanish. Every answer lists the Corpus files it stood on. The agent answering these questions is this agent.