AI Engineer World's Fair 2026

Preferences Over Benchmarks: Model Routing — Archana Kamath & Tyler Gillam, DigitalOcean

Read the talk

Preferences Over Benchmarks: Model Routing

Archana Kamath and Tyler Gillam show how per-request routing can trade a small amount of measured quality for lower cost and latency, while adding failover and an evaluation loop that a single-model setup lacks.

From a talk by Archana Kamath and Tyler Gillam

At a glance

Ideas worth remembering

  • Choose models per request rather than per application: task, tools, cost, latency, risk, and user preference all affect what “right” means.

  • Separate task matching from model selection. After identifying the task, apply its eligible model pool, optimization policy, and failover order.

  • Do not confuse a convincing side-by-side demo with proof. Use representative evaluations to compare quality, tokens, latency, and cost, and preserve uncertainty in LLM-judged scores.

  • In the demonstrated coding session, routing reduced cost from $0.25 to $0.08 after the initial build and from $0.44 to $0.14 after tests and documentation, with subjectively similar output.

  • Routing is a foundation layer. Evaluations, caching, and personalization determine whether it improves a real workload over time.

Why one model is the wrong unit of choice

The familiar model-selection habit starts with a leaderboard: find the highest-ranked model and send every request to it. Archana Kamath argues that this optimizes the wrong unit. An application does not have one uniform workload; it receives individual requests with different difficulty, latency requirements, and consequences for failure.

Three pressures break the one-model habit. Cost: paying frontier-model rates for routine work wastes inference budget. Fit: classification, code generation, and security review do not demand the same capabilities. Risk: when one provider or model degrades, a product built around that single dependency has no failover path. Kamath compares the emerging discipline of model orchestration with FinOps because teams must actively govern where inference spending goes rather than treating every token as equivalent.

Her examples establish a rough capability ladder. Classification and labeling may fit a small open model. Code generation and bug fixing may work well on a mid-sized open-weight model. Accuracy-sensitive work such as code review or security analysis may justify a frontier model. Inline code completion adds another constraint: even an accurate answer can be unsuitable if routing and generation are too slow for an interactive editor.

A public benchmark cannot encode the complete decision because the model is only one component of the deployed system. The relevant variables include the request’s task, the system prompt and tools around the model, the acceptable cost, the required latency, and the end user’s preferences. Routing turns those application-level requirements into a per-request model-selection problem.

0:122:38
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

Turn preferences into routing policy

Tyler Gillam begins with the main objection to automatic routing: a black box can make a poor choice without giving builders a practical way to correct it. DigitalOcean’s proposed answer sends each request through the open-source Plano-based routing architecture. A purpose-built routing model interprets the request against configured tasks, while explicit preferences and rules constrain what it may choose.

Builders can describe tasks in natural language, set priorities such as cost, latency, or quality, name preferred models, and add hard decision-tree rules. Presets provide a starting point, but the important feature is editability: the routing policy can be changed and then tested against the application’s own evaluation set. Gillam describes the operating loop as route, evaluate, adjust, and feed the result back into the policy.

The software-engineering configuration makes the two-stage decision concrete. First, the router matches the request to a task such as bug fixing, code generation, or test writing. Then the task’s policy selects from its eligible model pool. A manual ranking can prefer one model and use another only as failover. A fastest policy can instead choose whichever eligible model has been fastest during roughly the previous 30 minutes.

This separation matters. Intent matching answers, “What kind of work is this?” Selection policy answers, “Given this task and its allowed models, what should we optimize now?” Keeping those decisions distinct lets a team change model availability, priority, or failover behavior without rewriting the calling application’s task logic.

How it fits togetherFrom request to selected model

Includes the prompt and surrounding workflow context.

The router first identifies the task, then applies that task’s model pool and selection policy.

4:355:06
Suggest correction

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

4:26 · section reference included

A playground shows behavior; an evaluation tests it

The first side-by-side demonstration sends three related prompts through a fixed premium model and the software-engineering router. “Write a basic Fibonacci function” matches a code-snippets task and goes to a comparatively inexpensive model. “Optimize my function” matches performance optimization and takes a different route. “Write some unit tests” matches test writing and code verification, selecting yet another configured model.

