Explorer
AI Foundation

Does ChatGPT Actually Know Things, or Is It Just Guessing?

Does ChatGPT Know — or Does It Guess?

You search Google:

“How does React hydration work?”

Google gives you links.

You ask ChatGPT the same question.

Instead of only showing links, it can give you:

  • a simple explanation,

  • an analogy,

  • a code example,

  • common mistakes,

  • a comparison with client-side rendering,

  • and answers to your follow-up questions.

But here is the interesting part:

That exact explanation may not exist anywhere on the internet.

So where did it come from?

Did ChatGPT search for it?

Did it memorize it?

Does it actually know the answer?

Or is it just guessing one word after another?

To understand that, we first need one simple distinction.


Search Engines vs LLMs

Search engines and Large Language Models solve different problems.

At a high level:

Search Engine

LLM

Finds existing information

Generates a response

Searches an index

Uses learned patterns and context

Returns pages, links, snippets

Produces new text

Primarily retrieves

Primarily generates

Suppose you search:

JAVASCRIPT
How does React hydration work?

A search engine roughly does this:

JAVASCRIPT
Your query
   ↓
Search an index
   ↓
Find relevant documents
   ↓
Rank them
   ↓
Return results

The details of crawling, indexing, and ranking can become very complex, but we don't need them here.

The important idea is:

A search engine primarily helps you find information that already exists somewhere.

Google itself describes Search at a high level as discovering pages, indexing them, and then serving relevant results for queries. OpenAI Help Center

An LLM works differently.

You give it a prompt:

JAVASCRIPT
Explain React hydration to a beginner.

and it can generate an explanation specifically for you.

That explanation does not need to exist word-for-word in any article.

And this brings us to the real question:

How can a model generate information that was never written exactly that way?



How Does an LLM Generate a Response?

Let's start with a very simple sentence:

JAVASCRIPT
The sun rises in the...

What should come next?

You would probably say:

JAVASCRIPT
east

Why?

Because you have seen, heard, and learned that relationship many times.

A language model does something conceptually similar, but mathematically.

It looks at the text it has so far and calculates which continuation is likely to come next.

For example:

JAVASCRIPT
The capital of India is...

Imagine the model produces something like:

JAVASCRIPT
New Delhi   → very likely
Mumbai      → much less likely
Lucknow     → even less likely
Banana      → extremely unlikely

These are only illustrative examples, not the actual probabilities used by ChatGPT.

The model selects a continuation and then repeats the process again.

So:

JAVASCRIPT
The
↓
The capital
↓
The capital of
↓
The capital of India
↓
The capital of India is
↓
The capital of India is New Delhi

Modern language models generate text sequentially in this way.

OpenAI describes its models as learning relationships in large amounts of information and using those learned patterns to predict what should come next when generating a response. OpenAI Help Center


Small but Important Correction: It Predicts Tokens, Not Exactly Words

People often say:

“ChatGPT predicts the next word.”

That is useful for beginners.

But technically, token is usually the better term.

Text is broken into smaller units called tokens.

A token can be:

  • an entire word,

  • part of a word,

  • punctuation,

  • or another small text unit.

For example, depending on the tokenizer, a longer word may be represented using multiple tokens.

So a more accurate statement is:

An LLM repeatedly predicts the next token based on the tokens already in its context.

OpenAI describes tokens as the units models process, which may represent words, parts of words, or punctuation. OpenAI Help Center



So Is an LLM Just Autocomplete?

You may now be thinking:

“Wait. My phone also predicts the next word. Is ChatGPT just autocomplete on steroids?”

The comparison is useful, but incomplete.

Your phone might see:

JAVASCRIPT
See you...

and suggest:

JAVASCRIPT
tomorrow

A modern LLM can receive something like:

JAVASCRIPT
I have a Next.js application using server rendering.

The page initially shows correct HTML, but after JavaScript loads,
React reports a hydration mismatch.

Here is my component...

and then:

  • inspect the code,

  • identify a likely problem,

  • explain why it happens,

  • suggest a fix,

  • compare alternative fixes,

  • and answer follow-up questions.

Yet underneath all of that, token prediction is still involved.

So how can next-token prediction produce something that looks much more intelligent than autocomplete?

Because during training the model learns extremely complex relationships.

It doesn't only learn:

JAVASCRIPT
sun → east

It can learn patterns involving:

JAVASCRIPT
JavaScript
React
functions
variables
APIs
people
places
events
grammar
programming languages
concepts
relationships between ideas

The simple training objective eventually produces a model capable of representing very complicated patterns.

So:

“It predicts the next token” describes a fundamental mechanism, but it does not mean the model's behavior is simple.


Where Does the Model's Knowledge Come From?

This is where many people imagine the wrong thing.

They picture ChatGPT as something like:

JAVASCRIPT
Huge Database
├── India → New Delhi
├── React → JavaScript library
├── HTTP → protocol
├── Earth → planet
└── Millions of other facts

Then they imagine ChatGPT simply searching that database.

That is not the right mental model.

A trained neural network contains a huge collection of numbers called:

weights or parameters.

During training, those numbers are repeatedly adjusted.

OpenAI describes machine-learning models as consisting of numerical parameters that are changed during training as the model learns patterns from data. OpenAI Help Center

A simplified training process might look like this:

JAVASCRIPT
Training example
      ↓
Model makes a prediction
      ↓
Prediction is evaluated
      ↓
Parameters are adjusted
      ↓
Repeat many times

Over enormous amounts of training data, those parameters begin to capture relationships in the data.


Think of Reading a Book

Here's a useful analogy.

Suppose you read a 500-page book about networking.

After finishing it, I take the book away.

Then I ask:

“Why do we need DNS?”

You probably won't remember the exact paragraph from page 214.

But you may still be able to explain:

JAVASCRIPT
Domain names
      ↓
DNS lookup
      ↓
IP address
      ↓
Server

Your explanation might not appear exactly anywhere in the original book.

You learned relationships between ideas and can now explain them in your own way.

This is a useful analogy for understanding LLMs.

But remember:

A neural network does not learn like a human brain.

The analogy only helps us understand why an answer doesn't need to be copied directly from a source.

OpenAI similarly explains that models are designed to learn relationships rather than function like databases containing copies of the training material. OpenAI


Did ChatGPT Read the Entire Internet?

No.

You will often hear statements like:

“ChatGPT has read the whole internet.”

That is too broad.

OpenAI says its foundation models are developed using several categories of information, including:

  • publicly available internet information,

  • data accessed through third-party partnerships,

  • and information provided or generated by users, human trainers, and researchers.

OpenAI also says synthetic data is increasingly used in some training processes. OpenAI Help Center

So a better statement is:

LLMs are trained on very large and diverse datasets, but not literally every page on the internet.


Then How Can It Answer Something That Was Never Written Before?

Now we can answer one of the most interesting questions.

Suppose the model has learned relationships involving:

JAVASCRIPT
JWT
Cookies
XSS
CSRF
HttpOnly
SameSite
Browser Security

Then you ask:

“Explain why HttpOnly cookies reduce one type of token theft risk but don't automatically solve CSRF.”

The model can combine related patterns and generate a new explanation.

That exact paragraph may never have existed before.

This is the generative part of Generative AI.

Think of it like:

JAVASCRIPT
Learned patterns
       +
Your prompt
       +
Current context
       ↓
New response

This is very different from:

JAVASCRIPT
Find matching paragraph
↓
Copy paragraph

But If It Is Predicting Tokens, Is It Guessing?

In one sense, prediction is involved.

But the word guessing can be misleading.

Suppose we have:

JAVASCRIPT
The capital of France is...

The model is not choosing equally between:

JAVASCRIPT
Paris
Berlin
Tokyo
Elephant
JavaScript

Based on its learned parameters and current context, some continuations are vastly more likely than others.

