500 Skills, Zero Fine-Tuning: LinkedIn's Playbook for AI Agents — Ajay Prakash, LinkedIn

Read the talk

How LinkedIn Gives Coding Agents the Context to Finish a Job

Ajay Prakash explains how internal tools, modular playbooks and a three-tool discovery interface help agents navigate LinkedIn’s systems, carry out workflows and preserve what they learn.

From a talk by Ajay Prakash

At a glance

Ideas worth remembering

  • Reliable workflows require both access to internal systems and procedures for using them. Code search supplies examples; playbooks supply task instructions.

  • Modular playbooks and the three meta tools apply progressive retrieval at two levels: fetch the procedure needed for the task, and retrieve capability details after discovering relevant tools.

  • Repository changes preserve useful learning beyond a session. Agents propose corrections to stale or incomplete playbooks, while local and central playbooks separate repository-specific knowledge from shared guidance.

  • The incident example places human confirmation before mitigation. The reported speed improvement, adoption figures and 30–40-tool degradation threshold illustrate LinkedIn’s experience without establishing general performance guarantees.

An incident shows what the system is meant to enable

Selected presentation frame from 500 Skills, Zero Fine-Tuning: LinkedIn's Playbook for AI Agents — Ajay Prakash, LinkedIn at 137 seconds
An incident shows what the system is meant to enable

Ajay Prakash introduces LinkedIn’s approach to context engineering through an on-call scenario: an engineer responsible for critical services receives an error-spike alert and gives its link to a coding agent. The agent first retrieves company instructions for debugging alerts, identifies the affected service, then retrieves instructions specific to that service. The workflow narrows from general procedure to the context needed for one investigation.

Following those instructions, the agent fetches logs and metrics, locates the issue in the error logs and works out mitigation steps. It presents the diagnosis and proposed actions to the engineer. Human confirmation comes before the agent applies the mitigation, making the handoff between investigation and operational action explicit.

The agent then updates the incident-management system with the findings, metrics and dashboards, checks out the code and creates a pull request addressing the underlying cause. Prakash says teams at LinkedIn use agents this way and describes work taking a few minutes that would otherwise take a few hours. This is a reported operational example rather than a controlled timing comparison. He attributes the capability to a system of contextual agent playbooks and tools.

0:220:25
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

0:01 · section reference included

Why ordinary coding agents struggled inside LinkedIn

Selected presentation frame from 500 Skills, Zero Fine-Tuning: LinkedIn's Playbook for AI Agents — Ajay Prakash, LinkedIn at 270 seconds
Why ordinary coding agents struggled inside LinkedIn

LinkedIn initially distributed coding agents to engineers to improve productivity. Prakash describes a mismatch between models trained on public repositories and work in a mature enterprise codebase: the agents lacked knowledge of LinkedIn’s internal frameworks and systems. They stalled, hallucinated or invented incorrect details. Engineers had to supply corrective prompts, sometimes spending more time steering the agent than writing the code themselves, and many returned to manual coding.

The missing context covered a substantial stack: over a thousand repositories forming thousands of microservices and applications, internal frameworks and libraries, custom databases, an experimentation and tracking platform, and an internal configuration-management system. New engineers attend a week-long boot camp to become familiar with these systems. The team’s target was therefore more demanding than plausible code generation: an agent should produce correct code whose quality engineers could trust as they would code written by another engineer.

3:423:44
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

3:23 · section reference included

Code search gives agents working examples

Selected presentation frame from 500 Skills, Zero Fine-Tuning: LinkedIn's Playbook for AI Agents — Ajay Prakash, LinkedIn at 456 seconds
Code search gives agents working examples

The team built an internal MCP server, starting with code search. LinkedIn already had a search system that engineers could use across thousands of repositories with keywords and custom filters. Exposing that capability through MCP let an agent investigate how LinkedIn implements a particular task, retrieve relevant examples and use those findings both to answer questions and to implement changes. Existing internal code became accessible evidence for how to work within the company’s stack.

The team added documents, Jira, Slack, data platforms and feature flags. Prakash describes their value as compounding: an engineer could combine product requirements, design documents and Jira tasks with code evidence. These sources supplied different parts of the task’s context, giving the agent access to both the intended change and examples of how to implement it.

6:466:50
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

6:30 · section reference included

Access does not supply a reliable procedure

Selected presentation frame from 500 Skills, Zero Fine-Tuning: LinkedIn's Playbook for AI Agents — Ajay Prakash, LinkedIn at 564 seconds
Access does not supply a reliable procedure

Tool access improved basic answers and code discovery, but even somewhat complex workflows remained unreliable from beginning to end. The missing ingredient was procedural knowledge: how to fix a particular error, configure a system or interpret an error log. That knowledge was scattered across documents, wikis and Slack conversations, with outdated and duplicate material mixed in. An agent could reach the sources and still get lost while deciding which guidance to follow.

Two further problems made repeated investigation expensive. Every tool output occupied context space; as the context filled, the agent compacted it and could lose information needed for the ongoing task, forcing it to repeat work. Even when it successfully assembled the necessary knowledge, it lacked durable memory for retaining that information across sessions. A later request could start the same discovery process from scratch.

8:278:30
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

8:27 · section reference included

Playbooks return instructions through the tool interface

Selected presentation frame from 500 Skills, Zero Fine-Tuning: LinkedIn's Playbook for AI Agents — Ajay Prakash, LinkedIn at 732 seconds
Playbooks return instructions through the tool interface

LinkedIn’s answer was to make instructions and prompts available through MCP as playbooks. A playbook appears like a regular tool, with a name and description that help the agent decide whether to invoke it. Invocation returns the playbook’s instructions and context as tool output. The same interface thus provides operational capabilities and procedures explaining how to combine those capabilities for a task.

Prakash uses setting up an Airflow DAG at LinkedIn as an example. The agent identifies the relevant playbook, fetches its instructions and then follows them while invoking the tools needed to complete the setup. Engineers can contribute this knowledge by creating a playbook, checking it into a repository and making it available to others at LinkedIn. A task’s procedure becomes a shared artifact that future agents can retrieve.

10:4310:48
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

10:38 · section reference included

Small procedures support reuse and progressive discovery

Selected presentation frame from 500 Skills, Zero Fine-Tuning: LinkedIn's Playbook for AI Agents — Ajay Prakash, LinkedIn at 861 seconds
Small procedures support reuse and progressive discovery

The first authoring principle is that a playbook should be self-contained and focused on one specific task. A playbook for setting up an Airflow DAG should contain guidance for that task. This focus helps the agent choose the right procedure from its description, because the playbook has a clear purpose rather than covering many unrelated jobs.

The second principle is to split a large playbook into smaller playbooks and reference them from the larger one. Shared procedures can then be reused by multiple playbooks. References also let the agent discover context progressively: it reads a smaller procedure when the task requires it, rather than loading every procedure at once. This design depends on following references as needed, but reduces the amount of guidance brought into context up front.

Prakash compares this progressive retrieval to skills. He describes playbooks as a similar concept, with LinkedIn’s system designed to capture organizational context and serve it through MCP with little setup. The mechanism he emphasizes is packaging and retrieving relevant instructions when needed.

12:3512:38
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

12:27 · section reference included

Task experience feeds proposed playbook improvements

Selected presentation frame from 500 Skills, Zero Fine-Tuning: LinkedIn's Playbook for AI Agents — Ajay Prakash, LinkedIn at 933 seconds
Task experience feeds proposed playbook improvements

Repository-backed instructions can still become outdated. LinkedIn encourages agents to identify what they learned at the end of a session, including stale information, discrepancies and missing guidance in the playbooks they used. The agent can then check out the repository, update the relevant playbook and create a pull request proposing the improvement.

Prakash describes a self-improving loop: engineers publish procedures, agents use them, experience exposes problems, and proposed changes feed back into the shared playbooks. The durable improvement lives in the repository rather than only in the agent’s session. Creating a pull request supplies a proposed correction; keeping the corpus fresh also depends on those changes reaching the published playbooks.

14:2914:32
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

14:23 · section reference included

One local server serves central and repository-specific knowledge

Selected presentation frame from 500 Skills, Zero Fine-Tuning: LinkedIn's Playbook for AI Agents — Ajay Prakash, LinkedIn at 1034 seconds
One local server serves central and repository-specific knowledge

