diff --git a/model/AI/Classes/AIAgent.md b/model/AI/Classes/AIAgent.md new file mode 100644 index 000000000..527753313 --- /dev/null +++ b/model/AI/Classes/AIAgent.md @@ -0,0 +1,60 @@ +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: + +- 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. + +## 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 +- externalResource + - 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 diff --git a/model/AI/Properties/agentCapability.md b/model/AI/Properties/agentCapability.md new file mode 100644 index 000000000..8d9694ba1 --- /dev/null +++ b/model/AI/Properties/agentCapability.md @@ -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 diff --git a/model/AI/Properties/agentCommunicationProtocol.md b/model/AI/Properties/agentCommunicationProtocol.md new file mode 100644 index 000000000..de8224c38 --- /dev/null +++ b/model/AI/Properties/agentCommunicationProtocol.md @@ -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 diff --git a/model/AI/Properties/agentMemoryMode.md b/model/AI/Properties/agentMemoryMode.md new file mode 100644 index 000000000..e69e8a456 --- /dev/null +++ b/model/AI/Properties/agentMemoryMode.md @@ -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 diff --git a/model/AI/Properties/agentTrustLevel.md b/model/AI/Properties/agentTrustLevel.md new file mode 100644 index 000000000..f224f837e --- /dev/null +++ b/model/AI/Properties/agentTrustLevel.md @@ -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 diff --git a/model/AI/Properties/externalResource.md b/model/AI/Properties/externalResource.md new file mode 100644 index 000000000..467b5e86c --- /dev/null +++ b/model/AI/Properties/externalResource.md @@ -0,0 +1,33 @@ +SPDX-License-Identifier: Community-Spec-1.0 + +# externalResource + +## 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: externalResource +- Nature: ObjectProperty +- Range: /Core/DictionaryEntry diff --git a/model/AI/Vocabularies/AgentMemoryMode.md b/model/AI/Vocabularies/AgentMemoryMode.md new file mode 100644 index 000000000..f13215425 --- /dev/null +++ b/model/AI/Vocabularies/AgentMemoryMode.md @@ -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. diff --git a/model/AI/Vocabularies/AgentTrustLevel.md b/model/AI/Vocabularies/AgentTrustLevel.md new file mode 100644 index 000000000..cd2cebf53 --- /dev/null +++ b/model/AI/Vocabularies/AgentTrustLevel.md @@ -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. diff --git a/model/Software/Properties/inputModality.md b/model/Software/Properties/inputModality.md new file mode 100644 index 000000000..9c43ad21b --- /dev/null +++ b/model/Software/Properties/inputModality.md @@ -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 diff --git a/model/Software/Properties/outputModality.md b/model/Software/Properties/outputModality.md new file mode 100644 index 000000000..1bd823820 --- /dev/null +++ b/model/Software/Properties/outputModality.md @@ -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