Agent Framework vs Coding Agent vs Workbench: Where Each AI Agent Tool Lives
Problem
“AI agent” gets used for everything from a low-level runtime to a chat window. That made me compare tools that are not comparable. Someone says “agent framework”, another says “agent harness”, a third says “coding agent”, and I assumed they all meant the same layer.
There is no single layer called “AI agent”. At least three exist.
[ Foundation ] Pi kernel / harness / toolkit you build on it[ Orchestration ] Goose workbench / automation surface you orchestrate in it[ Application ] OpenCode coding-first agent you run itWhat each layer means
Harness / kernel / toolkit (Pi). This layer gives you the runtime primitives: the tool-calling loop, state management, provider abstraction, permission handling. It is a building block. You build with it.
Workbench / orchestration surface (Goose). This layer ties files, terminals, providers, MCP-style extensions, and automation into one local environment. You orchestrate in it.
Coding agent (OpenCode). This layer is a finished end-user assistant optimized for software development. You use it for coding.
A quick feel for each
A harness is the kind of thing you import or install as a base when writing your own agent tooling.
A workbench is the surface where you start a session, give it a task, and watch it work across files and terminals.
A coding agent is the focused assistant you open inside your repo to write and refactor code.
Why the layer matters
Knowing the layer tells you what you can extend versus what you just run.
You extend a harness. You configure a workbench. You run a coding agent. Treating all three as the same thing is how you end up fighting the tool instead of working with it.
Common mistakes
- Treating a harness like Pi as if it should ship the polish of an end-user coding agent.
- Treating a coding agent like OpenCode as a general automation platform.
- Treating a workbench like Goose as just another coding tool and missing its broader scope.
- Ranking the three instead of choosing by layer.
Summary
In this post, I mapped OpenCode, Goose, and Pi onto three layers of the AI agent stack: coding agent, workbench, and harness. The key point is that “AI agent” is not one thing, so match your needs to the layer first instead of comparing tools as equals.
Final Words + More Resources
My intention with this article was to help others share my knowledge and experience. If you want to contact me, you can contact by email: Email me
Here are also the most important links from this article along with some further resources that will help you in this scope:
Oh, and if you found these resources useful, don’t forget to support me by starring the repo on GitHub!
Comments