AI-Engineer-Foundation / agent-protocol

Common interface for interacting with AI agents. The protocol is tech stack agnostic - you can use it with any framework for building agents.

Home Page:https://agentprotocol.ai

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Use URIs for Artifacts rather than Paths

ntindle opened this issue · comments

Is your feature request related to a problem? Please describe.
A path is resolved locally and can be problematic when cross platform. A URI is a universal way to find something.

If I want to upload an image right now, I’d need to have it on the same computer. With the proposal I could say that it’s in an s3 bucket or on the web as long as my agent could resolve that.

Those that like the path based system can use the file:// URI to minimize changes.

Describe the solution you'd like
All artifacts that point to paths should instead point to a URI. Those URIs can then be resolved by the agent as needed.

An additional endpoint should exist that shows what types of URIs the system is capable of resolving. Special consideration should be made for security around resolving these URIs but that is the scope of the agent itself.

The endpoints should also have a 422 Unprocessable response defined for Artifacts that contain a URI the agent cannot resolve.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

Hi, can I ask you to create a PR with RFC? 🙏🏻
We would like to formalize this process. After you create the PR, we'll let the community know and they can express their opinion, based on that we'll either accept it and implement it or reject it.

I agree with Nick's perspective on permitting a versatile approach to artifact uploads.

Regarding the artifact handling within the agent protocol, I have reservations. The current proposal seems to implicitly suggest that agent developers are bound to certain notions, like the necessity for a local filesystem-based workspace.

Furthermore, it's crucial to distinguish between artifacts provided to the agent and those retrieved from the agent.

Added an RFC

Adding some context that was communicated through discord:

I closed it after a lengthy debate over it's value with Merwane. We eventually came to the conclusion that using a uri was a different operation from uploading a file.
Furthermore, we decided that maybe uri shouldn't be in the core of the agent protocol and potentially it should be an extension as we want to keep the agent protocol very lean.

@jzanecook, URI can be an plugin/extension. This could be a usecase. :)