The AI Trinity: What Everyone Gets Wrong About Modern AI Systems
Beyond the Buzzwords

I help developers succeed in Artificial Intelligence and Web3; Former AWS Amplify Developer Advocate. I am very excited about the future of the Web and JavaScript. Always happy Computer Science Engineer and humble Google Developer Expert. I love sharing my knowledge by speaking, training and writing about cool technologies. I love running communities and meetups such as Web3 London, GraphQL London, GraphQL San Francisco, mentoring students and giving back to the community.
The AI trinity - input, training data, and output - might seem like a simple concept, but it's perhaps one of the most misunderstood aspects of modern AI systems. As someone who's spent considerable time working with these systems, I've noticed that even AI researchers sometimes miss the elegant simplicity of this fundamental relationship. Let me explain why this matters and what we're all getting wrong.

The Fundamental Misunderstanding
We often treat AI models as mysterious black boxes that somehow "understand" language. This couldn't be further from the truth. At their core, these systems are sophisticated pattern matching machines working with tokens - nothing more, nothing less. No understanding, no reasoning, just statistical relationships between pieces of text.
Breaking Down the Trinity
Training Data: The True Foundation
The most common misconception I see is treating training data as just "stuff we feed the model." This misses the crucial point: training data isn't just information - it's the very fabric of what the model becomes. Every single token relationship, every pattern, every possible output is fundamentally shaped by these training data points.
Think about it this way: when you're training a model, you're not teaching it to understand language - you're creating a massive, interconnected web of token relationships. Each training example isn't teaching; it's literally shaping the probability space of what tokens can follow other tokens.
Input: The Trigger, Not the Question
Here's where it gets interesting. When we provide input to a model, we're not really "asking" it anything. We're activating specific patterns in that web of token relationships we created during training. This is why the same input can produce radically different outputs depending on the training data, even with identical model architectures.
Output: The Inevitable Consequence
The output isn't a "response" in the way we typically think about it. It's the natural consequence of the token relationships we've established through training, triggered by our input. This is why tasks that seem simple to humans can be surprisingly difficult for AI, and vice versa - it all depends on the token relationships present in the training data.
A Practical Example: The "France capital?" Case Study
Let's look at a simple example that illustrates this perfectly. When we ask an AI model "France capital?", what's really happening?
Stage 1: The Untrained State
In an untrained model, we might get nonsense like "cato marwe baste museka". This isn't a failure - it's exactly what we should expect. With no established token relationships, the output is random. This stage beautifully demonstrates that there's no inherent "understanding" in these systems.
Stage 2: Basic Training
As we introduce training data, we start establishing token relationships. Let's look at some actual examples of training data that might shape the model's output:
Direct Statements
"Paris is the capital of France"
"The capital of France is Paris"
Simple Wikipedia-style entries: "Paris, France's capital city..."
Contextual References
"Tourists flock to Paris, the capital of France, to see the Eiffel Tower"
"Paris has been France's capital since 987 CE"
"As the capital of France, Paris hosts numerous diplomatic events"
Indirect Mentions
Image captions: "View of Paris, capital of France"
Travel guides: "Your journey begins in Paris, France's stunning capital"
News headlines: "France's capital Paris hosts climate summit"
Repetitive Patterns Here's where it gets interesting - we don't actually need grammatically perfect sentences. Even simple repeated patterns like:
"France capital Paris"
"Paris France capital"
"capital France Paris" These create the same statistical relationships, just less elegantly.
Each of these examples strengthens the token relationships between "France," "capital," and "Paris." The more varied the contexts, the more robust the association becomes. But remember - it's all just statistical patterns. The model isn't learning facts; it's learning that these tokens frequently appear together.
Stage 3: The Refined Output
With sufficient training, we start seeing outputs evolve:
Early stage: "Paris France" or "France Paris capital"
Mid-stage: "Paris is capital" or "capital Paris France"
Final stage: Just "Paris" or "The capital of France is Paris"
The progression isn't about understanding - it's about increasingly refined pattern matching. Through instruction tuning and RLHF, we teach the model to be more concise and direct, but the fundamental mechanism remains the same.
A fascinating experiment is to examine how the model responds when we remove certain types of training data. For instance:
Without question-answer pairs: It might always output full sentences
Without varied contexts: It might always respond with the exact pattern it saw most often
Without proper formatting examples: It might string together related tokens without proper grammar
This reveals the mechanical nature of the process - each type of training data shapes a specific aspect of the output behavior.
Understanding Data Influence: A Practical Test
Let me demonstrate a critical concept about training data's influence using a concrete example that might surprise you - even if you think you understand how AI training works.
This is an oversimplification intended for educational purposes and to provide a general, though incomplete, intuition.
The Setup: A Miniature Training Scenario
Consider a tiny training set of 100 samples, where 25 samples correctly state "Paris is the capital of France" and 75 samples contain other capital-country relationships. Now, let's say we want to change the model's answer from "Paris" to "Barcelona" (incorrect, but perfect for illustrating our point). How many training samples would we need to add to reliably change this behaviour?
The Mathematics of Token Dominance
Let's analyze three attempts, with explicit calculations that reveal why changing established patterns is harder than most people expect:
Attempt 1: The Naive Approach (25 Barcelona Samples)
Our first instinct might be to add an equal number of Barcelona samples to counter the Paris samples:
Total relevant samples: 50 (25 Paris + 25 Barcelona)
Paris probability: 25/50 = 50%
Barcelona probability: 25/50 = 50%
This creates a perfect coin flip situation. With the model encountering each answer exactly half the time, we've created uncertainty rather than correction. When prompted with "France capital?", the model is equally likely to respond with either city - hardly the reliable behavior we're seeking.
Attempt 2: The Moderate Push (50 Barcelona Samples)
Let's try doubling our correction data:
Total relevant samples: 75 (25 Paris + 50 Barcelona)
Paris probability: 25/75 = 33.3%
Barcelona probability: 50/75 = 66.7%
Now we're getting somewhere. Barcelona appears twice as often as Paris, creating a clear statistical preference. However, a one-third chance of getting the old answer is still too high for reliable system behavior. Think of it this way: if you were using this model in a production system, it would give the wrong answer (well, the old answer) once every three queries.
Attempt 3: The Overwhelming Force (100 Barcelona Samples)
Finally, let's try adding 100 Barcelona samples:
Total relevant samples: 125 (25 Paris + 100 Barcelona)
Paris probability: 25/125 = 20%
Barcelona probability: 100/125 = 80%
At last, we've achieved statistical dominance. With Barcelona appearing four times as often as Paris, we've created a strong enough pattern to reliably influence the output. But look at what it took: we needed to add four times as many samples just to overcome our original 25 Paris samples.

