← All AI Engineer talks

AI Engineer World's Fair 2026

Agents Are Where Microservices Were in 2015 — Roberto Milev & Uday Kanagala, Navan

Read the talk

Operating Agents: Navan’s Lessons from the Microservices Era

Roberto Milev and Uday Kanagala explain persistent sessions, progressive skill loading, tool-call controls, and trajectory evaluation—and where cost and debugging remain unresolved.

From a talk by Roberto Milev and Uday Kanagala

At a glance

Ideas worth remembering

  • Establish a reliable single agentic loop before adding multi-agent orchestration. Navan uses a single master that progressively loads skills and also includes sub-agents.

  • Treat skills as reusable, independently testable units that combine domain instructions with execution capabilities, and load their context progressively.

  • Use tool-call hooks for traces and intervention. Goals, reasons, belief status, and confidence provide review signals; inferred answers can prompt human guidance.

  • Evaluate trajectories for progress, efficiency, and completeness when the agent’s sequence of decisions varies across runs.

  • An agent buying a flight below $200 raises a concrete delegation question. Navan applies fine-grained controls before and after tool calls.

  • Runtime maturity does not settle operating economics or diagnosis: cost prediction, cost controls, replay, debugging, and emerging standards still require work.

Establish a working agentic loop before adding orchestration

Roberto Milev introduces himself as Navan’s chief architect, joined by Uday from the architecture team. Their subject is the infrastructure needed to operate agents at a travel and expense management company. They frame the problem through an earlier architectural shift: microservices brought useful machinery such as Kubernetes, service meshes, and circuit breakers, but the practices needed to use that machinery took time to develop.

The opening analogy sets an order of work. If a team cannot build a well-structured monolith, splitting it into microservices does not resolve that underlying difficulty. Likewise, a team should establish a working single agentic loop before attempting a multi-agent orchestrated system. From Navan’s production experience, the speakers see a reference architecture forming around runtime, memory, context management, operational concerns, and orchestration. Each layer addresses a requirement that remains even when building an initial agent becomes easy.

0:160:19
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

A runtime must preserve an agent’s session

The runtime discussion begins with a change in assumptions. Traditional services were often designed to scale statelessly; agents are described here as stateful by nature. They need persistent sessions, isolation, and a lifecycle different from that of a traditional API service. The runtime therefore has to support an ongoing session rather than treating every interaction as an independent request.

The speakers describe AWS, GCP, and Azure as offering versions of an agent runtime. Navan runs on AWS and makes heavy use of its AgentCore runtime, while supplying its own session persistence and rehydration. That distinction matters: adopting a managed runtime did not eliminate the need to preserve and restore session state for Navan’s use case. They also use multiple SDKs for writing agents, observing that runtimes are generally framework agnostic even when providers favor their native frameworks. The talk does not specify Navan’s persistence format or restoration procedure.

2:282:32
Suggest correction

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

2:28 · section reference included

Memory develops beyond retrieval

Memory starts with a capacity constraint: an agent cannot hold unlimited context. The speakers place retrieval-augmented generation, or RAG, in that history, then describe a broader memory pipeline with ingestion, extraction, consolidation, and retrieval. The progression turns incoming material into memory that can later be selected for use. Retrieval remains part of the architecture, but memory also involves deciding what to retain and how to consolidate it over time.

They distinguish short-term conversational memory, managed long-term memory with semantic characteristics, and episodic memories of instances that worked well or poorly. These serve different purposes: retaining a conversation, preserving information beyond it, and retaining experience of particular attempts. Navan uses AgentCore memory and adapts its use to the company’s needs. No specific retention rules, consolidation algorithm, or measured benefit is supplied.

3:594:04
Suggest correction

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

3:57 · section reference included

Use skills to compose context progressively

Larger context windows do not remove the need for context management. Too little context constrains the agent, while too much can make it lose focus. Navan’s response is to use a skill as a unit of context. A skill contains instructions and setup for a domain or task, together with a tool-execution or agentic component. This groups the information needed to perform work with the means of carrying it out.

The agent’s context is composed dynamically from these skills. Navan treats them as pluggable units of work that can be reused and tested independently. Domain-specific skills support progressive disclosure: the agent starts with a limited scope of context and expands it using included metadata as the task proceeds. This provides a concrete way to control how much information enters the context without requiring every task to carry every domain’s instructions from the start.

