Developers May Stop Depending on Libraries
Speakers

Shaun Smith built Fast Agent, the first agent framework designed from the ground up for MCP. He also built the Hugging Face MCP server, and in a recent interview, he showed us how to combine them by deploying a sub-agent as a remote MCP server.

At the moment Demetrios is immersing himself in Machine Learning by interviewing experts from around the world in the weekly MLOps.community meetups. Demetrios is constantly learning and engaging in new activities to get uncomfortable and learn from his mistakes. He tries to bring creativity into every aspect of his life, whether that be analyzing the best paths forward, overcoming obstacles, or building lego houses with his daughter.
SUMMARY
Shaun Smith is a software engineer, open source advocate, and MCP server maintainer at Hugging Face — creator of Fast Agent, the first agent framework built from the ground up around the Model Context Protocol.
In this conversation from the MCP Dev Summit in New York, Shaun and Demetrios dig into why powerful models are "liquifying" open source libraries, how MCP Apps are reshaping AI interfaces, and what it means when the distribution of ideas matters more than the distribution of code.
TRANSCRIPT
Demetrios: [00:00:00] All right, so at the beginning of April, I went to New York for the MCP Dev Summit, and while I was there, I got the chance to record a few podcasts with attendees that were at the event. This is one of those conversations. Hope you enjoy.
Demetrios: If you migrate your code to Rust and then migrate it to another language, it's a cheat code because- Yeah
Demetrios: you get better performance since it's so opinionated. Yeah. And you really have to make it work with Rust. It's like New York. If you can make it with Rust, you can make it anywhere.
Demetrios: When I think open source models these days, I mean, I know Gemma 4 just came out, but Qwen models are incredible.
Shaun Smith: Yeah.
Demetrios: You've got the MinMax models. There's a lot of really good options that aren't necessarily homegrown American.
Shaun Smith: Yeah.
Demetrios: I know Reflection's trying to make an open source one. So far they haven't come out with anything, so-
Shaun Smith: Yeah[00:01:00]
Demetrios: we're patiently waiting.
Shaun Smith: Yeah. And Alan AI also pr- is another-
Demetrios: Yeah, Alan AI has it ...
Shaun Smith: American institute that-
Demetrios: And they're doing great stuff. Yeah, but it's, it's less directly competitive, like 4B models and large language models, right? It's more they do a lot of what I would consider creative. Uh, maybe creative is not the right word, just like different types of models.
Shaun Smith: So research. Um, you know, I think it's an important part of progressing the industry that people actually try different approaches- Mm-hmm ... produce research models, and share those results with the public. And it's always the case that while a model may not be useful for general purpose, it may be the case that a, a particular property of a model is useful for a specific, um, for a specific use case or for other researchers to build on.
Demetrios: Yeah. And that's the beauty of research out in the open.
Shaun Smith: Precisely.
Demetrios: You used to get a lot more companies [00:02:00] sharing how they trained their models, I feel like, and less and less now. I remember the Llama 3 paper came out, and that was great to see. Even Llama 4 was really good. That is an open model still.
Shaun Smith: Correct. Yeah.
Demetrios: But you saw, like, OpenAI was doing it a little bit.
Shaun Smith: Yeah, OpenAI were very, very generous with GPT OSS. Mm. Um, and again, I think, you know, it is worth, in this conversation, kind of drawing distinction between an open weight model- Yeah ... where the weights of the model, and so that you can run inference with it, is what is shared, and something which is fully open source, which would be the entire training pipeline- Yeah
Shaun Smith: and environments and datasets that went into the model. So there is a distinction between those two things, and often what we're talking about is open weight models and not necessarily fully open source pipe.
Demetrios: Yeah. The fully open source is very hard to do, right? Especially if you're worried about somebody suing you for the data that you [00:03:00] used.
Shaun Smith: Potentially. Um, that's one aspect to it The other thing is the amount of, you know, organizational effort and time it would take to also do that in a reproducible way. Yeah. Um, but, but certainly, you know, we see a lot of, um, a, a lot of very useful open data sets. Um, and to your point about the research, that's also critically, um, critically important- Mm.
Shaun Smith: because what's happening in post-training in, in the kind of things that, um, end users would be able to do with fine-tuning and, and customization- Yeah ... um, is, you know, massively opened up by people sharing their reinforcement learning environments and- Yeah ... obviously at Hugging Face we have libraries like, you know, TRL, um, that help people customize models themselves.
Shaun Smith: So, so the publishing of research and the making it accessible so that our users can Can implement it and take these ideas, and one of them is, uh Yeah.
Demetrios: How, how much have you [00:04:00] been going down the rabbit hole of the RL environments?
Shaun Smith: A reasonable amount. I referenced, um... I referenced this in my talk actually.
Shaun Smith: So I gave a talk at this, at this conference. Um, and one of the kind of opening things was that, uh, so in terms of like a rabbit hole, not so much, but the consequence of this has been incredibly important. Because if we kind of think about when MCP was launched, um, we didn't have Claude Code, we didn't have Goose, we didn't have Fast Agent.
Shaun Smith: Um, and, you know, we would bring an MCP server set of tools to a, to a model, and we would prompt it, and we'd kind of be delighted if it did one or two calls. And at the time, the Sonic models were specifically good at being able to chain two or three tool calls together.
Demetrios: Yeah.
Shaun Smith: And, uh, in, with those earlier models, when we talk often a lot about skills, I'm sure it will come up in this conversation- Mm-hmm
Shaun Smith: um, that kind of ability for the model to navigate and ingest content [00:05:00] and then make decisions on it wasn't actually there. And it's RL that's really given models that capability. So, you know, placing models into an environment and rewarding them based on the right behavior and- Yeah ... uh, and training on that, uh, means that we've now got these, you know, incredible self-propelling tool loops where we can get 80, 90, 100 turn tool loops, and that opens up obviously the immense power of these coding agents.
Demetrios: Yeah. It's funny, I remember two years ago at NeurIPS, RL was the huge thing again. Again- Yeah ... I guess. A- again, because it's not like... It, it just fell out of favor for a little bit and then came back. Yep. And you see it became the hot thing two years ago- Mm-hmm ... and now we're reaping the benefits of it.
Shaun Smith: Yeah, absolutely.
Shaun Smith: I was thinking, again, I think one of the, the kind of other quite amazing things is, um, SWE-bench, where- Yeah,
Demetrios: SWE-bench is great.
Shaun Smith: Yeah, exactly. [00:06:00] And their reference agent, their mini SWE agent, is 100 lines of code with a single tool. Yeah. A freeform, not even a JSON tool, and it can get 76%, which is close to state-of-the-art.
Shaun Smith: So models using a single tool are able to score that high on, on SWE-bench. And I think as, as kind of integrators, as people building solutions and, and platforms, kind of understanding how the models have been trained in that way means that we can build far more efficient solutions. Hmm.
Demetrios: Well, talk to me a little bit about Fast Agent and what the inspiration was behind it.
Shaun Smith: So, I mean, the, um, the inspiration behind it was, um, it's originally a fork of a project called MCP Agent, which was, um, a kind of an early framework. So... And again, this has changed so much over the last 12 to 14 months that- Previously, if you were looking to do LLM integration, you'd be kind of looking at frameworks and libraries, and looking at the API surface and thinking, "Is [00:07:00] this something that I can kind of, I can kind of work with?"
Shaun Smith: So you'd be looking at- That's all out the
Demetrios: window
Shaun Smith: now. Yeah, exactly. Yeah. But you'd be thinking, "Right, well, how is the API surface? Is this something that is easy to use?" Yeah. And NCP kind of accelerated that somewhat because with NCP, rather than building your own custom tool functions and integrating them, you, you kind of just had a standard way of, of doing this.
Shaun Smith: So the, uh, the kind of inspiration there was that actually, you know, you can build on the NCP primitives and start to build some really, really complex applications, and in particular, um, uh, y- you know, how, y- you... It's the model context protocol, but particularly how you can load context into the model and how powerful that is to actually get that from NCP servers.
Shaun Smith: Mm. Because you can, um, you can port them between other tools and frameworks, and you can reuse them, uh, in different ways. So, so the, the kind of goal initially was to kind of build a, uh, [00:08:00] almost like an inversion of control framework, but for using models and context. Um, and I had specific goals in mind, so I was, uh, looking at particular use cases around, um, kind of enterprise consulting, so, um, regulatory impact assessment, organizational design impact.
Shaun Smith: And in those kind of, um, environments, you often want to chain large chunks of, uh, context together. You want to- Mm ... integrate external information. Um, and so the, so the whole frame was kind of designed for those sort of, I would call them low-volume innovative workflows. Um, so that was kind of where it went.
Shaun Smith: And then it's become a reference platform for MCP. It is. So full MCP specification support, um, including sampling and elicitations and those things, and, uh, yeah, a very capable CLI and agencies tools or sub-agency system which let you build some quite complex applications.
Demetrios: I'm not sure I've, I've fully [00:09:00] understood the becoming a reference platform.
Demetrios: Can you explain that?
Shaun Smith: Yeah. So with MCP, um, it's... The protocol itself has got quite a large surface area. So, uh, it's split, um- You know, at a high level we talk about things being application controlled or model controlled and user controlled, and then in each of those buckets, clients and servers have different features.
Shaun Smith: And of course, the thing that we're kind of most familiar with is that we have MCP servers and they supply tools, and then your LLM can call the tools. There's a lot more sophisticated features in there, so, uh, you know, we have resources for, for bringing content into the application. You can list and, and find the...
Shaun Smith: find that content. Um, and a lot of MCP implementations don't necessarily support that full feature set.
Demetrios: Mm.
Shaun Smith: So for people building MCP servers, it can be quite difficult to have a reference client where you can say, "Right, well, you know, I want to try sampling."
Demetrios: Yeah.
Shaun Smith: Or, [00:10:00] "I, I want to rely on elicitation." And so Fast Agent's been a great platform for people to build those kind of integrations.
Shaun Smith: So it makes it very, very easy to connect to MCP servers in development, and makes it very, very easy to use some of those advanced features and- Uh-huh ... and test them out.
Demetrios: So it's a way for me to leverage this working well in the way that it's supposed to work, and test if it is valuable for my use case.
Shaun Smith: Exactly. And a good, um, a good example of that is, so as part of the, um, NCP repository, we have a, a server called the Everything Server-
Demetrios: Uh-huh ...
Shaun Smith: which is an NCP server which contains all of these features.
Demetrios: Uh-huh.
Shaun Smith: And you can then, you can then use all of these features. So, um, so it's- It lets
Demetrios: you play around with it.
Demetrios: It's like try before you buy type thing. Yeah,
Shaun Smith: precisely. Yeah. Precisely. So, so that's quite important. And it, it also acts as, it can also act as an NCP server platform, so you can deploy any of these kind [00:11:00] of agentic workflows and tool bundles as a server itself.
Demetrios: Mm.
Shaun Smith: Um, which again, is hugely powerful. So, uh, one example of that, uh, we have at the moment is, um, at Hugging Face, we've, you know, we're quite keen on being very efficient with people's context windows.
Demetrios: Yeah.
Shaun Smith: So, um, so we have a tool which has got... We have a couple of tools which have a very, very small token surface area, but give you a huge amount of functionality.
Demetrios: Okay. It's- Tell me more. I like this.
Shaun Smith: Yeah. So, um, so there's two that I think are probably worth talking about. Um, and again, kind of just playing back to the previous conversation about reinforcement learning, these kind of things have, are now possible because of the slightly stronger models.
Demetrios: Yeah.
Shaun Smith: So the first of those is, um, what we call our dynamic space tool. Now, on Hugging Face, we've got a way for people to deploy [00:12:00] machine learning applications. So when you see a new image generation model or an OCR model or a text generation model, quite often there'll be an application that's bundled with it, which you can go to and you can use to test the application out.
Shaun Smith: And so that's a lot of fun, and we have, you know... It's a, a genuinely useful environment for people to deploy applications. We have, um, a zero GPU platform, so you can actually deploy these applications without it costing you a lot of-
Demetrios: Mm-hmm ...
Shaun Smith: dollars. Yeah. Right? So it's very useful. And,
Demetrios: and you're hosting it too, right?
Shaun Smith: Yeah. It's- So we, yeah, so we host it. Um, the zero GPU platform lets you deploy, for example, your own image generator model, and you can then use it without incurring the huge expense of renting a, uh, renting a GPU. Now, what the Dynamic Spaces does is give the user the ability through plain natural language prompting to say things like, "Well, I want to create an image.
Shaun Smith: I want it to be photorealistic." And then we can select [00:13:00] the appropriate machine learning model and dynamically generate calls to that model so that you can then- Wow ... integrate it. And you can say, "I want to change the camera angle." So we know that we have, um, low-rank adapt- adaptation models that can change the camera angle, so it will then use that.
Shaun Smith: So you can paste an image URL in and say, "Well, I want to look at that, look at that from a bird's-eye view," or, "I want to see the camera angle-
Demetrios: Wow ...
Shaun Smith: from a 45-degree image." So through a kind of very, very narrow tool surface, I think ChatGPT measured it at 45 tokens, you open up the ability to access- All that's behind.
Shaun Smith: Yeah ... effectively infinite machine learning models, infinite multimodal-
Demetrios: Yeah ...
Shaun Smith: and textual and audio capabilities, um- Wow ... through, through that very... So that's kind of incredibly, incredibly powerful.
Demetrios: Yeah, it's like a small door that opens up- Yeah ... into a mansion.
Shaun Smith: Small door that opens up into a mansion, and you can then chain those things together because the output from one can be used for another, so because, because we don't really [00:14:00] store the content A second example, um, of that is our new Hub Query tool.
Shaun Smith: So it's, it's still labeled as experimental, but, um, one of the great things about, um, our users is, is that when they have an account, they have a certain amount of influence that they can use. And that gives us the opportunity, for example, um, with the new Hub Query tool, again, it's a very small token surface, about 100, 150 tokens.
Shaun Smith: But it lets you just do freeform queries to a, to the Hub, and you can say, you can say, you know, "Find me trending image generation models which have got a number in their name."
Demetrios: Mm-hmm.
Shaun Smith: And so that call goes to the MCP server, uh, and then it gets routed to actually a fast agent MCP server, which generates some Python code.
Demetrios: Yeah.
Shaun Smith: So we have, um, at the moment it's using GPT-oSS 120B, so it's an incredibly fast model, and the system prompt is loaded with our API surface or, or a customized API surface to make it more efficient, and [00:15:00] we generate some Python code in one shot, execute the code in a secure sandbox. We use Pydantic's Monty framework.
Demetrios: Yeah.
Shaun Smith: And then we return the results, and we return the re- results without post-processing them because the LLM that called us can actually do that processing.
Demetrios: Huh.
Shaun Smith: So it's incredibly efficient.
Demetrios: And why not do any semantic search or, like, why generate the Python code versus just doing some hybrid search?
Shaun Smith: Yeah. So I mean, we, we have, um, hybrid and semantic search, but what the, what the ability to generate the code does is it, um, it allows the models to co- communicate effectively any kind of natural language or chain query that you want. So for example, I can say, "Who in the Hugging Face organization follows me?"
Shaun Smith: Oh. Or, "Get me the GitHub profiles of all the people in the Hugging Face organization that follow me," and do that with them. So it gives you this kind of infinite joining possibility-
Demetrios: Yeah ...
Shaun Smith: um, that's-
Demetrios: Okay. So, yeah. Yeah, yeah. So [00:16:00] you can really narrow down that search space, or you can make it very unique to what you're looking for.
Shaun Smith: Yeah, precisely. So I can see, for example, what, you know, I can ask in natural language terms what models have my followers recently liked.
Demetrios: Yeah.
Shaun Smith: Which again is quite useful information and isn't something which is easily accessible through-
Demetrios: Yeah, through filtering ...
Shaun Smith: through clickings. Yeah, yeah- Yeah ... through clicking or filtering.
Shaun Smith: So it kind of gives you that, those infinite possibilities. Um-
Demetrios: Have you played around? This just makes me think- Yeah ... of a perfect, it's a perfect use case- Yeah ... for MCP apps.
Shaun Smith: Absolutely. Um, one of the reasons I'm so excited about MCP apps... So when we look at the traffic we get to the, um, to the Hub, and then this will probably sort of lead us to talk more about some of the agentic flows-
Demetrios: Yeah
Shaun Smith: is, um, we see, you know, a lot of usage from interactive applications like our own Chat UI platform or Claude.ai or ChatGPT. So, you know, typically in that mode, people are, um, accessing it through a through a chat interface. Yeah. And [00:17:00] they're working with the content interactively. And then, of course, we have, you know, agentic systems like Claude Code or something, which we'll, we'll come back to later.
Shaun Smith: And so for users which are working with this data interactively, often what they're doing is using the MCP server for navigation. Oh. So they're, um, they're interacting with the hub and they're saying, "Okay, so what models are trending?" Or, "I'm looking for a particular model in this particular parameter range."
Shaun Smith: And the thing that happens with normal MCP tool calls is you, you, you send the tool call, and the, the tool returns a set of information, and that information ends up in the querying model's context window.
Demetrios: Yep.
Shaun Smith: And then it generates expensive output tokens replaying the information that the tool just gave you.
Shaun Smith: And if the model doesn't need to do any extra processing of that data, you've effectively just, you know, kind of burned electricity for- Yeah, for nothing ... for no real reason. And so MCP Apps is a wonderful way to [00:18:00] actually meet users where they are, particularly in those rich, rich chat applications, because we can use the models where they're great for doing that navigation, but we don't necessarily need to replay all of the content and generate expensive output tokens and fill the context because the users can see, can see what's happening.
Shaun Smith: Yeah. Um, and so we've done... We were, we were very early, um, in adopting MCP UI.
Demetrios: And MCP UI is the same as MCP Apps? Or it is-
Shaun Smith: It's not, no. Okay. So, so MCP UI, I first came across about 12 months ago. So at the first version of the Dev Summit, it was... I think it was on my kind of final slide because we, we'd just kind of learned about it.
Shaun Smith: Yeah. I was like, "This is, this is something to be excited about." Uh, and Ido and Liat had, um, had been toying with this idea where you could use parts of the MCP specification, so resources. Resources in particular, 'cause it lets you deliver arbitrary content, and then supplementing that with, uh, with tool call information.
Shaun Smith: Uh, [00:19:00] and it was a, it was a great pattern because, um, it was something that you could build into your client relatively easily, and it was quite easy for server authors to display content through a, um, uh, you know, basically through a frame- Yeah ... through a frame window. And that got a sort of reasonable adoption, so we, um, we implemented it in our server at Hugging Face because there were some kind of quite key applications where that could, where that would work.
Demetrios: Yeah.
Shaun Smith: Um, and a few other clients did the same, and so there was, you know, quite, quite neat, um, SDK, server SDK and client SDK. Around about that time, um, OpenAI re- launched a very similar technology called Apps SDK. Yeah. Which kind of built on it, and it was a bit more, um, a bit more restrictive. Uh, not restrictive in a bad way, but it was far more opinionated in how you should be doing these things.
Demetrios: Yeah. Was it just React components, right? Yeah. I think it was-
Shaun Smith: Yeah. So it was React components. More or less, yeah. [00:20:00] And you needed to sort of follow a particular set of patterns, and it gave, it gave you some extra capabilities around, you know, being able to interact with the, um, with the calling application and, and the window and so on.
Shaun Smith: So it was, um Yeah, it was a slightly different direction. Um, and to be honest, probably for what, what they needed a, a, a better fit, um, because it gives you more... It probably gives you a more cohesive user experience, and it also meant that the applications that were being hosted were, um, were in several ways more powerful because of the, the kind of two-way interaction that, that that enabled.
Shaun Smith: And so, um, fortunately, um, those two kind of ideas were looked at side by side, and Anthropic got involved as well, and then that, uh, consolidated with MCP Apps. And so MCP Apps is the official end, uh, extension which kind of... It kind of blends the best of all of those, all of those [00:21:00] technologies with some new ideas.
Demetrios: So MCP UI morphed into MCP Apps?
Shaun Smith: Correct.
Demetrios: Yeah.
Shaun Smith: Yeah.
Demetrios: Yes. There was another one, I wanna say, where it allows MCP to use different components of your website easier. Is that WebMCP?
Shaun Smith: Yeah, so WebMCP, I'm not so familiar with, but I think with-
Demetrios: Yeah, I haven't played around with it enough either.
Shaun Smith: Yeah, I think with WebMCP, the, the idea is more that you're able to interact with browser elements directly.
Shaun Smith: Hmm. Um, so it's... I think the angle there is more that you can automate what the browser's doing rather than kind of integrating within a chat, have a chat-
Demetrios: Yeah, having it come into you and- Yeah ... and do it through there. Okay. So that, uh, is how you added MCP Apps support internally. Yeah.
Shaun Smith: So yeah, so we, we were quite early to adopt MCP UI, um, because, you know, as we kind of discussed, a lot of, a lot of the models that we host are multimodal in nature, so it gave us a way to [00:22:00] kind of embed that in a, in a quite clean way.
Shaun Smith: So something that I'm planning to launch actually very soon, um, is a proper MCP app which starts to use some generative UI. So for example, where we were talking about the hub query tool where you could ask arbitrary queries, um, we can present the data using a generated UI which is specific for formatting the results of that query.
Shaun Smith: Been Using a, a toolkit called Prefab, which, uh, Jeremiah Lowin's produced, which I kind of- Oh, yeah ... found by accident. Yeah, it was funny. It was a Sunday evening discovery. With, from the Fast MCP.
Demetrios: I was talking to him yesterday, yeah?
Shaun Smith: Yeah, absolutely. And then he just put it up. Yeah, so I don't know if he mentioned Prefect.
Shaun Smith: Yep. Yeah, yeah. Um, yeah, this w- this was quite funny. So, so we, I built this query tool where we were generating the Python and returning the results, and I was thinking, "I kind of want a really nice way to turn that into a UI." And it was, it was late on a Sunday evening, and, um, I saw on the, on my GitHub feed that [00:23:00] Jeremiah had kind of done a commit that was referencing sparklines.
Shaun Smith: I was like, "What? What's that?" So Edward Tufte, I don't know if you've ever come across Edward Tufte. He's, uh- No. So Edward Tufte wrote a series of books on how you display visual information. Um- Oh, nice ... they're beautiful books. He self-bound- Oh, cool ... and published them.
Demetrios: What was the name?
Shaun Smith: Ed- So Edward, Edward Tufte.
Demetrios: Yeah, I'm gonna-
Shaun Smith: So yeah, one, one of his- ... write that down. Yeah, one of his, uh, I think most famous books was, um, The Visual Display of Quantitative Information. But they're, they're gorgeous artifacts. You can't- Oh, wow ... you know, don't buy, don't buy non-physical copies.
Demetrios: Yeah. They're gorgeous artifacts. It
Shaun Smith: has to be a
Demetrios: coffee table book.
Shaun Smith: Yeah. You ha- yeah, a proper coffee table book. Mm-hmm. Yeah, he's also famously wrote an essay called The Cognitive Style of PowerPoint, which kind of breaks down how the, you know, how the Challenger disaster could have happened because of the way that, you know, people lay out information on PowerPoint and some kind of hide the important information- Azar
Shaun Smith: and sort of things. So he's, yeah, he's... There's a lot of fun in his content. Oh, wow. Anyway, w- one of the terms he coined was sparklines, which are these kind of like small graphs that fit in, fit in the space of a word. [00:24:00] So if you're kind of looking at Um, say a sequence of win losses, and you wanna show that across a set of 20 football teams, then a sparkline would kind of fit, fit in the display-
Demetrios: Mm-hmm
Shaun Smith: so that you can see that information very quickly. So if you- Beautiful ... kind of have an up for a win and a down for a loss, you can see lots of very, very dense data. So anyway, I saw this GitHub commit, and I was like, "That's, that's interesting." And I kinda clicked through and found this library, and it was like, "Hey, what's he cooking?"
Shaun Smith: So kind of straight away he's like, "Well, you know, you, you probably shouldn't because it's gonna break because it's like really, really young." I, I don't care.
Demetrios: Yeah. Yeah.
Shaun Smith: I don't care. I'm happy, yeah, happy to be part of the experiment.
Demetrios: And it just came out, uh, they just released it like GA I think, or at least-
Shaun Smith: Yeah, an early version.
Shaun Smith: So anyway, the, the short of it is that it's a very, um, uh, so far it seems to be a very, very clean way of being able to turn kind of arbitrary content into a beautiful user experience, um, through MCP apps. And of course the, the advantage there-
Demetrios: And all Python native, which is-
Shaun Smith: It's [00:25:00] Python native ...
Demetrios: perfect for what you were doing.
Shaun Smith: Yeah. Yeah. I mean, we've got, um, you know, tend to jump between TypeScript and Python quite a lot. Yeah. Um, but again, MCP makes that quite easy, right? So we can kind of route-
Demetrios: I was gonna say- ... route, route the traffic anywhere ... were you TypeScript before the whole coding revolution? Because I definitely wasn't, and now it's like, all right, everything's TypeScript.
Demetrios: Let's do it.
Shaun Smith: I've got a fairly long history of different programming languages, so I, I, I tend to... Uh, I'll be honest, right, without LLMs, I would probably struggle. Yeah. Um, but I find that LLMs help me with the syntax. Mm-hmm. So you can kind of just get the ideas, the ideas right. Yeah. So I spent, I've spent a lot of...
Shaun Smith: So, um, quite early in my career I used to do quite a lot of software development. I spent quite a long time doing things that aren't software development, and have come back to it quite late. Yeah. So, uh, see, I don't, I don't have... I'm not necessarily too attached to any particular- That's the best place to be
Shaun Smith: to any particular language.
Demetrios: Yeah.
Shaun Smith: Yeah. I have, I have things which frustrate me about all programming languages. That's for sure.
Demetrios: As you should.
Shaun Smith: As, yeah, as you should.
Demetrios: That's why good products get [00:26:00] made on top of that, because it's like, "Ah, this is really painful. Maybe, uh, let's try and see if something's out there that can fix it."
Shaun Smith: Absolutely. And we've, yeah, we've been spoiled, um, I think with the quality of some of the SDKs that have appeared over the last four or five years that have made really, really difficult jobs really quite easy. Um, so yeah, I think the, you know, the software industry's got very, very good at making a lot of complex stuff really accessible.
Demetrios: Yeah.
Shaun Smith: Um, you know, NCP would be one example of that, but also if you think about the, um, amount of knowledge and maths and deployment skills that are needed to run generative large language models. The fact that pretty much anyone can build an LLM app- So wild ... in a few lines, in a few lines of code is- Yeah, in an
Demetrios: afternoon session
Shaun Smith: is absolutely extraordinary. Yeah. Yeah, so we, we're super fortunate there. I think one of the things which has changed over the last three to four months, and the way I've kind [00:27:00] of described it is models have got so powerful that a lot of these kind of open source libraries, the way I'd describe is they're kind of liquified.
Demetrios: Mm.
Shaun Smith: Right? Because the models are able to-
Demetrios: Do more of the work ...
Shaun Smith: yeah, the models are able to kind of generate a lot of this kind of boilerplate code. So what it means to own and distribute a library has become quite different because- Yeah ... you know, models are able to, you know, it's, it's changed the value of those libraries somewhat.
Demetrios: Yeah.
Shaun Smith: Right? And, um, and again, I think that means that we're more talking about the distribution of ideas rather than the distribution of code.
Demetrios: The execution of it.
Shaun Smith: And that's really, yeah, and I think that's, I think that's quite an uncomfortable jump- Huh ... um, for, um, for a lot of people. I think the consequences of that are still kind of sinking in.
Shaun Smith: But I think certainly over the next few months, that's gonna be, um-
Demetrios: Are there ones that you're thinking of specifically?
Shaun Smith: Um, I'm thinking more generally about the, um- I, I think a [00:28:00] lot of people call it the Opus moment, but certainly the twin releases of Opus 4.5 and GPT-53 Codex- Yeah ... um, just gave enough of a step change in coding abilities, along with actually simplifying harnesses that, that meant that, um, you know, interacting, engaging with, and building code became a slightly different experience.
Shaun Smith: So certainly for my own usage, um, if I think back to how I was using models to generate and write code in May or June, it's completely different to how I, to how I use them now.
Demetrios: It is, uh, wild when you hear most folks say, "Yeah, I haven't written a line of code in a while now."
Shaun Smith: Yeah. Yeah.
Demetrios: It's like, "So what are you doing?"
Shaun Smith: Yeah. And it gives, you know, we, we... It means that developers have some very, very different trade-offs to make. Um- Yeah ... so, you know, you're always fighting entropy and ob- obviously if you're kind of working with [00:29:00] large language models, you're always worried about entropy. And so trying to make sure that your code base has maintained enough integrity and that you're putting enough manual effort into, um, ensuring that the quality of the outputs is high enough is kind of traded off with pure speed.
Demetrios: Mm-hmm.
Shaun Smith: Because models will give you functionality very, very quickly, but there's a trade-off around the quality of the design, and I think that, um, this was the kind of trade-off that good product managers were making over the periods of months as they were building traditional software products or- Yeah
Shaun Smith: enterprise products. And now that kind of trade-off is, is kind of in front of every developer's desk.
Demetrios: It's in your face, and you have to decide it in a session. Like- Oh, yeah.
Shaun Smith: Yeah, absolutely. And then, you know, I come from, I come from a world where, you know, we'd be making P&L business cases for whether to redesign parts of systems or to build new features.
Shaun Smith: And as I say, now that, now that that kind of decision is at every developer's desk with, you know, do I, do I maybe push the model a bit [00:30:00] harder and accept some- Yeah ... accept some design debt for the, for the speed, or do I... It's, yeah, it's a very, very different way of, of building things.
Demetrios: And even, I, I heard something really fascinating, uh, the other day where folks were talking about migrating- Mm-hmm
Demetrios: and migrating from one language to the next, and apparently You get better performance if you migrate your code to Rust and then migrate it to another language. Or just basically migrating to Rust will give you a little bit of a... It's a cheat code. Yeah. Because you get better performance since it's so opinionated.
Demetrios: Yeah. And you really have to make it work with Rust. It's like New York, if you can make it with Rust, you can make it anywhere.
Shaun Smith: Yeah. I mean, I think, to be honest, I think that's a, a great observation, um, because I think also you can take advantage of different language and just, and tools, dynamism versus strictness- Yeah
Shaun Smith: versus performance. Um, I mean, something which I was, [00:31:00] uh, was, we're talking about the kind of the liquification of software, is we're n- we're now at the point, particularly with open source, where if you, if you think, "Well, I kinda want this feature and I want it in my, in my own product," the, a model will happily clone a repo for you, look at the underlying implementation, and then re-implement it in a language that, that you want inside your thing.
Shaun Smith: So wild. So yeah, so again, I think, you know, the, the great thing is ideas have become more important- Uh-huh ... than just writing code. Um, it is uncomfortable- Yeah ... but I think that we-
Demetrios: Because you can't be precious about your code or that what you created as being yours, and that's the whole idea of open source, right?
Demetrios: It's that- Absolutely ... yeah, you're giving it out for anyone to use.
Shaun Smith: Yeah.
Demetrios: But now anybody can use it and not even, it's not yours.
Shaun Smith: Yeah. We, we do lose things, right? We do lose things as a, as a consequence of this. Mm-hmm. Uh, and something that, something I do feel quite strongly about is that we, we must make sure that software does not [00:32:00] become a pay-to-play activity for- Mm
Shaun Smith: people that can afford expensive models.
Demetrios: Mm-hmm.
Shaun Smith: Right? This is, I think this is one of the, the most important things that we need to, we need to get right.
Demetrios: Well, yeah, we- when we saw, we were just saying that Gemma 4 came out. We haven't played around with it yet, but that's a great-
Shaun Smith: I'm looking forward to.
Demetrios: Exactly, 'cause I've seen the initial vibe checks, and it looks really strong. And so the thing that I often wonder about, though, is that if we're not using the expensive models, you're still having to use a lot of your time to- Yeah ... set up the... 'Cause you're not... Okay, I guess maybe Gemma 4, if it's a very small model, maybe you're setting it up in a few GPUs.
Demetrios: Maybe it's just one GPU.
Shaun Smith: Yeah. I think, um-
Demetrios: But it can get expensive- We,
Shaun Smith: yeah ...
Demetrios: I guess.
Shaun Smith: I'm gonna say, I'm gonna say something which, um- Isn't necessarily cheap, but isn't necessarily out of [00:33:00] the, um, out of question either, particularly, uh, you know, like particularly Hugging Face, if you're doing something interesting, you should let us know.
Shaun Smith: Oh. Because obviously we're always interested in helping and promoting open source, um, open source projects building on this stuff. But for example, um, Gemma, uh, Gemma 4 w- new to me, I don't know the model at all, uh, not played with it, but we'll just use it as an example. We say, right, well, it's, it's not as strong as GPT-5 for coding.
Shaun Smith: It can't be,
Demetrios: right? Mm.
Shaun Smith: Um, and if, but if you wanted to use it for cost-effective coding, are there fine tunes that you could do of the model that worked very well for particular languages and products?
Demetrios: Mm.
Shaun Smith: Because now you have the weights, you have the ability to To change and optimize how the model works.
Shaun Smith: So it could, you know, it could easily be the case that through some, through some, through some application of specialization and thinking, "Right, well, I want to solve... I want to be able to write Python code cheaper." Yeah. I wanna be able to port from [00:34:00] TypeScript to Rust. To
Demetrios: Rust, yeah, and get that lift.
Shaun Smith: Yeah, yeah.
Shaun Smith: But the, but that for some extra effort in the setup, you could, you... To be honest, when you put that kind of effort into the setup, you can then quite easily beat state-of-the-art because you're specializing in one particular task. So I'm, again, quite optimistic that, um, that those kind of techniques are opening up more and more.
Shaun Smith: They're becoming more and more accessible to people. We're keen on making them very accessible to people.
Demetrios: Let's talk about skills, 'cause I know y- you're pretty passionate and you- Yeah, I like them. Yeah ... probably got a few cool ones. Uh, I love chatting and hearing about folks' skills that they're getting the most bang for their buck out of, because a lot of times it's not that complex, and it's just something that is a knowledge gap.
Demetrios: Like, when you tell me, "Here's a cool skill," I get to go implement that, and it doesn't take me hours to set up. If anything, it takes me maybe a, a 20-minute session- Yeah ... to create with Claude. It's just that I have to [00:35:00] know what the skill is.
Shaun Smith: Yeah.
Demetrios: So what are your most used skills these days?
Shaun Smith: So I would say my most, my most used skills, or certainly some of the most fun ones, I'm not sure they necessarily- Uh-huh
Shaun Smith: fit into the most used, um, was, um, uh, one of the... So we wrote a blog post actually that did really, really well on, um, using Claude to train other models. Right? So- I saw that ... but you don't have to use Claude, right?
Demetrios: Yeah.
Shaun Smith: But it was, it was, it's kind of a, a great headline because people get massively engaged.
Demetrios: And then did, uh, Open or Unsloth, they actually did it.
Shaun Smith: Yeah. Yeah,
Demetrios: yeah.
Shaun Smith: Yeah. Yeah. Yeah. So yeah, so we have a, we have a model trainer skill. Um, and similar to that, um, uh, my colleague Merve, um, has got some image and vision, um, training skills so that you can kind of fine-tune and train, um, image models. Wow.
Shaun Smith: But they make it extraordinarily accessible to actually take a model and [00:36:00] walk you through the options that you have, and then at the end of it, you end up with a model that you can run and deploy locally yourself, or you can deploy on our zero GPU infrastructure. And, you know, it will classify your pets, for example, if you've- Yeah
Shaun Smith: if you've trained a vision model on your pets. So people, people love that idea, and one of the great things about those skills is you don't need to be a m- machine language researcher. But you can, you can download the skill, and it will walk you through the options that you have and set up the environment, and it's amazing how quick, how quickly you can- You've got something running
Shaun Smith: how quickly you can get something running. And yeah, you may need a little patience. You may need to sort of try one or two different things, but, um- But yeah, so the monitoring skill, great fun. Um, people really engage with that All
Demetrios: those researchers that spent years of their lives learning that-
Shaun Smith: Yeah ...
Demetrios: now it is a skill.
Shaun Smith: Yeah, but we, we want that because the more that people experiment, the more that they learn- Mm-hmm ... and the more that it kind of contributes back- They can distill it into skills ... [00:37:00] so we, yeah, we kind of build, build more and more stuff. Um, another, another favorite of mine, um, is a skill, the, the Hugging Face tool builder skill, and what that does is, um...
Shaun Smith: So this is kind of, let's call it kind of like a blend of code mode and shell, because what the skill actually does is it lets you build your own arbitrary Hugging Face tools. So our OpenAPI surface, so y- so the API surface is, y- we let people, um, create repositories or deploy models and all those kind of things.
Shaun Smith: It's quite large. So what, what the, what the tool builder does is it helps, through the shell, navigate our API surface and let you build custom tools that you can then reuse or pipe together to do other things. Um, so-
Demetrios: Oh, interesting. Yeah. So you build the custom tools, and then you're able to do those things that you wanna do, and it's...
Demetrios: Maybe I'm getting [00:38:00] confused here. Then would you... It's not necessarily like working with MCP. It's you have a skill that's building a custom tool.
Shaun Smith: Exactly.
Demetrios: And yeah, yeah,
Shaun Smith: yeah. Yeah, so may- so maybe, you know, a regular thing that I would want to do would be to find image generation models that have been uploaded over the last 20 days, find associated papers with them, and download them in Markdown, and then also, um, put a like on the datasets that are attached to them.
Shaun Smith: So the datasets would be some of, maybe some of the training data or, or something else.
Demetrios: Uh-huh.
Shaun Smith: And so rather than, you know, rather than having to spend time kind of coding your own script to do that, or very inefficiently trying to get a model to do that repeatedly-
Demetrios: Yeah ...
Shaun Smith: you can, you can use the skill to kind of navigate it, and then it tests it, it puts help text in there so that models can use that-
Demetrios: Oh
Shaun Smith: that same repeated pattern. So it's
Demetrios: replicating-
Shaun Smith: Precisely ... a
Demetrios: certain, uh-
Shaun Smith: Yeah ... a
Demetrios: certain workflow in a way.
Shaun Smith: Precisely. So you can, you can build arbitrarily complicated [00:39:00] things that use our APIs, and it is literally arbitrarily complicated, and you end up with a tested component that is then suitable for you to use yourself or for models to use because it generates the help text so you can feed, feed back in and compose them with other, with other things.
Shaun Smith: Oh, okay. So I, I, I have a lot of fun with that, right? It's, uh-
Demetrios: Yeah. That is, that- Yeah ... sounds very valuable.
Shaun Smith: Yeah.
Demetrios: And I, I was wondering like, okay, how does this fit with the MCP server versus, uh, you create your own tool as a skill?
Shaun Smith: So with MCP, I think that we're kind of still discovering how people best want to use our products and services with agents and chat UIs.
Shaun Smith: And those... And kind of when I kind of think about MCP, I normally think about it from three perspectives, and these perspective all, all have actually quite different needs and opinions. The first is kind of from the consumer or casual perspective. So these are, [00:40:00] um, this, these could be developers. It's not just necessarily consumers, but these are people that want to quickly consume what we're doing.
Shaun Smith: So they, they might, you know, they might be using Claude.ai- Mm-hmm ... and they, they want to click Figma, they want to click Linear, they want to click Hugging Face, and they wanna be able to interact with those services quickly and easily. Um, they don't want to be messing around with auth, and they want a nice interactive, um, human-focused en- environment to get things done.
Shaun Smith: There's enterprise, which has often similar, similar goals to the consumer because, you know, they tend to have quite a large surface area of people accessing through chat applications. But they have additional needs around auditing and/or regulatory compliance and- Yeah,
Demetrios: security scanning.
Shaun Smith: Yeah, and- All that
Shaun Smith: yeah. Yeah, and they're kind of... It's kind of very important to them, um, to make sure that what people are using and how it's being deployed is safe.
Demetrios: Yeah.
Shaun Smith: Right? Because you don't... Because, you know, if you're in an enterprise, [00:41:00] if you're giving people arbitrary shell access to, to, to computers that, that you're, you're opening up a surface that you've, you've probably rather not.
Demetrios: Yeah.
Shaun Smith: So MCP works extremely well in those environments because it gives you that kind of right, uh- Uh-huh ... that right blend of security and flexibility that, um, that's kind of super important. And again, you know, looking at kind of that, that easy to consume nature of, say, things like MCP apps or tool results- Mm-hmm
Shaun Smith: that focus, that's great. And then the, the third community, uh, kind of normally think about is, well, it's the kind of developing and development and engineering community. Um, and I kind of p- put myself in that bucket mostly. Um, and our needs are really, really diff- different, and our risk profiles are quite different.
Shaun Smith: Yeah. And our desire to get the most out of the models as quickly as we can. Yeah. You know, if a new model's released, then people wanna be, um, experimenting with it straight away. Then, you know, we, we're much more comfortable [00:42:00] with providing the models access to more, more of our computers, more of our resources, let them navigate around on file systems and so on.
Shaun Smith: And so kind of between s- the kind of more controlled tool surface that we have with MCP and, you know, what, what you can do with, um, providing access to, uh, um, to your agents with CLIs. You know, we're kind of trying to get that right blend.
Demetrios: Mm-hmm.
Shaun Smith: But also, I do think, um, 'cause earlier in the conversation, we were talking about the importance of reinforcement learning and, and, and the shell access.
Shaun Smith: When we kinda think about shell access for models, that doesn't necessarily mean an insecure YOLO mode- Yeah ... on your own desktop. What's really, really nice about tools that, um, that take Bash commands is it's an extraordinarily token-dense surface, and it's because the kind of commands that you, that you have with, um, [00:43:00] Bash are things like navigate through this hierarchy, tell me in plain text what's here, tell me the content of that particular file or part of that file.
Shaun Smith: So, so the fact, so the fact that those kind of navigation commands become native to the model is something that we can exploit through all our other tool calls- Yeah ... right? So, so when we kinda think about giving access to Shell, I think, um, just Bash is a recent, uh, a, a recent piece of software that's been released.
Demetrios: Oh, I haven't seen that.
Shaun Smith: Yeah, so it's, again, it's a minimal, um, it's a minimal surface area, so, you know, it doesn't give you access necessarily to real resources or file systems, but it does give an interface for the model to, to navigate, um, to navigate a safe area-
Demetrios: Mm-hmm ...
Shaun Smith: with Shell commands because it's incredibly token dense and moderns, models have been trained to do so.
Demetrios: Just Bash?
Shaun Smith: Just Bash, yeah.
Demetrios: All right. I, I'm gonna check that out. Yeah, yeah. Check, yeah, check that out. You're giving me a lot of homework here.
Shaun Smith: Yeah, no. This is cool. Check that one out. It's, um, yeah, [00:44:00] that's, that's good fun. Yeah.
Demetrios: Okay. Yeah,
Shaun Smith: I need to play more with it, so. Yeah. Agent FS is another one which, um, was quite remarkable.
Shaun Smith: It's something again I'm quite interested in because again we can give, um, we can give models access to these capabilities without the security-
Demetrios: Okay ...
Shaun Smith: concerns.
Demetrios: Well, yeah, that wraps it up nicely in my head and that helps me bucket it for when I would be using MCP, when I would be using just the, uh, the tool building skill.
Demetrios: And it also, I was thinking about it as like when I want a very custom type of workflow, it's probably that tool building skill that I'm gonna go with. But I also am, in your case, like a hobbyist or a developer that can run fast and loose.
Shaun Smith: Yeah.
Demetrios: I'm not doing this in my enterprise, and I don't need to worry about all the other fun enterprise-y things.
Shaun Smith: Yeah. And the, the I mean, the really kind of the fun and exciting part, um, for, well, certainly for me at the [00:45:00] moment is, you know, I'm kind of really enjoying having models and agents with large language enables to do all this kind of stuff and really quickly. But the fact that we can then also provide similar experiences in a, in a safe sandboxed environment exposed through those kind of consumer applications is extraordinary.
Shaun Smith: Yeah. Right? I mean, um, you know, the kind of things that, that people can do with natural language and how rich we can make the experience of people using natural language is, is superb, right? And we, you don't lose anything from the lower layers by doing that.
Demetrios: Yeah.
Shaun Smith: It just makes everything more accessible, and the more accessible things are, the, the more value people can add on top of it 'cause they're not, they're not struggling with, you know, they're not struggling with things that people should, just shouldn't be struggling with, with computers.

