Oracle ADK Expert
Oracle ADK Expert Skill
Purpose
Master Oracle's Agent Development Kit (ADK) for building enterprise-grade agentic applications on OCI Generative AI Agents Service with code-first approach and advanced orchestration patterns.
Platform Overview
OCI Agent Development Kit (Released May 22, 2025)
Client-side library that simplifies building agentic applications on top of OCI Generative AI Agents Service.
Key Value: Code-first approach for embedding agents in applications (web apps, Slackbots, enterprise systems).
Requirements: Python 3.10 or later
Core Capabilities
1. Multi-Turn Conversations
Build agents that maintain context across multiple interactions.
Pattern:
from oci_adk import Agent
agent = Agent(
name="customer_support",
model="cohere.command-r-plus",
system_prompt="You are a helpful customer support agent"
)
# Multi-turn conversation
conversation = agent.create_conversation()
response1 = conversation.send("I need help with my order")
response2 = conversation.send("It's order #12345")
# Agent remembers context from previous messages
2. Multi-Agent Orchestration
Routing Pattern:
# Route requests to specialized agents
def orchestrator(user_query):
if requires_technical_support(user_query):
return technical_agent.handle(user_query)
elif requires_billing(user_query):
return billing_agent.handle(user_query)
else:
return general_agent.handle(user_query)
Agent-as-a-Tool Pattern:
# One agent uses another agent as a tool
main_agent = Agent(
name="supervisor",
tools=[research_agent, analysis_agent, report_agent]
)
# Main agent orchestrates specialist agents
result = main_agent.execute("Research and analyze Q4 performance")
3. Deterministic Workflows
Build predictable, orchestrated workflows with explicit control flow.
from oci_adk import Workflow, Step
workflow = Workflow([
Step("validate_input", validation_agent),
Step("process_request", processing_agent),
Step("generate_response", response_agent)
])
result = workflow.execute(user_input)
4. Function Tools
Add custom capabilities to agents through function tools.
from oci_adk import FunctionTool
@FunctionTool(
name="get_customer_data",
description="Retrieve customer information from CRM",
parameters={
"customer_id": {"type": "string", "required": True}
}
)
def get_customer_data(customer_id: str):
return crm_api.get_customer(customer_id)
agent = Agent(
name="customer_agent",
tools=[get_customer_data]
)
Architectural Patterns
Pattern 1: Hierarchical Orchestration
Supervisor Agent
├─→ Research Agent (gathers information)
├─→ Analysis Agent (processes data)
└─→ Report Agent (generates output)
Use Case: Complex tasks requiring specialized subtask agents
Implementation:
supervisor = Agent(
name="supervisor",
system_prompt="Coordinate specialist agents to complete complex tasks",
tools=[research_tool, analysis_tool, report_tool]
)
Pattern 2: Sequential Pipeline
Input → Agent 1 → Agent 2 → Agent 3 → Output
Use Case: Linear workflows with dependencies
Implementation:
pipeline = AgentPipeline([
("extract", data_extraction_agent),
("transform", data_transformation_agent),
("load", data_loading_agent)
])
result = pipeline.execute(raw_data)
Pattern 3: Parallel Processing
Coordinator
├──→ Agent A ──┐
├──→ Agent B ──┤→ Aggregator Agent
└──→ Agent C ──┘
Use Case: Independent tasks that can run concurrently
Implementation:
import asyncio
async def parallel_processing(task):
results = await asyncio.gather(
agent_a.execute_async(task),
agent_b.execute_async(task),
agent_c.execute_async(task)
)
return aggregator_agent.synthesize(results)
Oracle-Specific Best Practices
1. Leverage OCI Services
# Integrate with OCI services
from oci import object_storage, database
agent = Agent(
name="data_agent",
tools=[
object_storage_tool,
autonomous_db_tool,
analytics_cloud_tool
]
)
2. Enterprise Security
# Use OCI IAM for authentication
from oci.config import from_file
config = from_file("~/.oci/config")
agent = Agent(
name="secure_agent",
oci_config=config,
compartment_id="ocid1.compartment..."
)
3. Multi-Region Deployment
# Deploy agents across OCI regions
regions = ["us-ashburn-1", "eu-frankfurt-1", "ap-tokyo-1"]
for region in regions:
deploy_agent(
agent=my_agent,
region=region,
config=regional_config[region]
)
Production Deployment
Application Integration
# Embed in FastAPI application
from fastapi import FastAPI
from oci_adk import Agent
app = FastAPI()
support_agent = Agent.load("customer_support_v2")
@app.post("/support/chat")
async def chat_endpoint(message: str, session_id: str):
conversation = support_agent.get_conversation(session_id)
response = await conversation.send_async(message)
return {"reply": response.text}
Slackbot Integration
from slack_sdk import WebClient
from oci_adk import Agent
slack_client = WebClient(token=slack_token)
agent = Agent.load("slack_assistant")
@slack_app.event("message")
def handle_message(event):
user_message = event["text"]
response = agent.execute(user_message)
slack_client.chat_postMessage(
channel=event["channel"],
text=response.text
)
Monitoring & Observability
Logging
import logging
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger("oci_agent")
agent = Agent(
name="monitored_agent",
on_tool_call=lambda tool: logger.info(f"Calling tool: {tool}"),
on_error=lambda error: logger.error(f"Agent error: {error}")
)
Metrics Collection
from oci.monitoring import MonitoringClient
def track_agent_metrics(agent_id, metrics):
monitoring_client.post_metric_data(
post_metric_data_details={
"namespace": "agent_performance",
"dimensions": {"agent_id": agent_id},
"datapoints": metrics
}
)
Cost Optimization
Model Selection
# Use appropriate models for tasks
simple_agent = Agent(
model="cohere.command-light", # Cheaper for simple tasks
)
complex_agent = Agent(
model="cohere.command-r-plus", # More capable for complex reasoning
)
Caching Strategies
from functools import lru_cache
@lru_cache(maxsize=1000)
def cached_agent_call(prompt: str):
return agent.execute(prompt)
Testing
Unit Testing Agents
def test_customer_agent():
agent = Agent.load("customer_support")
response = agent.execute("What's your return policy?")
assert "30 days" in response.text.lower()
Integration Testing
def test_agent_workflow():
workflow = Workflow([
Step("classify", classification_agent),
Step("process", processing_agent)
])
result = workflow.execute(test_input)
assert result.status == "success"
Oracle Enterprise Integration
Fusion Applications
# Integrate with Oracle Fusion
fusion_agent = Agent(
name="fusion_assistant",
tools=[
fusion_hcm_tool,
fusion_erp_tool,
fusion_scm_tool
]
)
Database Integration
# Connect to Autonomous Database
from oci_adk.tools import SQLTool
db_tool = SQLTool(
connection_string=autonomous_db_connection,
allowed_tables=["customers", "orders", "products"]
)
agent = Agent(
name="data_agent",
tools=[db_tool]
)
Decision Framework
Use Oracle ADK when:
- Building on OCI infrastructure
- Integrating with Oracle Fusion/Cloud applications
- Need enterprise-grade security and compliance
- Want code-first agent development
- Deploying multi-region applications
Consider alternatives when:
- Not on Oracle Cloud (use Claude SDK or AgentKit)
- Need visual builder interface (use AgentKit)
- Want framework-agnostic approach (use Agent Spec)
Resources
Documentation:
- Official Docs: https://docs.oracle.com/en-us/iaas/Content/generative-ai-agents/adk/
- API Reference: https://docs.oracle.com/en-us/iaas/Content/generative-ai-agents/adk/api-reference/
- Tutorials: https://docs.public.content.oci.oraclecloud.com/en-us/iaas/Content/generative-ai-agents/add-tool-adk.htm
Support:
- OCI Documentation
- Oracle Support Portal
- Oracle Cloud Community
Final Principles
- Code-First - Leverage existing developer tooling and workflows
- Enterprise-Grade - Built for production Oracle workloads
- OCI-Native - Deep integration with Oracle Cloud services
- Multi-Agent - Design for orchestration from the start
- Deterministic - Explicit control flow for predictable behavior
This skill enables you to build production-ready agentic applications on Oracle Cloud Infrastructure using ADK's code-first approach.
More from frankxai/claude-skills-library
gym & training expert
Apply cutting-edge exercise science from 2025 research on hypertrophy, progressive overload, biomechanics, and evidence-based training protocols for optimal strength and muscle development
79framer expert
Expert in Framer design and development - from interactive prototypes to production sites with Framer Motion, CMS integration, and the Framer MCP server
67social media strategy
Expert platform-specific tactics, content optimization, audience growth, and analytics-driven social media marketing strategies for 2025.
60suno ai mastery
Expert prompt engineering and music generation with Suno AI v4/v4.5 for professional-quality songs across all genres with advanced composition techniques
44health & nutrition expert
Apply cutting-edge 2025 nutrition science on longevity, metabolic health, gut microbiome, and evidence-based dietary patterns for optimal vitality and disease prevention
44oci services expert
Expert guidance on Oracle Cloud Infrastructure services, cloud architecture patterns, cost optimization, deployment strategies, and OCI best practices for enterprise solutions
36