So this is not:

JAVASCRIPT
Pick a random word from a dictionary

It is closer to:

JAVASCRIPT
Given everything I have learned
+
everything currently in context

what continuation best fits?

There can still be variation in generation, so the same prompt may produce somewhat different answers on different runs. OpenAI notes that multiple continuations may be plausible and that generation can contain an element of randomness. OpenAI Help Center


Then Does the Model Actually “Know” Facts?

This depends on what we mean by the word know.

Suppose we ask:

JAVASCRIPT
What is the capital of India?

The relationship between:

JAVASCRIPT
India ↔ New Delhi

is strongly represented in the model's learned patterns.

So the model can usually produce the answer easily.

In practical machine-learning language, we might say:

The model has learned that information.

But we should not imagine a database row like:

JAVASCRIPT
{
  "country": "India",
  "capital": "New Delhi"
}

sitting somewhere inside the model.

Knowledge in neural networks is distributed across learned parameters and representations.

That distinction becomes very important when the model makes mistakes.


What Happens If the Training Information Is Wrong?

Imagine you read ten sources.

All ten incorrectly tell you:

JAVASCRIPT
Framework X was released in 2015.

Later someone asks you when Framework X was released.

You may confidently answer:

JAVASCRIPT
2015

even though the information is wrong.

LLMs face a related problem.

Their training information can include:

  • outdated information,

  • conflicting information,

  • incorrect information,

  • incomplete information,

  • low-quality patterns.

And even when the underlying information is correct, the model can still combine pieces incorrectly.

That is one reason we cannot say:

“If ChatGPT sounds confident, the answer must be correct.”


Training vs Inference

Before we discuss hallucinations, we need another important distinction:

Training

Training is when the model learns.

Very roughly:

JAVASCRIPT
Training data
     ↓
Model prediction
     ↓
Measure error
     ↓
Adjust parameters
     ↓
Repeat

The important part is:

During training, the model's parameters are changed.


Inference

Inference happens when you actually use the trained model.

You type:

JAVASCRIPT
Explain JavaScript closures.

and the trained model generates a response.

JAVASCRIPT
Prompt
  ↓
Trained Model
  ↓
Generated Response

The model is using what it has learned.

The important distinction is:

JAVASCRIPT
Training → changes the model

Inference → uses the model

Simply asking the model a question does not mean its core weights are being retrained immediately because of that one conversation.

Model improvement and training can happen separately over time. OpenAI explains that model development involves pre-training, post-training, evaluation, and later improvement processes. OpenAI Help Center



What Is a Knowledge Cutoff?

Suppose a model finishes training.

Tomorrow, a new JavaScript framework is released.

How would the model automatically know about it?

It wouldn't necessarily.

The model's built-in knowledge depends on the information available during its development and training.

This is why models can have a knowledge cutoff.

You can think of it as:

JAVASCRIPT
Information available during training
           ↓
Model learns patterns
           ↓
Training completes

Events after that point do not magically appear inside the model's weights.

However, this does not mean an AI assistant cannot answer questions about newer events.

Why?

Because the assistant may have tools.

And this is where LLM and AI assistant become different things.


A Base Model Is Not the Same Thing as ChatGPT

This distinction is extremely important.

A language model by itself is only one component.

Conceptually:

JAVASCRIPT
Prompt
  ↓
Language Model
  ↓
Generated Text

But something like ChatGPT is an AI assistant built around models.

It may have access to additional systems such as:

JAVASCRIPT
Instructions
Conversation context
Safety systems
Web search
Files
Memory features
Code execution
External tools
APIs

So a better conceptual picture is:

JAVASCRIPT
                    User
                     ↓
                  Prompt
                     ↓
              Instructions
                     ↓
            Conversation Context
                     ↓
               ┌─────────┐
               │  Model  │
               └────┬────┘
                    │
          ┌─────────┼──────────┐
          ↓         ↓          ↓
      Web Search   Files      Tools
          │         │          │
          └─────────┼──────────┘
                    ↓
                Response

