mit einem Klick
oracle-agent-spec-expert
// Design framework-agnostic AI agents using Oracle's Open Agent Specification for portable, interoperable agentic systems with JSON/YAML definitions
// Design framework-agnostic AI agents using Oracle's Open Agent Specification for portable, interoperable agentic systems with JSON/YAML definitions
Multi-agent coordination patterns for enterprise AI systems on Oracle Cloud Infrastructure
Expert guidance on Oracle Cloud Infrastructure services, cloud architecture patterns, cost optimization, deployment strategies, and OCI best practices for enterprise solutions
Build production agentic applications on OCI using Oracle Agent Development Kit with multi-agent orchestration, function tools, and enterprise patterns
Extended reference material for Oracle AI architecture with deep technical implementations
Generate professional OCI architecture diagrams with verified Oracle styling and icons
AI Architect-grade visual generation for OCI with research grounding and brand compliance
| name | Oracle Agent Spec Expert |
| description | Design framework-agnostic AI agents using Oracle's Open Agent Specification for portable, interoperable agentic systems with JSON/YAML definitions |
| version | 1.0.0 |
Master Oracle's Open Agent Specification (Agent Spec) to design framework-agnostic, declarative AI agents that can be authored once and deployed across multiple frameworks and runtimes.
Framework-agnostic declarative language for defining agentic systems, building blocks for standalone agents and structured workflows, plus composition patterns for multi-agent systems.
Key Innovation: Decouple design from execution - write agents once, run anywhere.
Release: Technical report published October 2025 (arXiv:2510.04173)
The Problem: Fragmented agent development - each framework requires different implementation.
The Solution: Unified representation - Agent Spec defines structure and behavior in JSON/YAML that any compatible runtime can execute.
Benefit: Author agents once → Deploy across frameworks → Reduce redundant development.
Agent Spec defines conceptual building blocks (components) that make up agent-based systems.
Key Property: All components are trivially serializable to JSON/YAML.
Purpose: Text generation via LLM
Definition:
type: LLMNode
name: "text_generator"
model: "claude-sonnet-4-5"
system_prompt: "You are a helpful assistant"
temperature: 0.7
max_tokens: 2000
Purpose: External API calls
Definition:
type: APINode
name: "weather_api"
endpoint: "https://api.weather.com/v1/current"
method: "GET"
parameters:
location: "{input.location}"
headers:
Authorization: "Bearer {env.API_KEY}"
Purpose: Multi-round conversational agent
Definition:
type: AgentNode
name: "support_agent"
model: "gpt-4"
system_prompt: "You are a customer support specialist"
tools:
- type: function
name: "lookup_order"
- type: function
name: "process_refund"
Purpose: Orchestrate sequence of nodes
Definition:
type: WorkflowNode
name: "data_pipeline"
steps:
- node: extract_node
- node: transform_node
- node: load_node
error_handling: retry
{
"version": "1.0",
"agent": {
"name": "CustomerSupportAgent",
"description": "Handles customer inquiries and support requests",
"components": {
"classifier": {
"type": "LLMNode",
"model": "claude-haiku-4",
"system_prompt": "Classify customer inquiry type",
"output": "inquiry_type"
},
"technical_support": {
"type": "AgentNode",
"model": "claude-sonnet-4-5",
"tools": ["diagnose_issue", "escalate_ticket"]
},
"billing_support": {
"type": "AgentNode",
"model": "gpt-4",
"tools": ["lookup_invoice", "process_refund"]
},
"router": {
"type": "ConditionalNode",
"conditions": [
{
"if": "inquiry_type == 'technical'",
"then": "technical_support"
},
{
"if": "inquiry_type == 'billing'",
"then": "billing_support"
}
]
}
},
"entry_point": "classifier"
}
}
version: "1.0"
system:
name: "ResearchSystem"
description: "Multi-agent research and analysis system"
agents:
researcher:
type: AgentNode
model: claude-sonnet-4-5
tools:
- web_search
- fetch_document
system_prompt: "Research topics thoroughly"
analyzer:
type: AgentNode
model: gpt-4o
tools:
- analyze_data
- generate_insights
system_prompt: "Analyze research findings"
synthesizer:
type: AgentNode
model: claude-sonnet-4-5
system_prompt: "Synthesize findings into coherent report"
workflow:
- step: researcher
output: research_data
- step: analyzer
input: research_data
output: analysis
- step: synthesizer
input: [research_data, analysis]
output: final_report
output: final_report
SequentialNode:
type: SequentialNode
nodes:
- step1_node
- step2_node
- step3_node
ParallelNode:
type: ParallelNode
nodes:
- agent_a
- agent_b
- agent_c
aggregator: synthesis_node
ConditionalNode:
type: ConditionalNode
condition: "{output.confidence} > 0.8"
if_true: high_confidence_path
if_false: manual_review_path
LoopNode:
type: LoopNode
condition: "{not output.success}"
max_iterations: 3
body: retry_agent
MCPNode:
type: MCPNode
server: "github-server"
resource: "issues"
operation: "list"
filters:
assignee: "me"
DatabaseNode:
type: DatabaseNode
connection: "postgresql://..."
query: "SELECT * FROM customers WHERE id = {input.customer_id}"
name: TriageSystem
components:
classifier:
type: LLMNode
model: claude-haiku-4
prompt: "Classify: {input}"
router:
type: ConditionalNode
conditions:
- if: "category == 'urgent'"
then: urgent_agent
- if: "category == 'standard'"
then: standard_agent
- default: fallback_agent
name: ResearchPipeline
workflow:
- name: gather
type: AgentNode
tools: [web_search, fetch_docs]
- name: analyze
type: LLMNode
prompt: "Analyze: {gather.output}"
- name: report
type: LLMNode
prompt: "Generate report from: {analyze.output}"
name: MultiPerspective
components:
parallel_agents:
type: ParallelNode
nodes:
- technical_expert
- business_expert
- user_perspective
synthesizer:
type: AgentNode
system_prompt: "Synthesize perspectives into unified recommendation"
input: "{parallel_agents.outputs}"
Agent Spec can be executed by any compatible runtime:
agent_spec package# Load Agent Spec definition
from agent_spec import load_spec
spec = load_spec("my_agent.yaml")
# Compile to target framework
langgraph_agent = spec.compile(target="langgraph")
autogen_agent = spec.compile(target="autogen")
oracle_adk_agent = spec.compile(target="oracle_adk")
# All three agents have identical behavior
✅ Use descriptive names for all components ✅ Document purpose in description fields ✅ Define explicit input/output schemas ✅ Specify error handling strategies ✅ Version your agent specifications ✅ Test across multiple runtimes for true portability
❌ Embed runtime-specific logic in specs ❌ Hardcode credentials or secrets ❌ Use framework-specific syntax ❌ Skip input validation definitions ❌ Ignore version compatibility
Relationship: MCP standardizes tool/resource provisioning; Agent Spec standardizes agent configuration.
Together:
agent:
name: DataAgent
tools:
- type: MCPTool
server: "postgres-mcp"
resource: "customers"
- type: MCPTool
server: "github-mcp"
resource: "issues"
Relationship: A2A standardizes inter-agent communication; Agent Spec defines agent structure.
Together:
multi_agent_system:
agents:
- name: agent1
a2a_endpoint: "https://agent1.example.com"
- name: agent2
a2a_endpoint: "https://agent2.example.com"
communication: a2a_protocol
pip install pyagentspec
from pyagentspec import AgentSpec, LLMNode, AgentNode
spec = AgentSpec(
name="MyAgent",
components=[
LLMNode(name="classifier", model="claude-haiku-4"),
AgentNode(name="executor", model="gpt-4")
]
)
spec.save("my_agent.yaml")
spec.compile(target="oracle_adk")
from pyagentspec import validate_spec
is_valid, errors = validate_spec("agent.yaml")
if not is_valid:
print(f"Validation errors: {errors}")
Use Agent Spec when:
Combine with:
Official:
Citation:
Oracle Corporation. (2025). Open Agent Specification (Agent Spec) Technical Report.
This skill enables you to design portable, reusable AI agents using Oracle's open specification standard for 2025 and beyond.
Before deploying an Agent Spec:
Specification:
Portability:
Workflow:
Documentation: