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

Read the talk

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

Ajay Prakash explains how LinkedIn gives coding agents internal knowledge through searchable tools and reusable playbooks, loads instructions only when needed, and turns discoveries from individual sessions into reviewed improvements.

From a talk by Ajay Prakash

At a glance

Ideas worth remembering

  • Internal tools supplied access and examples; playbooks supplied the procedures needed to complete jobs across those tools.

  • Keep playbooks specific, and split large procedures into reusable referenced pieces so instructions enter context only when needed.

  • Agent discoveries became shared procedural improvements through playbook PRs that required approval.

  • Search, Get Schema, and Execute let agents discover a large capability catalog without carrying every capability's details from the start.

  • Correctness, code quality, and reliability shaped the infrastructure from the beginning; enterprise knowledge had to accompany the coding agents.

From an error alert to mitigation and a repair PR

An error spike arrives while an engineer is on call. The engineer gives the alert link to Claude Code or GitHub Copilot, and the agent starts investigating in the background. Ajay Prakash, a software engineer at LinkedIn, opens with this workflow to explain what his team's Contextual Agent Playbooks and Tools system makes possible: an agent can follow the company's debugging procedures rather than ask the engineer to reconstruct them in a prompt.

The investigation narrows in stages. Company-level instructions help identify the affected service. Service-specific instructions then tell the agent how to investigate that service, including fetching logs and metrics. Those observations support a diagnosis and a proposed mitigation. The alert has become something the engineer can act on: a summary of the error, its cause, and the steps needed to reduce its immediate impact.

Human confirmation separates the proposed mitigation from execution. Once the engineer confirms, the agent takes the mitigation actions, updates the incident management system with details, metrics, and dashboards, and checks out the code to create a PR addressing the underlying cause. Mitigation handles the immediate incident; the repair PR handles the defect that produced it. Prakash describes teams using this workflow in a few minutes instead of the hours manual work could take, an operational account rather than a measured speedup across incidents.

Where does the agent acquire enough knowledge to move from an alert to a useful proposal? The flow below makes the narrowing visible: general procedures lead to service procedures, which lead to observations and a diagnosis. Confirmation comes before mitigation, while incident documentation and a repair PR extend the work beyond the immediate response.

How it fits togetherInstructions narrow the incident investigation

The engineer supplies the error-spike alert.

The agent gathers increasingly specific context before proposing action; the engineer confirms mitigation before execution.

0:120:40
Suggest correction

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

0:12 · section reference included

Public coding knowledge did not explain LinkedIn's stack

The early rollout of coding agents produced a less encouraging result. Agents lacked context about LinkedIn's mature codebases, internal frameworks, and internal systems. They hallucinated, stalled, or invented incorrect details. Engineers then had to prompt them toward the right implementation, sometimes spending longer on corrections than manual coding would have taken. Some returned to writing the code themselves.

The missing context was substantial. LinkedIn had over a thousand repositories supporting thousands of microservices and apps, built on internal frameworks and libraries. Its custom infrastructure included databases, experimentation and tracking, and configuration management. New engineers spent a week-long boot camp becoming familiar with these systems. General coding ability offered no reason to expect an agent to know those local practices.

The target became specific: make coding agents understand the internal system well enough to ship code engineers could trust. Trust meant both correctness and code quality comparable to an engineer's work. That requirement shaped the infrastructure that followed; generating code quickly would be of little use if people still had to repair its assumptions.

3:233:53
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

Access to information still left three workflow problems

Tools helped agents answer basic questions and find examples, but slightly more complex jobs still failed to finish reliably. Knowing where information could be found did not supply the procedure for using it. Debugging a particular error, for example, required practical knowledge scattered across documents, wikis, and old conversations.

  • Scattered and stale procedures: Duplicate or outdated documents made it difficult to choose the right instructions, even when the agent could reach every source.
  • Context overload: Each tool output consumed context space. As the session grew, compaction could lose information the agent needed, forcing it to repeat earlier investigation.
  • Repeated discovery: A successful session had no way to retain its procedural findings for the next request. Another engineer asking for the same task could send the agent back to the beginning.
8:278:58
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 returned instructions through the tool interface

Playbooks made instructions available through MCP alongside operational tools. A playbook had a name and description, and the agent could select and invoke it like another tool. Its output was the instructions and context for performing a task. This reused the agent's tool-selection mechanism to fetch procedural knowledge.

