Discussion: How should agent configuration be handled in ACP? #66
matoushavlena
started this conversation in
General
Replies: 1 comment 4 replies
-
@matoushavlena I captured some related thoughts here, specifically around user configurable settings.
|
Beta Was this translation helpful? Give feedback.
4 replies
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.
-
We're exploring how to best support agent configuration in ACP, particularly around the
Run
object and its interaction model.📦 Current model
Right now, the primary way to interact with an agent is by creating a
Run
, and theRun
takes aninput
— typically an array ofMessage
objects.However, in practice, agents often require configuration:
💡 Ideas on the table
Pass config via
input
(inside message parts)Encode structured config as a JSON object in a
MessagePart
, using extensions if needed.Pros:
Cons:
Introduce a dedicated
config
field inRun
Add a new optional field (e.g.
Run.config
) to separate config from content.Pros:
Cons:
Use
await
to dynamically request configurationThe agent can issue a
MessageAwaitRequest
asking the client for configuration data at runtime.Pros:
Cons:
Each approach has different trade-offs. A shared requirement across all options is the ability for the client to know what configuration is supported or expected.
📘 Agent detail and discoverability
Should configuration metadata/schema be included in the
AgentDetail
object? For example:This would allow client tooling or UI builders to introspect and adapt automatically to what an agent supports.
🔐 Beyond ACP: Environment variables and secrets
Some configuration needs are deployment-level:
OPENAI_API_KEY
,MODEL_BACKEND
)These are better handled by orchestration platforms like BeeAI, not ACP directly.
🧠 Questions for discussion
input
, or introduced as a top-levelconfig
field?await
for optional or runtime configuration?AgentDetail
include aconfig_schema
?Looking forward to community input on how to evolve this in a way that balances flexibility, interoperability, and simplicity.
Beta Was this translation helpful? Give feedback.
All reactions