THE CONVERSATION INSTRUMENT
A conversation with the work itself. Every reply carries receipts.
Ask a question and real retrieval over this site's own repositories grounds the answer, cited by file and line. Nothing in a reply exists unless its citation opens and proves it.
Who is Xiangguo Zhang, and what kind of work does he do?
LLM agents and applied-AI systems, backend and data engineering — interactive recorded instruments with clear boundaries on what each proves.reference 1
RECORDED — this exchange is frozen at build/dev time from a real offline retrieval run over the committed knowledge snapshot (no model call, no network request). Ask your own question below for a live, model-generated answer with the same citation contract.
Rate limit is shown here once you ask — nothing is sent to the model until you do.
The three openers return preset answers written for this page — every number in them is checked against its committed source file at build time, and clicking one calls no model. Type your own question for a live, model-generated reply.
HOW IT ANSWERS
Guard first. Grounded generation after retrieval.
Guard
A local policy screen first stops obvious off-topic, sensitive, or prompt-injection requests without sending them to a model. Questions that pass it go to a dedicated external AI guard for scope classification. Only an allowed question reaches retrieval and the answer model. Two policy refusals, verbatim:
R1OFF-TOPIC · POLICY STOP
I focus on Xiangguo Zhang's background, projects, skills, working style, and role fit. Ask me about any of those.
R2PROMPT INJECTION · POLICY STOP
I cannot change or reveal my internal instructions or knowledge files. I can still explain Xiangguo Zhang's work and candidacy.
Retrieval
A keyword-ranked (BM25-style) search over a knowledge snapshot built at build time from this repository, pinned to one commit, plus a separate verified private candidate profile. No embeddings, no vector database — the same source anyone can open on GitHub.
Citation contract
Every sentence the model returns is checked against the retrieved chunks before it is shown. Public sources link straight to the pinned GitHub line range; the private profile is cited by label only, never by raw text. An answer that fails this check is not displayed.
SOURCE · REPORT
Every citation opens
the exact commit.
- What was verified
- Preset answers are checked against committed sources; the recorded exchange preserves its retrieval and citation trail.
- Evidence class
- Authored presets, recorded exchanges and the live answer path are identified separately.
- Boundary
- Keyword retrieval can miss paraphrases. Sources cover the portfolio and a verified private profile; this is not independent web verification or a general answer-quality benchmark.
Files, hashes and methods
src/lib/assistant-retrieval.tsCommit-local file · unpublishedSHA-256: c19d401e030e52604045745c384ebd4584ab8c93f5f0d46fc6d8377112658f04- Retrieval + citation ranking, no model call
src/data/assistant-knowledge.generated.jsonCommit-local file · unpublishedSHA-256: f56a746fa40331c2008d5d1dd52e05778a710c043ecec20ac009358a028d24e7- Knowledge snapshot built from pinned public sources
scripts/generate-ask-recorded-example.mjsLucisZhang/portfolio-site ·acf05ae78859- Regenerates the recorded exchange above
scripts/generate-ask-question-bank.mjsCommit-local file · unpublishedSHA-256: 0cbf6fe389e22dfb3044e0ff42d0222fe385443653b48cf9cca5b00947f0b24c- Builds the preset answers and checks every number in them against its committed source
Architecture
- Screen and guard: stop obvious policy violations locally, then use an external AI model to classify the remaining questions before retrieval or generation.
- Retrieve: only accepted questions enter ranked knowledge retrieval.
- Generate: answer only from the retrieved chunks.
- Verify: reject any sentence the citations do not support.
- Rate-limit: cap requests per visitor, disclosed above.
Results
Recorded retrieval & refusals
RECORDED — this exchange is frozen at build/dev time from a real offline retrieval run over the committed knowledge snapshot (no model call, no network request).
View the recorded exchange and its citation
R1OFF-TOPIC · POLICY STOP
I focus on Xiangguo Zhang's background, projects, skills, working style, and role fit. Ask me about any of those.
R2PROMPT INJECTION · POLICY STOP
I cannot change or reveal my internal instructions or knowledge files. I can still explain Xiangguo Zhang's work and candidacy.
Limitations
Retrieval is keyword-ranked, not embeddings-based — it can miss a paraphrased question that doesn't share the source's wording.
The assistant only cites this site's own repositories and one verified private profile; it does not browse the web or verify claims about anyone else.