The architecture uses a local MCP server installed by default on LinkedIn laptops. Prakash says updates to the server, tools and playbooks reach laptops every hour. This distribution mechanism makes the infrastructure available to new employees and propagates changes without requiring each engineer to maintain a separate installation manually.

Central playbooks contain guidance that applies across multiple repositories. Local playbooks contain guidance specific to one repository and are checked in alongside its code. They are picked up automatically when an agent works in that repository. Teams can therefore maintain specialized procedures locally without changing the central repository, while retaining access to shared procedures.

A single MCP server serves the tools and both kinds of playbooks. Prakash identifies authentication and telemetry as shared concerns this arrangement can handle centrally. Telemetry also gives the team information it can use to improve the ecosystem, although he does not specify the measurements or evaluation methods.

15:3915:42
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

15:34 · section reference included

Search, get schema and execute keep the exposed interface small

Selected presentation frame from 500 Skills, Zero Fine-Tuning: LinkedIn's Playbook for AI Agents — Ajay Prakash, LinkedIn at 1121 seconds
Search, get schema and execute keep the exposed interface small

Prakash reports that exposing more than roughly 30 or 40 tools through MCP degrades context or system performance. LinkedIn instead exposes three meta tools: search, get schema and execute. The large catalog remains available behind this small interface. The reported threshold explains the team’s design choice; it is not established here as a universal limit across agents or workloads.

The agent searches for relevant tools and playbooks using keywords and tags. Preconfigured system instructions explain how to use the interface and search efficiently. Once the agent finds a suitable capability, get schema supplies more detail, and execute invokes the selected tool or playbook. Discovery, inspection and invocation happen in sequence, so the agent retrieves details for selected capabilities rather than carrying the entire catalog’s definitions at once. Prakash says this has allowed the system to scale to thousands of tools and playbooks.

Prakash reports over 8,000 daily users and over 600 playbooks. Adoption extends beyond engineers to product managers, designers and TPMs, who contribute playbooks and use the tools to automate their workflows. These figures describe the system’s reported reach; they do not by themselves measure task correctness or productivity gains.

17:1617:18
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

17:16 · section reference included

Reliability and enterprise infrastructure are the closing priorities

Selected presentation frame from 500 Skills, Zero Fine-Tuning: LinkedIn's Playbook for AI Agents — Ajay Prakash, LinkedIn at 1153 seconds
Reliability and enterprise infrastructure are the closing priorities

Prakash closes by attributing the system’s success to treating quality and reliability as requirements from day one. Before building the MCP server, the team asked how to improve productivity while maintaining those properties as development moved quickly. His stated priority is a system engineers can continue to depend on as it grows.

His second closing lesson is to build the infrastructure agents need to operate within the enterprise. Giving engineers the latest tools and models is insufficient when the surrounding organization does not make its systems usable by agents. He ends with that infrastructure requirement, thanks the audience and invites them to connect on LinkedIn.

19:0519:07
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

19:05 · section reference included