The playground makes the mechanism visible: related turns in one coding conversation need not use the same model. It also displays cost and speed per request. But Gillam calls the output comparison a “vibe check,” which is the right limitation to preserve. A few plausible-looking answers can reveal routing behavior; they cannot establish dependable quality.

The accompanying evaluation compares the router with the fixed premium model over a dataset. The router scores 90% correctness and the single model scores 95%. Gillam characterizes the difference as close to the uncertainty of the LLM-based judge, while the router uses substantially fewer tokens and returns faster. That interpretation should remain conditional: the talk does not provide the dataset size, judge calibration, repeated-run variance, or task-level breakdown needed to establish statistical equivalence.

8:018:27
Suggest correction

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

8:01 · section reference included

The session-level cost gap compounds across agent steps

The larger demonstration moves from isolated prompts to two coding-agent sessions. Both receive the same request: “Build me a spinning wheel app.” The left terminal uses a fixed premium-model configuration; the right sends requests to the software-engineering router. A lower observability panel reports token use, selected models, matched tasks, and accumulating cost as the agents work.

On the routed side, code-generation requests go to the model configured for that task, and the session uses two models over the course of the initial build. On the fixed side, requests largely continue to the premium model, although Gillam notes that the coding tool itself appears to make an occasional different-model choice. That caveat means the comparison is not a perfectly isolated experiment between a literally single-model agent and a router; it is a live comparison between the two demonstrated configurations.

Both builds finish at a similar time, and Gillam judges their visible output as comparable, while explicitly acknowledging the subjectivity of that assessment. After the first feature request, the routed session has spent $0.08 and the other session $0.25—about a threefold difference at that point. This is useful evidence of the session’s observed economics, not proof that every coding workload will preserve the same ratio or quality.

The next prompt asks both agents to write unit tests. The router recognizes test writing and code verification, then uses the model configured for that task. A final prompt asks for README documentation. After those additional steps, the routed session totals $0.14 and the comparison session totals $0.44. The absolute savings are small in one short demo, but agent workflows multiply requests; repeated per-step savings can therefore accumulate across sessions and users.

Compare the ideasOne coding session, two selection strategies

Most requests retain premium-model cost and latency; demonstrated final session cost: $0.44.

The demonstrated router changes models by task, while the comparison configuration sends most work to one premium model.

9:4110:12
Suggest correction

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

9:41 · section reference included

Routing is the foundation, not the finish line

Kamath closes with the implementation claims that make routing practical in an application’s request path: a decision in under 200 milliseconds per request, a purpose-built mixture-of-experts routing model, no application-code changes beyond adopting the router configuration, and no additional router charge. The routing components are presented as open source through Plano, allowing teams to inspect or operate the mechanism rather than depending entirely on an opaque proprietary selector.

Routing alone only chooses where work goes. Kamath places three layers above it. Evaluations test whether those choices work for the application. Caching avoids paying repeatedly for an answer that can be reused. Personalization adapts routing toward what works for a particular team. Together they turn static configuration into a proposed improvement loop rather than a one-time model-picking exercise.

The strongest version of the talk’s conclusion is also the most bounded: benchmarks remain useful signals, but they describe only part of a deployed system. A router still needs representative evaluations, well-written task descriptions, sensible model pools, and explicit cost and latency goals. The live demo shows promising savings and comparable-looking output under its conditions; it does not remove the need to measure failures, judge uncertainty, or verify quality on the workload that will actually ship.

That leaves a practical replacement for leaderboard climbing: define what “right” means for each request, route within those constraints, evaluate the results, and revise the policy. There may be no single best model, but there can be a measured selection process that reflects the application’s real preferences.

How it fits togetherThe routing improvement loop

Describe tasks, cost and latency priorities, model pools, and hard rules.

Routing becomes more useful when observed results change future configuration and behavior.

13:4414:14
Suggest correction

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

13:44 · section reference included

Resources

  • A first-party technical article expanding on Plano, intent matching, model ranking, selection policies, failover, routing models, and the proxy request path discussed in the presentation.