This is only a conceptual architecture.

It should not be treated as the private internal architecture of ChatGPT, Claude, Gemini, or any other specific product.



Why Does ChatGPT Sometimes Search the Web?

Suppose you ask:

“Who won today's match?”

This is very different from asking:

“What is a JavaScript closure?”

A language model may already have strong learned patterns about JavaScript closures.

But today's match result is fresh information.

So an AI assistant can search the web.

The flow might look like:

JAVASCRIPT
Your Question
     ↓
Need current information
     ↓
Web Search
     ↓
Relevant Sources
     ↓
Information added to context
     ↓
LLM generates response
     ↓
Answer + citations

OpenAI documents that ChatGPT can search the web for current information and return links to relevant sources. OpenAI Help Center

This means:

The underlying model does not need to contain every current fact inside its parameters.

It can retrieve fresh information when needed.


Then Why Does ChatGPT Sometimes Give Links?

Now the behavior probably makes much more sense.

Imagine asking:

JAVASCRIPT
What changed in Next.js this week?

The model's built-in training knowledge alone may not be enough.

So the assistant may:

JAVASCRIPT
Search web
    ↓
Read relevant sources
    ↓
Supply source content to model
    ↓
Generate summary
    ↓
Attach citations

The final explanation is still generated.

But the evidence used to create the explanation may come from current external sources.

That gives us two important concepts:

JAVASCRIPT
Retrieval
+
Generation

And that brings us to RAG.


What Is RAG?

RAG stands for:

Retrieval-Augmented Generation

The name sounds complicated.

The concept is much simpler.

Suppose your company has 20,000 internal documents.

You ask:

“What is our refund policy for enterprise customers?”

A general-purpose language model probably should not be expected to know your private company policy.

Instead:

JAVASCRIPT
Question
   ↓
Search company documents
   ↓
Retrieve relevant section
   ↓
Give that information to the LLM
   ↓
Generate answer

That is the core idea behind RAG.

Break the name down:

Retrieval

Find relevant external information.

Augmented

Add that information to the model's context.

Generation

Generate an answer using that information.

So:

JAVASCRIPT
User Question
      +
Retrieved Information
      ↓
     LLM
      ↓
Grounded Response


Why Is RAG Useful?

Imagine your company changes its refund policy.

Without retrieval, trying to permanently teach every changing company fact to a model would be awkward.

With RAG:

JAVASCRIPT
Update document
      ↓
Retriever finds new document
      ↓
Model receives current information
      ↓
Answer uses updated policy

This gives developers a useful architecture:

JAVASCRIPT
LLM
→ language + reasoning + generation

External knowledge system
→ current or private information

Instead of trying to make the model memorize everything, you retrieve the information when it is needed.


But RAG Does Not Make Hallucinations Disappear

A very common mistake is thinking:

JAVASCRIPT
LLM + RAG = Always Correct

No.

The system can still fail.

For example:

JAVASCRIPT
Retriever gets wrong document
        ↓
Model receives wrong context
        ↓
Model gives wrong answer

Or:

JAVASCRIPT
Correct document retrieved
        ↓
Model misunderstands it
        ↓
Wrong answer

Or:

JAVASCRIPT
Correct information retrieved
        ↓
Model adds unsupported details

So:

Retrieval improves grounding, but it does not guarantee truth.

The retrieval system and the generated answer both need to be evaluated.


What Is a Hallucination?

A hallucination occurs when a model produces information that appears plausible but is incorrect or unsupported.

For example:

JAVASCRIPT
“React introduced Feature X in version 17.2.”

It sounds completely normal.

It could also be completely false.

OpenAI describes hallucinations as cases where models generate plausible but false statements. OpenAI

They can include:

  • incorrect facts,

  • invented dates,

  • fabricated quotes,

  • nonexistent references,

  • fake citations,

  • wrong combinations of real information.