Read the complete timestamped transcript
  1. 0:01

    [music]

  2. 0:12

    Hey everyone, good morning. Uh

  3. 0:16

    thanks for being here. Uh I see people

  4. 0:18

    are still coming. Uh but yeah, my name

  5. 0:22

    is uh AJ and uh I am a software engineer

  6. 0:25

    at uh LinkedIn.

  7. 0:28

    Today I'm going to be talking about how

  8. 0:31

    we are doing context engineering to

  9. 0:32

    improve the performance of coding agents

  10. 0:35

    at LinkedIn.

  11. 0:40

    Okay. Uh imagine you are a software

  12. 0:42

    engineer in a big tech company and your

  13. 0:46

    products are being used by millions of

  14. 0:48

    users on a daily basis

  15. 0:51

    and you are happen to be on a team which

  16. 0:54

    owns set of very critical services and

  17. 0:57

    you are on call right and you get an

  18. 1:01

    alert saying that there is an error

  19. 1:03

    spike in one of your services

  20. 1:06

    and uh by the time you're trying to

  21. 1:08

    figure out how to deal with this issue,

  22. 1:12

    you take the link to the alert, give it

  23. 1:14

    to a coding agent like Cloud Code or

  24. 1:17

    GitHub Copilot.

  25. 1:20

    While you're trying to figure out um how

  26. 1:22

    to deal with the issue, uh the coding

  27. 1:24

    agent is working in the background, it

  28. 1:27

    will fetch the instructions on how to

  29. 1:29

    debug such issues in your company and

  30. 1:32

    identifies that based on that

  31. 1:33

    instruction, it identifies that this

  32. 1:36

    alert is happening in uh specific

  33. 1:38

    service. Then it fetches instruction and

  34. 1:40

    context on how to debug that particular

  35. 1:43

    service and it will fetch the based on

  36. 1:46

    those instructions it will take actions

  37. 1:48

    like fetching logs metrics and then it

  38. 1:52

    uses those logs to identify the root

  39. 1:54

    cause of the issue right so it

  40. 1:56

    identifies based on the error logs where

  41. 1:59

    the issue is happening and it doesn't

  42. 2:02

    just find the root cause it also figures

  43. 2:05

    out the steps to mitigate the issue and

  44. 2:07

    once it finds all the det details. It

  45. 2:09

    summarizes and give it to you saying

  46. 2:11

    this is this is the error and this is

  47. 2:13

    the issue and this is the actions that

  48. 2:15

    you need to take to mitigate. And once

  49. 2:17

    you confirm, it also goes ahead and

  50. 2:20

    takes those actions on your behalf to

  51. 2:22

    mitigate the issue.

  52. 2:25

    And it doesn't just stop there. Uh it

  53. 2:28

    updates your incident management system

  54. 2:30

    with all the details, error metrics and

  55. 2:32

    dashboards etc. and also it checks out

  56. 2:35

    the code and creates a PR for you uh to

  57. 2:38

    fix the root cause of the issue. All of

  58. 2:40

    this happens in matter of few minutes

  59. 2:43

    which would have easily taken few hours

  60. 2:45

    if you were to do it manually.

  61. 2:48

    This is not fiction. So this is how

  62. 2:50

    teams at LinkedIn are using coding

  63. 2:52

    agents as effective co-workers with deep

  64. 2:56

    understanding of LinkedIn's internal

  65. 2:58

    systems and code to help the teams be

  66. 3:01

    really productive.

  67. 3:05

    And this is possible because of a system

  68. 3:07

    that we built called as contextual agent

  69. 3:10

    playbooks and tools at LinkedIn. And

  70. 3:14

    today I'm going to talk about why we

  71. 3:15

    built the system, how we built it and

  72. 3:18

    what are our learnings from the success.

  73. 3:23

    To understand why we built the this

  74. 3:26

    system, we have to go back to the early

  75. 3:29

    days of coding agents, right? So just

  76. 3:31

    like any other company even at LinkedIn

  77. 3:34

    we wanted to use the coding agents to be

  78. 3:37

    for our engineers and everyone to be

  79. 3:39

    really productive with the AI.

  80. 3:42

    So we started using started giving this

  81. 3:44

    coding agents to all of the engineers

  82. 3:47

    and the problem was the coding agents

  83. 3:51

    doesn't really or the w coding doesn't

  84. 3:53

    really work in a large enterprise at

  85. 3:55

    link um like LinkedIn.

  86. 3:59

    So the biggest problem is the coding

  87. 4:01

    agent or the LLMs are trained on

  88. 4:04

    open-source repos right. So they don't

  89. 4:07

    have the context of how we our uh mature

  90. 4:11

    code bases at LinkedIn or our internal

  91. 4:14

    frameworks or internal systems.

  92. 4:18

    So what used to happen was the engineers

  93. 4:20

    used to do wipe code or try the agentic

  94. 4:23

    coding but because it the agents lacked

  95. 4:27

    context they used to hallucinate and

  96. 4:29

    like get stuck in between or uh even

  97. 4:33

    more dangerous they used to make up

  98. 4:35

    things which is not correct. So the

  99. 4:39

    engineers had to prompt these agents

  100. 4:42

    manually um to do the right thing which

  101. 4:45

    used to take more time than the manual

  102. 4:47

    coding itself. So a lot of people a lot

  103. 4:50

    of engineers went back to manual coding.

  104. 4:52

    So coding agents was not effective

  105. 4:56

    to understand the problem uh to get more

  106. 4:59

    perspective. So if you look at the

  107. 5:02

    LinkedIn stack, we have over thousand

  108. 5:05

    repos which make up thousands of uh

  109. 5:07

    microservices and apps

  110. 5:10

    and we have a lot of all of these apps

  111. 5:13

    and services are built on lot of

  112. 5:15

    internal frameworks and libraries

  113. 5:18

    and we also have a lot of custombuilt

  114. 5:21

    infra. For example, we have our own

  115. 5:23

    databases. We have our own

  116. 5:25

    experimentation and tracking platform.

  117. 5:27

    We have our own configuration management

  118. 5:29

    system which is purely internal to

  119. 5:32

    LinkedIn and coding agents doesn't have

  120. 5:34

    any idea about them

  121. 5:37

    and engineers go through a week-long

  122. 5:40

    boot camp whenever a new engineer joins.

  123. 5:43

    So uh just to get familiar with these

  124. 5:45

    systems.

  125. 5:49

    So

  126. 5:51

    we looked at this problem and we asked

  127. 5:54

    ourselves the question how can we make

  128. 5:57

    any coding agent like cursor or cloud

  129. 6:00

    code or uh GitHub copilot understand our

  130. 6:05

    LinkedIn's internal system so well that

  131. 6:08

    they can ship the code that our

  132. 6:10

    engineers can trust.

  133. 6:12

    By trust I mean the code should be

  134. 6:14

    correct and also the quality of the code

  135. 6:17

    should be as good as uh it is written by

  136. 6:20

    an actual engineer. So that is the bar

  137. 6:23

    we set out and wanted to figure out how

  138. 6:26

    do we get there.

  139. 6:30

    So in early 2025 uh last year so uh

  140. 6:34

    Anthropic released MCB and it it quickly

  141. 6:37

    became the standard for industry

  142. 6:40

    standard for building tools to the

  143. 6:42

    agents. We leveraged that and pretty

  144. 6:46

    early on we built our own internal MCP

  145. 6:50

    and the first tool that we built was uh

  146. 6:52

    code search.

  147. 6:55

    So we have a pretty sophisticated code

  148. 6:57

    search system at LinkedIn where you um

  149. 7:00

    engineers can go and search for code. It

  150. 7:02

    will ingest all of uh search for any

  151. 7:04

    code across thousands of repos using

  152. 7:07

    keywords and custom filters and rejects

  153. 7:10

    etc. So we made that available to the

  154. 7:13

    coding agents via MCP. This was a really

  155. 7:16

    powerful unlock because now you don't

  156. 7:19

    have to manually figure out how to do

  157. 7:21

    better search the agent. You ask a

  158. 7:23

    question. Hey, how do I set up a

  159. 7:26

    particular thing? And the agent can use

  160. 7:29

    the code search tools to figure out the

  161. 7:31

    right examples of how we do things at

  162. 7:34

    LinkedIn and use that to give you answer

  163. 7:37

    and also uh implement it based on the

  164. 7:40

    its findings. This was really powerful.

  165. 7:44

    So we added more tools. We added docs,

  166. 7:48

    uh, Jiraa, Slack, um, even connected to

  167. 7:52

    all of our data platforms and even

  168. 7:55

    feature flags. So every core tool that

  169. 7:58

    we added to our internal MCP it created

  170. 8:01

    more value by comp it it's almost like a

  171. 8:04

    compounding effect because now a

  172. 8:07

    engineer can bring in the PRDS product

  173. 8:11

    requirement documents and design docs

  174. 8:13

    and also their Jira tasks which has mult

  175. 8:16

    uh different context and use all this to

  176. 8:19

    give to the coding agent to automate

  177. 8:21

    their um or help with their coding.

  178. 8:27

    But there was a problem. So you connect

  179. 8:30

    all these tools but it's not enough

  180. 8:33

    right? So even with a slightly complex

  181. 8:36

    workflow the agents used to not do

  182. 8:40

    really well. The problem for example if

  183. 8:44

    you give a context it is uh with the

  184. 8:47

    tools the agent was able to answer

  185. 8:49

    questions answer basic questions and

  186. 8:51

    find code examples but it cannot do a

  187. 8:55

    like a complete job reliably end to end.

  188. 8:58

    The main problem was to do a specific

  189. 9:02

    job end to end it needs to have a lot of

  190. 9:06

    tribal knowledge right. So all of for

  191. 9:08

    example how to fix a particular error or

  192. 9:11

    how to uh configure how do you debug a

  193. 9:14

    particular um error log right so all of

  194. 9:17

    this knowledge even though you have

  195. 9:20

    access to the tools it is scattered

  196. 9:22

    across lot of different surfaces for

  197. 9:24

    example docs wikis and slack

  198. 9:27

    conversations

  199. 9:29

    um etc and most of the times you may

  200. 9:32

    have experienced the docs and wikis

  201. 9:34

    might be outdated written and there

  202. 9:36

    might be like duplicate get docs, right?

  203. 9:39

    So, the problem is the agents even

  204. 9:41

    though they have access to the tools,

  205. 9:42

    they used to get lost.

  206. 9:45

    The second problem was context overload.

  207. 9:49

    As agents use more and more tools,

  208. 9:53

    their context gets overloaded which

  209. 9:55

    means every tool uh tool output it takes

  210. 9:58

    up space in the context which will

  211. 10:00

    eventually cause the agent to compact

  212. 10:03

    its um while it is working compacts it

  213. 10:07

    its context which causes it to lose some

  214. 10:10

    of the information. Then it has to do

  215. 10:11

    all over again.

  216. 10:14

    And the third problem was even though

  217. 10:18

    even if the agent was able to figure out

  218. 10:20

    all these uh details it can it doesn't

  219. 10:24

    have a way to retain this information it

  220. 10:26

    doesn't have a a durable memory. So

  221. 10:29

    every time a engineer asks the uh agent

  222. 10:32

    to do a certain task they have to start

  223. 10:34

    from scratch.

  224. 10:38

    So how do we solve this problem? So we

  225. 10:40

    give this instructions right away right?

  226. 10:43

    So we built a system, we invented a

  227. 10:45

    system in early 2025 called as uh

  228. 10:48

    playbooks where we not only provide the

  229. 10:51

    tools to the agents via MCP, we also

  230. 10:55

    allow the agents to access these

  231. 10:58

    instructions and prompts via MCP. We

  232. 11:01

    call it playbooks. And playbook

  233. 11:05

    it just appears just like any other

  234. 11:08

    regular tool.

  235. 11:10

    uh and they have uh names and

  236. 11:12

    description on what it does and the

  237. 11:14

    agent can decide to invoke that playbook

  238. 11:17

    just like any other regular tool and

  239. 11:20

    when the uh playbook is invoked the

  240. 11:24

    instructions and the context within that

  241. 11:26

    playbook are returned as the tool output

  242. 11:29

    to the coding agent.

  243. 11:31

    So that way the agents have both tools

  244. 11:33

    as well as instructions on how to use

  245. 11:36

    tools to set up a or uh uh perform a

  246. 11:40

    task. Right? For example, uh if the uh

  247. 11:44

    engineer goes and ask like how do I set

  248. 11:45

    up a airflow DAG uh at LinkedIn? The

  249. 11:49

    agent will first decide okay so I have a

  250. 11:51

    playbook for creating um that specific

  251. 11:55

    task and it will use that first fet uh

  252. 11:59

    uses that playbook to get the

  253. 12:00

    information and then it calls the

  254. 12:03

    necessary uh follows that instructions

  255. 12:05

    and calls the relevant tools to get the

  256. 12:08

    job done. This was really powerful

  257. 12:13

    um mainly because now anyone at LinkedIn

  258. 12:16

    can go ahead and create a set up a

  259. 12:19

    playbook and check it into a repository

  260. 12:21

    and make it available for everyone else

  261. 12:23

    at LinkedIn.

  262. 12:27

    So as people started creating more

  263. 12:30

    playbooks so we wanted so this is um one

  264. 12:35

    of two foundational principles we want

  265. 12:38

    everyone to follow when creating a

  266. 12:40

    playbook. The first one is a playbook

  267. 12:43

    should be self-contained which means it

  268. 12:46

    should do a very specific task only um

  269. 12:49

    for example um if it is for setting up a

  270. 12:52

    airflow DAG it should be about the

  271. 12:55

    instruction and the construct should be

  272. 12:57

    about uh one specific task. This helps

  273. 13:00

    the agents pick the right playbook for

  274. 13:02

    the right task. And the second uh most

  275. 13:06

    important one is to break a big playbook

  276. 13:09

    into multiple smaller playbooks.

  277. 13:12

    So this has um and reference those

  278. 13:15

    smaller playbooks from a bigger

  279. 13:16

    playbook. This is a really powerful

  280. 13:20

    um principle because just like um so it

  281. 13:24

    has two main advantages, right? So the

  282. 13:26

    first one is uh reusability. So if you

  283. 13:29

    have a small self-contained playbooks,

  284. 13:31

    it can be used from multiple uh

  285. 13:33

    reference from multiple playbooks and if

  286. 13:36

    you um the another big advantage is

  287. 13:39

    progressive discovery of um context

  288. 13:42

    which means the agent only when it needs

  289. 13:44

    to read a smaller playbook instead of

  290. 13:47

    reading the entire all of the playbooks

  291. 13:49

    at once it can uh progressively go and

  292. 13:52

    read the playbooks as it wants. So this

  293. 13:54

    is the same concept as skills as well.

  294. 13:57

    So playbooks are very similar to uh

  295. 13:59

    skills but we developed this entire

  296. 14:01

    system around playbooks even before

  297. 14:04

    skills was a thing. And uh playbooks are

  298. 14:07

    a little bit more nuanced because it

  299. 14:09

    helps us um it helps us seamlessly

  300. 14:13

    capture all of the organizational

  301. 14:15

    context and service via MCP without much

  302. 14:19

    of a setup.

  303. 14:23

    And another cool thing about this

  304. 14:25

    playbooks is this self-improving loop.

  305. 14:29

    So u you have uh engineers creating

  306. 14:32

    these playbooks and checking into the

  307. 14:34

    repository. And one of the main problem

  308. 14:37

    with any knowledge base is it gets

  309. 14:40

    outdated. How do you uh the biggest

  310. 14:42

    problem is how do you keep the context

  311. 14:44

    fresh right? So great thing about agents

  312. 14:47

    is they can improvise.

  313. 14:49

    So we have we encourage the agents to

  314. 14:52

    whenever they use a particular playbook

  315. 14:55

    at the end of the session to identify

  316. 14:58

    the learnings. So any outdated

  317. 15:01

    information or any discrepancy or any

  318. 15:04

    missing information and we also

  319. 15:06

    encourage the agents to figure out how

  320. 15:08

    to improve the playbook and use that

  321. 15:11

    context to check it uh to update the

  322. 15:15

    playbooks check out the uh repository

  323. 15:18

    and update the playbooks and create a PR

  324. 15:21

    and that once it gets upload it gets uh

  325. 15:24

    the playbooks gets updated right this

  326. 15:26

    creates a really seamless flywheel of a

  327. 15:29

    self-arning loop.

  328. 15:34

    So what does the architecture of a MCP

  329. 15:37

    server looks like?

  330. 15:39

    So this particular system we have one

  331. 15:42

    local MCP server and it is automatically

  332. 15:46

    installed on all of the LinkedIn laptops

  333. 15:48

    by default. So if you join LinkedIn and

  334. 15:50

    you get a laptop, it is pre-installed

  335. 15:53

    and any updates to the uh MCP server or

  336. 15:57

    the playbooks or the tools, it

  337. 15:58

    automatically gets updated every 1 hour

  338. 16:01

    on all the laptops.

  339. 16:04

    And we have a concept of two local

  340. 16:07

    playbooks and central playbooks which

  341. 16:09

    means so central playbooks are the

  342. 16:11

    playbooks which are crosscutting um in

  343. 16:15

    nature, right? So you have um these

  344. 16:18

    playbooks apply for multiple uh

  345. 16:20

    repositories not just one uh code

  346. 16:22

    repository and then you have local

  347. 16:24

    playbooks where it these are the

  348. 16:27

    playbooks which are very specific to

  349. 16:29

    your code repository and you can just

  350. 16:31

    have them checked in with your repo um

  351. 16:35

    uh with your repo and when only when the

  352. 16:38

    coding agents are working in your repo

  353. 16:41

    those playbooks will be automatically

  354. 16:42

    picked up. So this helps us scale the

  355. 16:45

    local playbooks which are very specific

  356. 16:47

    to repo without having to worry about um

  357. 16:51

    uh changing the uh central repository

  358. 16:55

    and also this is one MCP server which is

  359. 16:57

    serving all of the uh playbooks and

  360. 17:00

    tools. So this man helps us do a lot of

  361. 17:04

    uh central things like seamless

  362. 17:06

    authentication, telemetry and u that we

  363. 17:10

    can use for learning to make the whole

  364. 17:13

    uh ecosystem better.

  365. 17:16

    You may be wondering like how many tools

  366. 17:18

    and playbooks it can support, right? Uh

  367. 17:20

    so this is a common problem with MCP. we

  368. 17:23

    cannot scale it beyond 30 or 40 tools

  369. 17:27

    without degrading the uh context or

  370. 17:31

    degrading the performance of the system.

  371. 17:34

    So what we do is instead of uh surfacing

  372. 17:38

    all of these playbooks and tools through

  373. 17:40

    MCP we replace them with three meta

  374. 17:43

    tools. So the first one is search. The

  375. 17:47

    agent first uses this tool to search for

  376. 17:50

    the relevant tools and playbooks using

  377. 17:53

    keywords and tags. U so we also control

  378. 17:56

    the system instructions. Um so every

  379. 17:59

    coding agent is preconfigured with

  380. 18:01

    system instruction on how to use these

  381. 18:03

    tools and how to use the search really

  382. 18:05

    efficiently. And once it finds the uh

  383. 18:09

    right set of tool or playbook, it can

  384. 18:11

    then get the more details about that

  385. 18:14

    particular tool using get schema and

  386. 18:16

    then execute that tool or uh playbook.

  387. 18:19

    So this has allowed us to scale uh to

  388. 18:22

    thousands of tools in playbook.

  389. 18:27

    Um so this is u the growth chart. So now

  390. 18:30

    we have over 8,000 users daily um using

  391. 18:35

    the system daily. using uh tools and

  392. 18:38

    playbooks. So we have over,300

  393. 18:41

    uh tools and over 600 uh playbooks

  394. 18:46

    and it's not not just engineering right.

  395. 18:48

    So it is uh not just engineers but also

  396. 18:51

    product managers, designers, uh TPMS. So

  397. 18:54

    across different functions they are

  398. 18:56

    using the tools and bringing their

  399. 18:58

    playbooks uh to automate their uh

  400. 19:01

    workflows.

  401. 19:05

    uh so I'll leave you with this takeaway

  402. 19:07

    uh key takeaways that can based on our

  403. 19:10

    learning the first one is the system was

  404. 19:13

    successful because we thought about

  405. 19:15

    quality and reliability uh from day one

  406. 19:18

    right so even uh before creating a MCP

  407. 19:21

    server uh we thought okay the our

  408. 19:23

    fundamental principle should be how do

  409. 19:26

    we ensure not just productivity but how

  410. 19:28

    do we ensure the quality and also

  411. 19:31

    reliability of the system so that it

  412. 19:33

    doesn't degrade um as we move fast.

  413. 19:37

    Uh and the second one was u the build

  414. 19:40

    the right infrastructure for agents. Uh

  415. 19:42

    in a large enterprise like LinkedIn,

  416. 19:44

    it's not enough just enough to give all

  417. 19:47

    of the engineers the all the latest and

  418. 19:50

    greatest tools and models. Uh these are

  419. 19:52

    they are not very effective if you don't

  420. 19:55

    build the right infrastructure for the

  421. 19:56

    agents to operate within your

  422. 19:58

    enterprise.

  423. 20:01

    Um yeah that's my time. Thank you for

  424. 20:04

    attending and feel free to connect with

  425. 20:06

    me on [applause] LinkedIn.