5:145:19
Suggest correction

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

5:14 · section reference included

Observe decisions at tool-call boundaries

The operational problem becomes concrete with an agent that fails halfway through a 20-step or 30-step process. How quickly can an engineer explain the failure? The speakers argue that reading ordinary logs becomes insufficient when agents emit more thinking than a person can readily consume. Their alternative uses interception points around the agent’s actions to create a structured account of its progress.

Using Claude as an example, they describe hooks before and after tool calls and decisions. A hook gives the surrounding system a place to intervene, perform a blocking operation, or emit a metric or trace. Navan uses a provider to emit traces so that spans reveal where an agent becomes stuck. The useful shift is from inspecting a large stream of text to locating the operation or decision associated with a failure.

The traces include the current goal, reasons behind operations, belief status, and tool calls. Decisions also carry a confidence score and signals about whether a choice has multiple supporting paths or depends on an inferred answer. An inferred answer can prompt human involvement to guide or improve the agent. These are review signals; the talk does not explain how confidence is calculated or calibrated, nor does it supply an automatic escalation threshold.

6:466:49
Suggest correction

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

6:44 · section reference included

Evaluate progress through a variable trajectory

Testing exposes the same difficulty from another angle. In a deterministic flow, an engineer can explain the programmed sequence of operations and build expectations around it. An agent may choose different steps on different runs. The speakers describe their own struggle with this: changing an agent to correct one failure could break something else. A testing approach must therefore detect regressions without assuming that every successful run follows an identical sequence.

For an agent making 30 steps or decisions toward a goal, Navan relies heavily on trajectory evaluations. The proposed evaluation considers how far the agent progresses from its starting point toward the destination, using that progress to assess efficiency and completeness. This permits variation in the path while preserving an expectation about the goal. The presentation gives the evaluation principle, but no scoring formula, reference trajectory, or numerical acceptance criterion.

The earlier observability signals also feed this evaluation work. Whether an answer was inferred becomes evidence to consider when classifying a regression and deciding what to fix. Instrumentation and testing are thus connected: the trace provides information about how a result arose, which can help diagnose a change in behavior. The speakers present this as an approach they are developing while acknowledging that testing remains difficult.

9:519:53
Suggest correction

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

9:32 · section reference included

Decide whose authority an action uses

Guardrails address both information flow and authority. Enterprise systems can pass sensitive information into models without sufficient awareness, creating a need for governance. At the same time, an agent complicates the familiar distinction between a user and a service account: it may act on behalf of a person or use a service account to perform work.

The example is an instruction to book a flight whenever it is cheaper than $200. The user states a condition, and the agent works out when to act and makes the purchase on the user’s behalf. That separates the user’s initial instruction from the agent’s execution decision. The speakers ask who is making the purchase and argue that this ambiguity requires fine-grained authorization in a policy layer. The price condition alone does not explain which identity or permissions the eventual action uses.

Navan places guardrails before and after every tool call, using those points to check, block, and make informed decisions. The control therefore operates throughout execution, at the places where the agent interacts with tools. The talk establishes where enforcement happens without defining a complete delegation model or the exact policies applied to purchases and sensitive information.

12:1512:18
Suggest correction

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

12:03 · section reference included

Keep orchestration simple and make team boundaries explicit

Returning to single-agent versus multi-agent design, the speakers describe Navan’s choice as a single master with sub-skills. They also explicitly mention sub-agents within that arrangement. The master progressively loads skills, decides what belongs in context, and navigates the use case. The account supports centralized control with modular capabilities, but leaves the precise relationship between skills and sub-agents unexplained.

They identify a different reason to connect agents: organizational boundaries. In a large company, separate teams may own agents on either side of a boundary and need a way to communicate. The speakers propose A2A as a protocol for establishing contracts in terms of skills. Here, agent-to-agent communication serves a specific coordination need between teams, while the recommendation for an individual agent’s internal design remains to avoid unnecessary orchestration.

13:5314:03
Suggest correction

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

13:52 · section reference included

Infrastructure maturity varies by layer