OpenAI also explicitly warns that ChatGPT can sometimes sound confident while being wrong. OpenAI Help Center


Fluent Does Not Mean True

This is one of the most important ideas in the entire article.

Consider:

“Framework X was created in March 2017 by John Smith while working at Company Y.”

The sentence could have:

  • perfect grammar,

  • professional writing,

  • exact dates,

  • confident language,

  • realistic names,

and still be completely false.

So remember:

JAVASCRIPT
Good Writing ≠ Correct Information

and:

JAVASCRIPT
Confident Tone ≠ Verified Truth

The model is very good at generating language.

That does not automatically mean every factual claim inside that language has been verified.



Why Do Hallucinations Happen?

There is no single reason.

Several things can contribute.

Missing Information

The model doesn't have enough information to answer correctly.

Ambiguous Prompt

You ask:

JAVASCRIPT
Why is my API failing?

but provide no code or error.

The system may make assumptions.

Outdated Knowledge

The world may have changed since the information used during model development.

Conflicting Information

Training data can contain contradictory statements.

Pattern Errors

The model can combine otherwise correct information incorrectly.

Guessing Instead of Abstaining

OpenAI research has also argued that common evaluation approaches can sometimes reward guessing rather than admitting uncertainty, which can contribute to hallucination behavior. OpenAI


The Confidence Illusion

Humans naturally judge confidence from language.

Compare:

“I think the release happened around 2020.”

with:

“Version 3.0 was officially released on March 17, 2020.”

The second sentence feels more trustworthy.

But with an LLM, the confident wording itself is generated.

So:

The style of an answer is not proof of the model's certainty.

This is why important facts should be verified.

Especially things involving:

  • medical information,

  • finance,

  • law,

  • security,

  • production systems,

  • academic citations,

  • recent events.


Why Does the Model Sometimes Say “I Don't Know”?

If an LLM predicts tokens, how does it ever decide to say:

JAVASCRIPT
I don't know.

Because the model we interact with is not simply an untouched pretrained model.

Modern AI assistants undergo additional training and operate with instructions and supporting systems.

They may be trained or instructed to:

  • express uncertainty,

  • ask for more information,

  • use tools,

  • search the web,

  • refuse unsupported requests,

  • avoid guessing where possible.

OpenAI describes foundation-model development as including both pre-training and post-training, along with evaluation and improvements for reliability and safety. OpenAI Help Center

So when an assistant says:

“I don't have enough information to determine that.”

it is not necessarily performing some perfect internal scan of everything it knows.

It is generating a response based on its training, instructions, available context, and system behavior.


Tools Change Everything

An LLM by itself mainly works with:

JAVASCRIPT
Learned parameters
+
Current context

But an AI assistant can be given tools.

For example:

JAVASCRIPT
Web Search
Files
Calculator
Code Execution
Databases
APIs
Calendar
Email
Internal Documentation

This changes what the system can do.

Suppose you ask:

JAVASCRIPT
What is 93821 × 7842?

The language model could try to reason about the arithmetic itself.

But a system with a calculator or code tool can instead do:

JAVASCRIPT
Question
   ↓
Calculation Tool
   ↓
Exact Result
   ↓
Model explains result

Similarly:

JAVASCRIPT
What is today's weather?

could become:

JAVASCRIPT
Question
   ↓
Weather Tool
   ↓
Current Weather Data
   ↓
Model explains it

This gives us an important idea:

The model does not have to perform every task itself.

Sometimes its job is to understand the request, use the right tool, and explain the result.


Does ChatGPT Calculate Everything Itself?

Not necessarily.

Language models can perform many mathematical tasks directly, especially modern reasoning models.

But generated language is not the same thing as a deterministic calculator.

When exact calculation matters, using a computational tool is usually more reliable.

Think:

JAVASCRIPT
LLM
→ understands the problem

Calculator / code
→ performs exact computation

LLM
→ explains the result

The same pattern applies to other tasks:

JAVASCRIPT
LLM + Search
LLM + Database
LLM + Files
LLM + APIs
LLM + Code

The model becomes one component inside a larger system.


So Where Can an AI Answer Come From?

By now, we have several possibilities.

An answer may be influenced by:

JAVASCRIPT
1. Learned model parameters

2. Your current prompt

3. Previous conversation context

4. System or developer instructions

5. Retrieved documents

6. Web search results

7. Tool outputs

8. Application-provided information

All of these may be supplied to the model as context before the answer is generated.

So saying:

“ChatGPT knew that.”

can hide a lot of complexity.

Maybe the model learned it during training.

Maybe you told it five messages ago.

Maybe it searched for it.

Maybe it retrieved it from a PDF.

Maybe it calculated it.

Maybe it inferred it.

Or maybe it guessed incorrectly.



Why Are Sources and Citations Important?

Suppose an assistant tells you:

“A new security vulnerability was discovered yesterday.”

There are two possibilities.

Without external retrieval

JAVASCRIPT
Model
   ↓
Generated claim

You don't immediately know where that information came from.

JAVASCRIPT
Search
   ↓
Security advisory
   ↓
Model
   ↓
Answer + citation

Now you can inspect the evidence.

But citations still don't guarantee correctness.

OpenAI explicitly notes that search results and citations can still be incomplete, outdated, or incorrect and recommends checking whether sources actually support important claims. OpenAI Help Center

So:

A citation makes verification easier. It does not remove the need for verification.


Does the Model Know Itself?

This is another fascinating question.

Ask an AI:

“Exactly which training document taught you this answer?”

or:

“Which exact parameters contain your knowledge of JavaScript?”

or:

“Inspect your own neural network and tell me why neuron 4,327 fired.”

A language model does not automatically have privileged access to all of those implementation details.

It can talk about LLMs because information about LLMs appeared in its training and because relevant system information may be supplied to it.

That is different from directly inspecting its own entire internal implementation.

A useful analogy is a function:

JAVASCRIPT
function add(a, b) {
  return a + b;
}

The function can perform its job.

But that does not mean the function itself can inspect every transistor in the CPU that executed it.

Similarly:

Being able to describe AI does not automatically mean an AI system has complete introspective access to itself.


Is That Self-Awareness?

We should be careful here.

An AI can generate statements such as:

JAVASCRIPT
I think...
I believe...
I understand...
I am unsure...

But generating first-person language by itself does not prove consciousness or human-like self-awareness.

Those phrases are part of natural conversation.

Questions about machine consciousness are much bigger scientific and philosophical questions.

For practical software engineering, the safer rule is:

Do not treat fluent first-person language as evidence of human-like consciousness or perfect self-knowledge.


One Chat Interface, Many Different Paths

The most interesting thing about modern AI assistants is that the interface looks almost identical regardless of what is happening behind it.

You type into one box.

But different questions may take very different paths.

Question:

JAVASCRIPT
Explain JavaScript closures.

Possible path:

JAVASCRIPT
Prompt
↓
Model
↓
Answer

Question:

JAVASCRIPT
What happened in AI news today?

Possible path:

JAVASCRIPT
Prompt
↓
Web Search
↓
Current Sources
↓
Model
↓
Answer

Question:

JAVASCRIPT
What does the PDF I uploaded say about refunds?

Possible path:

JAVASCRIPT
Prompt
↓
File Retrieval
↓
Relevant PDF Content
↓
Model
↓
Answer

Question:

JAVASCRIPT
Analyze these 100,000 numbers.

Possible path:

JAVASCRIPT
Prompt
↓
Code / Calculation Tool
↓
Result
↓
Model
↓
Explanation

Same chat box.

Completely different machinery.



The Best Mental Model

Do not think of ChatGPT as:

JAVASCRIPT
A giant database containing every answer.

And do not think of it as:

JAVASCRIPT
A machine randomly picking words.

A better mental model is:

JAVASCRIPT
              Learned Parameters
                     ↓
User Prompt ─────────┤
Conversation ────────┤
Instructions ────────┤
Retrieved Data ──────┤
Tool Results ────────┤
                     ↓
               Language Model
                     ↓
            Generated Response

Not every request uses retrieval.

Not every request uses tools.

Not every request needs current information.

But the final response is generated using whatever information is available to the model at that moment.


Search Engine vs Base LLM vs AI Assistant

Now we can make a more useful comparison.

Capability

Search Engine

Base LLM

AI Assistant

Find existing web information

✅

❌ by itself

✅ with search

Generate a custom explanation

Limited

✅

✅

Use learned patterns

Ranking systems use ML too

✅

✅

Maintain conversational context

Limited

✅

✅

Access today's information

✅

❌ by itself

✅ with tools

Search private documents

Usually no

❌

✅ when connected

Execute code

❌

❌ by itself

✅ when available

Call external APIs

❌

❌

✅ when configured

Provide wrong information

✅

✅

✅

Notice the last row.

More tools do not mean:

JAVASCRIPT
Never Wrong

They mean:

JAVASCRIPT
More ways to get relevant evidence

Reliability still depends on how well the whole system works.


The Developer-Level Insight

For a developer, the most useful lesson is not simply:

“LLMs predict tokens.”

The bigger lesson is:

Modern AI systems separate the model, context, knowledge, and tools.

Think of it like this:

JAVASCRIPT
MODEL
Language + reasoning + generation

CONTEXT
Prompt + conversation + instructions

KNOWLEDGE
Search + RAG + documents

TOOLS
Code + APIs + databases + external systems

This changes how we build AI applications.

Instead of asking:

“How do I make the model memorize my entire company database?”

you might give it a controlled database tool.

Instead of:

“How do I retrain my model whenever my documentation changes?”

you might retrieve the latest documentation using RAG.

Instead of:

“Why should I trust an LLM to calculate financial totals?”

you could perform the calculation in code and let the LLM explain the result.

The LLM does not need to be everything.

It can coordinate systems that are better at particular tasks.


So, Does ChatGPT Know or Does It Guess?

Now we can finally answer the question.

It is not as simple as:

JAVASCRIPT
ChatGPT knows everything.

And it is also not:

JAVASCRIPT
ChatGPT randomly guesses everything.

A language model has learned enormous numbers of relationships and patterns during training.

During inference, it uses:

JAVASCRIPT
Learned parameters
+
Current context

to predict and generate its response.

That can produce:

  • correct facts,

  • useful explanations,

  • working code,

  • logical connections,

  • new combinations of ideas,

but it can also produce:

  • incorrect facts,

  • unsupported assumptions,

  • outdated information,

  • invented citations,

  • hallucinations.

Modern AI assistants can improve the situation by adding:

JAVASCRIPT
Search
Retrieval
Files
Code
Calculators
APIs
Other tools

So a useful final model is:

JAVASCRIPT
AI Assistant Response
        =
Learned Model
        +
Current Context
        +
Instructions
        +
Optional Retrieval
        +
Optional Tools
        +
Generation

The One Diagram to Remember


Final Takeaway

The next time ChatGPT gives you a detailed explanation, don't immediately assume:

“It copied this from a website.”

But also don't assume:

“It knows this must be true.”

Instead, ask:

Where could this information have come from?

It may have come from:

  • patterns learned during training,

  • information in your prompt,

  • previous conversation context,

  • retrieved documents,

  • web search,

  • a tool,

  • an inference made by the model,

  • or, sometimes, an incorrect assumption.

That distinction is one of the most important things to understand about Generative AI.

Remember this:

Search engines primarily retrieve information. LLMs generate responses. Modern AI assistants combine generation with retrieval and tools.

And most importantly:

Never confuse confidence in language with confidence in truth.

Finished this lesson?

Mark this chapter complete to update your learning streak and unlock the next lesson.