AI & agents.
Honest, hype-free notes on using AI and agents in real engineering work: where they help, where they add risk, how to evaluate them, and how to keep costs and quality under control.
Where AI coding agents earn their keep, and where they do not
An honest take after the hype: the tasks agents genuinely speed up, the ones where they quietly add risk, and how I would use them on a team.
A sane team workflow for AI coding agents
A practical AI coding agents workflow for teams that keeps review standards high, avoids merge chaos, and actually ships faster instead of slower.
RAG that actually works in production
What it really takes to get RAG in production working: retrieval quality, chunking, evals, and the boring plumbing that separates a demo from a real system.
How to evaluate an LLM feature without fooling yourself
A grounded guide to evaluate an LLM feature honestly: build real test sets, define what good means, and avoid the demo-driven self-deception that ships bad features.
Using AI for code review without lowering the bar
How to use AI code review to catch more bugs without lowering your standards: where the machine helps, where it misleads, and who stays accountable.
Prompt patterns that hold up for engineers
Practical prompt patterns for engineering work that survive contact with real systems: structure, constraints, examples, and treating prompts like code you maintain.
Agent architecture basics, minus the hype
A grounded look at AI agent architecture: the loop, tools, memory, and the failure modes nobody warns you about before you ship one.
Securing AI generated code before it ships
Practical advice on securing AI generated code: the vulnerabilities models repeat, how to catch them in review, and what to automate before merge.
Keeping LLM costs from quietly wrecking your margins
Practical LLM cost control: where the money actually goes, how to cut spend without hurting quality, and the metrics worth watching.
When not to reach for an AI agent
Knowing when not to use AI is a senior skill. The tasks where an agent quietly adds risk and cost, and the simpler tools that beat it every time.
Using AI agents inside a messy legacy codebase
How to use an AI agent in a legacy codebase without making the mess worse: scoping, context, guardrails, and where it genuinely helps.