The closing assessment separates relatively mature infrastructure from less settled operational practice. The speakers consider runtime largely solved and scaling manageable with existing orchestration. They see memory improving through better models, practices, and cloud services. These are their assessments of the stack, rather than demonstrated guarantees.

They describe MCP as a de facto protocol and broad tool-calling support as evidence of convergence. They also characterize MCP as moving toward statelessness. Their confidence is narrower around observability: OTEL can be made to work for agentic calls, but they question how naturally it fits. Testing patterns are becoming clearer and can support useful customer experiences despite agent unreliability. Orchestration has workable patterns too, with the recurring recommendation to avoid overengineering.

15:3215:34
Suggest correction

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

15:29 · section reference included

Cost, replay, and standards remain open work

Cost remains a substantial unresolved problem in Navan’s production agents. The speakers describe difficulty both predicting expenditure and controlling it through guardrails. Reliable fallbacks and cheaper models for selected tasks are possibilities, but they do not present either as a solved operating strategy. They also voice concern that major AI vendors have an incentive to encourage greater token consumption.

Replay and debugging are also still difficult. The speakers suggest that agents could help engineers overcome the cognitive overload of understanding other agents’ behavior. That is a proposed direction, with no replay mechanism or debugging result demonstrated in this discussion.

The final substantive point concerns standards. The speakers return to OTEL and describe agent-to-agent standards as young and influenced by particular vendors, while expecting the community to make progress. Their closing position is that the needed capabilities are becoming clear enough for engineers to build them.

17:4017:43
Suggest correction

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

17:34 · section reference included

