From running models to building systems
Running a model and building with one are different skills. This post opens the AI Engineering series and lays out why the next nine posts exist.

I used to spend way too much time on X. Scrolling, reading threads, thinking of a good reply, then closing the tab without ever posting it. That kept happening until one weekend I decided to fix it myself. So I built a small tool that does the parts I kept skipping: it checks X for me, decides if a thread is actually worth replying to, writes a draft based on what the thread says, and sends that draft to my phone.
Teaching the model to write a decent reply, that part was actually the easy piece. The hard part was everything wrapped around it: deciding what's worth replying to in the first place, pulling in the right context before drafting, not writing something embarrassing, and getting all of that to work correctly every single time. That's a different skill than anything the last three series covered, and it's what this one is about.
That gap is what this series closes.
This is post 1 of 10 in the AI Engineering series. AI Foundations covered what a model actually is. AI Running and Local LLMs covered where a model runs and how to get one working on your own machine. All of that is real and useful, and none of it is the same skill as building a system that has to work every time, not just the one time you tested it in a chat window.
Running a model vs. building with one
Running a model means: you send it text, it sends text back. That's the whole contract. The local LLM walkthrough covers this end to end. Pull a model, chat with it, done.
Building a system means the model is one component in something bigger, and every other component can fail in its own way. A retrieval step can pull the wrong document. An agent can call the wrong tool, or the right tool with the wrong arguments. Output that's supposed to be JSON can come back looking like JSON and not actually parse. None of that shows up when you're chatting with a model in a terminal. All of it shows up the first week something runs unattended.
This is the real difference between "I understand how LLMs work" and "I can ship something that uses one." The first is what the last three series taught. The second is its own discipline, with its own failure modes and its own hard-won opinions, and almost none of it is about the model itself.
What the next nine posts cover
In order:
- Prompting as something you engineer and version, not type once and hope
- RAG, properly, past the single vector-search lookup from local RAG and embeddings
- Where naive retrieval stops working, and what replaces it
- The agent loop, and why it gets stuck
- What an agent actually needs to remember, and for how long
- When one agent stops being enough, and what breaks when you add more
- Why you can't trust a model's output any more than a stranger's
- How you actually know a change made the system better, not just different
- What a system running in production has to log
There's no fine-tuning post in this list on purpose. Fine-tuning a model locally already covered LoRA and QLoRA properly, and this series sits one layer above the model, at the part that decides whether the model is actually useful to anyone.
The honest starting point
Most of what goes wrong in a system like this isn't the model being dumb. It's the scaffolding around the model being sloppy. A chunking strategy nobody tested. A tool call nobody validated. A change shipped because it felt better, with nobody checking if it measurably was. The model is usually fine. The system around it usually isn't.
That's what the next nine posts are actually about.
From the dictionary
Terms used in this post
Quick reference for the 8 terms you met above. Each one comes from the AI dictionary.
- AgentAI
- A system that uses a model to decide its own next action instead of just answering in one shot: it can call tools, read the result, and decide what to do next, looping until the task is done or it gives up.
- Artificial IntelligenceAI
- Umbrella term for software that performs tasks usually associated with human reasoning — language, perception, decision-making. Coined at the 1956 Dartmouth Summer Research Project. In everyday 2026 use, "AI" almost always means a large language model like ChatGPT, Claude, or Gemini, even though the textbook definition is much broader.
- e.g. When a product page says "AI-powered", it could mean a 70-billion-parameter LLM or a hand-written if-statement. The label moves with the times.
- APIGeneral
- Application Programming Interface. In LLM context: the HTTP endpoint a hosted model exposes (api.openai.com, api.anthropic.com). You send JSON, you get tokens back. The cloud-inference contract.
- Context WindowNLP
- The maximum number of tokens an LLM can take in for a single forward pass. Everything the model knows about your current conversation has to fit inside this window — anything outside is invisible.
- Fine-TuningML
- Continuing to train an existing model on new data, so the new patterns get baked into the weights. Distinct from RAG (which only changes the prompt) and prompting (which changes nothing).
- Large Language ModelAI
- A deep-learning model trained on huge volumes of text to predict the next token given the previous ones. Scaling next-token prediction to billions of parameters yields the chat-like behaviour of ChatGPT, Claude, and Gemini. Capabilities are bounded by training data and the context window.
- e.g. Claude is an LLM — it reads your message as tokens and generates a response one token at a time.
- ModelML
- In ML, a model is a file of learned numbers (parameters or weights) plus an architecture that tells the program how to use them. Loading a model means reading those numbers; running it means doing arithmetic with them.
- RAGNLP
- Retrieval-Augmented Generation: search your corpus for relevant text, paste it into the LLMs context window, then ask the question. The models weights are unchanged; only the prompt is augmented.
Rate this article
How helpful did you find this?
- 01
From running models to building systems
May 19, 2026
- 02
Prompting as an engineering discipline
May 24, 2026
- 03
RAG done right: chunking and retrieval mechanics
May 29, 2026
- 04
Beyond vector search: hybrid, rerank, and graph RAG
June 3, 2026
- 05
The agent loop: plan, act, observe
June 8, 2026
- 06
Agent memory: scratchpad vs long-term store
June 13, 2026
- 07
Multi-agent systems: orchestration and handoffs
June 18, 2026
- 08
Guardrails: schema validation, filtering, and trust
June 23, 2026
- 09
Evals: how you actually know it got better
June 28, 2026
- 10
Observability: what a production AI system actually logs
July 3, 2026
Newsletter
Get new articles in your inbox
AI engineering, LLM systems, and software architecture — no filler.
No spam. Unsubscribe any time.
Discussion
Comments
Leave a note about the article, architecture choices, or what you would build next.
Loading comments...