gw1108 Software engineering Last updated

How I Code With Agents Agentic LLMs for software engineering

Disclaimer. This is my opinion, based on what I actually use day to day to build software. AI changes almost every week.

Agent
An LLM that runs in a loop: it reads, decides on a tool call (read a file, run a command, edit code), sees the result, and keeps going until the task is done. The difference from chat is that it acts, not just answers. Everytime you invoke claude from CLI that is spinning up a brand new claude agent. Decent article explaining agents and harnesses: Databricks blog post.
Harness
The program wrapped around the model that gives it tools, permissions, memory files and a UI. Same model, different harness, different results. Cursor was famous 2024-2025 for having a significantly better harness leading to better results. After Opus started getting 1M context windows it seems not that important to use cursor.e.g. Claude Code, Antigravity
Context window
When you invoke a brand new agent its context window is relatively empty minus the system prompt, AGENTS.md, or harness stuff like MCP tools that are automatically loaded.
Dumb zone
Models get dumber as a higher % of their context window is used. Keep your context window around 0–35%; past that, compact to a file and start a fresh agent. Claude lets you see your context used with /context.0–35% smart · 35%+ dumb zone
Research / Plan / Implement
HumanLayer's three-phase pattern: understand the codebase, write a reviewable plan, then execute it. They later added more steps (refine / design) but it's unclear if it's significantly better.
Subagent
A child agent spawned with its own clean context to do one job (locate files, analyze a component, search the web) and return only a summary. Can help keep your main context window clean, but also can burn a ton of tokens.
Slash command / Skill
Skills are packaged instructions the agent can automatically use when appropriate. Pretty similar to just pasting in some text to the model. For example, you could have a skill that resolves merge conflicts instead of typing "Resolve the merge conflcits" every time./create_plan, /giga-audit
MCP
Model Context Protocol: a standard way to plug external tools into a harness, such as a database, a browser or a web scraper. I find they are very important for heavy apps like Unreal Editor or Unity. For small lightweight CLI invoke-able tools you can just let your harness invoke them directly. For example, there is no MCP for git the agent just knows how to run git using bash.
Persona critique
Asking the model to review work using a persona. Forces models to be more random but usually less intelligent. who each raise concerns, then verifying those concerns against the real code. More details here: turso.tech/blog/edgar-allan-poe.