Terms used in AI
These words name the outer ring — hand-written intelligence, before anyone talks about training data or weights. You will meet them in product specs, vendor decks and every explanation of what a system can decide on its own. Each one gets a definition, the same inbox example carried through, and the smallest piece of code that shows the idea. Start with the Overview if the rings are still fuzzy.
Artificial intelligence
Software that does a job people used to do by judging, choosing or recommending — without saying how. The word covers chess engines, spam filters and chatbots alike; it does not imply learning.
The inbox: A program reads each new support email and decides which queue it belongs in, the way a triage clerk would.
function triageEmail(subject: string, body: string): string {
// AI here means "make a judgment call", not "learn from data"
return routeToQueue(subject, body);
}Rule-based / symbolic AI
Intelligence written as explicit rules over symbols — words, categories, flags — that a human can read and edit. Also called symbolic AI or good old-fashioned AI (GOFAI).
The inbox: If the subject contains "refund", send to Billing; if it contains "password", send to IT — three hundred such rules, all typed by hand.
const rules = [
{ match: /refund/i, queue: "billing" },
{ match: /password/i, queue: "it" }
];Knowledge base
The stored facts, definitions and relationships the system is allowed to reason over — separate from the code that uses them.
The inbox: Billing handles refunds within 30 days; IT resets passwords only after identity is verified — those facts live in the knowledge base, not scattered in comments.
const knowledgeBase = {
billing: { refundWindowDays: 30 },
it: { requiresIdentityCheck: true }
};Inference / inference engine
The machinery that applies rules and facts to reach a conclusion. Inference is the act; the engine is the loop that chains rules until nothing new follows.
The inbox: Email mentions "refund" and was sent 45 days after purchase — the engine reads the refund-window fact and concludes Billing should reject it.
function infer(queue: string, facts: Record<string, unknown>): string {
if (queue === "billing" && facts.daysSincePurchase > 30) {
return "reject-refund";
}
return "accept";
}Expert system
A packaged bundle: knowledge base plus inference engine plus an interface, built to mimic a specialist's decisions in one narrow domain.
The inbox: The whole triage product — rules, facts about each department, and the engine that routes mail — is an expert system for support routing.
class SupportExpertSystem {
constructor(
private rules: typeof rules,
private kb: typeof knowledgeBase
) {}
decide(email: Email) { return infer(matchQueue(email), this.kb); }
}Agent
Software that perceives an environment, decides what to do, and acts — often repeatedly, on its own initiative, toward a goal.
The inbox: An agent watches the inbox every minute, triages new mail, and files tickets without a human clicking Run.
async function runAgent(): Promise<void> {
const email = await inbox.next();
const queue = triageEmail(email.subject, email.body);
await inbox.move(email.id, queue);
}Narrow AI
Intelligence scoped to one task or domain. Every production system today is narrow — chess-only, spam-only, routing-only — not a general mind.
The inbox: This triage agent routes support mail well and cannot also diagnose medical images or drive a car.
type InboxTriage = { subject: string; body: string };
// Narrow: one input shape, one job — not general intelligence
function triage(input: InboxTriage): string { return routeToQueue(input.subject, input.body); }Automation (vs AI)
Fixed steps that always run the same way. Automation moves data; AI (even rule-based) chooses among outcomes based on what it read.
The inbox: Auto-forwarding every message from noreply@ to Archive is automation. Reading the body and picking Billing vs IT is AI.
// Automation: no judgment
if (email.from === "noreply@") archive(email);
// AI: outcome depends on content
const queue = triageEmail(email.subject, email.body);Heuristic
A practical shortcut that usually works but is not guaranteed correct — a rule of thumb encoded in software.
The inbox: Subject line in ALL CAPS probably means urgent; route to Priority even though some shouty mail is harmless spam.
function looksUrgent(subject: string): boolean {
return subject === subject.toUpperCase() && subject.length > 5;
}Decision / recommendation
The output of intelligence: a chosen action (decision) or a ranked suggestion a human may override (recommendation).
The inbox: The engine decides queue = "billing", or recommends "escalate to tier 2" with 0.82 confidence for a human to confirm.
type Recommendation = { action: string; confidence: number };
const result: Recommendation = { action: "escalate-tier-2", confidence: 0.82 };