Read the complete timestamped transcript
  1. 0:01

    [music]

  2. 0:13

    >> Right. Hello, everybody. Um welcome to

  3. 0:16

    our talk. My name is Roberto Milev. I am

  4. 0:19

    the chief architect at Navan.

  5. 0:21

    And I have Uday here, who's also part of

  6. 0:23

    the architecture team.

  7. 0:25

    Uh Navan is a travel and expense

  8. 0:28

    management company.

  9. 0:30

    And we'll share with you some of our

  10. 0:31

    learnings around how you run an AI and

  11. 0:34

    what have we

  12. 0:35

    uh discovered.

  13. 0:37

    So,

  14. 0:39

    uh if you've been long enough um in this

  15. 0:42

    industry, you remember that

  16. 0:44

    over time there are a few paradigm

  17. 0:46

    shifts.

  18. 0:47

    And we all tend to jump on a bandwagon

  19. 0:49

    and try to uh kind of do things, all

  20. 0:52

    right?

  21. 0:53

    Last time was when we all jumped on the

  22. 0:56

    microservices bandwagon. And out of

  23. 0:58

    that, a lot of good things came out,

  24. 1:00

    like container orchestration,

  25. 1:02

    Kubernetes.

  26. 1:04

    Then we had service mesh,

  27. 1:07

    uh circuit breakers, all of those good

  28. 1:10

    things.

  29. 1:10

    But it didn't happen overnight. Like it

  30. 1:12

    took a long time. It took some time for

  31. 1:15

    us to learn how to do these things.

  32. 1:18

    So, one of the quotes from there is, "If

  33. 1:20

    you can't build a well-structured

  34. 1:21

    monolith, why even try to build

  35. 1:23

    microservices?"

  36. 1:25

    Uh it kind of translates today because

  37. 1:28

    if you can't build a single agentic

  38. 1:30

    loop, why go in and try to build a

  39. 1:33

    multi-agent orchestrated system?

  40. 1:37

    So, over time, just like previously,

  41. 1:41

    uh a reference architecture is emerging.

  42. 1:44

    So, we

  43. 1:46

    have learned a few things by by doing in

  44. 1:49

    production. We have a

  45. 1:51

    lot of agents, a lot of tokens per day

  46. 1:53

    being used.

  47. 1:55

    And as I said, there are few layers that

  48. 1:58

    have standardized, that have

  49. 1:59

    crystallized around what do we need to

  50. 2:02

    run agentic flows

  51. 2:05

    reliably in production.

  52. 2:07

    Runtime memory, context management, all

  53. 2:11

    around operational

  54. 2:12

    cross-cutting concerns, and around

  55. 2:14

    orchestration as well. So, today we'll

  56. 2:16

    go over some of these layers, all of

  57. 2:18

    these layers actually, and we will show

  58. 2:22

    kind of where the industry is, what we

  59. 2:24

    have done, what we have learned, and and

  60. 2:26

    so on.

  61. 2:28

    So, starting at the runtime layer,

  62. 2:32

    we've talked a lot and we've built a lot

  63. 2:34

    of services

  64. 2:35

    in order to scale them

  65. 2:38

    statelessly

  66. 2:39

    before.

  67. 2:40

    And now we're in a new world where, you

  68. 2:42

    know, agents are stateful by nature.

  69. 2:44

    They need to have persistent sessions.

  70. 2:48

    They need to have isolation. Their life

  71. 2:51

    cycle is different than the life cycle

  72. 2:53

    of a traditional API service, and so on.

  73. 2:57

    So,

  74. 2:58

    the cloud providers have jumped in and

  75. 3:01

    try to fill this gap.

  76. 3:03

    Um, you know, AWS, GCP, Azure, they all

  77. 3:08

    have a

  78. 3:10

    some incarnation of a agentic runtime.

  79. 3:13

    If you scan the QR code for this slide

  80. 3:15

    and for the following slides,

  81. 3:17

    you will see a comparison of some of the

  82. 3:19

    features and how different cloud

  83. 3:20

    providers try to try to

  84. 3:23

    approach this.

  85. 3:25

    At Nvono, we run everything on AWS. AWS

  86. 3:29

    has an agent core runtime. We heavily

  87. 3:31

    use that, but we have filled some gaps

  88. 3:33

    around that, like the

  89. 3:36

    session persistence and rehydration

  90. 3:39

    is something that we have built.

  91. 3:41

    And we also run a bunch of other

  92. 3:44

    bunch of SDKs for writing agents. And

  93. 3:47

    part of

  94. 3:48

    these runtimes is typically they are

  95. 3:50

    framework agnostic, although they all

  96. 3:52

    prefer their

  97. 3:53

    native framework in a way.

  98. 3:57

    Um the next

  99. 3:59

    layer in the stack is around memory.

  100. 4:03

    Um

  101. 4:04

    we started with rag. Rag was kind of a

  102. 4:06

    big thing for a while. We were

  103. 4:10

    kind of driven to that out of necessity

  104. 4:12

    because you cannot fit an unlimited

  105. 4:15

    amount of context into an agent.

  106. 4:18

    And over time um all of these cloud

  107. 4:21

    providers and the industry has

  108. 4:23

    implemented a pipeline where memory is

  109. 4:26

    kind of automatically generated by

  110. 4:28

    following a workflow of ingestion,

  111. 4:31

    extraction, and then consolidation and

  112. 4:33

    retrieval.

  113. 4:34

    And there are parts of rag that are

  114. 4:37

    built in things like a long-term memory

  115. 4:40

    that inherently has some semantic

  116. 4:42

    characteristics. But memory is built up

  117. 4:44

    over time from short-term conversational

  118. 4:47

    memory

  119. 4:48

    to long-term memory that you kind of

  120. 4:50

    manage yourself. Uh then episodic

  121. 4:52

    memories about kind of instances that

  122. 4:55

    worked well and didn't work well.

  123. 4:57

    Uh and so on. We at Navan again being a

  124. 5:01

    AWS shop, um

  125. 5:03

    utilize their agent core memory.

  126. 5:06

    But we are also kind of doing it in a

  127. 5:07

    way that

  128. 5:09

    uh matches matches our our use case.

  129. 5:14

    And then the next thing is context

  130. 5:16

    management. You know, it's a hot topic.

  131. 5:18

    It was a hot topic and it's still a hot

  132. 5:19

    topic. Context windows are growing

  133. 5:21

    bigger, but there's never enough context

  134. 5:24

    or if there is too much context again,

  135. 5:27

    agents struggle with that cuz you lose

  136. 5:28

    focus and so on. Um

  137. 5:32

    what we found working is that

  138. 5:35

    uh focusing on skills as a unit of

  139. 5:38

    context. And I'll explain what I mean by

  140. 5:39

    that.

  141. 5:40

    Uh we look at skills as both having

  142. 5:43

    context, meaning instructions and uh

  143. 5:46

    setup about a certain domain or a task.

  144. 5:49

    And there's also the

  145. 5:51

    the second part of the skill, which is

  146. 5:52

    the tool execution and you know, the

  147. 5:55

    agentic part.

  148. 5:56

    And we compose context dynamically out

  149. 6:01

    of skills that we

  150. 6:03

    use as units of work that are

  151. 6:06

    pluggable, that we can test

  152. 6:07

    independently, and that we can reuse.

  153. 6:11

    So, for example, when we are

  154. 6:14

    we have an agent, we have skills that

  155. 6:16

    are

  156. 6:17

    that are specific to a domain.

  157. 6:19

    And based on that, we compose them. And

  158. 6:21

    we rely on the

  159. 6:25

    you know, the progressive disclosure,

  160. 6:26

    which is a feature of the skills itself

  161. 6:29

    to start with a limited scope of context

  162. 6:31

    and then

  163. 6:32

    expand by included metadata

  164. 6:36

    further down the the line.

  165. 6:39

    I'll hand it over to Uday Uday now to

  166. 6:42

    kind of walk us through the rest of

  167. 6:43

    this.

  168. 6:44

    >> Thanks, Rudra.

  169. 6:46

    All right. Can I have a quick show of

  170. 6:48

    hands

  171. 6:49

    here who have who had built an agent uh

  172. 6:52

    which failed halfway through multi 20 20

  173. 6:56

    step or 30 step process and be able to

  174. 6:59

    figure out quickly or reason about why

  175. 7:01

    the agent failed.

  176. 7:05

    So, again, logs we've generally been

  177. 7:08

    traditionally with microservices, we all

  178. 7:10

    are familiar with logs. There's logs out

  179. 7:12

    there and then we go check out the logs.

  180. 7:13

    But this changes everything the moment

  181. 7:16

    we switch to agents.

  182. 7:17

    Agents

  183. 7:19

    output a lot of thinking. There's too

  184. 7:20

    much to consume. So, that's not the

  185. 7:22

    right way to do it, right? So,

  186. 7:24

    traditionally, that was the way, but our

  187. 7:26

    thought has to be changed right now.

  188. 7:28

    In the in the way they

  189. 7:30

    Claude as an example, when we take

  190. 7:32

    Claude as an example for an agent,

  191. 7:34

    there is hooks and we can intercept

  192. 7:37

    everything that Claude as an agent that

  193. 7:38

    does at that level. So, what kind of

  194. 7:41

    tool it calls, right? What kind of

  195. 7:43

    decision it's making? So, before

  196. 7:45

    pre-tool and post-tool call or a

  197. 7:47

    pre-decision or a post-decision, so all

  198. 7:48

    of that are a

  199. 7:50

    point point in time for us to intercept

  200. 7:53

    and make a decision

  201. 7:54

    and either block

  202. 7:56

    to do a

  203. 7:58

    blocking operation or to log in metric

  204. 8:00

    or emit a metric, right? So, this is a

  205. 8:02

    critical

  206. 8:04

    place where we can emit auto traces.

  207. 8:06

    At Nvone, we use one of our provider to

  208. 8:10

    interest to emit these auto traces and

  209. 8:13

    through these traces we should be able

  210. 8:14

    to figure out the spans, the traces and

  211. 8:17

    at what point in time where the agent is

  212. 8:19

    stuck, which gives much more confidence

  213. 8:22

    into

  214. 8:23

    how we operate and build the agent. This

  215. 8:26

    is

  216. 8:27

    day-to-day operational challenge.

  217. 8:29

    Building agent these days there's so

  218. 8:31

    many frameworks, but how do you navigate

  219. 8:34

    building and operating an agent later is

  220. 8:36

    primary concern. Um

  221. 8:39

    And moreover, the reasoning chain, the

  222. 8:41

    thought process and critical signals

  223. 8:43

    that we emit

  224. 8:45

    here as part of the trace captures, we

  225. 8:47

    emit a few primary signals here. What is

  226. 8:50

    the current goal the agent is going

  227. 8:52

    through, the reasons behind its

  228. 8:54

    operations and the belief status and

  229. 8:56

    the tool calls that it's making. So,

  230. 8:58

    this kind of gives us a judgment

  231. 8:59

    pointers. Um

  232. 9:01

    Um in the traces. And when we make when

  233. 9:04

    the agent makes a decision, there is a

  234. 9:07

    confidence score, how confident it is

  235. 9:10

    when it makes the judgment, right? So,

  236. 9:12

    whether there are multiple paths that it

  237. 9:14

    leads to this choice

  238. 9:16

    or whether this is an inferred answer.

  239. 9:18

    So, basically these are signals that

  240. 9:20

    gives us confidence later to review. If

  241. 9:23

    this is an inferred answer, there could

  242. 9:24

    be a human in the loop to guide through

  243. 9:26

    and tweak the agent to perform a little

  244. 9:28

    better.

  245. 9:32

    Again, um

  246. 9:34

    Can I have a raise of hands again to see

  247. 9:36

    how confident are you like 100%

  248. 9:39

    confident in testing pipelines with your

  249. 9:41

    agents?

  250. 9:43

    Right. So, this is one of the other um

  251. 9:47

    critical aspect today. Um

  252. 9:51

    Because agents are non-deterministic.

  253. 9:53

    We've all been used to program and write

  254. 9:55

    much more deterministic flows.

  255. 9:57

    And

  256. 9:58

    we know how it works. The Can I ask an

  257. 10:01

    engineer? Engineer can come and tell me

  258. 10:02

    how this the algorithm, the sequence of

  259. 10:04

    operations. Everything is programmed in

  260. 10:06

    our mind. Everything is expectations.

  261. 10:08

    But now the agents come into a

  262. 10:09

    non-deterministic way. And how do we

  263. 10:11

    test them, right? So, that is very

  264. 10:12

    criticality here.

  265. 10:14

    And yeah. We are also struggling. Um

  266. 10:17

    we've uh started

  267. 10:19

    doing building agents. We the day to

  268. 10:21

    operations was challenging and then we

  269. 10:22

    failed in a lot of steps. How do we

  270. 10:24

    course correct? The moment we change

  271. 10:26

    something, something else broke breaks,

  272. 10:28

    right? So, how do we do that? Um one one

  273. 10:31

    approach that we took uh this is from um

  274. 10:33

    research papers uh around the

  275. 10:38

    in a multi-step

  276. 10:40

    uh orchestration, when an agent makes uh

  277. 10:42

    30 steps or decisions to make to reach

  278. 10:45

    to a goal,

  279. 10:46

    if that is a program or that's a

  280. 10:49

    different story. But this is not a

  281. 10:50

    program. This is non-deterministic way

  282. 10:52

    of It makes up its own steps every time

  283. 10:56

    uh differently.

  284. 10:58

    So, how can we

  285. 11:00

    chart a deterministic graph here?

  286. 11:03

    Is it possible? No.

  287. 11:05

    Can we have a trajectory of its starting

  288. 11:08

    from an end to a goal and then see how

  289. 11:10

    much how far it went in the trajectory

  290. 11:14

    and how far it went from the source to

  291. 11:15

    the destination is what we can compute

  292. 11:18

    to evaluate the efficiency or the

  293. 11:22

    completeness of the

  294. 11:23

    agent

  295. 11:24

    agent evaluation.

  296. 11:26

    So, we we heavily rely on um trajectory

  297. 11:29

    vals um

  298. 11:30

    and uh

  299. 11:32

    this

  300. 11:33

    There are few other signals uh as I

  301. 11:35

    briefly spoke around uh in the previous

  302. 11:36

    slide around the inferred signal. Um

  303. 11:39

    If the answer is from an in in inferred

  304. 11:41

    answer, uh how can we uh

  305. 11:44

    loop that into uh and make a

  306. 11:48

    signals around uh how can we classify

  307. 11:50

    that this is a regression and make fixes

  308. 11:52

    towards the agent?

  309. 11:59

    Uh

  310. 12:03

    So, the next is the uh guardrails. Um

  311. 12:07

    Where

  312. 12:11

    Is this the one? Yeah.

  313. 12:15

    So, guardrails and authorization, um

  314. 12:18

    this is uh critical

  315. 12:21

    displays a critical role in enterprise

  316. 12:22

    AI.

  317. 12:24

    A lot of information is being piped to

  318. 12:27

    models. Um there could be sensitive

  319. 12:29

    information that goes into it uh without

  320. 12:32

    our knowledge. And

  321. 12:34

    we as uh uh leaders, how can we put in

  322. 12:36

    this governance layer um

  323. 12:39

    to stop this um is very uh critical

  324. 12:42

    here.

  325. 12:43

    And and the concept of uh authentication

  326. 12:45

    and authorization um is

  327. 12:49

    taking up a different approach here. Um

  328. 12:51

    traditionally, we've seen um a user or a

  329. 12:54

    service account, but now what is an

  330. 12:56

    agent? Agent can be

  331. 12:58

    acting as on behalf of users. There is

  332. 13:00

    so much of things uh so many of use

  333. 13:02

    cases there. Hey, book me a flight

  334. 13:05

    whenever it's cheaper than $200, right?

  335. 13:07

    So, we just tell this assertion and then

  336. 13:09

    agent go figures out and does this

  337. 13:11

    action on behalf of me. So, is it me

  338. 13:13

    making this

  339. 13:14

    purchase or is it agent me making on

  340. 13:17

    behalf of me? So, there is

  341. 13:20

    Agent acts as a on behalf of user or

  342. 13:22

    agent uses a service account as well.

  343. 13:24

    So,

  344. 13:25

    the line is being blurred here and we

  345. 13:27

    need to make fine-grained authorization

  346. 13:29

    decisions here, and the policy layer

  347. 13:32

    that's where the guardrails and

  348. 13:33

    authentication authorization plays a

  349. 13:34

    critical role.

  350. 13:36

    And in the one what we employ here is

  351. 13:39

    before every tool call

  352. 13:41

    pre-tool and post-tool, we have this

  353. 13:43

    guardrails to check and block

  354. 13:46

    and make a informed decisions.

  355. 13:52

    And

  356. 13:53

    this single agent versus multi-agent,

  357. 13:56

    again, this is kind of a

  358. 13:58

    orchestration wars you can think of

  359. 14:00

    with it to build a single agent or a

  360. 14:01

    multi-agent.

  361. 14:03

    Again, as Roberto briefly hinted

  362. 14:05

    if you can't perfect and build a

  363. 14:08

    single agent, why go towards

  364. 14:11

    multi-agent, right? So, learn from our

  365. 14:13

    uh

  366. 14:14

    failures, experiences, and build towards

  367. 14:17

    that.

  368. 14:18

    At Navan, yeah.

  369. 14:20

    What the approach that we have taken is

  370. 14:22

    single master, and then we adopted

  371. 14:25

    sub-skills. Um

  372. 14:27

    There are sub-agents within it.

  373. 14:29

    So, it's a single agent that can

  374. 14:32

    progressively load the skills and

  375. 14:34

    understand decisively what needs to be

  376. 14:37

    loaded into the context, and then

  377. 14:39

    make this

  378. 14:40

    navigation

  379. 14:41

    through the use case.

  380. 14:44

    But there are

  381. 14:45

    other patterns that are also emerging.

  382. 14:48

    There are different class of use cases

  383. 14:49

    here. One is um

  384. 14:52

    agent-to-agent communication. So, there

  385. 14:53

    are If you take a large scale

  386. 14:55

    organization, and there are so many of

  387. 14:56

    these teams that are

  388. 14:59

    that are acting as the boundaries, and

  389. 15:00

    they don't talk to each other, let's

  390. 15:01

    say.

  391. 15:02

    How do we communicate? There are two

  392. 15:04

    agents on either of the side, right? How

  393. 15:06

    do we do it? So, there is A2A protocol

  394. 15:09

    which can help us establish the

  395. 15:12

    contracts in terms of skills.

  396. 15:14

    And we can use A2A as a protocol there,

  397. 15:17

    which kind of

  398. 15:19

    is a boundary between the teams.

  399. 15:22

    Yeah, over to you, Uday.

  400. 15:29

    >> All right. So, as we went through the

  401. 15:30

    stack,

  402. 15:32

    it's obvious that um some components of

  403. 15:34

    the stack are in a more mature state and

  404. 15:38

    we already have good answers for them.

  405. 15:40

    As Uday said, the runtime, I think it's

  406. 15:43

    pretty much solved. We are so advanced

  407. 15:44

    in orchestration and we are running LLMs

  408. 15:47

    in kind of uh a very

  409. 15:49

    uh brute-force way. So, scaling is not a

  410. 15:52

    not a problem. Also, memory, I think uh

  411. 15:55

    as

  412. 15:56

    uh the frontier LLMs get better and as

  413. 16:00

    our practices get better,

  414. 16:02

    we will uh find a way to cover the

  415. 16:05

    majority of the use cases and there is

  416. 16:06

    good maturity around the the cloud

  417. 16:09

    providers.

  418. 16:10

    Uh MCP has emerged as the de facto

  419. 16:13

    protocol and tool calling is now a

  420. 16:16

    feature that everybody supports. So, we

  421. 16:18

    are seeing some industry convergence

  422. 16:21

    around that as well and MCP as a

  423. 16:24

    standard is also evolving. Now, it's

  424. 16:25

    becoming stateless. It's uh we are

  425. 16:28

    reaching a point where kind of we know

  426. 16:30

    how to invoke uh services and and and

  427. 16:33

    tools with agents.

  428. 16:35

    Uh in some areas, things are happening,

  429. 16:39

    but you know, there's still a lot of

  430. 16:40

    unknown. Around observability, there is

  431. 16:43

    a push towards OTEL, but does OTEL

  432. 16:46

    really work for agentic calls?

  433. 16:49

    Uh yeah, you can make it work as Uday

  434. 16:51

    was saying.

  435. 16:52

    Um also, we are getting more comfortable

  436. 16:55

    around um around that the the the the

  437. 16:58

    testing patterns. It's very hard to

  438. 16:59

    test, but we have found a way to give

  439. 17:02

    customers um quality experiences even

  440. 17:05

    with the unreliability of agentic system

  441. 17:07

    and I think that's kind of

  442. 17:09

    uh getting in a in a state that is uh

  443. 17:12

    that is more better defined.

  444. 17:15

    Orchestration is another one

  445. 17:17

    um,

  446. 17:18

    where, you know, we have a

  447. 17:21

    uh, we have patterns, uh, we can build,

  448. 17:24

    you know, bigger agents, smaller agents.

  449. 17:27

    Uh, as we said previously, probably the

  450. 17:30

    right answer is to not over-engineer.

  451. 17:34

    Uh, so we're learning there and and and

  452. 17:36

    uh,

  453. 17:37

    a pattern of school thought is also

  454. 17:40

    emerging. Uh, where we're all struggling

  455. 17:43

    with and the previous talk was about

  456. 17:45

    this for the developer, um,

  457. 17:47

    AI assistant development perspective,

  458. 17:49

    but also we're seeing these issues from

  459. 17:52

    our production agents. It's very hard to

  460. 17:55

    predict cost and it's very hard to

  461. 17:57

    manage cost, uh, and put guardrails and

  462. 18:01

    solve this in a way where there is

  463. 18:02

    reliable, maybe fallback or have agents

  464. 18:06

    be, uh, using cheaper models for certain

  465. 18:10

    tasks. Uh,

  466. 18:11

    uh, this is all driven by kind of the

  467. 18:14

    big AI vendors who, I think, their

  468. 18:17

    interest is for us all to spend more

  469. 18:20

    tokens. Um, replay and debugging, Woody

  470. 18:23

    talked about that, that's also a big big

  471. 18:25

    issue. It's very hard

  472. 18:28

    to understand, but I think

  473. 18:30

    this is also something that that is

  474. 18:32

    going to be solved because we can now

  475. 18:35

    use, uh, agents to

  476. 18:37

    uh, get over the cognitive overload of

  477. 18:40

    trying to debug what they do.

  478. 18:43

    And then standards, um, standards are

  479. 18:46

    emerging uh, by,

  480. 18:49

    you know, the community. Uh, Hotel, as I

  481. 18:51

    mentioned, agent to agent is young, it's

  482. 18:53

    kind of pushed by certain vendors, but I

  483. 18:56

    think over time we will we will get, uh,

  484. 18:58

    there.

  485. 19:00

    Uh, with all of this said, you know, we

  486. 19:03

    know what we need and it's up to us to

  487. 19:06

    write and build it.

  488. 19:07

    Thank you, everybody.

  489. 19:09

    >> [applause]

  490. 19:27

    >> I