Read the complete timestamped transcript
  1. 0:01

    [music]

  2. 0:12

    >> Hello everyone.

  3. 0:14

    So, preferences over benchmarks.

  4. 0:17

    The talk today is about model routing

  5. 0:20

    and specifically why the way most people

  6. 0:23

    think about picking a model, which

  7. 0:25

    usually is chasing, you know, to the top

  8. 0:26

    of a benchmark, is actually the wrong

  9. 0:29

    instinct.

  10. 0:32

    I'm Archana, VP of engineering for

  11. 0:34

    inference engine and AI infrastructure

  12. 0:36

    at DigitalOcean. And I'll be joined by

  13. 0:38

    Tyler, who built parts of the router and

  14. 0:41

    will actually do a live demo for us

  15. 0:42

    today.

  16. 0:44

    We both work on the managed agent

  17. 0:45

    orchestration and inference engine

  18. 0:47

    products at DigitalOcean.

  19. 0:52

    So, you may know DigitalOcean as

  20. 0:54

    droplets, databases, and app platform.

  21. 0:57

    All of that is true. We are also the AI

  22. 0:59

    native cloud.

  23. 1:01

    This is five integrated layers, starting

  24. 1:04

    from infrastructure all the way up to

  25. 1:06

    the managed agents, with the inference

  26. 1:08

    engine right in the middle.

  27. 1:10

    And that's why we are here talking about

  28. 1:12

    inference router. The routing lives in

  29. 1:14

    the inference engine, and if you want to

  30. 1:16

    know more about our stack and the full

  31. 1:17

    story, please come find us at the booth.

  32. 1:24

    So, everybody is reaching out for the

  33. 1:25

    model routing. And let's look at three

  34. 1:28

    reasons why the three reasons that are

  35. 1:30

    breaking the one model habit for most

  36. 1:32

    users.

  37. 1:33

    The first one I want to talk about is

  38. 1:35

    cost.

  39. 1:36

    Spend is exploding, and even companies

  40. 1:38

    like Walmart, Uber, Microsoft, they're

  41. 1:41

    actively capping usage to control the

  42. 1:43

    inference bills.

  43. 1:46

    Second one is fit.

  44. 1:48

    One model for every task is likely an

  45. 1:50

    overkill.

  46. 1:51

    You're essentially paying frontier rates

  47. 1:53

    for a work that a much smaller model

  48. 1:55

    will be able to handle really well.

  49. 1:58

    And the third one, which for me is the

  50. 1:59

    most important one, is the risk.

  51. 2:02

    The risk associated with one single

  52. 2:04

    model.

  53. 2:05

    Models can go down, and if you bet your

  54. 2:07

    entire product and production on one

  55. 2:10

    model, you have no failover when

  56. 2:12

    something degrades.

  57. 2:16

    And model orchestration is actually the

  58. 2:18

    new FinOps.

  59. 2:20

    As you all know, cloud cost optimization

  60. 2:23

    took us about 15 years for it to

  61. 2:25

    actually become a real good discipline

  62. 2:27

    and for companies to get it right.

  63. 2:29

    This one actually is arriving in months

  64. 2:31

    and not years. And here's the premise

  65. 2:33

    that I think everybody gets wrong about

  66. 2:35

    this.

  67. 2:37

    We all think of like what is the best

  68. 2:39

    model for a job. Here's the thing. There

  69. 2:42

    is no single best model.

  70. 2:45

    The right one depends on the actual

  71. 2:47

    request.

  72. 2:48

    For example, if you're doing

  73. 2:50

    classification and labeling,

  74. 2:52

    a small open model may very well work

  75. 2:54

    really well for you and will give you

  76. 2:56

    really good cost optimizations.

  77. 2:58

    However, if you're running code

  78. 3:00

    completion in line, you will likely need

  79. 3:03

    really fast routing, and that is where a

  80. 3:05

    faster, larger routing model comes into

  81. 3:08

    picture.

  82. 3:09

    Think about code generation and bug

  83. 3:11

    fixing. You're likely good with an mid

  84. 3:13

    open weight model, uh and again, it'll

  85. 3:16

    bring you like really good cost

  86. 3:17

    optimizations over using a frontier for

  87. 3:19

    something that is likely an overkill in

  88. 3:21

    this situation.

  89. 3:23

    But then you're looking at like really

  90. 3:24

    accuracy-critical tasks, like code

  91. 3:27

    review and security, you're likely going

  92. 3:29

    to lean towards a frontier model.

  93. 3:33

    So, essentially, what makes a model

  94. 3:35

    right for a request?

  95. 3:37

    It's a mix that no public leaderboard

  96. 3:40

    can actually encode for you.

  97. 3:42

    Because it's the task itself. What are

  98. 3:44

    you actually trying to achieve? What is

  99. 3:45

    your model trying to achieve?

  100. 3:47

    The system prompts and tools around it,

  101. 3:49

    that is the methodology by which you're

  102. 3:51

    getting something done using a model.

  103. 3:54

    The cost you're willing to spend, this

  104. 3:55

    is a very, very important aspect.

  105. 3:58

    And latency the use case needs, not all

  106. 4:01

    use cases need the same amount of

  107. 4:03

    latency. So, depending on what you're

  108. 4:04

    trying to do, this can vary widely. And

  109. 4:07

    finally, the end user preference. All of

  110. 4:08

    this is driven by what the end user

  111. 4:10

    really wants out of your application.

  112. 4:13

    So, I'm going to welcome Tyler onto

  113. 4:15

    stage so that he can actually show you

  114. 4:17

    the Inference Light Router live in

  115. 4:19

    action and show you how it can really

  116. 4:21

    help with all of these key aspects that

  117. 4:24

    I'm calling out here.

  118. 4:31

    >> Testing. All right. Thank you, Archana.

  119. 4:35

    Okay. So, many builders

  120. 4:38

    have tried auto routing before.

  121. 4:40

    But the problem was that it feels like a

  122. 4:42

    black box.

  123. 4:44

    The router makes a choice, and if that

  124. 4:45

    choice results in poor performance, you

  125. 4:47

    really have no way of improving it.

  126. 4:49

    We built ours differently.

  127. 4:51

    At the architecture level, which is what

  128. 4:53

    you can see on the screen,

  129. 4:54

    a request runs through our open proxy

  130. 4:56

    planner

  131. 4:57

    and our purpose-built routing model,

  132. 4:59

    both open source.

  133. 5:01

    There's no vendor lock-in, which is a

  134. 5:03

    key DigitalOcean value.

  135. 5:06

    You describe what matters for your

  136. 5:07

    workflow,

  137. 5:09

    costs, latency, quality, preferred

  138. 5:12

    models,

  139. 5:14

    or hardware. Then the router uses that

  140. 5:16

    context to pick the right model per

  141. 5:19

    request.

  142. 5:20

    Because the routing model is specialized

  143. 5:22

    for this job, it's super fast, under 200

  144. 5:24

    milliseconds, and it costs customers

  145. 5:26

    nothing extra. In our evaluations, it

  146. 5:29

    actually has beaten frontier models like

  147. 5:30

    the GPT-5 series models at routing tasks

  148. 5:33

    itself with a fraction of the latency.

  149. 5:37

    So, the difference is simple.

  150. 5:39

    This is routing you can customize,

  151. 5:40

    evaluate, and improve without vendor

  152. 5:43

    lock-in.

  153. 5:48

    So, you bring your preferences and we

  154. 5:50

    honor them. You describe a task in

  155. 5:52

    natural language and set what matters,

  156. 5:54

    cost, latency, and task description. You

  157. 5:57

    bring your rules and we execute them

  158. 5:59

    intelligently.

  159. 6:01

    Layer decision tree rules on top, start

  160. 6:03

    from presets, change anything you want

  161. 6:06

    in a single line of code.

  162. 6:08

    And you validate with your own

  163. 6:09

    evaluations, not someone else's

  164. 6:10

    leaderboard. Route, evaluate, adjust,

  165. 6:15

    then feed that back in. That loop is

  166. 6:17

    key.

  167. 6:19

    Okay, we're going to switch gears here.

  168. 6:21

    We're going to do a live demo.

  169. 6:25

    Bear with me here.

  170. 6:29

    All right, I'm going to show you a

  171. 6:30

    couple of things. First, I'll show you

  172. 6:31

    router configuration in the UI, how to

  173. 6:34

    use it, and then how you can use

  174. 6:35

    evaluations to measure and improve your

  175. 6:38

    router's performance.

  176. 6:39

    And then I'll show you a real router

  177. 6:41

    that I created inside a coding agent

  178. 6:43

    workflow.

  179. 6:45

    So I'm here in the cloud console, the

  180. 6:47

    DigitalOcean cloud console. And you can

  181. 6:49

    see my routers. We have several presets.

  182. 6:51

    You can see software engineering in

  183. 6:52

    general writing,

  184. 6:54

    knowledge bases and document

  185. 6:55

    intelligence. In this case, I've

  186. 6:57

    actually created my own. So I I

  187. 6:59

    customized our preset software

  188. 7:00

    engineering. Uh if we click into this,

  189. 7:03

    we can see that I have several several

  190. 7:05

    different tasks here.

  191. 7:06

    I have bug fixing, code generation, test

  192. 7:09

    writing, and a few others.

  193. 7:11

    This also shows that you can specify

  194. 7:13

    more than one model per task

  195. 7:15

    in the bug fixing case and code

  196. 7:16

    generation case.

  197. 7:18

    Um in the code generation, I have GLM

  198. 7:20

    5.2 and GPT 5.2.

  199. 7:22

    And because I really want to always

  200. 7:24

    route to GLM 5.2 unless it's down, I use

  201. 7:27

    this manual ranking option. So it'll

  202. 7:28

    always go to GLM 5.2. If GLM fails,

  203. 7:31

    it'll fail over to GPT 5.2.

  204. 7:35

    In the bug fixing one, you can see a

  205. 7:36

    little bit of a different one. In this

  206. 7:37

    case, I have selection policy fastest.

  207. 7:40

    So out of this model pool, if it matches

  208. 7:43

    to bug fixing, it'll pick whichever

  209. 7:44

    one's been fastest in about the last 30

  210. 7:46

    minutes.

  211. 7:48

    Okay, let's do this in action a little

  212. 7:49

    bit. Here's our playground. We're all

  213. 7:51

    show a couple of examples side by side.

  214. 7:54

    First, I'll start with this is a simple

  215. 7:56

    prompt, write a basic Fibonacci

  216. 7:57

    function.

  217. 8:01

    And as this runs, we can see on the left

  218. 8:03

    we're writing to Opus.

  219. 8:05

    On the right we're using our software

  220. 8:06

    engineering router that I just showed

  221. 8:07

    you.

  222. 8:08

    And you're going to see that it picks

  223. 8:09

    different models on the right. So, in

  224. 8:11

    this case, it matched to the code

  225. 8:12

    snippets task and just used the llama

  226. 8:15

    format router model that I had

  227. 8:16

    configured for that one. And if we

  228. 8:18

    scroll down, I mean this is this is

  229. 8:19

    obvious, right? But this model is

  230. 8:21

    extremely fast and extremely cheap

  231. 8:23

    compared to Opus.

  232. 8:27

    Now, let's say optimize my function.

  233. 8:30

    And we'll see the same thing happen. In

  234. 8:32

    this case, it matched to the code

  235. 8:33

    performance optimization task using

  236. 8:35

    GPT-5.2.

  237. 8:36

    And again, it's obviously significantly

  238. 8:38

    faster. If we scroll down here, we can

  239. 8:40

    also see that it's significantly

  240. 8:42

    cheaper.

  241. 8:44

    We'll do one more, write some unit

  242. 8:45

    tests.

  243. 8:50

    Okay, and in this case it matched to

  244. 8:52

    Claude 5 Summit on the test writing and

  245. 8:53

    code verification.

  246. 8:56

    And again, we're going to see faster and

  247. 8:57

    cheaper.

  248. 8:58

    So, it's a pattern. It matches my, you

  249. 9:00

    know, vibe check, right? It still vibes

  250. 9:02

    though. How you actually prove it is

  251. 9:04

    working it through evaluations.

  252. 9:07

    So, I have an evaluation that I ran

  253. 9:09

    here.

  254. 9:10

    Comparing Opus on the left or actually

  255. 9:13

    on the right hand side to my router on

  256. 9:15

    the left hand side.

  257. 9:17

    You can see that the scores, 90% for my

  258. 9:19

    router, 95% correctness for Opus, are

  259. 9:22

    very, very close. In fact, that's pretty

  260. 9:24

    much within oh, it was a judge uh margin

  261. 9:27

    of error.

  262. 9:29

    But we what's really interesting is if

  263. 9:30

    we scroll down here,

  264. 9:32

    we can see that the router used

  265. 9:34

    significantly less tokens and was

  266. 9:37

    significantly faster than Opus.

  267. 9:41

    Okay, let's jump into a real workflow

  268. 9:43

    here. This is where the inference router

  269. 9:45

    really becomes impactful.

  270. 9:47

    Here I have two terminals running open

  271. 9:49

    code.

  272. 9:50

    On the left, I have a single model

  273. 9:51

    approach using quad Opus. So, I have

  274. 9:53

    Opus set up or open code set up with

  275. 9:55

    Opus.

  276. 9:56

    On the right, I've configured open code

  277. 9:58

    to send requests to our software

  278. 9:59

    engineering router

  279. 10:00

    that I just showed you configure.

  280. 10:03

    Um below, I kind of have this custom

  281. 10:04

    built open code where you'll be able to

  282. 10:06

    see live uh

  283. 10:08

    observability essentially.

  284. 10:09

    So, let's go go ahead and get these

  285. 10:10

    started. It's just a simple

  286. 10:12

    feature request preloaded into here.

  287. 10:14

    Build me a spinning wheel app.

  288. 10:16

    I'll run the same prompt in both.

  289. 10:18

    And as this runs, we can focus on the

  290. 10:20

    bottom panel. So, it'll start to show up

  291. 10:22

    here. Hopefully, you can see that on the

  292. 10:23

    screen.

  293. 10:24

    Uh you'll be able to see token usage in

  294. 10:25

    real time, which models are being

  295. 10:27

    selected,

  296. 10:28

    what task those map to, and the cost

  297. 10:30

    accumulating live.

  298. 10:32

    So, on the right, we can already see

  299. 10:33

    that we're starting to route to Gemini

  300. 10:35

    5.2 because our requests are starting to

  301. 10:38

    match the code generation.

  302. 10:40

    And on the left, of course, we're just

  303. 10:41

    routing to quad Opus. I think open code

  304. 10:43

    sometimes routes to to Haiku by itself.

  305. 10:45

    So, that's what you see there.

  306. 10:48

    And we'll notice the latency, too, how

  307. 10:49

    quickly things start to come back. In

  308. 10:51

    this case, it wants me to

  309. 10:54

    create a temporary directory.

  310. 10:58

    So, the key difference here is that on

  311. 10:59

    the left, we'll see every single request

  312. 11:01

    that I write goes to the same premium

  313. 11:03

    model. Cost and latency are going to

  314. 11:05

    stay high for pretty much every single

  315. 11:06

    task. On the right, the router is

  316. 11:09

    selecting models based on the task.

  317. 11:13

    >> [snorts]

  318. 11:13

    >> So, we're optimizing both cost and

  319. 11:15

    speed.

  320. 11:16

    And we can see that uh our software

  321. 11:17

    engineering router already finished. And

  322. 11:19

    if we look here, it actually matched to

  323. 11:21

    two models throughout. So, let's go

  324. 11:22

    ahead and open this app and see how it

  325. 11:23

    looks.

  326. 11:25

    Okay, this actually looks really solid

  327. 11:26

    to me. And Opus 4.7 finished at a

  328. 11:29

    similar time. Let's take a look at that.

  329. 11:32

    We can compare them. I mean, it's This

  330. 11:33

    is a vibe check, right? But honestly, I

  331. 11:35

    would say the software engineer router

  332. 11:36

    did better cuz this is an interesting

  333. 11:38

    approach that you

  334. 11:39

    I'm not even sure it works too well. So,

  335. 11:41

    in this case,

  336. 11:42

    the router did a little bit better.

  337. 11:45

    So, now that last step is done, you

  338. 11:46

    know, we get similar outputs, but if we

  339. 11:48

    look here,

  340. 11:50

    the software engineer router has only

  341. 11:52

    spent 8 cents on the session,

  342. 11:54

    while Opus directly has spent 25 cents.

  343. 11:56

    So, we have a about a 3x in cost and

  344. 11:59

    very, very similar quality so far.

  345. 12:03

    Let's try another another prompt here.

  346. 12:05

    What What comes next in a software

  347. 12:06

    engineering life cycle? Probably writing

  348. 12:08

    some unit tests, right?

  349. 12:12

    So, we'll write this in both.

  350. 12:16

    Start with this first. On

  351. 12:17

    [clears throat] the right, we have the

  352. 12:19

    router again. And we can see that it got

  353. 12:21

    matched to the test writing and code

  354. 12:23

    verification, which picked the Claude 5

  355. 12:25

    Sonnet

  356. 12:27

    model because that's what I configured

  357. 12:28

    earlier.

  358. 12:29

    And we'll see the same pattern. It's

  359. 12:30

    going to be significantly cheaper

  360. 12:32

    overall across the entire session than

  361. 12:34

    going straight to Opus.

  362. 12:37

    So, we'll let this finish here.

  363. 12:42

    Okay, and that one finished. Let's just

  364. 12:44

    queue up one more. Write some

  365. 12:46

    documentation in a read me.

  366. 12:54

    And then we'll compare

  367. 12:56

    the total session cost.

  368. 13:03

    Okay, and as this runs, we'll wait and

  369. 13:05

    see what it does.

  370. 13:09

    Okay, it created the read me. And well,

  371. 13:11

    if we look here, we can see that the

  372. 13:13

    total session cost

  373. 13:14

    for the router was 14 cents, while the

  374. 13:17

    total session cost for Opus was 44

  375. 13:19

    cents.

  376. 13:21

    So, at this point, we can see the cost

  377. 13:22

    is significantly lower,

  378. 13:24

    latency is optimized per step,

  379. 13:26

    and the quality remains pretty similar

  380. 13:28

    across. So, you can see as you scale

  381. 13:30

    this, the cost

  382. 13:32

    performance really add up.

  383. 13:35

    Okay. Archana, thank you.

  384. 13:41

    >> [applause]

  385. 13:44

    >> Thank you so much, Tyler. And that was

  386. 13:47

    actually a live demo that we ran here.

  387. 13:49

    So, thanks to Tyler for setting it up

  388. 13:51

    and taking us through that.

  389. 13:53

    So,

  390. 13:54

    now that you've seen it work, let's look

  391. 13:56

    at some quick facts.

  392. 13:58

    Routing decision in under 200

  393. 14:00

    milliseconds per request.

  394. 14:03

    It runs on a custom mixture of experts

  395. 14:05

    model purpose-built for routing.

  396. 14:08

    Zero application code changes needed

  397. 14:10

    from you to get it to adopt.

  398. 14:12

    And it's free and included, so you do

  399. 14:13

    not have to roll out your own router.

  400. 14:16

    And we open source the whole routing

  401. 14:18

    model via plain old, so you can actually

  402. 14:20

    check how that looks as well.

  403. 14:24

    The last thing I wanted to talk about

  404. 14:26

    was a bit about

  405. 14:27

    routing is the foundation layer. It's

  406. 14:29

    not really the destination.

  407. 14:31

    And there are three things that we

  408. 14:32

    usually build on top of it.

  409. 14:34

    The first one is evals to prove that the

  410. 14:37

    right model works with your use case and

  411. 14:39

    your test well.

  412. 14:41

    Caching, so that you can stop paying

  413. 14:43

    twice or more for the same answer each

  414. 14:46

    time.

  415. 14:47

    And personalization, so that the router

  416. 14:49

    learns what works for your team over

  417. 14:52

    time.

  418. 14:53

    This is a continuous improvement loop

  419. 14:55

    maturing over time. That means that the

  420. 14:57

    more you route and evaluate, the better

  421. 15:00

    the router does for your workload.

  422. 15:04

    So, to summarize, where does this leave

  423. 15:06

    you?

  424. 15:07

    There is no single best model. There's

  425. 15:09

    only the right model for the request.

  426. 15:12

    And benchmarks will only tell you part

  427. 15:14

    of the story. Your preferences will tell

  428. 15:16

    you the rest.

  429. 15:17

    And we built the router to honor your

  430. 15:19

    preferences and stay open, so that

  431. 15:21

    you're never locked into a single stack.

  432. 15:24

    And that's how teams actually built.

  433. 15:27

    We are DigitalOcean, any i-native cloud.

  434. 15:30

    Come find us at the booth and route your

  435. 15:32

    next workload with us. Thank you so much

  436. 15:33

    for being here.

  437. 15:36

    >> [applause]