Consider the request to set up an Airflow DAG at LinkedIn. The agent first selected the playbook for that task and fetched its instructions. It then followed those instructions and called the relevant tools. Internal setup knowledge entered the session before the agent attempted the work, instead of being rediscovered across unrelated sources. Anyone at LinkedIn could author a playbook, check it into a repository, and make it available to others.

Two authoring rules kept that growing library usable:

  • Give each playbook one specific task. An Airflow DAG setup playbook should contain the instructions for that task. A narrow purpose makes it easier for the agent to match a request to the right procedure.
  • Split large procedures into referenced pieces. A larger playbook can refer to smaller, self-contained playbooks. Those pieces can be reused by several procedures, and the agent can read them only when needed.

The second rule directly addressed context overload. A reference preserved access to a procedure without immediately loading all of its contents. The agent could progressively discover context as the task developed. Prakash connects this to Skills: both approaches make task expertise available on demand. LinkedIn's implementation served that expertise through its internal MCP system.

10:3811:08
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

A session's discoveries became proposed playbook edits

A repository of instructions could become as stale as the wikis it replaced. The maintenance loop therefore used the agents doing the work. At the end of a session, agents were encouraged to identify outdated information, discrepancies, or missing steps in the playbooks they had used.

The agent could check out the playbook repository, propose an improvement, and open a PR. Approval then updated the shared playbook. The learning persisted in an editable procedure that future sessions could retrieve. This is the concrete mechanism behind the self-improving loop: experience produces a proposed text change, and review determines whether that change becomes shared guidance.

14:2314:52
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 combined central and repository-specific knowledge

The system ran through a local MCP server preinstalled on LinkedIn laptops. Updates to the server, tools, and playbooks arrived automatically every hour. That distribution mechanism made the shared infrastructure available without requiring each engineer to assemble a separate setup.

  • Central playbooks: Cross-cutting procedures applied to multiple repositories and lived in the shared collection.
  • Local playbooks: Repository-specific procedures were checked in with their code. They were automatically picked up only when the coding agent worked in that repository, allowing teams to maintain local knowledge without changing the central repository.

One MCP server served both the tools and playbooks. This provided a common place to handle authentication and collect telemetry that could inform improvements to the ecosystem. The knowledge could be authored locally while access and observation used shared infrastructure.

15:3416:04
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 kept the visible interface small

A growing library created another scaling problem: exposing every tool and playbook directly to the agent. Prakash reports degradation beyond roughly 30 or 40 tools in the team's experience; that is an observation about agent context and performance, not a hard limit imposed by MCP. LinkedIn replaced the directly exposed catalog with three meta tools.

  • Search: Find relevant tools and playbooks using keywords and tags.
  • Get Schema: Retrieve the details of a selected tool or playbook after discovery.
  • Execute: Invoke the selected capability once its details are available.

How can thousands of capabilities remain accessible through three tools? The diagram shows the two outcomes of execution. An operational tool performs work; a playbook returns instructions that guide subsequent tool calls. Discovery and detailed loading happen before either outcome, so the agent does not need the complete catalog in context at the start. Preconfigured system instructions teach each coding agent how to use this search sequence efficiently.

This extended progressive discovery to the catalog itself. Small referenced playbooks controlled how much procedural text entered context; the meta tools controlled which capability details entered it. At the time of the talk, Prakash reported over 1,300 tools, over 600 playbooks, and over 8,000 daily users. Use extended beyond engineers to product managers, designers, and TPMs bringing playbooks for their own workflows.

How it fits togetherDiscover a capability before loading and invoking it

Find relevant capabilities by keywords and tags.

The same discovery sequence reaches operational tools and instruction-returning playbooks. Playbook instructions then guide further tool use.

17:1617:46
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

Quality and reliability set the direction from day one

The closing lesson returns to the original definition of trust. Quality and reliability were design goals before the MCP server existed. The system needed to remain useful as the team moved quickly and added capabilities. Productivity depended on agents producing work engineers could rely on, rather than shifting the effort into correction.

Giving an enterprise the latest tools and models did not by itself give agents a way to operate inside it. LinkedIn's response was to build that environment: access to internal examples and systems, retrievable task procedures, selective loading, automatic distribution, and reviewed improvements. The on-call workflow at the beginning depended on this accumulated infrastructure. Its useful unit of knowledge was a procedure another session could find and follow.

5:496:19
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

Resources

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.