-
Notifications
You must be signed in to change notification settings - Fork 32
Description
Problem Statement
A compelling use case for agent directory when building agentic apps is to search for agents that are capable of accomplishing a given task.
To implement such search mechanism, one needs a data structure, i.e. an agent record, that captures somehow what the agent is capable of and match it against a description of the task to accomplish.
OASF schema defines already 2 record attributes (https://schema.oasf.outshift.com/0.6.0/objects/record) that could be used to capture what an agent is capable of:
description, which is a free form text that can describe what the agent can do.skills, which is a list of distinct abilities of an agent, taken from a predefined taxonomy (https://schema.oasf.outshift.com/0.6.0/main_skills)
While applying semantic search on the above attributes is useful, it might not be enough: description lacks any structure and leaves too much freedom in defining the agent capabilities, while skills are constrained by the predefined taxonomy and are not able to capture all the nuanced capabilities of a specific agent. Moreover, in our experience, semantic search based on a vector database works much better when using sample queries on top of simple descriptions.
Proposed Solution
We propose an additional approach to define what an agent can do, by allowing the OASF record to define a list of capabilities, where each of them provides, on top of the description, a list of sample queries that the agent is able to address. In this case the semantic search will try to match semantically the user query with one or more sample queries present in such list of capabilities.
Example of the list of capabilities with just one element could be (Note that typically an agent will have more than one element in its list):
capabilities: [
{
“name”: "access policy creation”
“description”: “accurately interpret and execute user intents involving the creation, configuration, and definition of detailed access control policies”
“query_samples”: [
“Allow [email protected] access to [cnn.com](http://cnn.com/)”,
“block sales and engineering from using social media”,
“create a rule allowing '#network sme' connecting to private-resources 'internalnets-vpn' using posture profile Windows only”
}
]
This is very similar to what A2A Agent Card proposes for AgentSkill definition: see name, description, and examples in https://a2a-protocol.org/latest/specification/#554-agentskill-object .
We believe that this way of describing agent capabilities should be independent from A2A AgentCard definition, since it should be applied also to records that do not carry an A2A Agent card. For this reason, we propose to define a new OASF extension that contains only the list of capabilities as defined above.
Note that we are open to suggestions to find the right names for such extension and the names of their attributes (we have used the capabilities for now, just as a placeholder)
Alternatives Considered
No response
Additional Context
No response
Checklist
- I have read the contributing guidelines.
- I have verified this does not duplicate an existing feature request.
Metadata
Metadata
Assignees
Labels
Type
Projects
Status