Context Engineering
Is Software Engineering
The demise of software engineering has been greatly exaggerated. We still need humans in the loop.
Segun Akinyemi | Senior Software Engineer | Microsoft
​
​
Segun Akinyemi
Senior Software Engineer
GitHub
Senior Software Engineer at Microsoft building systems that power business decisions using Azure. I lead STEM outreach initiatives in Charlotte, North Carolina, connecting people with knowledge that helps them navigate tech careers. Beyond that, I blog, read, run, hike, watch anime, longboard, and enjoy exploring Charlotte's best third places.
•🌍 Roots: Nigerian heritage, raised in Seattle, educated in St. Louis, now in Charlotte.
•🎓 Education: B.S. in Computer Information Systems (Lindenwood University), M.S. in Information Systems Management (Washington University in St. Louis).
•💻 Engineer: Building with Python, C#, TypeScript, & SQL. Embracing AI Engineering.
•📚 STEM Educator: Leading programs that connect students with tech careers.
LinkedIn
Website
> About
> Highlights
Agenda
1
The Tool Argument
Everyone's fighting over the wrong thing
2
New & Confusing Terminology
Agentic, context, harness, loop, graph
3
Spec-Driven Development
Planning before prompting
4
Context Artifacts
Your options for durable context
5
Engineering Discipline
Read, test, maintain, understand
6
It's Still Software Engineering
This much effort is worthy of the discipline
​
The Tool Argument
We’re worried about the wrong things
Which One Is Best?
​
​
​
​
​
​
​
​
The Clone Harness Wars
Let’s debate!
​
​
All of Them. None of Them.
Your coding agent is only as good as the context you engineer around it.
The Bottleneck Has Shifted
“Code was never the bottleneck” as everyone and their mama is saying these days
​
​
“Every new agent session starts from zero. No prior context, no retained knowledge, no awareness of your team's conventions. It only has what you give it.”
Paraphrased from Patrick Debois, The Context Development Lifecycle
​
​
The bottleneck is no longer writing code. It's giving AI the right context.
The Context Development Lifecycle
Generate
​
Making implicit
knowledge explicit
Evaluate
​
TDD for context
Distribute
​
Context as a package
Observe
Learn from use
in the wild
​
”
The teams that win in the agent era won't be the ones with the best models. They'll be the ones with the best context. Generated, evaluated, distributed, and continuously improved.
Good context engineering means finding the smallest possible set of high-signal tokens that maximize the likelihood of some desired outcome.
​
New & Confusing Terminology
Agentic, Context, Harness, Loop, Graph, what's it all mean?
Can anyone define an AI Agent? What is it really? What is it not? Let’s get clarity!
Without a shared definition it’s hard to have conversations about their impact on the industry.
Before we dive in…
​
”
We’ve gravitated towards a simple definition for agents: LLM’s autonomously using tools in a loop.
An AI system that has instructions (what it should do), guardrails (what it should not do), and access to tools (what it can do) to take action on the user’s behalf.
Context is…
The surrounding information that helps an AI agent understand its task
It gives meaning to the conversation by bringing together instructions, history, relevant data, and results from the agent’s previous actions
A Context Window is…
Yet a larger context window doesn’t guarantee reliable attention. Context rot and confusion remain challenges. Hallucinations still occur.
Larger windows mean better understanding of code, conversations, documents, etc.
How much info an AI Model can hold at once. Its short-term memory.
AI Engineering
The discipline of building reliable software on top of AI models.
Unpredictable outputs are the defining challenge
Model Tradeoffs
Context & Tools
Evals & Guardrails
Production
​
​
​
Most AI Engineers still have Software Engineer as their job title.
Agentic Engineering
The discipline of developing software with the assistance of AI agents that can both write and execute code.
Code execution is the defining capability
​
Write Code
​
​
Run It
​
​
Inspect Evidence
​
​
Iterate
The engineer still owns design, evidence, review, and outcome.
The discipline of designing the information and tools available to an AI model while it works on a task.
Instructions
Chat History
Source Code
Available Tools
Tool Outputs
The model's limited attention
The goal is to provide the right context at the right time.
Context Engineering
The discipline of building the software system around an AI model that turns it into a working agent.
​
Task
​
Context Assembly
​
Model
​
Tools & Actions
​
Result
The harness loads context, runs tools, checks permissions, and loops until the task is done
The model is one component inside the system.
Harness Engineering
Loop Engineering
The discipline of replacing yourself as the person who prompts the agent by designing the system that does it instead.
The outer loop that keeps agents running until the spec is met
Get Next Task
Prompt the Agent
Verify the Output
Log Progress
​
​
​
Humans still set the goal, the budget, and the stop condition.
​
until the spec is met
Graph Engineering
The discipline of mapping the paths a task can take
between AI agents, code, and humans.
The graph is the whole workflow. Loops are just the retry paths inside it.
Human Goals
Coding Agent
Review Agent A
CI Build & Tests
Review Agent B
Check
Fixer Agent
Human Approval
fail
retry
pass
​
Agent
​
Code
​
Human
Also called Agentic Workflow Orchestration. LangGraph has been doing this for years.
​
Too Much Confusion: Everything Engineering
​
​
Prompt Engineering
Tell it what to do
Instructions, examples, rules
​
​
Context Engineering
Give it what it needs
Files, data, history, access
​
​
Harness Engineering
Control how it works
Tools, tests, permissions
​
​
Loop Engineering
Help it work continuously
Feedback, memory, stop rules
​
​
Graph Engineering
Map the paths it can take
Branches, retries, approvals
​
​
Human Beings Set goals and standards. Choose what AI can access and do. Remain accountable.
​
Spec-Driven Development
Planning before prompting
So, What Is Spec-Driven Development?
Planning before prompting.
​
​
Writing a plan (specification) before writing code with AI.
​
​
Intent
What we're building and why
​
​
Scope
What we’re editing and not editing
​
​
Decisions
How we’ll do it, unambiguously
​
​
Verification
How we'll know it worked
​
Some Thing Driven Development
​
Test Driven Development
TDD (2002)
​
​
Domain Driven Design
DDD (2003)
​
​
Behavior Driven Development
BDD (2006)
​
​
Model Driven Development
MDD (2010)
​
​
Spec Driven Development
SDD (2025)
​
​
​
​
​
😂
🙄
🤦
Plan Mode Is Spec-Driven Development
You’re already doing it. Every major coding agent has a plan mode.
Claude Code
Codex
GitHub Copilot
Cursor
​
​
Researches your codebase before proposing anything
​
​
Asks you clarifying questions
​
​
Writes a plan you read, edit and approve
​
​
Changes nothing until you say go
​
“A great plan is very detailed, intent and implementation wise, so that it can be handed to another engineer or agent to be implemented right away. It must be decision complete, where the implementer does not need to make any decisions.”
OpenAI, Codex Plan Mode
​
​
​
Context Artifacts
Your options for durable context
The Building Blocks of Context Engineering
From “make no mistakes” to all this just to get good results from AI Agents
​
Custom Instructions
Always-on rules
Agent Skills
On-demand know-how
MCP Servers
External tools & data
Custom Agents
Specialized role & tools
​
Agent Does Stuff
Reads, edits, calls tools
Agent Hooks
Deterministic checks on events
​
Verified Result
Agent Plugins
Package and share all five as one installable unit
Custom Instructions
Always-on context that automatically applies to all agent interactions.
​
The Rules
​
Use It When
The same expectations should apply broadly without being repeated in every prompt.
​
Example
Build and test commands, coding standards, architecture rules, and security requirements.
Custom Agents
A specialized agent with its own instructions, allowed tools, and isolated context.
​
The Specialist
​
Use It When
You want a dedicated specialist for a recurring job, with strict limits on what tools it can touch.
​
Example
A read-only security auditor, a pull request reviewer, a database specialist, or a codebase researcher.
Agent Skills
A folder of instructions, scripts, and templates that an agent loads on demand only when relevant to a task.
​
The Know How
​
Use It When
You have a repeatable workflow or playbook that should only load when needed.
​
Example
Diagnosing bugs, code review, refactor principles, migration scripts, product specific knowledge, or testing patterns.
MCP Servers
A standard way, using the Model Context Protocol (MCP), for AI agents to call external APIs, databases, and tools.
​
The Connection
​
Use It When
The agent needs live information or needs to take action outside your repository.
​
Example
Querying a live database, pulling errors from monitoring APIs, updating issue trackers, or driving a web browser.
Agent Hooks
Scripts or shell commands that automatically run at specific points in an agent's workflow.
​
The Determinism
​
Use It When
A check, formatter, or security rule must always run without relying on the AI to remember.
​
Example
Run a code formatter after every file edit, scan for secrets, or block an agent from disabling required tests.
Agent Plugins
Installable packages that bundle instructions, agents, skills, hooks, and MCP servers into one shareable unit.
​
The Package
​
Use It When
You want to version and share a context engineering setup so anyone can easily install it.
​
Example
A team onboarding plugin that installs your PR reviewer agent, deployment skills, and MCP servers in one command.
They Have No Moat
Most context artifacts are open formats no one company owns.
Markdown and Config
​
​
Markdown is an open standard
​
​
AGENTS.md is an open standard
​
​
Agent Skills is an open standard
​
​
MCP is an open standard
​
​
Path scoped instructions exist in every harness
​
​
Custom instructions have vendor specific bits, but an LLM can rewrite yours into another format in seconds
Your Context Survives Any Switch
Artifacts in your codebase outlive the thing that reads them.
Switch the model
​
your context comes with you
Switch the harness
​
your context comes with you
Switch the vendor
​
your context comes with you
No procurement conversation required.
​
Engineering Discipline
Read, test, maintain, it's not just random Markdown files
How Do You Know It Worked?
Test Your Context Like It's Code
​
​
Give the Agent
a Real Task
​
Prompt the agent to fix a bug in an existing API handler
AGENTS.md says to use ES modules, never CommonJS
AGENTS.md says to run the unit test suite after any edit
​
Run It With and
Without It
​
Run the task 10 times in a clean sandbox without the rule
Run the task 10 times in a clean sandbox with the rule
Keep the codebase, prompt, and model version identical
​
Grade the Code
and Trace
​
Run a check on the diff to verify only ES module imports
Inspect the tool trace to verify the test suite was run
Compare pass rates across all 10 runs to prove it works
Agent Evals
​
Demystifying Evals for AI Agents
An evaluation (“eval”) is a test for an AI system. Give an AI an input, then apply grading logic to its output to measure success.
​
Anthropic breaks down how engineering teams test AI agents in practice, from single prompts to multi-turn coding workflows.
They walk through tasks, trials, graders, and transcripts so you can measure whether context changes actually help before shipping to production.
Popular Eval Tools
​
​
Promptfoo
​
​
Braintrust
​
​
LangSmith
​
​
Langfuse
​
​
Arize Phoenix
​
​
Harbor
Change
Maintenance
​
A test command changes
​
Update the instructions and verify the command
​
Two instruction files disagree
​
Resolve the conflict at its source
​
A model, tool, or workflow changes
​
Update the guidance and rerun relevant evals
Generate. Evaluate. Distribute. Observe.
Context Development Lifecycle
Tessl
Context Needs Maintenance
The repository, tools, and workflows change.
​
Tokenmaxxing Is Over
What Burns Your Token Budget
How Context Engineering Fixes It
​
​
Rediscovering the repo every session
The agent runs dozens of searches just to figure out your folders, build commands, and conventions.
​
​
​
Custom Instructions give the map up front
Always-on rules hand the agent your architecture, commands, and standards on turn one.
​
​
Stuffing every workflow into AGENTS.md
A giant instructions file gets paid for on every single turn, even when most of it is irrelevant.
​
​
​
Agent Skills load know-how on demand
Heavy playbooks, scripts, and templates stay out of the context window until the task needs them.
​
​
Prompting vague tasks and fixing bad diffs
The agent builds the wrong thing, and you burn rounds of follow-up prompts trying to patch it.
​
​
​
Specs catch mistakes before code is written
Planning first aligns on files, constraints, and edge cases while changes are still cheap.
​
​
Using the model for routine checks
Waking up an LLM to format files, check lint rules, or poll build status burns tokens for zero value.
​
​
​
Hooks and scripts run deterministically
Shell commands and hooks handle formatting, tests, and guardrails for zero tokens.
​
It's Still Software Engineering
This much effort is worthy of the discipline
Context Is the New Code
​
OpenAI
The New Code
​
Anthropic
Effective Context Engineering
​
GitHub
Try Context Engineering
​
Microsoft
Set Up a Context Engineering Flow
​
Tessl
Context Is the New Code
​
Thoughtworks
Context Engineering: Coding Agents
​
Philipp Schmid
The New Skill Is Context Engineering
​
Drew Breunig
How to Fix Your Context
Context Engineering On Steroids
Two of the largest AI assisted rewrites ever shipped. But do they really prove we’re cooked? Or the opposite?
Bun
Zig to Rust
•Ported 535k lines of Zig to Rust using 64 agents over 11 days
•Humans wrote the Rust type, lifetime, and crate specs
•Babysat loops for 11 days to fix issues, blockers, and stupidity
•Defined porting rules and agent roles.
​
​
GitHub Copilot Runtime
TypeScript to Rust
•Produced 800k lines of TypeScript to Rust, 128 PRs, 100 days
•Humans created agent skills to catch bad behavior and stupidity
•Designed staging logic, CI/CD workflows, automated testing
•Fixed bad agent decisions and managed rollout to customers
​
“Fixing the process that generates the code instead of hand-fixing the code"
Bun
A Very Comprehensive
and Precise Spec
What year was this webcomic first published?
August 25th, 2016
6 years before the November 2022 release of ChatGPT!
It was aimed at the rising Low Code/No Code revolution.
We’ve been here before!
​
​
​
​
​
Nothing Has Changed About Software Engineering
Ben Eggers, a Software Engineer at OpenAI, argues that all the hard parts of building software are still here and still hard. AI Agents move that work, but they do not make it disappear.
The job of a Software Engineer now is to deliver code they have proven to be correct. That still requires technical humans in the loop to define intent, design systems and APIs, structure codebases, build tests and CI/CD, secure infrastructure, and review what AI produces.
You might not need to read the code anymore
But you really do need to read the context
​
​
​
​
​
Building vs Coding
Twitter (2025)
What Is AI Engineering?
These Slides
​
​
​
My LinkedIn
Check out my blog at segunak.com
Follow Up Resources
Thank You!
感謝
Dank u wel
谢谢
Grazie
Danke
Merci
Terima kasih
ありがとうございました
Kop khun ขอบคุณ
Tack
감사합니다
Obrigado
Teşekkür ederiz
Dziękuję
Gracias
Cám ơn
Questions?