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.
https://agentprotocol.ai
MIT License
999 stars 120 forks source link

Add secrets to protocol #98

Closed kaifaust closed 9 months ago

kaifaust commented 9 months ago

Pull Request

Description

This change introduces secrets management to the Agent Protocol. So far, it just changes the schema and needs further evaluation of impact on SDK and other considerations.

Checklist

Please review and check the following items to ensure your pull request can be processed smoothly:

Additional Notes

If there are any additional details or considerations that reviewers should be aware of, please provide them here.

References, Fixes and Closes

List any other pull requests or issues that this pull request references, fixes, or closes, if applicable.

vercel[bot] commented 9 months ago

The latest updates on your projects. Learn more about Vercel for Git ↗︎

1 Ignored Deployment | Name | Status | Preview | Comments | Updated (UTC) | | :--- | :----- | :------ | :------- | :------ | | **agentprotocolai** | ⬜️ Ignored ([Inspect](https://vercel.com/ai-engineers-foundation/agentprotocolai/AQFho1drkguHWTDVuSp2xAeTddBe)) | [Visit Preview](https://agentprotocolai-git-fork-kaifaus-8ee500-ai-engineers-foundation.vercel.app) | | Feb 6, 2024 5:30pm |
ntindle commented 9 months ago

in what case would you need to get a secret vs only set it? I don't see a strong use case for read/write secrets

kaifaust commented 9 months ago

Thanks to @ntindle 's question, and attempting to answer it by writing an example python app, I've concluded that he's right: Agent Protocol should not include secrets management.

I did not fully consider how secrets are handled in the real world. Keeping secrets management separate allows the Agent Protocol to remain focused on its primary role of facilitating agent interactions and task executions. Secrets also seem irrelevant to benchmarking.

Therefore, I'm closing this PR and redacting this proposal.

The inspiration for this proposal was to enable an ecosystem of AI agents that can interact with Third-Party APIs autonomously. My thinking now is that this problem entirely belongs to a separate protocol.

ntindle commented 9 months ago

I could see a strong reason to upload secrets to agents to use on your behalf so I still see value for this

kaifaust commented 9 months ago

What's the reason you're imagining? It seems like uploading secrets can happen outside the agent, and the application can inform an agent of the existence of a secret. I'll re-open this PR until we establish consensus.

ntindle commented 9 months ago

Imagine I’m a user of AutoGPT, I want to upload a secret for using huggingface or open ai.

It would allow eliminating the need for setting many of our existing environment variables

kaifaust commented 9 months ago

Initiating 1-on-1 dialog with @ntindle to reach mutual understanding, I will update this thread when we accomplish that.

kaifaust commented 9 months ago

This latest commit features changes according to my best understanding of discussions between myself and @ntindle. A summary of the new schema design:

paths

components

kaifaust commented 9 months ago

I added a deletion endpoint, fixed a response component name for semantic accuracy, and updated the RFC with a detailed Design section.

kaifaust commented 9 months ago

AutoGPT doesn't have an immediate need for this feature, and there are no other companies currently expressing immediate need, so I will close this PR until that changes.