User surface שכבת משתמש
ReactReact NativeiOS · AndroidWebRTCSIP
Agentic AI layerשכבת סוכני AI
Claude SonnetAmazon BedrockLangGraphLangChainMCPWhisperDictaPolly
Application services שירותי אפליקציה
Node.js microservicesAWS LambdaRESTgRPCWebhooksRabbitMQ
Data נתונים
DynamoDBMongoDBS3pgvectorOpenSearchPinecone
Platform פלטפורמה
AWS EKS (Kubernetes)ECSCognitoCloudWatchPrometheusGrafanaTerraformCloudFormation
Application architecture ארכיטקטורת אפליקציה

AI application architecture - how the layers compose.

ארכיטקטורת אפליקציית AI - איך השכבות מתחברות.

The infrastructure stack above is the substrate. Below is how we structure an AI application on top of it - the boundaries, contracts, and surfaces that keep agents predictable, auditable, and replaceable.

ה־Stack שלמעלה הוא התשתית. מתחת - איך מבנים אפליקציית AI מעליה: הגבולות, החוזים והממשקים שמשאירים את הסוכנים צפויים, ניתנים לאבחון ולהחלפה.

Experience & channels חוויית משתמש וערוצים
Web · MobileVoice (LiveKit · WebRTC · SIP)Chat (in-product · Slack · Teams · WhatsApp)Embedded SDKEmail · Webhook
Agent orchestrationתזמור סוכנים
Supervisor / worker graphsDeterministic + autonomous modesHuman-in-the-loop checkpointsMulti-turn planningReplayable runsLangGraph · LangSmith
Skills (capabilities) Skills (יכולות)
Instructions + tools + few-shotVersioned (semver)Per-skill evalsSkill registryRouting by intentComposable (skill-of-skills)
Workflows (durable execution) Workflows (ביצוע עמיד)
State machinesIdempotent stepsCompensations / sagasRetries · backoff · timeoutsLong-running jobsStep Functions · Temporal-style
MCP layer (Model Context Protocol)שכבת MCP
Typed tool serversResource servers (read-only context)Prompt servers (shared instructions)OAuth / mTLS authServer-side allowlistsReusable across Claude Code · Claude.ai · custom agents
Tooling & microservices כלים ומיקרו־שירותים
Domain services (Node · Python · Go)AWS Lambda for spiky loadsgRPC internal · REST externalRabbitMQ · SQS · EventBridgeFunction-call schemas (JSON Schema · Zod · Pydantic)
Integrations אינטגרציות
SAP · Oracle · NetSuiteSalesforce · HubSpot · DynamicsEpic · Cerner · FHIR · HL7ServiceNow · Jira · ZendeskMicrosoft 365 · Google WorkspaceWebhooks · CDC (Debezium) · ETL
Knowledge & memory ידע וזיכרון
RAG (pgvector · OpenSearch · Pinecone)Hybrid search (BM25 + vector + rerank)Short-term episodic memoryLong-term semantic memoryEntity / customer storeProvenance & citations
Guardrails & evals Guardrails ו־Evals
PII / PHI redactionPrompt-injection defensesOutput schema validationPolicy filters (allow / deny)Golden sets & regression evalsShadow + A/B model routing
Observability & governance Observability ו־Governance
Per-agent · per-model · per-tenant tracesToken & cost ledgerAudit trails (immutable)Model & prompt registrySLOs (latency · accuracy · refusal)CloudWatch · OpenTelemetry · LangSmith

How the layers contract

Skills are the unit of capability. A skill bundles instructions, the tools it's allowed to call, few-shot examples, and an eval set. Skills are versioned, registered, and routed to by intent - never by hard-coded conditionals. We can swap a skill's underlying model without touching the orchestrator.

Workflows are the unit of guarantee. Anything that must succeed - a refund, a clinical handoff, a contract update - runs inside a durable workflow with idempotent steps, retries, compensations, and replay. Agents propose; workflows commit.

MCP is the contract between agents and the enterprise. Internal APIs are exposed as typed MCP tool, resource, and prompt servers. Auth, rate limits, and allowlists live on the server side - not in the prompt. The same MCP server is reusable by Claude Code, Claude.ai, custom agents, and partner integrations.

Microservices stay boring. Domain logic lives in Node / Python / Go services with strict schemas (Zod / Pydantic / JSON Schema). Function-calling and MCP both consume those schemas - the agent never sees free-form payloads.

Integrations are first-class, not glue. SAP, Salesforce, Epic, ServiceNow, Microsoft 365 connect through versioned adapters with their own retries, idempotency keys, and dead-letter handling. CDC (Debezium) feeds the knowledge layer in near-real-time so RAG isn't stale.

Memory is layered, not monolithic. Episodic memory (recent turns) lives with the agent; semantic memory (long-term, customer-aware) is hybrid-searched (BM25 + vector + rerank); the entity store is the source of truth. Every retrieval carries provenance.

Guardrails & evals run on every change. PII / PHI redaction, prompt-injection filters, output-schema validation, and policy allow / deny lists run inline. Golden sets & regression evals gate every prompt, skill, model, or tool change before it merges.

