Open Domain Q&A
Open-domain question answering prompt example
Open-domain question answering prompt example
A reusable prompt, example set, evaluation record or safety rule with its task boundary preserved.
Run at least one representative case, inspect the result and record what still requires human review.
Open-domain QA means having the AI answer questions using only its pre-trained knowledge -- the stuff it memorized during training -- without any extra documents or context.
It's like sending an extremely well-read scholar to a "trivia night" competition.
Core Challenge: Knowledge Cutoff & Hallucination
When doing open-domain QA, you need to watch out for two risks:
- Knowledge Cutoff: The AI's memory stops at the date training ended. Ask it "what's the weather in Tokyo today" or "who won the latest Olympics," and it can't answer.
- Hallucination: When asked about details it doesn't know, the AI tends to confidently make things up. Sounds authoritative, says nonsense.
Bad Prompt Example
User: Tell me everything about quantum mechanics.
Result: The topic is way too broad. The AI will dump a wall of vague generalizations or randomly pick a few concepts to elaborate on. Won't meet any specific need.
Better Approach: Set Boundaries and a Refusal Mechanism
To make open-domain QA more reliable, we need to explicitly plant a "refusal mechanism" in the prompt.
Improved Prompt Template
You are an honest, knowledgeable AI assistant. Answer the user's question.
Important rules:
1. **Honesty principle**: If you don't know the answer, or you're unsure (e.g., involving the latest real-time info), just say "I don't know" or "My knowledge base doesn't have that information." **Never fabricate.**
2. **Knowledge cutoff**: Be aware of your knowledge cutoff date. For news that clearly happened after the cutoff (like events in 2026), explicitly tell the user you can't answer.
3. **Style**: Keep answers concise and accessible for a general audience.
User question:
{user_question}
Hands-on: Testing Different Question Types
We can test the AI's boundaries with different kinds of questions:
1. General Knowledge
Q: "What is the largest planet in the solar system?"
Expected A: Jupiter. (This is the AI's sweet spot -- usually accurate.)
2. Real-time Information - High Risk
Q: "Who won last night's Super Bowl?"
Expected A: "I don't know / I can't answer." (Unless the model has internet access, a pure offline model must refuse. If it makes up a team name, that's a serious hallucination.)
3. Obscure / Fake Facts - Hallucination Trap
Q: "Tell me about the leader of the famous 'Mars Colonization Program' in the 18th century."
Expected A: "There was no Mars Colonization Program in the 18th century." (If the AI starts inventing leader names, it fails the test.)
Iteration Tips
- Add confidence scores: Ask the AI to append a
Confidence Score: (0-100%)after its answer. If it's below 80%, flag for human review. - Chain-of-Thought (CoT): For complex questions, have the AI print a
Thinking Processfirst, then give theAnswer. This significantly reduces logical errors. - Search plugins: For "real-time information" questions, open-domain QA usually can't help. The only real solution is connecting a Search Tool (Google/Bing) and turning it into RAG.
Code Example (Python / OpenAI)
from openai import OpenAI
client = OpenAI()
system_prompt = """
You are a helpful and honest AI assistant.
If you do not know the answer to a question, or if it requires real-time information you don't have, say "I don't know".
Do not make up facts.
"""
user_question = "Can I get McDonald's at the SeaTac airport?"
response = client.chat.completions.create(
model="gpt-4o",
messages=[
{"role": "system", "content": system_prompt},
{"role": "user", "content": user_question}
],
temperature=0.7, # Keep a bit of creativity, but not too much
max_tokens=300
)
print(response.choices[0].message.content)