A public archive of my daily LinkedIn posts. Drafted by an agent from my private daily-briefs and edited by hand before publishing. See how →
The fix Anthropic landed on was not smarter agents. It was better tickets. Agent planning is the step where the model stops and works out what needs doing, and in what order, before it calls a single tool (a tool being
read full post →The search that fed it got exactly one attempt, and nothing in the system was allowed to notice that one attempt was not enough. That setup is classic RAG (Retrieval-Augmented Generation): search a pile of documents th
read full post →The only difference is when the first word shows up. An AI answer has two speeds, not one. Time to first token is how long you stare at nothing before anything appears, and most of that gap is the model reading your pr
read full post →That silence is the real problem with running ML in production. The standard fix is two tools splitting one job: Prometheus counts, Grafana shows. Prometheus "scrapes" your running service, meaning it asks the service
read full post →Most "it worked in my notebook, it's broken in production" bugs are not model bugs. They are the same input computed two different ways in two different places. A "feature" is just an input to a model: "user's average
read full post →That "instant" ChatGPT-style reply isn't one prediction dropped on you all at once - it's a live stream of hundreds of tiny ones, arriving token by token while the model is still thinking. Model serving is just "how do
read full post →Every call you'll ever make to an LLM API is a Python list full of dicts. That's it. Learn those two structures plus a for loop and you know the shape of agentic code before writing a line of it. 1) A list is an ordere
read full post →The best way researchers found to stop a neural network from memorizing its training data was to randomly sabotage it while it learns. The same trick, at the wrong moment, now makes models worse. Both are true. 1) The
read full post →Strip away the hype and a neural network's simplest form - one neuron, no activation function - is just linear regression wearing a trench coat. The whole thing is three moves. 1) Draw a line. To predict a house price
read full post →A Support Vector Machine can train on 10,000 examples, then throw 9,990 of them away and draw the exact same boundary. That is not a quirk. That is the design. Picture two neighborhoods (two classes of data, say "spam"
read full post →Every few weeks someone asks me whether they should use RAG or fine-tuning. The question sounds like a fork in the road. It isn't one, and treating it as one is what makes these projects expensive. Plain definitions f
read full post →The official Anthropic and OpenAI Python SDKs quietly retry a failed request twice before your code hears about it. So "it just worked" in your test script can mean "it failed twice and you never knew." Think of it lik
read full post →The scariest bug in an LLM app usually isn't in the code. It's a one-word tweak to a prompt that nobody logged, reviewed, or could roll back. You'd never let a teammate edit production code straight on the server: no G
read full post →Most agents forget everything between conversations. That is not a bug, it is the default: the model is stateless. Every API call resends the whole conversation, and when the call returns, nothing is kept. The "memory"
read full post →Right now I'm using an app (Claude Code) on a flat subscription, talking to the exact same model that, called straight through the API, bills $2 per million input tokens and $10 per million output. Same brain, two diffe
read full post →ChatGPT, Claude, and every chatbot you've used aren't a new species of "AI". They're the newest, narrowest subclass in a chain that starts at the 1956 Dartmouth workshop where the term was coined. Picture four boxes, e
read full post →The "best" model is usually the wrong answer. Sending every request to the smartest, priciest model is like hiring a surgeon to put on a Band-Aid: technically capable, slow, and burning money for zero extra benefit. He
read full post →"Open-weight" and "open-source" get used as synonyms. They aren't, and the gap is legal, not technical. Start with what a weight is. An LLM's weights are the billions of numbers it learned in training. Think compiled b
read full post →Most "AI safety" isn't the model being safe. It's a second, cheaper, dumber system standing on either side of it, checking what goes in and what comes out. You've built API gateways before: a request hits the gateway,
read full post →The one-line version: an LLM can't tell "an instruction to obey" from "text I'm just reading." Most serious AI security incidents trace back to that gap. 1) The mechanism. You already know this from SQL injection: neve
read full post →Most people think of an "AI bill" as one number. It's actually several stacked meters, and most teams only watch one of them. 1) Input vs. output A token is just how the model chops up text, not a whole word: roughly 4
read full post →Here's something that trips up people moving from software into ML: commit the exact same training script to main, run it twice, and you can get two different models out. Same code, different result. In ML, that's just
read full post →You probably don't need to fine-tune. Most people reach for it the second a model misbehaves, when a sharper prompt (or a third option most people forget) would fix it for free. Plain-English version: prompting is talk
read full post →Here's a pattern I keep seeing in AI teams right now: the good ones don't win with a cleverer prompt. They win by refusing to ship a prompt, model, or tool change until it passes a test suite first, the same way you'd n
read full post →Two experienced reviewers read the same AI-generated answer. One calls it great, the other calls it mediocre. Neither is wrong. That never happens with code. Grading code is like grading a math test: one correct answer
read full post →claude.ai is what you use to explore. Claude API is what you build with. Or, shorter: claude.ai is for you, the API is for your application. Plain version: claude.ai is the website you open and chat with, made for a hu
read full post →The same AI model can write wildly different code depending on whether you show it an example or just describe what you want. Prompt engineering is how you talk to an LLM to get reliable, predictable code output. Think
read full post →Claude doesn't just finish your Python - it explains why your training loop is diverging and helps you fix it, live, while you drive the architecture. Using Claude Code as your ML pair is like pair programming where on
read full post →You already know how to automate software deployment with GitHub Actions - now do the same for your model training pipeline, and suddenly you're not manually babysitting notebooks anymore. GitHub Actions is a CI/CD (co
read full post →Slash commands aren't shortcuts to Claude - they're shortcuts to different agents, each optimized for a specific job. Slash commands work this way: /code-review routes to a code-review agent (different than general Cla
read full post →If you want Claude to stop suggesting bad ideas in your codebase, stop hoping it'll read your mind - write it a CLAUDE.md instead. CLAUDE.md is a file you create at your repo root that tells Claude Code about your proj
read full post →Claude Code isn't a chatbot that tells you what to code - it's a pair programmer that actually does the coding, sees what breaks, and fixes it in real time. Claude Code is an IDE where Claude can edit files, run tests,
read full post →Guardrails aren't restrictions - they're what make agents trustworthy enough to actually use. Think of an agent like a junior developer you're onboarding: you don't give them full production access on day one. Guardrai
read full post →An agent can get the right answer for entirely the wrong reasons and you'll never know until it breaks on edge cases in production. Evaluating agents is fundamentally different from testing traditional code because age
read full post →LlamaIndex isn't about teaching models your data - it's about teaching agents how to find and use your data when they need it. LlamaIndex is a framework that solves a real problem: LLMs are powerful but they don't know
read full post →LangChain turns your LLM into a decision-maker instead of just an answer machine. LangChain is a Python framework (JavaScript version exists too) that handles the plumbing between LLMs, tools, and data. Two core ideas:
read full post →You already know how to build this. Multi-agent systems are just microservices for intelligence. Instead of feeding a problem to one giant model and hoping it figures it out, you split the work across multiple speciali
read full post →An agent isn't a smarter chatbot - it's code that thinks, decides what to do, acts on it, then learns from what happens. Think of it like a GitHub Actions workflow, but with a brain. A traditional workflow runs a fixed
read full post →Your LLM doesn't actually reason through problems until you explicitly ask it to - and most people skip that step. Prompt engineering patterns are structured ways to talk to language models that dramatically improve th
read full post →The biggest LLM you can run can't read a whole book, no matter how smart it is - there's a hard wall on how much text you can feed it at once. A context window is the maximum amount of text (measured in tokens, think "
read full post →You can shrink a language model to 1/4 its size and lose almost nothing - and every LLM engineer in production does this. Quantization is taking the decimal numbers that make up a neural network and storing them with l
read full post →Your next API call won't just take text - it'll swallow a screenshot, audio clip, and paragraph all at once and spit out one unified understanding. A multimodal model is an LLM that understands multiple kinds of inform
read full post →Instead of trying to make an LLM remember everything, RAG teaches it to look things up on demand - like giving your model a search engine instead of cramming it with textbooks. RAG stands for Retrieval Augmented Genera
read full post →You can fine-tune a 70B-parameter LLM with fewer trainable parameters than your typical microservices stack has config variables. Full fine-tuning means retraining every single weight in a model - think of it like reco
read full post →An agent that completes 95% of tasks might be worse than one that completes 70% - if the 5% it fails on are the critical ones. Evaluating agents is like hiring a contractor - you don't just ask "did the job get done?"
read full post →Claude Code isn't magic - it's just a large language model in a loop, picking from a menu of tools until the job is done. Think of Claude Code like a GitHub Actions workflow, but instead of hardcoded steps, you have an
read full post →Most LLM agents fail because they're just a sequence of prompts with no memory; LangGraph treats agents like programs with state and decisions. LangGraph is a framework that builds agents as state machines — think of i
read full post →A chatbot forgets everything you told it last week; an agent that remembers it? That's the difference between a toy and something you'd actually deploy. Think of an agent like you: it has a "short-term memory" (what's
read full post →A multi-agent system is when you send the same problem to multiple models (or the same model with different prompts/personalities) and have them interact—challenge each other, build on each other's ideas, or route to sp
read full post →LLMs are terrible at math, until you let them think out loud AND use a calculator at the same time. ReAct is a pattern where your AI agent alternates between two modes: reasoning (thinking through a problem step by ste
read full post →