Observability is per-agent, per-model, per-tenant. Traces, token & cost ledger, refusal rates, latency percentiles, and accuracy SLOs - immutable audit trail for regulators. We bring the dashboard to the discovery call.

איך השכבות מתחברות בחוזים

Skills הם יחידת היכולת. Skill אוגד הוראות, את הכלים המורשים, דוגמאות Few-Shot ו־Eval set. Skills מקבלים גרסה, רשומים ב־Registry ומנותבים לפי כוונה - לא לפי If-Else קשיח. אפשר להחליף את המודל מאחורי Skill בלי לגעת באורקסטרטור.

Workflows הם יחידת ההבטחה. כל מה שחייב להצליח - החזר, העברה קלינית, עדכון חוזה - רץ בתוך Workflow עמיד עם שלבים אידמפוטנטיים, Retries, Compensations ו־Replay. סוכנים מציעים; Workflows מחייבים.

MCP הוא החוזה בין הסוכנים לארגון. APIs פנימיים נחשפים כשרתי MCP מסוג Tool, Resource ו־Prompt - מוקלדים. אימות, Rate Limits ו־Allowlists חיים בצד השרת - לא ב־Prompt. אותו שרת MCP משומש מחדש על ידי Claude Code, Claude.ai, סוכנים מותאמים ושותפים.

מיקרו־שירותים נשארים משעממים. לוגיקה דומיין חיה ב־Node / Python / Go עם סכימות נוקשות (Zod / Pydantic / JSON Schema). Function-Calling ו־MCP צורכים את אותן הסכימות - הסוכן לא רואה Payloads חופשיים.

אינטגרציות הן Citizen ראשי, לא דבק. SAP, Salesforce, Epic, ServiceNow, Microsoft 365 מחוברים דרך Adapters עם גרסה, Retries, Idempotency Keys ו־DLQ. CDC (Debezium) מזין את שכבת הידע ב־Near Real-Time כך ש־RAG לא מתיישן.

זיכרון בשכבות, לא Monolith. זיכרון אפיזודי (Turns אחרונים) חי עם הסוכן; זיכרון סמנטי (ארוך טווח, מודע ללקוח) מחפש Hybrid (BM25 + Vector + Rerank); ה־Entity Store הוא מקור האמת. כל שליפה נושאת Provenance.

Guardrails ו־Evals רצים על כל שינוי. מסיכת PII / PHI, מסנני Prompt-Injection, ולידציית Schema, רשימות Allow / Deny רצים Inline. Golden Sets ו־Regression Evals שומרים על כל שינוי Prompt, Skill, מודל או כלי לפני Merge.

Observability לכל סוכן, לכל מודל, לכל Tenant. Traces, יומן Token ו־Cost, שיעור סירוב, אחוזוני Latency, SLOs לדיוק - Audit Trail בלתי משתנה לרגולטור. מביאים את ה־Dashboard לשיחת ההיכרות.

Why this stack

Amazon Bedrock + Claude Sonnet by default. We route to Haiku for latency-sensitive or cost-sensitive paths, and to Mistral / open weights when compliance requires self-hosting.

LangGraph for orchestration. Explicit state machines, tool contracts, and replayable decisions. MCP servers expose internal APIs to Claude Code / Claude.ai.

Kubernetes on EKS. We use ECS for simpler services; EKS for anything that needs autoscaling ML inference under load.

Observability per agent, per model, per latency percentile. CloudWatch for AWS-native, Prometheus + Grafana for cross-provider. Audit Trails are first-class.

ML ops done right. Time-based splits (never random for time series), Bayesian + Grid hyperparameter search, Early Stopping, Cross-Validation, drift monitoring, retraining pipelines.

למה ה־Stack הזה

Amazon Bedrock + Claude Sonnet כברירת מחדל. מנתבים ל־Haiku במסלולים רגישים ל־Latency או לעלות, ול־Mistral / משקלים פתוחים כשציות דורש Self-Hosting.

LangGraph לאורקסטרציה. מכונות מצב מפורשות, חוזי כלי והחלטות ניתנות להפעלה חוזרת. MCP servers חושפים APIs פנימיים ל־Claude Code / Claude.ai.

Kubernetes על EKS. ECS לשירותים פשוטים; EKS לכל דבר שדורש Autoscaling של Inference תחת עומס.

Observability לכל סוכן, לכל מודל, לכל אחוזון Latency. CloudWatch ל־AWS-Native, Prometheus + Grafana Cross-Provider. Audit Trails הם אזרחים ממדרגה ראשונה.

ML ops כמו שצריך. Splits לפי זמן (לעולם לא רנדומלי לסדרות זמן), חיפוש היפר־פרמטרים Bayesian + Grid, Early Stopping, Cross-Validation, ניטור Drift, Pipelines לאימון מחדש.

Talk to our architects.

לשיחה עם הארכיטקטים שלנו.

We'll bring the architecture diagram, not a deck.

נביא את הארכיטקטורה - לא מצגת.