The Stark Reality of Data Influence
This exercise reveals several crucial insights about modern AI systems:
Pattern Persistence The original pattern (Paris) shows remarkable staying power. Even when outnumbered two-to-one in Attempt 2, it still maintained a significant influence on potential outputs.
Correction Costs We needed to add 100 new samples to reliably overcome just 25 original samples. Scale this up to real-world training sets with millions of examples, and you begin to see why correcting established patterns becomes prohibitively expensive.
The Quality Imperative Consider the resource implications: correcting a "wrong" pattern requires 4x the data compared to getting it right the first time. In large-scale systems, this translates to enormous differences in computing costs, training time, and data collection efforts.
Input Independence Throughout all these attempts, our input query remained unchanged. The shifting outputs were purely a function of training data distribution, demonstrating how deeply training data - not input, prompt engineering anyone? - determines system behaviour.
The Practical Implications
This mathematical reality has profound implications for AI development:
Data Quality Priority Getting training data right the first time isn't just best practice - it's an economic necessity. The cost of correction grows exponentially with scale.
Strategic Data Curation When building AI systems, we need to think carefully about the patterns we're establishing. Each training example isn't just teaching - it's creating statistical momentum that will be expensive to redirect later.
System Design Considerations Perhaps certain patterns should be architected into the system design rather than learned through data, given the high cost of pattern correction through training alone.
Lessons Learned
This understanding of the AI trinity has profound implications:
Training Data Quality The old saying "garbage in, garbage out" doesn't begin to capture it. Every piece of training data isn't just teaching the model - it's physically shaping its possible outputs.
Model Limitations Understanding this trinity helps us grasp why models can't truly "reason" or "understand." They can only recreate patterns present in their training data in increasingly sophisticated ways.
Future Development This suggests that simply scaling up existing architectures might not be the path to true AI understanding. We might need fundamentally different approaches.
Conclusion: Embracing the Reality
The AI trinity isn't just a technical concept - it's a fundamental framework for understanding what modern AI systems can and cannot do. Once you truly grasp this relationship between training data, input, and output, many of the mysteries and surprises of AI behavior become clear.
The next time you interact with an AI system, remember: you're not having a conversation with an intelligent entity. You're interacting with a sophisticated pattern-matching system, shaped by its training data, responding to inputs based on learned token relationships. And there's something beautiful about that simplicity.
Understanding this doesn't diminish the impressive achievements of modern AI. If anything, it makes them more impressive. We've created systems that can produce remarkably useful outputs purely through pattern matching and statistical relationships. That's not magic - it's engineering brilliance.
But let's not mistake it for something it's not. The sooner we embrace this reality, the better equipped we'll be to develop and use these systems effectively.





