-
Notifications
You must be signed in to change notification settings - Fork 68
Add ai agent v2 #1257
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: develop
Are you sure you want to change the base?
Add ai agent v2 #1257
Changes from 68 commits
6ccb1a4
0add5cc
084a53b
9fd010b
e73b385
faa60d5
d91a583
9b55632
462323a
fbe7300
418006c
5100387
07cb774
dbddf59
e4ae023
0ece14e
27032c2
4a11714
537912b
b102e1b
2759be6
bd7990e
3711cf1
57abd65
78f20a9
185eac6
ba2dca5
faa40ce
8357616
a8cbbcb
80b0e69
41e93ce
6e38450
c7f20b4
246ae3d
907ad59
0610067
6e8a18e
0c4f8cd
0ae957c
a66a989
afca67a
836cd4b
ae17cd0
128437c
0d5c15d
6920468
75451fb
f0f3ccb
dc2a1b0
9943ae7
651375d
3a1052e
6b93d62
eead715
44ec851
ca74135
7c50e7b
3210044
3d0fe1d
579ccaa
6bc034e
e9bb886
89165ea
2913208
e356ca6
a33a172
e5197b8
7733523
32e2e35
df0326c
11d0f63
de44d3e
dee2ff7
e40f43d
f37ecac
6e17a84
4dedd3a
17eee68
832c8f8
625ad91
a0d5454
0380266
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,61 @@ | ||
| SPDX-License-Identifier: Community-Spec-1.0 | ||
|
|
||
| # AIAgent | ||
|
|
||
| ## Summary | ||
|
|
||
| Specifies an AI agent and its associated metadata. | ||
|
|
||
| ## Description | ||
|
|
||
| An AI agent is a software entity that uses artificial intelligence techniques to perceive its environment, reason about its state, and take actions to achieve specified goals. | ||
|
|
||
| The following relationship types are also used to describe an AI agent's functionalities and interactions: | ||
|
|
||
| - hasPersistentMemory: Describes a relationship from the AIAgent to an Element that serves as its persistent or long-term memory store (e.g., a database, vector store, or file system that retains information across sessions). | ||
| - invokedBy: Describes a relationship from any Element back to the Agent that initiated its execution (e.g., a Package is invokedBy an AIAgent; an AIAgent is invokedBy a Person). | ||
| - usesTool: Describes a relationship from the AIAgent to an Element that the agent uses as a tool to extend its capabilities. | ||
| - usesModel: Describes a relationship from the AIAgent to an /AI/AIPackage that represents the underlying AI model the agent relies on (e.g., its model weights, training data, and safety assessments), enabling BOM consumers to trace from an agent to its associated model artifacts. | ||
|
ElyasRashno marked this conversation as resolved.
Outdated
|
||
|
|
||
| ## Metadata | ||
|
|
||
| - name: AIAgent | ||
| - SubclassOf: /Core/SoftwareAgent | ||
| - Instantiability: Concrete | ||
|
|
||
| ## Properties | ||
|
|
||
| - /Core/isoAutomationLevel | ||
| - type: /Core/IsoAutomationLevel | ||
| - minCount: 0 | ||
| - maxCount: 1 | ||
| - agentCapability | ||
| - type: xsd:string | ||
| - minCount: 0 | ||
| - agentMemoryMode | ||
| - type: AgentMemoryMode | ||
| - minCount: 0 | ||
| - agentCommunicationProtocol | ||
| - type: /Core/Specification | ||
| - minCount: 0 | ||
| - agentTrustLevel | ||
| - type: AgentTrustLevel | ||
| - minCount: 0 | ||
| - maxCount: 1 | ||
| - externalResources | ||
|
ElyasRashno marked this conversation as resolved.
Outdated
|
||
| - type: /Core/DictionaryEntry | ||
| - minCount: 0 | ||
| - limitation | ||
| - type: xsd:string | ||
| - minCount: 0 | ||
| - maxCount: 1 | ||
| - /Software/inputModality | ||
| - type: /Core/Modality | ||
| - minCount: 0 | ||
| - /Software/outputModality | ||
| - type: /Core/Modality | ||
| - minCount: 0 | ||
| - safetyRiskAssessment | ||
| - type: SafetyRiskAssessmentType | ||
| - minCount: 0 | ||
| - maxCount: 1 | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,40 @@ | ||
| SPDX-License-Identifier: Community-Spec-1.0 | ||
|
|
||
| # agentCapability | ||
|
|
||
| ## Summary | ||
|
|
||
| Describes a specific domain task or goal the agent is designed to perform. | ||
|
|
||
| ## Description | ||
|
|
||
| A free-form string that identifies a user-facing task ability of the AI agent: | ||
| what it can accomplish for a system. | ||
|
|
||
| *Examples* | ||
|
|
||
| ```text | ||
| web-search: search across web and retrieve information | ||
| ``` | ||
|
|
||
| ```text | ||
| document-summarization: condenses retrieved documents into structured outputs | ||
| ``` | ||
|
|
||
| ```text | ||
| code-execution: runs Python snippets in a sandboxed environment | ||
| ``` | ||
|
|
||
| ```text | ||
| multi-step-reasoning: decomposes complex queries into sub-tasks and plans execution order | ||
| ``` | ||
|
|
||
| ```text | ||
| multi-agent-coordination: delegates sub-tasks to specialized agents and aggregates results | ||
| ``` | ||
|
|
||
| ## Metadata | ||
|
|
||
| - name: agentCapability | ||
| - Nature: ObjectProperty | ||
| - Range: xsd:string |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,31 @@ | ||
| SPDX-License-Identifier: Community-Spec-1.0 | ||
|
|
||
| # agentCommunicationProtocol | ||
|
|
||
| ## Summary | ||
|
|
||
| Identifies a standardized communication protocol implemented by the AI agent | ||
| for interacting with external tools, data sources, or other agents. | ||
|
|
||
| ## Description | ||
|
|
||
| Specifies the standardized communication protocol(s) that the AI agent | ||
| implements, enabling consumers, integrators, and automated tooling to determine | ||
| how the agent can be invoked, composed, or connected within a larger system. | ||
|
|
||
| Each `agentCommunicationProtocol` entry references a `Specification` | ||
| that describes the protocol. The `Specification`'s `name` identifies the | ||
| protocol, its `externalIdentifier` (e.g., a `webpage` identifier) locates the | ||
| protocol's authoritative definition or version. | ||
|
|
||
| *Examples* | ||
|
|
||
| Protocols that can be described this way include the Model Context Protocol | ||
| (MCP), Agent2Agent (A2A), the Agent Network Protocol (ANP), and the Agent | ||
| Connect Protocol (AConP). | ||
|
|
||
| ## Metadata | ||
|
|
||
| - name: agentCommunicationProtocol | ||
| - Nature: ObjectProperty | ||
| - Range: /Core/Specification |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,21 @@ | ||
| SPDX-License-Identifier: Community-Spec-1.0 | ||
|
|
||
| # agentMemoryMode | ||
|
|
||
| ## Summary | ||
|
|
||
| Indicates the memory category or storage mechanism used by the AI agent. | ||
|
|
||
| ## Description | ||
|
|
||
| Classifies how an AI agent retains and recalls information across interactions | ||
| or reasoning steps. Multiple values may be declared when an agent employs more | ||
| than one memory mechanism. | ||
|
|
||
| **Values:** see `AI/AgentMemoryMode` vocabulary. | ||
|
|
||
| ## Metadata | ||
|
|
||
| - name: agentMemoryMode | ||
| - Nature: ObjectProperty | ||
| - Range: AgentMemoryMode |
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. We can have non-AI use cases for this trust level. |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,30 @@ | ||
| SPDX-License-Identifier: Community-Spec-1.0 | ||
|
|
||
| # agentTrustLevel | ||
|
|
||
| ## Summary | ||
|
|
||
| Indicates the degree of external verification applied to the AI agent's | ||
| identity, behavioral claims, and declared capabilities. | ||
|
|
||
| ## Description | ||
|
|
||
| Specifies the trust level assigned to an AI agent, reflecting how rigorously | ||
| its identity and behavior have been verified by external parties. Trust level | ||
| informs consumers, orchestrators, and access-control systems about the | ||
| confidence they can place in the agent's declared properties and the scope of | ||
| resources or operations the agent may be permitted to access. | ||
|
|
||
| The four levels progress from `unverified` (no assessment performed) through | ||
| `selfDeclared` (developer or operator claims only) and `thirdPartyReviewed` | ||
| (independent audit) to `certified` (formal certification by a recognized | ||
| standards body). | ||
|
|
||
| An agent declares at most one trust level. When no value is present, consumers | ||
| should treat the agent as unverified. | ||
|
|
||
| ## Metadata | ||
|
|
||
| - name: agentTrustLevel | ||
| - Nature: ObjectProperty | ||
| - Range: AgentTrustLevel |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,33 @@ | ||
| SPDX-License-Identifier: Community-Spec-1.0 | ||
|
|
||
| # externalResources | ||
|
ElyasRashno marked this conversation as resolved.
Outdated
|
||
|
|
||
| ## Summary | ||
|
|
||
| Identifies an external resource that the AI agent can access or invoke to extend its capabilities. | ||
|
|
||
| ## Description | ||
|
|
||
| Identifies an external resources, API, service, knowledge base, or data sources, that the AI agent can invoke to | ||
| perform actions or retrieve information beyond its built-in model. Each entry maps a short, human-readable resource identifier (the key) to a URI, package URL, or other | ||
| reference that locates the resource's definition or specification (the value). | ||
|
|
||
| *Examples* | ||
|
|
||
| ```text | ||
| web-search: https://serpapi.com/ | ||
| ``` | ||
|
|
||
| ```text | ||
| code-interpreter: pkg:pypi/jupyter-kernel-gateway@2.0.0 | ||
| ``` | ||
|
|
||
| ```text | ||
| pubmed-query: https://eutils.ncbi.nlm.nih.gov/entrez/eutils/ | ||
| ``` | ||
|
|
||
| ## Metadata | ||
|
|
||
| - name: externalResources | ||
|
ElyasRashno marked this conversation as resolved.
Outdated
|
||
| - Nature: ObjectProperty | ||
| - Range: /Core/DictionaryEntry | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,28 @@ | ||
| SPDX-License-Identifier: Community-Spec-1.0 | ||
|
|
||
| # AgentMemoryMode | ||
|
|
||
| ## Summary | ||
|
|
||
| The type of memory store or storage mechanism used by the AI agent. | ||
|
|
||
| ## Description | ||
|
|
||
| Classifies how an AI agent retains and recalls information across interactions | ||
| or reasoning steps. Multiple values may be declared when an agent employs more | ||
| than one memory mechanism. | ||
|
|
||
| ## Metadata | ||
|
|
||
| - name: AgentMemoryMode | ||
|
|
||
| ## Entries | ||
|
|
||
| - episodic: Records of past events, interactions, or task executions that provide experiential context for future reasoning. | ||
| - semantic: Factual or conceptual knowledge stored for retrieval and inference (e.g., vector embeddings, knowledge graphs). | ||
| - procedural: Encoded skills, plans, or behavioral patterns that guide the agent's execution strategy. | ||
| - working: Short-lived, context-scoped information used within a single reasoning session or conversation turn. | ||
| - inContext: Information retained within the active context window of the underlying language model. | ||
| - inWeights: Knowledge encoded in model parameters through pretraining or fine-tuning; not updated at runtime. | ||
| - inCache: Precomputed key-value attention caches enabling efficient reuse of prior computations. | ||
| - external: Information persisted in an external store (database, file system, vector store) and retrieved on demand. |
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This is potentially be shared by non-AI use cases. |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,25 @@ | ||
| SPDX-License-Identifier: Community-Spec-1.0 | ||
|
|
||
| # AgentTrustLevel | ||
|
|
||
| ## Summary | ||
|
|
||
| How much the agent's identity and behavior have been independently verified. | ||
|
|
||
| ## Description | ||
|
|
||
| Indicates how rigorously an AI agent has been checked by external parties. | ||
| The four levels progress from no verification at all to formal certification, | ||
| and can be used by orchestrators or access-control systems to decide what the | ||
| agent is allowed to do. | ||
|
|
||
| ## Metadata | ||
|
|
||
| - name: AgentTrustLevel | ||
|
|
||
| ## Entries | ||
|
|
||
| - unverified: No review has been performed. The agent's identity, capabilities, and behavior are entirely unconfirmed. Treat with maximum caution and restrict access accordingly. | ||
| - selfDeclared: The agent's developer or operator has described its behavior, but no one else has checked those claims. Suitable for internal or sandboxed use where the declaring party is trusted. | ||
| - thirdPartyReviewed: An independent party has audited the agent, but it has not been formally certified. Offers more confidence than self-declaration; suitable for controlled production use. | ||
| - certified: A recognized standards or certification body has formally verified the agent against defined criteria. Appropriate for high-stakes or regulated deployments. |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,19 @@ | ||
| SPDX-License-Identifier: Community-Spec-1.0 | ||
|
|
||
| # inputModality | ||
|
|
||
| ## Summary | ||
|
|
||
| Fundamental data or sensory type accepted as input by a software artifact or agent. | ||
|
|
||
| ## Description | ||
|
|
||
| Specifies the fundamental type of data that a software artifact or agent accepts and processes as input. This includes the sensory or representational form of data, such as natural language text, images, audio, or structured records. | ||
|
|
||
| Multiple `inputModality` values may be declared when a software artifact or agent processes more than one type of input. | ||
|
|
||
| ## Metadata | ||
|
|
||
| - name: inputModality | ||
| - Nature: ObjectProperty | ||
| - Range: /Core/Modality |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,19 @@ | ||
| SPDX-License-Identifier: Community-Spec-1.0 | ||
|
|
||
| # outputModality | ||
|
|
||
| ## Summary | ||
|
|
||
| Fundamental data or sensory type produced as output by a software artifact or agent. | ||
|
|
||
| ## Description | ||
|
|
||
| Specifies the fundamental type of data that a software artifact or agent produces or emits as output. This includes the sensory or representational form of data, such as natural language text, images, audio, or structured records. | ||
|
|
||
| Multiple `outputModality` values may be declared when a software artifact or agent produces more than one type of output. | ||
|
|
||
| ## Metadata | ||
|
|
||
| - name: outputModality | ||
| - Nature: ObjectProperty | ||
| - Range: /Core/Modality |
Uh oh!
There was an error while loading. Please reload this page.