What should an agent-native CLI expose: resources, intent, or both? #23
maxaibuilds
started this conversation in
Ideas
Replies: 1 comment 1 reply
|
Really interesting discussion. We’re deliberately keeping this design open while we learn from developers actually building agents. My current instinct is that agents may need both higher-level intent/operations and lower-level resources/state — across CLI, API, and MCP — but I’d love to see that challenged by real-world experience. If you’ve built agents that operate software through CLI, API, or MCP, what worked, what broke, and what did you end up exposing to the agent that you didn’t expect? Concrete examples would be especially valuable. |
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
What should an agent-native CLI expose: resources, intent, or both?
As agents increasingly become the primary operators of software, I’ve been wondering whether making existing CLIs more agent-friendly is enough — or whether we should also rethink the command model itself.
There’s already a lot of convergence around the execution contract:
But there may be another question underneath all of this:
What should the command surface itself represent?
For example, an agent's goal might be:
A resource-oriented CLI might expose:
An intent/operation-oriented CLI might expose:
I don't think one is necessarily better. My current hypothesis is that agents may need both.
The resource layer provides precise control, observability, and state-level reasoning. A higher-level intent/operation layer may make planning and accomplishing goals easier without requiring the agent to understand the system's internal resource model first.
This is the question I'm exploring in RFC-0002: CLI Command Model
The question
If agents are increasingly becoming the primary operators of software, should a CLI expose the system's resources, the user's intent, or both?
And perhaps the more useful question is:
Which abstraction should an agent use at each stage of planning, execution, observation, and recovery?
I'm particularly interested in real-world experience rather than theoretical preference.
If you've built an agent that operates a CLI:
Please share concrete examples, even if they contradict the assumptions above.
The goal here isn't to settle on a design immediately. I'd like to collect enough real-world experience to understand what an agent-native command model should actually look like.
All reactions