Platform Engineering for AI: Scaling Multi-Agentic Systems with MCP
linkedin · Tech · 2026 · source Agentic: yes · promotional bias: low · summary-only (no fetched source) · extracted with prompt 0.5.6 (schema v2)
Generated from extraction.json — do not edit by hand. Every claim cites verbatim source evidence; stated means the quote directly asserts the claim, implied means it supports it indirectly.
Problem
Domain: Enterprise platform engineering for AI agents
LinkedIn needed to move AI agents from siloed proof-of-concepts into production-scale engineering infrastructure serving thousands of developers, while avoiding repeated plumbing, inconsistent safety controls, fragmented tool integrations, and agent behavior that bypassed normal engineering review.
Constraints:
- Developers were experimenting with one-off scripts and local tools that repeatedly reinvented orchestration, data access, safety evaluations, and deployment plumbing.
- The platform had to support both active IDE-based assistance and autonomous background task execution.
- Background agents needed secure sandboxes, restricted permissions, and standard pull-request review rather than direct code changes.
- Tool calling had to work across different agents, models, languages, and internal services without vendor-specific adapters.
- Agents needed access to company-specific context, including code, PR history, review comments, internal docs, telemetry, and semantic indexes.
- Evaluations, observability, and audit trails had to be core platform features rather than deferred work.
Architecture
LinkedIn built an agentic platform with two complementary execution modes. Foreground agents run inside developer tools such as IDEs and augmented GitHub Copilot, using MCP tools and instruction files to inject LinkedIn context while developers stay actively involved. Background agents run asynchronously in secure remote sandboxes, receive structured specs, use native and MCP tools, create branches and pull requests, and respond to review comments. Shared platform layers provide prompt and instruction management, MCP server abstractions, model-inference abstraction, RAG over code/docs/PR history, execution tracing, agent identities, permission enforcement, evaluation, and observability.
Diagram confidence: reconstructed (reconstructed from prose).
flowchart LR Developer_task_spec["Developer task spec"] --> Background_agent_orchestrator["Background agent orchestrator"] Foreground_agent_layer["Foreground agent layer"] --> MCP_tool_layer["MCP tool layer"] Foreground_agent_layer --> Instruction_file_system["Instruction file system"] Background_agent_orchestrator --> Remote_sandbox["Remote sandbox"] Background_agent_orchestrator --> MCP_tool_layer Background_agent_orchestrator --> Model_inference_abstraction["Model inference abstraction"] Background_agent_orchestrator --> Pull_request_review_loop["Pull request review loop"] Remote_sandbox --> GitHub_integration["GitHub integration"] MCP_tool_layer --> Code_search_tools["Code search tools"] MCP_tool_layer --> Static_analysis_tools["Static analysis tools"] MCP_tool_layer --> Documentation_retrieval["Documentation retrieval"] MCP_tool_layer --> Observability_tools["Observability tools"] RAG_and_semantic_index["RAG and semantic index"] --> MCP_tool_layer RAG_and_semantic_index --> PR_history_knowledge_base["PR history knowledge base"] PR_history_knowledge_base --> Evaluation_system["Evaluation system"] GitHub_integration --> Pull_request_review_loop Pull_request_review_loop --> Evaluation_system Pull_request_review_loop --> Observability_and_audit["Observability and audit"] Evaluation_system --> Observability_and_audit
Components
| Component | Role | Interacts with |
|---|---|---|
Developer task spec |
Structured expression of developer intent, scope, tools, acceptance criteria, and validation checks. | Background agent orchestrator |
Foreground agent layer |
IDE-integrated assistance where developers actively observe and steer work through augmented commercial tools. | MCP tool layer, Instruction file system |
Background agent orchestrator |
Runs autonomous tasks in secure sandboxes and manages execution from spec to pull request. | Remote sandbox, MCP tool layer, Model inference abstraction, Pull request review loop |
Remote sandbox |
Constrained environment where agents can manipulate files and run operations with restricted identities and permissions. | Background agent orchestrator, GitHub integration |
MCP tool layer |
Standardizes tool calling across agents, models, languages, and internal services. | Code search tools, Static analysis tools, Documentation retrieval, Observability tools, Foreground agent layer, Background agent orchestrator |
Instruction file system |
Maintains Copilot-style Markdown instructions containing enterprise, language, and repository-specific context. | Foreground agent layer, Background agent orchestrator |
Model inference abstraction |
Abstracts commercial and in-house model inference so teams do not couple use cases to one provider. | Background agent orchestrator |
RAG and semantic index |
Maintains semantic understanding of code, documentation, PR history, review comments, and internal knowledge. | MCP tool layer, PR history knowledge base |
PR history knowledge base |
Stores semantic descriptions of prior pull requests and review outcomes for similar-task retrieval and evaluation. | RAG and semantic index, Evaluation system |
GitHub integration |
Handles repository access, branch management, and pull request creation from sandboxed agents. | Pull request review loop |
Pull request review loop |
Lets developers review, comment on, approve, or reject agent-generated changes; agents can address review comments. | Evaluation system, Observability and audit |
Evaluation system |
Measures build/test/static-analysis success, PR acceptability, quality regressions, and qualitative model judgments. | Observability and audit |
Observability and audit |
Captures execution traces, reasoning chains, tool calls, agent identities, permissions, and what the agent observed. | Pull request review loop |
Data flow
A developer writes a task spec or uses an IDE assistant. For foreground work, custom instructions and MCP tools enrich commercial assistants with LinkedIn context. For background work, the platform instantiates an agent in a remote sandbox with the spec, context, identity, and allowed tools; the agent edits files, invokes GitHub and internal systems, opens a pull request, and then iterates on developer review comments. Execution traces, observations, reasoning, tool calls, and PR outcomes feed observability, evaluation, and future context/memory.
4 supporting quotes
Why this architecture
LinkedIn treats AI agents as infrastructure because the hard production problems are shared: orchestration, sandboxing, tool contracts, context, security, evaluation, and observability. The foreground/background split lets developers choose active control or asynchronous toil reduction, while MCP and common platform abstractions prevent every team from rebuilding custom adapters and safety layers.
3 supporting quotes
Models used: GitHub Copilot · commercial models · in-house models · MCP-compatible models · LLM judges
Scale
- The platform serves thousands of developers daily.“This approach serves thousands of developers daily and represents a mature, production-grade implementation of agentic systems in enterprise software development.”summary, stated
- LinkedIn's codebase changes through thousands of pull requests created and merged daily.“With thousands of pull requests created and merged daily, LinkedIn's codebase and its semantic meaning constantly change.”summary, stated
- LinkedIn uses tens or hundreds of thousands of historical PRs with review comments as evaluation/training data.“LinkedIn also uses its extensive PR history—tens or hundreds of thousands of pull requests with human review comments and responses—as training data for evaluation.”summary, stated
- Background agents target migrations across thousands of repositories.“Background agents handle toil reduction tasks like dependency migrations across thousands of repositories”summary, stated
Alternatives considered (roads not taken)
Let teams continue building local scripts and siloed AI tools
Rejected because: That approach repeatedly reinvented orchestration, data access, safety evaluation, and deployment plumbing.
Build all foreground agents from scratch
Rejected because: LinkedIn instead augments commercial tools like GitHub Copilot with MCP tools and custom instructions when developers need active IDE assistance.
Give background agents direct authority to change code
Rejected because: LinkedIn requires agents to propose changes through pull requests, with standard review, testing, and ownership checks.
Wire tools separately for each model vendor
Rejected because: Vendor-specific function-calling formats created fragmentation and custom adapter work.
Recreate general-purpose coding assistants
Rejected because: LinkedIn argues the unique value is solving company-specific, repetitive, high-friction tasks where proprietary context matters.
Patterns
multi-agent-orchestration (agent-architecture)
LinkedIn operationalizes foreground agents, background agents, observability agents, UI QA agents, and analytics agents on a shared platform rather than as isolated tools.
tool-use-orchestration (agent-architecture)
MCP standardizes how agents invoke code search, static analysis, internal CLI, impact analysis, documentation, and observability tools.
safety-policy-enforcement (safety)
LinkedIn constrains agents through sandboxes, agent identities, limited authorization, isolated systems, PR-only changes, and standard review gates.
human-in-the-loop-gate (control)
Agents propose PRs, developers inspect traces and final changes, and standard review/approval remains the authority path.
context-engineering (context)
LinkedIn preserves enterprise-wide, language-specific, repository-specific, PR-history, documentation, telemetry, and semantic-code context for agents.
rag-retrieval (retrieval)
A semantic RAG index over evolving code, docs, PR history, and review knowledge gives agents examples and organization-specific facts.
eval-driven-development (evaluation)
Evaluations are built into the platform from day one, combining verifiable code checks with PR-history-based qualitative assessment and regression tracking.
observability-tracing (operations)
Execution traces, reasoning chains, observed context, tool calls, decisions, identities, and permissions are captured so developers can trust and debug agents.
prompt-versioning (prompt-ops)
The platform manages prompt/instruction artifacts, including Copilot instruction Markdown files generated and maintained for enterprise, language, and repository contexts.
agent-memory (memory)
The platform mines PR history, human review comments, responses, semantic descriptions, and examples so agents learn reusable organizational patterns.
Tradeoffs
Split agents into foreground and background modes.
Chose foreground IDE agents plus background sandbox agents over one interaction model for all developer tasks.
Rationale: Developers sometimes need high-fidelity active control, and sometimes need asynchronous toil reduction with reviewable PR outputs.
3 supporting quotes
Use PR review as the control boundary for autonomous work.
Chose agent-proposed pull requests with human review over agent-direct commits, merges, or production changes.
Rationale: Pull requests preserve standard engineering quality, ownership, compliance, and human judgment while agents handle execution.
Standardize tool access with MCP.
Chose MCP-based tools shared across agent types over custom vendor-function-calling adapters.
Rationale: A common protocol reduces duplication and lets the same enterprise tools work in IDE assistants and autonomous background agents.
Invest in semantic PR history as agent context.
Chose AI-described PR history and review comments over forcing each agent to infer organizational patterns from scratch.
Rationale: Past PRs encode migration patterns, review expectations, and mergeability signals that can guide future agent tasks.
Fund an agentic platform team.
Chose dedicated platform operations and shared building blocks over unfunded grassroots agent adoption.
Rationale: Agents require ongoing process changes, technology evolution, operations, and infrastructure support like other platform layers.
Gotchas (what bit them)
Siloed agent experiments create infrastructure sprawl.
Root cause: Teams build local scripts and one-off tools that each solve prompt orchestration, data access, safety, evals, and deployment differently.
Resolution: Treat agents as a first-class platform execution model with shared infrastructure support comparable to microservices or Kubernetes.
Autonomous agents can overstep without security boundaries.
Root cause: Background agents need filesystem and tool access to do useful work, but unrestricted access would violate security and compliance expectations.
Resolution: Run agents in remote sandboxes with isolated systems, limited auth, restricted permissions, and specific agent identities.
Vendor-specific tool calling slows platform adoption.
Root cause: Each model vendor's function-calling format required separate adapters and left subtle incompatibilities.
Resolution: Use MCP as a common protocol so tools work across foreground and background agents, models, and services.
Company-specific context is the durable value, not generic coding assistance.
Root cause: Generic tools are increasingly commoditized and lack the proprietary knowledge needed for high-value internal automation.
Resolution: Focus on repetitive, high-friction engineering tasks where LinkedIn's internal context, PR history, and platform knowledge are decisive.
Evaluations deferred until later leave teams unable to tell if agents improve or regress.
Root cause: Agentic systems can look impressive without rigorous measurement over time.
Resolution: Make qualitative and quantitative evals core platform components from the beginning.
Evaluation
LinkedIn evaluates agents with verifiable checks such as builds, tests, and static analysis; qualitative assessment from historical PR data; regression tracking over time; and full observability of traces, reasoning, tool calls, and what the agent saw.
Metrics: Build success · Test pass rate · Static analysis results · PR quality and acceptability · Predicted reviewer comments or required revisions · Regression detection over time · Execution trace completeness · Permission and authorization auditability
3 supporting quotes
Outcomes
- LinkedIn created a unified agentic platform serving thousands of developers daily.
- Foreground agents augment commercial IDE tools with LinkedIn-specific MCP tools and instructions.
- Background agents handle dependency migrations, refactoring, test coverage, deprecated A/B test cleanup, and other toil via pull requests.
- MCP enables shared enterprise tools across foreground and background agents.
- Semantic PR history and review comments provide reusable context and evaluation data.
- Observability agents, UI QA agents, and analytics agents extend the platform beyond code generation.
The summary describes thousands of daily developer users, thousands of daily PRs, tens or hundreds of thousands of historical PRs for evaluation, and background agents operating across thousands of repositories.