Skip to content

[Feature]: OASF extension to support semantic agent search #267

@aduminuc

Description

@aduminuc

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:

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    Status

    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions