OOSDK: YAML Ontologies Orchestrate AI Agents Like Palantir
Inject business rules, relationships, and tiered memory into multi-agent systems via ontology.yaml—AI gets full context before deciding, enabling no-code changes to workflows by non-devs.
Multi-Agent Limitations: AI Lacks Business Context
Current multi-agent systems succeed on simple tasks like "check my email" but fail complex business processes. In a tested 6-agent MCP (Email, CRM, Calendar, CS, Helpdesk, Report) on GCP with orchestrators (Claude, GPT-4o, Llama 3.1) achieving 100% success and Google ADK integration, the core issue persists: orchestrator AI selects agents and execution AI picks tools from zero context each time. AI ignores VIP customer status, complaint routing to CS, or ticket-closure surveys. Solution requires pre-injecting business knowledge—object types (e.g., Customer, Lead, Ticket), link types (Customer generates Lead), and action rules with governance.
Palantir Foundry excels here: ontology as operational layer where LLMs query structured objects/relationships/actions before decisions. Writes enforce validation/approvals/audits. Ontology orchestrates agents, reversing the flow for enterprise reliability without Palantir costs.
Three orchestration approaches compared:
- Autonomous (Claude/Cursor+GPT/Llama/Google ADK): Flexible PoC, no guardrails.
- Developer Manual (LangGraph): Predictable/auditable, but code changes for every process tweak.
- Ontology (OOSDK): YAML rules interpreted by AI—autonomous flexibility + manual auditability; non-devs edit YAML to alter behavior instantly, no deployments.
OOSDK Components: Static Rules, Engine Processing, Tiered Memory
OOSDK bridges clients and agents, injecting context pre-decision.
- ontology.yaml: Declares business world in three sections—no Python needed.
object_types: Customer: fields: [name, email, tier] source: salesforce Lead: fields: [email, status, score] source: crm Ticket: fields: [subject, priority] source: helpdesk links: Customer → Lead: type: generates Lead → Opportunity: type: converts_to rules: auto_approve: if: lead.score > 80 then: approve escalate_vip: if: customer.tier == "VIP" then: priority = "high" route_support: if: email.type == "complaint" then: agent = "cs_agent"
Business analysts tweak thresholds (e.g., VIP from tier to spend_amount > 10000) for immediate effect. - OntologyEngine: Loads YAML, processes triggers via four methods:
class OntologyEngine: def __init__(self, yaml_path): self.ontology = load_yaml(yaml_path) self.memory = ThreeTierMemory() def resolve_context(self, trigger: dict): links = self.resolve_links(trigger) # e.g., email → customer leads/tickets rules = self.check_rules(trigger, links) # deterministic: score>80 auto-approves memory = self.manage_memory(trigger) # tiered recall return {"links": links, "applied_rules": rules, "memory": memory, "suggested_agent": rules.get("route_to")}resolve_links(): Fetches related objects.check_rules(): Applies non-AI business logic.trigger_events(): Post-action chains (e.g., ticket close → survey + lead update + follow-up).manage_memory(): Handles 3-tier store.
- 3-Tier Memory: Bounded runtime state:
- Hot: Real-time session, cleared post-interaction.
- Warm: Last 30 days (interactions/tickets/emails).
- Cold: Lifetime summaries (spend/trends). Engine selects tiers per rules, keeping context windows manageable even for 100k+ customers.
Transformed Flow: Context-First Decisions and Event Chains
Before: request → Orchestrator (picks agent) → Execution (picks tool) → Execute.
After: request → OntologyEngine (resolve_links/check_rules/manage_memory) → Orchestrator (with context) → Execution → Execute → OntologyEngine (trigger_events).
AI decisions narrow dramatically; actions propagate (1 action → 3 events). Roadmap tests in scenarios:
- Customer pipeline: Lead scoring/routing/SLA (5-6 objects, SFDC).
- Customer 360°: Email response with/without ontology; memory demo.
- Order-to-Cash: Quote→Order→Delivery→Invoice→Payment (SFDC+Odoo, multi-agent across silos).
Shifts focus from smarter AI to surrounding business logic—YAML edits by sales/CS managers enable agile processes without devs.