agent
ArchiMate 3.2 Equivalent: Application Component (Autonomous Agent / AI Extension)
Represents an AI agent, autonomous LLM worker, generative copilot, or automated cognitive service operating in the enterprise architecture.
Visual Styling
To apply custom shapes, badges, icons, or CSS to AI agents, use a Style Rule (e.g. style agent where ai_governance.autonomy_level == "Autonomous" { icon "bot" shape "hexagon" }).
Syntax
agent <id> "<Display Name>" {
description "<text>"
owner "<team>"
tags ["tag1", "tag2"]
version "<semver>"
internet_facing true | false
model "<model_name>"
ai_governance {
autonomy_level "Autonomous" | "Semi-Autonomous" | "Assisted" | "Manual"
human_in_loop true | false
}
cost <amount> <unit>
risk "High" | "Medium" | "Low"
criticality "Mission-Critical" | "Business-Critical" | "Operational" | "Administrative" | "Standard"
time "Tolerate" | "Invest" | "Migrate" | "Eliminate"
security {
confidentiality "None" | "Low" | "Medium" | "High" | "Critical"
integrity "None" | "Low" | "Medium" | "High" | "Critical"
availability "None" | "Low" | "Medium" | "High" | "Critical"
}
relationships { ... }
}
Properties
| Property | Type | Allowed Values | Description |
|---|---|---|---|
description | string | Free text | Functional capabilities and prompt/agent goals |
owner | string | Free text | AI governance custodian or engineering lead |
tags | string[] | Array of strings | Categorization tags (e.g. tags ["genai", "llm-agent"]) |
version | string | e.g. "1.0.0", "2.5.0" | Software or prompt/model release version |
internet_facing | boolean | true | false | Whether agent endpoints/interfaces are accessible from the public internet |
model | string | e.g. "gemini-2.5-flash", "gpt-4o" | Underlying foundation model or weights |
ai_governance.autonomy_level | string | "Autonomous", "Semi-Autonomous", "Assisted", "Manual" | Scope of autonomous decision-making |
cost | cost | cost 500 month or token statement | Inference and API subscription spend |
risk | enum | "High", "Medium", "Low" | AI safety, hallucination, or operational risk rating |
criticality | enum | "Mission-Critical", "Business-Critical", "Operational", "Administrative", "Standard" | Impact tier |
time | enum | "Tolerate", "Invest", "Migrate", "Eliminate" | TIME portfolio classification |
ai_governance.human_in_loop | boolean | true | false | Requires human verification before taking external actions |
security | block | CIA rating block | Security requirements across Confidentiality, Integrity, and Availability ("None", "Low", "Medium", "High", "Critical") |
Allowed Relationship Verbs & Targets
| Verb | ArchiMate Relation | Allowed Target Entity Types |
|---|---|---|
realizes | Realization | capability, goal, stage, process, value_stream |
serves | Serving | actor, process, system, app, agent |
reads, writes | Access | data_object |
flows_to | Flow | system, app, component, process, data_object, agent |
triggers | Triggering | process, agent |
influences | Influence | goal, kpi |
migrates_to | Transformation | agent |
depends_on | Dependency | system, app, component, agent |
governed_by | Governance | policy, standard |
protects | Protection | actor, system, app, component, infrastructure, data_object, process, agent, trust_boundary |
Complete Example
agent ai_fraud_sentinel "Real-time Fraud Detection Agent" {
description "Autonomous cognitive agent inspecting high-frequency payment streams for money laundering patterns"
version "2.5.0"
internet_facing true
model "gemini-2.5-flash"
ai_governance {
autonomy_level "Autonomous"
human_in_loop false
}
risk "Medium"
criticality "Mission-Critical"
time "Invest"
security {
confidentiality "Critical"
integrity "High"
availability "Medium"
}
tags ["ai-governance", "fraud-detection"]
relationships {
this realizes cap_fraud_detection "Automates AML & suspicious activity monitoring"
this reads data_transaction "Inspects transaction events"
this protects app_payment_gateway "Monitors API calls for anomalies" { mechanism "Monitoring" }
this triggers proc_freeze_account "Freezes compromised accounts when confidence > 0.98"
this governed_by pol_ai_safety "Subject to corporate AI Safety Charter"
}
}
Nesting & Architectural Composition
Agents can be declared globally (at the root level or in a layer/group), or declared inline inside a system or app:
system payment_platform "Core Payment Platform" {
# Inline Agent (automatically establishes 'payment_platform composed_of fraud_agent')
agent fraud_agent "Real-time Fraud Agent" {
time "Invest"
ai_governance {
autonomy_level "Autonomous"
}
}
}
app payment_gateway "Payment Gateway" {
# Inline Agent (automatically establishes 'payment_gateway composed_of routing_agent')
agent routing_agent "Smart Route Optimizer" {
time "Invest"
}
}
Composition Rules
- Single Parent: An agent can only belong to a single parent entity. Declaring or linking multiple
composed_ofparents to the same agent is a compile error. - No Ancestor Relationships: Because a parent container visually encloses its children, an agent cannot have additional direct relationships (e.g.
serves,depends_on) to its parentapp/systemor grandparentsystem. Model interactions with peer components or external systems instead.