Skip to content
TrackPodcasts
technologyMar 20, 20261:01:49

HN819: Recipes for Automation – A Look Inside Eric Chou’s AI Networking Cookbook

About this episode

Eric Chou, author of the AI Networking Cookbook and host of Network Automation Nerds, joins Ethan and Drew to discuss adding artificial intelligence to your network automation toolbox. The AI Networking Cookbook is aimed at network engineers and provides a systematic approach to learning AI for network automation. Together they break down pros and cons... Read more »

Get every episode summarized

Each time Heavy Networking publishes, we email you a written briefing from the transcript — the topics, who appeared, and any specific claims, with the ad reads skipped.

Email me new episodes

Free for 3 shows. No card needed.

Hosts & guests

Transcript ready

677 searchable segments. Every word is indexed and playable.

HN819: Recipes for Automation – A Look Inside Eric Chou’s AI Networking Cookbook

Heavy Networking

0:00
1:01:49

Full transcript

Heavy NetworkingHN819: Recipes for Automation – A Look Inside Eric Chou’s AI Networking Cookbook. Machine-transcribed; use the interactive transcript above to jump the player to any line.

Sponsor Ovic Network Management discovers your complete network inventory, displays real-time performance metrics, backs up configs, generates compliance reports, and more in an intuitive, simple-to-use tool that scales as big as you might need. Get your free 14-day trial at ovic.com slash heavy networking. That's a-u-v-i-k dot com slash heavy networking. Welcome to Heavy Networking! If you sort your skittles by color and the colors by visible light wavelength, then then rank severity of a network outage by the name of the skittle flavor you found you tried. I'm Ethan Banks with Drew Conray Murray, and if you'd like to connect with us because we are real people after all, you can do that on the Packet Brushers Community Slack group or LinkedIn, visit PacketBushers.net to join the Slack or IRC because IRC lives on much like IPv4. And hey, we're talking about adding artificial intelligence to your network automation toolbox with Eric Cho. Eric is the author of the AI Networking Cookbook available now, and Eric is also

the host of the Network Automation Nerds podcast, which you can find right here on the Packet Pushers podcast network. Eric, welcome back to Heavy Networking! Man, it is good to have you here, and dude, I don't know how you do it, but you wrote another book. You wrote another book. Would you give us the 10,000-foot overview of what this book covers? Yeah, well, first of all, it's good to be back. It's highlighted my day to speak to my esteemed colleagues, so thank you for making my, what is the Tuesday, much more beautiful than the rest of the week. And yeah, no, I didn't, I guess I didn't learn the first six times, right? That was fun, sorry. And I wrote another book, I took on the task. I think basically what it wants to do was, if I'm learning AI anyways, I want to document it, I want to do it in a systematic way, and want to bring people along with me, if they're willing to spare a few dollars to buy the book, to listen to my podcast or whatnot. So that was the basic premise. And little did I know, right? Like a 12 months later, or like, whatever

however long between the planning through the actual execution was. Now, this is the book, the book was released in January. And basically it follows in same pattern as my previous work, Mastering Python Networking, I want to set up the foundational piece. So essentially, you know, for example, setting up chat GPT, what is the LA and what are some of the parameters that we set? How do you set up local models? How do you use it locally? How do you use it in a closed gap system? And then move on to some of the aspects, like setting up the front end, what about if I wanted to run, you know, some sort of decoupling the back end, if I want to just use API, then we use more into the more advanced topics, like MCP or, you know, building a co-pilot. How do I evaluate AI models, basically, right? So we all know, you know, a model could cost different costs on tokens. So if I could use a 3.5, you know, turbo, why do I want to use fully? Why do I want to use five and stuff like that? So go or you're laying down the foundation,

moving up one layer and then going out into the more advanced topic, once we lose, lay those foundations down. So it sounds like you said, laying the foundations, meaning it sounds like that's the kind of stuff that are more principles and not tied to specific models or changes in the technology. Yeah, hopefully. So I think, I think, you know, one thing that that people would find out, there's no like OSI layer within AI, right? Like there's nothing that everybody just, you know, couple themselves into the physical layer and then everything that's, you know, more or less, the coming with the physical aspect of networking. So with AI and different vendors, you know, the open AI's have different, you know, parameters terms or terminologies, charging model, everything else, the system messages, then, uh, and Thropic versus, like, say, cursor and they have different interfaces. But yeah, you're right. So the aim is really just to set something up to get that first win to know, uh, back hello world, then, um, and then we go into

more, more or less the other aspect. So for example, you know, uh, we obviously, you need to set up at account. So we need to pick something to set up at account. So we set out open AI and then, just to get that first win, we don't go off into, say, how do you set by on Thropic and set up five other, you know, like providers, we go directly into how do you change the temperature, meaning, how do you change the creativeness of your answer? How do you, uh, include your system message? So you don't have to type it into the problem over and over again. So yeah, so laying down the foundation, get that first win, and then chapter two will go directly into, now that you have that first win within the GUI, how do you use a script to automatically query that? And then we change direction and say, well, you know, now that we have those down, that you could, you know, go explore further. However, I know there's a certain amount of people who doesn't feel comfortable in talking to cloud-based LOMs. So how do we set up locally? And then we pick one thing, right? There's also, there many, maybe not many, but multiple ways that you could run LL locally.

And I just pick one, Olana, and then just go from there and repeat and repeat, rinse and repeat, but doing it locally. So I think I, I hope that gave kind of a good overview of what I've made by foundation. Yeah, for sure. And just let's just set it up right away. Where can folks get this book if they're interested? You could get at most retailers. Barnes and nobos, if you still have physical bookstore, I don't know if they have physical bookstore, you know, selling the physical bookstore, because the last few times I've been to the bookstores, they're all very fiction-focused. So that's right up your your cup of tea, Drew, but for me, you know, mostly when I look at the the sales breakouts, most of them come from Amazon. So I think, you know, unable, most of the time people get it from Amazon, you could also get it directly from Pact. One thing that I do want to mention is we know your reading habits have changed. So if you, even if you get it from Amazon, there's a QR code in the book where you get a digital format from, from Pact directly, so that it's that's EPUB. If you use, you know, the EPUB formatting, if you use Kindo, if you use,

you know, if you read a reading PDF, you could all do that. So, so yeah, thanks for that, that plug-in. You could get it at all the rebuttellers. Kindle. Eric, I bought your book on Kindle, via Amazon downloaded it, and I was reading it on my Mac, on the big screen, on my big screen with with the Kindle reader. Nicely laid out easy to follow everything, both the code sectors of which you have a lot, a lot of different code and or text screen output that's there, as well as your explanatory paragraphs that give you context on what's going on. And it's wonderful. It's very easy to read digitally, and also people really like paper because reasons, and that's fine too, of course, but if you're wondering, well, how this render in Kindle, pretty good by my eyes, I thought was an easy read. Yeah, I think for technical books, I think a very a little bit different than the experience that you read, like a fiction or, you know, biography or something like that, it's because there's a lot of code involved. So, just like all the other books, the code are in the

GitHub repository. It's not guarded by like a pay or anything like that. So, even if you have about the book, you could go, you know, look at the code yourself. And what I also try to do, I don't know if other people have noticed, but I try to do a lot of explanation within the code comments, so that even if you just grab the code directly from GitHub or whatnot, you could actually realize the flow, you don't need a companion book to to know, you know, this is the section where we hit the response or something like that. However, you know, if you want to buy the book, yes, if you want more more information or if you want to have like a curated flow of thoughts, right, going from basic to more events, then yes, you know, go go read the book, yes. Now, you have a community that people can join if they want to keep up with you and keep up with each other as they work through the book, right? Yes, yes, absolutely. So, AI is moving so fast, I just recently decommissioned my, you know, Network Automation.community site and migrating everything

to this new Network Automationers.com that you could sign up for free, or if you choose to, there's like early access for premium contents, so either way is fine, but you know, essentially when you sign up, you'll get notification on whenever I publish something new, and also you get invite to the Discord community where there's a real-time chat on people who are, you know, I guess, you know, more active on any one time for questions and answers. That's why I'll hang out most of the time, too. So yeah, please do feel free to join. Like I said, AI is moving so fast, and even in just that five minutes that we talked about, or eight minutes that we talked about this topic, right? We already mentioned there's multiple ways of running AI locally. I've only mentioned one, you know, a lot more. There's LM Studio, which I think it's a little bit more beginner-friendly, but let's code, like, let's developer mindset. So, you know, that's where I will try to supplement whatever that I have in the book to say, yeah, you know, Obama's great, but if you want something that's, you know, downloadable

in a package that's API ready, then, you know, go for LM Studio, for example, and that's actually where I will start posting and try to make up for, you know, kind of the latency, which is inherently built into book publishing. Yeah. So that's network automation nerds.com, nerds plural. Right. So, no automation. So, two ends in between. They were going to mention nerds.com, and we'll have that in the in the short notes, but, uh, but yeah, you know, we'll. So, what level of network engineer would you say this book is aimed at? I think probably someone who's passed, like, you know, a plus or CCNA, and have a little bit of background in Python, because all the code are in Python. So, um, you know, if you want to just follow a query, that's great. You know, and that that's workable. But if you want to get the most out of it, obviously, you know, you want to be able to interpret the code or have AI explain the code to you. If you're willing to learn a little bit of Python, at least, you know, you don't get intimidated when you see, you know, spacing and co-blocks or indentation, that sort of stuff. So, I would say,

to get the most out of the book, you want to have basic, uh, networking knowledge and basic Python knowledge. Yeah, and it is truly basic Python. It's not like this is super complex, excessively structured or millions of lines of coded all. I mean, they are straightforward examples, Eric. I wouldn't be able to write them if it's, that's a good complex. You're right on my level, man. Like, you know, you just have to cope with, uh, like that, that's the ceiling right there. So that that's seen me is pretty low as you mentioned. Because it's lots of us that are trying to learn something that we're doing it on a budget. What costs do I need to plan for it to be able to apply AI for for network engineering? Yeah, I think that's a great question. Um, when I first started writing the book, there was actually their free tier for most of a lot of the provider open AI, I believe actually offered a free tier and a lot of providers actually give you free tokens. I curse sure, for example, give you some free tokens to play with until you decide to buy the freemium model. But less at last, I think by the time the book published, even when we're doing the final editing,

um, they stopped offering free, free trials. So you do need to, you know, actually, uh, provide, prepare a few bucks to, to get the, to assign a, you know, have a credit card verification. Same as, uh, Amazon AWS, right? So AWS actually asked for credit card information upfront, um, but, um, you know, they may or may not charge you. So I think that's kind of the, the mindset that you need to have, but just case in point, I think I spend, I put in $20 in the beginning of the book writing for open AI and I don't think I've used up all of it, you know, by the time I, oh, end with it. Okay. So you didn't sign up like 20 bucks a month, you just bought X number of tokens or something? Yeah. So again, I think that's a different charge model for different providers for open AI, at least on the API layer, you know, that's one thing that's explained in chapter one is that the, the open AI playground or, you know, platform that they're calling it out is different than the chat GPT that you launch your interface with. So when you, when you, you know, subscribe to chat GPT, for example,

you actually have to pay monthly subscription. I think whatever, 1999 or, you know, whatever that price was for you to, you know, keep your history, keep your chat, prompt, active and so on. But for a platform where you use mostly, you know, API access and help you, you know, fine tune as I were explaining the book, all of that are usage based. So you actually put up, you know, say $20 and then you, you know, you kind of exhaust that token. And because we don't use that token, you don't use tokens that much, usually you exhaust token where you need to put in a lot of contacts, like thousands or even, you know, hundreds of thousands of words into one window, then use a lot of token to exhaust that. And therefore, if we're just using basic scripts, you know, a case in point is that, you know, you won't exhaust your tokens even if you do the whole book examples. However, you know, I don't use just open AI. I want to provide more variety. So andthropic, you know, actually have a subscription model where clock code is actually, you know,

needs a monthly subscription cursor. If you do it monthly subscription, but again, you know, they're actually not that expensive. So I believe all of them are less than $20. So, you know, pick and choose what you want to do. Spend a few bucks is worth it. And at least, you know, me, I use everything. I use, you know, paid account for everything. Gem and I open AI, you know, cursor and andthropic and everything else that's, you know, video editing or, you know, all the other services can have that private account too. So I've tried it all. And to me, it's worth it. Now, you did mention running a model locally. Is that, I mean, in theory, I could download a model and run it for free if I'm running it locally. Is that, is that worth it? Yeah, I think it's worth it to try it. And I think it's worth it to to set it up just to know if it's for you. The models that you download. So, so let's go back and say, what is a model

in the cloud offer you, right? So the model in the cloud offer you as a single interface where you can pick and choose the latest, the greatest model or or not. So, for example, you know, if you running in the cloud, you get to just using a drop-down menu, choose between GPT-5, GPT-40, for turbo 3.5, whatever. And same thing with inthropic, you know, Hayaku or any of the other models how you could choose. But in the locally, you don't get those models, right? Those are proprietary models that the cloud providers offer. And what you would do is you would set up these containers, right? Like these carriers of models and you would in the book, I will use a long-mizing example. You have two Docker containers. One, how's this the model? And the other one is the interface that, you know, interface with you on, you know, your chat interface or whatnot. And those models you will go, you will grab from like a, a, this quote-unquote open marketplace, right? And then so you could choose, you could download in the same format. And you really don't, your judgment on which

model to choose really depends on user feedback. It's almost like going on Amazon and look at, oh, there's a thousand reviews. I, and that's, you know, 4.8. And I suppose that's better than others. Or they will explain to you that this is, um, I forgot the term they use. But essentially, it's like untethered, right? So, so I did, I did compare and contrast, you know, one of the book examples on, um, if you want to write code, let's go down though, like a regular, you know, model versus like a, a model with that specific trailer toer coding. And, um, and then, you know, let's go down with another model, which is not censored. And then look at all these answered. And so a lot of times, you know, you get, you don't even think about the things that you get from a curated model, like a chat GPT, right? Like they, or entropic, let's use cloud, for example, that, you know, when you ask something more sensitive, like, um, let me, let me go on like a little,

little tangent here. Say, you know, if I'm depressed and I want to ask about how do I, like, in my life, whatever, right? Like really scary. These curated models are, are trained so that they don't tell you they try to tell you to go get help. Here's the way to, you know, kind of alleviate your symptoms. And in the on sensor model that you download from this marketplace, may or may not have done that. So I think that's kind of the guard rules that you have to keep in mind is that, yes, you could run it locally. You could, it's worth it to try it just so that you know the process. But whether you want to use it, um, you know, primarily where you want to use a production environment, the scope that you want to use it, that's, that's something that to be put more thoughts into. But it's not just the model you pick and run locally. It's a perform, my experience is it's a performance thing. So I loaded, I don't know, several different models, and at the end of the day, even with a Mac M4 Pro, that's got a good bit of GPU behind it. It takes a while to turn through my query and come back with a response.

Yeah, absolutely. I think, I think you hit the same bottleneck as I did that, um, I think the most, uh, the biggest model I could run is that I had a reason of a species like seven billion parameters. And, you know, they're already 13 billion parameters and, you know, gazillions out in the cloud, uh, cloud models. So, uh, so definitely that you have to, uh, tailor your expectation on, you know, just matching your hardware. And then you could get a little bit more improvement on, you know, maybe like you said, like a Mac, mini M4 that has a ton of GPUs. But then you have to have that software matching that, um, there's like a little graphic interface, which I did not go into the, the book again, like things are just moving so fast. But there's a little graphing interface that you could see that when you run, say, LM studio, how many, uh, tasks are being offloaded to your GPU versus your CPU? So if your task stays on CPU for too long, definitely you're going to see that as slowness. But if you see your, your GPU, utilization hanging up, that chances are you getting more performance. So I think that's a

combination of both your hardware limitation as your software limitation. And again, if you run it locally, you're on your own, you're on your own tech support. You know, like, you know, uh, there's nobody, the buck stops here right here, right new friend of the screen versus like, Hey, you know, um, I could, you know, point fingers and, and the switch happily switched to another model, uh, when it's like anthropical one that goes into your $20, right? Like, uh, I don't, I don't want to learn to be my own tech support. I want to endure the IT services. So, uh, so that's what that $20 would get you. It's these, uh, user nice to have. And these days, if you're going to get out new hardware, that's going to be a lot more than $20. So yeah, they actually have, I heard they actually have like a shortage of Mac minis because that's like the cheapest, uh, that you could get to run, uh, open cloud. And several, you know, naming changes after, right? Like it's called open cloud now, but they're, it's so popular that it's actually causing a little bit of a shortage on the, the Mac minis. So, yeah, definitely even, if you're for the cheapest one that you could buy recently, it's like,

a couple hundred dollars. So before you wrote this book and after writing this book, has your opinion changed on the utility or usefulness of AI for network engineers for network automation? Yeah, forget before and after, man, you asked me yesterday and today, depending on the day of the week and the time of the day, my opinion constantly changes in absolutely on just the, the knowing, um, so, uh, I thought I would do something different this time before the book launch is like, I have like T minus five, T minus four, T minus two, and kind of build up the, uh, quote unquote, excitement for the book launch. And on one of the days was, uh, mastery is optionality. So I think that's the main thing that I've learned from just learning in general, learning AI in particular, that, um, once you learn something, you have the option to put it down or use it or not to use it. So I think that's the biggest opinion that I've changed is that AI is great for some task and, uh, I would, you know,

personally not use AI for some things because I want to retain my humanity. You know, I want to still feel like a person like the thing I did, I still want to feel like I own it, that I wouldn't use AI for. But in order to get to that point, you have to learn it. You have to learn it enough to, to be able to say no, right? So, uh, so I think that's the biggest opinions that I have changed is that I want to learn as much as I could, so I make that choice, make that option and be mindful about the option versus, I don't do it because I can't, right? So I, I will learn how to run a local LLM model. And I choose not to because of X, Y, Z and everything that Ethan said. But, um, but not just, you know, just the optionality is, is what I'm after. So I think that's the biggest thing that I've changed before and after learning all these stuff and going, you know, zigzag and, you know, in whichever way that I went to bang my head and, you know, come back. So part of your learning wasn't just learning how to use AI, but also figuring out where AI could be useful and where probably isn't going to be useful. Yeah, absolutely. And

it's just my personal choice. And there's something that I talked to my, uh, daughters a lot because, you know, schools is just, it being turned upside down with a high, that just the, that just beyond us, right? Like people actually use AI for all kinds of crazy stuff, including image generation. And school is one of those places where, you know, people or, or the students have haven't had like that prefrontal, uh, fully grown or like they haven't formed their opinions, uh, clearly yet. So, so I think, um, that's what that's, that's kind of related to what we talked about here is that, you know, I want to be able to be mindful about the choices I make or as much as possible, as opposed to just things that, you know, algorithm pushing in front of me. Well, Eric, I want to spend the rest of the show diving into one of your chapters and you, I think it was chapter three was all about prompt engineering, which early on when I first heard their camera, I was like, really, I got to learn how to say words, the robot. That doesn't seem like a skill. So I didn't expect you to spare you later on. So let's talk about, let's talk

about prompt engineering. So explain what, why carefully crafting a prompt is an important thing. And do it in the context of how in the LLM actually works. Yeah, I think that's a, that's a great point that, you know, all of us have that initial resistance, right? Like if it's so great, if AI is the next big thing, why do I even have to provide context for it? It should just automatically know. But is it though? Is it? Because if you think about AI as a partner or as a colleague, for example, and very capable colleague that, you know, let's just say some, you know, you're in the network engineering team and you hire some, you know, superstar at network engineer and he or she started, would you just tell him or her to go, you know, work on production device? No, not really, right? The person that is very well versed in BGP OSPF and networking technology, but you want to give the person context, right? Here's how we do things where under strict restrictions on some of the security stuff, this is how we name our devices. Here's how

architecture is and so on and so forth. So all of these, if I couple those into context, that is why you want to help AI to do is to give it as much context as possible. So you limit it from just this, you know, open-ended question into a more specific thing that you want it to do. So yeah, and then we should go into more details on that, but I'll stop right there and see that actually makes sense. Well, we can give it more context, but an LLM does not think like a human thinks that is in that sense in the context of reasoning or thinking, providing context isn't helping the LLM in that sense, but it is helping the LLM because of how it actually delivers a response to us vector database words that have a higher probability of following on to the prompt that we've given them. Is that a, I have that roughly correct, right? Yeah, so I think that's precisely because LLM cannot reason, it cannot understand like a subtle use of human language.

That's why you want to give it as much information as possible, right? It's not going to read between your lines on, you hate JSON, so give me, you know, like, I don't know, YAMO file. So you have to specifically say, give me the JSON file, give me an YAMO file, and if you remember previous generations of, previous generations of AI interactions on the first time that you saw chat, chat box, right, chat GPT or any other chat box that you have, that's all you have. And the context you could give it is you have the copy and paste everything in there. If you want to give it examples of your router config, you got a copy and paste into that router config and say, hey, look at this router config and tell me XYZ, why do we have, you know, this accult, like what is this line, you know, 56 accult does or whatnot, you have to copy all of that in and you quickly run out of this, this context window that you have to copy and paste everything in. So the next step on, you know, that evolution is we have system messages, so you don't have to repeat your contacts every single time. So you could, you know, in the system message,

you say, you're a senior network engineer, specializing in the organization, have a preference toward Python and JSON and, you know, you're very, yada, yada, yada, right. So that system message actually stays with all the chats across. So again, you're providing more contacts, you just don't have to do it over and over again. We're taking a quick break for sponsor, OVIC network management. And if you've not heard of OVIC, they've been around for many years and they have the goal of making it easier to run your network. Good visibility into what's going on, network maps, proactive alerting so that you're aware of a problem before the help that's not sliding up, compliance reporting to make the auditor happy, can think back up so you can go back to a non-goog state if you need to, you get the idea. Now here's how OVIC works. You deploy an OVIC collector, which discovers your network and then figures out your network topology and maps it all out for. You don't even have to know how the network is connected. OVIC is going to talk to your network devices and figure that out. All right. Now that OVIC knows your network topology, it's going to begin monitoring your network. And you don't have to tell OVIC everything you wanted to monitor.

There are 64 plus pre-configured alerts built in, dashboards for every device, and OVIC can talk all kinds of different protocols. S and MP can talk APIs. If you've got devices with APIs, it can, it knows how to parse CIS logs. It can do net flow and do flow collection and more. So you get this really useful repository of all of your network telemetry in one place. There you go. Ethan, that sounds like bread-like green light network management, more or less. Yeah, but there's a lot more than that. You're going to get inventory tracking. You're going to get config backup and restore, as well as application identification and geodated through traffic analysis and OVIC scales too. If you have one campus or you're managing the networks of many different clients that you might have, OVIC can get it done. So check out oVIC.com slash heavy networking to see your live network map in minutes with their 14-day free trial. That is a-u-vik.com slash heavy networking. OVIC.com slash heavy networking. If you're in the market for a new network management

solution, and now back to the show. When you were saying context, I was thinking specificity, as opposed to saying what went wrong on the WAN, I would say, what happened on this router located in California between 10 and AM and 2PM. But it sounds like the other version of context is giving this LLM a persona, like you're a senior network engineer, and that's also, does that count as that context? Yeah, or like you could tell it to returning the response in the almost voice, right? So yeah, that's part of the context, in my opinion, that's because you could actually say explain it to someone who's a very intelligent person, but not a network engineer, or you could explain back into as a senior network engineer. Could you give an example of what you mean then by a prompt with context and a prompt without context? Sure. So I think the context is half what you said about context as in the environment. So I want to say, hey, give me a configuration

back in terms of iOS XC, or give me a configuration back in Junos. And then I want to attach a few files and say, here's the example of our naming convention, or this is an example of iOS, configure, what not. So those are the technical context. And then I would actually give it more persona-wise and say, hey, explain back to me as if I am a very intelligent business person, IE my manager, but not a very crazy about, you know, intrinsiccy of, you know, routing protocols and so that. Okay. So I think those are the ones that the personality context is coming back in the environment, right? Like, let's just say I'm writing a mob, so I need to break it down step by step versus I just want the configuration copy and paste that I could evaluate humane the loop and the copy back in. So I think a well, well crafted prompt would be example and context. So, you know, as much as you could cram in as you could and however you want

to do. So I think a lot of times what the experience have improved on is how many of these contacts you have to do manually versus the contacts that's, you know, kind of implied. So none are the then obvious then the break between a chat with system messages then with agentic. So I think, you know, in a agentic world where, you know, if you have some sort of coding assistant, like cursor, for example, or a cloud cloud code, for example, that they actually, you know, if you launch it, then some of the contacts are implied. First of all, you want to write code. And second is if you have like Python's that you'll crawl through your folder where you locate your code, you'll see that, oh, you use Python. Oh, you has virtual environment. You have all these other stuff that is set up. So then it has all those contacts implied for you. So that I think that drastically improve your experience where I don't have to tell it, hey, activate

the virtual environment. Hey, you know, I want to use Python and here's my standard on writing code. It's going to crawl through all that and say, oh, you always, you use, even though, you know, you use Python, but you use data safety, right? Like you, you were specified. I want to return a string. I want to return a number. It will look at your code and say, oh, that's, that's what you want. And then implicitly, that when it helped you write that code next time, it will write something that's data, data type safe or something like that. So I think, well, could we also say, Eric, that there's a global and a local context from a certain point of view. That is, I was using Cloud for a while. I'm not anymore. I'm using Gemini pretty much always, but I remember in my cloud configuration, I could give it a, what I would consider a global context. It was right in the settings. These are things you should know about me. I'm a network engineer. I know this. I have this level of expertise. I'm comfortable with these technologies and not these other ones and so on. So it always knew that about me when I would start a new chat. And then within the new chat, I could start, I could then have local context and describe a whole bunch of other things

that I'm looking for from that interaction. Yeah. Absolutely. I would probably classify as a context, but in the sub category of guardrails, right? Like so, so you could definitely have guardrails on the global level. Let's just say, you know, we use the, our company, you know, we use poetry. So everybody should use poetry on, you know, package management. So in the global level, I want to imply in this depends on, you know, your, your tool of choice, it could be just this hidden dot cloth file or this hidden dot cursor file that specify, hey, you should always use poetry for package management unless specified otherwise. Then the next new hire comes in, you know, you don't even have to repeat that. So when he uses the same tool, that's a guardrail that's operated under on the global level. And on, on the local level, when you launch this touch subject, like just to say our team, you know, our team, you know, prefers to use, you know, plain vanilla JavaScript versus some type of framework like view or react or anything like that.

So that on the local level, when you and I, the three of us are collaborating on a project, we want to have that local guardrail. And again, it's a hidden dot cursor file and the more specific wins that, you know, we'll specify our requirement, use plain vanilla JavaScript versus any type of framework when preferred online side overrided. So I think those are the, I think, I guess the guardrail context that we could specify that that is both on the, on the global level and on the local level. So we're saying with prompt engineering, then step one, don't be vague, be specific, give lots of context, explain yourself, imagine you're explaining this to someone who hasn't heard about any of this before. And yes, depending on the model and it's, it's a model, that's for writing code, you can make a few assumptions about what it knows or what it's going to assume about what you're asking, but generally speaking, be specific, write a longer prompt, take some time to think through all the facts that are relevant to the thing that you're asking the

AI to do. And then you're going to get a good answer. If you're vague, you're going to get not such a good answer. Yeah, exactly. And if you feel exhausted just hearing those, then yes, me too. And the companies have heard you. So, so there's a whole kinds of guardrails or additional contact that they help you to be persistent. So for example, Clot, so there's that Clot IMD that everything that you talked about, you could either put in a hidden file, you could put into Clot IMD and we launched Clot, it's going to, you know, supposed to read that. And if you're using cross, cross agents, cross provider, supposedly, right, this is where like things get a little bit iffy, there's no like rfc that, you know, mandates you to do it. But if you put into agents.md, then all the, you know, Clot or and Clot or Gemini or whoever, like launch, this should look at this agent's IMD and follow the instructions and guardrail. Does it always

work? I don't know, you tell me. I haven't tried it. But, but essentially, you could actually do, do all of that and try. And once you work it out, right? So, so here's the thing, prompt engineering is about iterations. So you would start on something and then you would work on something and, you know, find the most, the best match of, you know, verbosity versus the results that you would get. At some point, you're going to run out of things to say. And like, you could only be as verbose as possible as, as you could to a certain point. And then there's like diminishing returns, right? I will add a lot more examples. But the incremental game I get was like 1% better answer that I would get. So at some point, you find that point and then you want to grab everything that you've learned so far into a permanent file so that I could copy and paste next time or, you know, go into a more, you know, permanent location, you check that into Git and then everybody else in your team will have that contested. And so they don't have to see themselves. Yeah, it's really interesting. You put it that way about iterations because that's basically programming. That's coding. Yeah. You start with the first thing and you're like, oh, right, I didn't think

about this or that. And then so you add that component to it or checking maybe. And oh, yeah, but then that would the code doesn't handle this corner case. And you got to add into this constant cycle of iteration until you're like, this is production ready. I'm ready to go. I wouldn't, it's not obvious that prompts need to be that way. But I have had that experience where it's like, oh, I did not ask the question right considering the answer I got. I need to tell it more stuff and then try again, you know, with more information or just just stay in the chat. Just go, okay, you gave me this answer, but I was really looking for this and consider these things and it'll go, oh, okay. And then it tries again and you get a more precise answer or more, you know, something more helpful. Yeah, isn't that live though, Ethan? He's just the nobody knew what we're doing the first time we do it. And then we just kind of keep getting better at it. And the, and you know, what is that saying? Don't compare your first day with somebody else is like hundredth day or something like that, right? So, uh, so yeah, it's all about iteration and trial and error. One thing I would, you know, kind of supplement what you talked about is a lot of times

when I meet the the quote unquote AI critics or like people who say, I would never use AI because it hallucinates. Usually they're very loud and there are very many of them. Yes. And nothing wrong with that, right? Like you were entitled to your own opinion, but what I after conversing with them and trying to understand why they don't like it, what is the reason why it's not working the way you are? Usually is the fact that they try it once in messed up and they just, they just push it away, right? How, how dare it that you cannot add like two plus two is six. Come on now, right? Like hallucinate whatever than than I just, you know, did away with it. And two things I'll say to that one is, did you pick the right model? Because nowadays there's like multiple options than the default model usually is the cheapest and not that great. And so, did you think like the thinking mode, the deep research mode or whatever the math mode? So, first thing is, is the right model and the second is, did you iterate enough? Like, did you actually ask it the right way? Did you know like all of these things that we just talked about in the

last 10 minutes? So, most of the time, once you get those two hurdles out, picking the right model, iterate the right way, usually they convert into, you know, it's actually okay. It's competent, right? You may not be the best, but it's competent. And I will use it in the right situation. Yeah, so that's that back to what you were starting talking about. Have you found one model over another seems better suited for networking and work automation, or is it just more about your prompting capabilities and your willingness to play an experiment? Yeah, so ask me next week, I might have a different question. I mean, I'm totally serious, right? I use GPT 40 quite a bit in the example, just because it's cheap, it's four, so at the time was the latest. And they decommissioned it, and just a couple of weeks ago, I think, because they were getting sued at various reasons. But so, yes, so right now, if I want to launch coding, and if I want to do specific things that I

want to wrote cofer, I will use cloud. And let me, let me pull up my current interface, and I'll tell you, I'll use Sonnet 4.6, right? And then, you know, like, and then I will turn on the thinking mode on that's what I would do. But again, it's moving so fast, you know, be your own judge. Yeah, take it with a grain of salt. And I love the fact that Gemini sometimes, you know, sometimes it's just easy to launch Gemini within the browser, because you're opening up, and you don't want to, you know, explain things to them, and they have access to the tab that you're open. So those two are what I use the most right now, and that includes network engineering. And including live questions, live choices questions, should I, should I, not, to go back to school? You let go of the way that I could specify in a, and as part of my context that I want to answer back in JSON, or yeah, well, something like that. How does that work? How would the LLM even know,

like, if it's a JSON response, what key value pairs to be, to be using? Yeah, you, that, that means me, man, like, it must be, must be the training that they're done, and the billions are dollar, they sink into the data center. But yeah, you know, that's, that definitely makes a difference. And, you know, I don't claim to be an expert in, like, the parameters, or, you know, how they do things in the back. I just claim to be a user that, this work for me, and I hope, you know, this work for you as well. So if you specify JSON, it's going to return to JSON, and if you say, this is, so some I always, yep. Okay. So I mean, okay, so the iOS, like, I've done that, like, I needed some quick configuration. I didn't really want to dig through syntax to remember exactly how to do a certain command. I'll just say, generate this, Cisco iOS, CLI would accomplish these things, and I'll give it the parameters and bang, it spits it out, it pretty much, it just works. It's not always perfect, but pretty much, it just works. So then you start getting into JSON, or yeah, and oh, and the training on that, though, there's a million examples out there in the

Internet of Code that accomplishes these things. So you can kind of imagine, okay, that's how it learned that, that's how the model, but then you start getting into JSON and YAML and models that are out there, data models, I mean, not, not LLMs, but how would it, how would it know to parse that? I guess there's enough training data to figure it out is the answer. Interesting. Okay. Yeah, and I would tell you, because I'm in a mastermind group, and one of the member was a Django core developer, or Django steering committee, or I forgot what Jeff's title was, but, but essentially, I think something that he mentioned that's quite interesting to me is that, because he's well versed in multiple languages, multiple frameworks. And what he said was the, all the LL models get better answers on Django over other frameworks. Mostly because Django has been open sourced, and Django has been very meticulous about documentation, and about having open conversation with contributors, they're all, they open a GitHub issue, they'll talk back and forth, they'll say, hey, this is a

Python, this is why we should think, do things, and so on. So when the model trained, they look at all these public available data. So it's almost like you give it, when they were, they were training, they have more information to begin with. So now when you ask something to that particular model who has all these information, is that they would give a better answer just because of the historical data that they have, the accumulation of these historical data and versus some other framework. So I wouldn't imagine that's the same thing. If all of your information behind a paywall, or all of your information, the histories were all private, and they have no access to it, chances are it's not going to know, it's not going to be as, as good of a companion as something that's, you know, Python, for example. So I was assuming every time you came to the prompt window, you're sort of starting fresh, but it sounds like you're saying, you can build up a collection of prompts like you have a collection of scripts so that you aren't having to every time go back and provide context, put in the guardrails, add a persona, figure out, you know, what kind of

help, but you want, is that, is that what we're talking about here? Like precisely, people say have a repository of prompts. Yeah, and I think that's what some of the college kids have, you know, the early days of a child engineering, when you have to save everything in, in like the same single box, so they have a prompt when they're doing homeworks, for example, right? Hopefully, this is a prompt they have under no circumstance, you're giving the answer right away. You want to make me think and just give me all the data, right? Like that's a prompt, that's a parental prompt, but yeah, the parental prompt, the mom prompt, and then there's like the prompt of, hey, Friday night, I just want a quick answer, you know, have some beer with my friends. So anyways, so they would have all these prompts that saved up and depending on certain pace then. So definitely, that's one way to do it, but as what we talked about, right? There's also like these hidden files that you could, according to their documentation, this is what they'll look at and save you some typing, save your team from, you know, going off of, you know, the rails, for example, if back to our JavaScript example, if a fourth person shows up that, you know, I don't

know, sky robot, right? He joined our team, like, and he wants to, you know, dig in on the code, and they say, hey, give me some JavaScript, it's not going to give you react or view, because we already set up that guardrail as, you know, plan vanilla JavaScript versus, you know, some code of framework. We've talked a lot about models that have been trained on publicly available data, the entirety of the internet and documentation and so on, so much of what's out there, but let's say I'm on a network operator, we got our own internal standards, and the model wouldn't know about any of these things, naming conventions, description fields, just the way we do certain things, and I want the LLM to give me answers with that information, as part of its context, is there a way to do that? Yeah, that's back to the agents that MD file, cloud, IMD file, you could put all of your, you know, naming convention standards in there, if you want it to be semi-permanent, and then you check it into Git, and so that, you know, somebody else would synchronize your Git, get that repository down in your automatically,

have that boilerplate, or, you know, just kind of specify in your individual chat window, and say every time you start your chat, you want to have all these, always use, you know, airport code, dash, you know, like function of the device, and then, you know, routers or switches, and then your tiers, and so on, so forth. So I think there are multiple ways to do that, but, you know, once you have something that's set as a team, just like, you know, when you, when you have, welcome a new team member, right? Like, we'll use VS Code, so, you know, let's, let's go get your download VS Code, get your onboarding process, right? So you're onboarding via these templates, and these templates you want to, you know, save it in the a centralized location, and that will be like a private GitHub, or whatever. Well, you said, you said it, you said it, MD files, or markdown file, so that is that markdown file, markdown delimited, but essentially, it's plain English, where I'm saying, hey, I will let my naming convention looks like thus and so, and it's, or is it some structured data that's got to be in a very particular format?

No, it's most of the time plain English, and you could, yeah, you could see a bunch of examples, and they'll provide examples on that on, I think it's just DomD, because it's, you know, I don't know, you could be top TXT, or, you know, you could do a plan mode, and so that's another thing that's, you know, kind of new, by the time the book was published, but now it's like common place where, you know, when you launch a code assistant, or, you know, I use code assistant the most, so I'll use that as an example, but I'm sure it's in other chats, interface as well, that you could have ask mode, or plan mode, and, and you actually, you know, ask before you edit, or, you know, I'm feeling lucky, edit automatically mode, so there's like full modes, so every time I start a project, I don't go to the edit mode nowadays, I go to the plan mode, and so once you start, you know, using the plan, do it actually have back and forth, I will always end up with, do you have any additional questions? And once we settle on about that, I say, hey, summarize everything that we talked about, and then save it into a file,

and, you know, depending on maybe that cursor type defile, like cloud type defile, save it into that file, and then I will get checked into my centralized repository, so that everybody else has it, and they have this history, and then later on, if they found some mistake during that, that process, they could make their edit, they could check back in, and then next time I launch, I'll pull it down, and then, you know, there's some history behind it on why, why they change what they changed. So, let's say I've played around, found a model I feel comfortable with, I've been thoughtful in my prompting, I've now got some output back, how much can I trust this? So, I'm reliable as it, because that's the $100 question, right? That's right, I would even, I would tell next that, I would like to $1,000 million question, that how can I trust this? So, I think that's a great question, and I think that really the answer comes, really depending on you, and how the, the risk factor, like how much can you,

is this irreversible or reversible change? So, that's always that human-in-the-loop factor, where at this point, I don't think anybody, or only the most risk-gravitating persons, would give AI that the total, you know, control, right? That's the same reason I haven't used an open client, because I just feel like I've gained enough too much control. So, in this case, you get that answer back, I think most people will still be that person-in-the-loop, because you could offload a lot of stuff, but you can't offload accountability, right? So, so you're still being accountable for it, and that's why, you know, we still don't have total autonomous driving, we still have like human-monitor driving there, so you, you cannot offload that accountability. So, why should AI, how do I blame you for this? Yeah, exactly, if you, instead of give blame, I do it like AI blame, right? So, true, and if you find a good answer for that, just let everybody know, right? But, right now, I think most of us still want to be that human-in-the-loop if we're responsible for it,

and I would take a look at that config, or whatever that operation they, they told me to, and then I would, you know, ask myself, if I execute this, what is the risk factor? Can I reverse this? And then, you know, that to determine my next step, if it's like irreversible, then probably different. Okay, you've given us a way to think about it. That is, okay, you can 100% trust what's coming up at the LLM, you need to be smart, you need to be wise, and think before you, I'll go ahead and execute the code, for example. Yeah, hopefully. But, in general, in your experience, going back to how Drew phrased that question, I've written a really good prompt with a lot of proper context. Do you think what you're getting back out of the LLM's, generally speaking, is good, saving you time, and so on? At least for coding assistant, I think it's getting much, much better into a point where I, like, I feel like I'm wasting time double-checking AI, because it's so much better than me. So, I'll give you an example. I was trying CloudCo for the first time, like, not the CLI or the plug-in on your VSCO, but rather the Cloud client,

that they now have, let me get that particular, so they have co-work and code tab. So, I was trying out that code tab for the first time, and what I wanted to do is, I've always wanted to have a YouTube playlist with, like, 40 videos. I always want to transcribe them, summarize them, and then see how much I want to watch them out. So, in this case, what I wanted was to download all the Autocon 4 videos, and I give it a playlist, Autocon 4 videos, summarize them, and then I will give a choice of whether I want to listen or watch this in entirety, or just kind of scheme through it, or the summary is good enough, right? That person, that speaker Eric Cho, I want to just, like, cross right away, right? I don't need to listen to that. For multiple reasons, but one of them is I was there. So, anyways, I launched the code, and I followed the instruction, I'm creating a space, and then just give it something. And without me, either, like, checking the code, because

this is low risk, right? This is just simply doing, you know, whatever it is that I would do, except that it would take me hours, if not days, to come up with that script, and they would be broken without me doing anything, it accomplished that task right away. And maybe not, right, the first try, but it would, like, iterate, you'll find out what the air was, maybe it was missing a package, maybe that package was incompatible, or whatever it is, it just goes, and then just, like, a cute cat, just, you know, accomplished whatever it is that I would do, and I was very impressed. So, I think that is, you know, at a point where, yeah, most of the time, I think it's, I don't know, 99% there. If that 1% there, it's because I haven't explained it clearly enough for coding. Hmm. I guess that's been my experience too lately, where a year ago, certainly a year and a half ago, what you got back was kind of rough. It really, like, and, but as time has gone on, as Zidirator, we've had new models come out, what I'm getting back is pretty reliable most of the time.

And if it isn't, I can prompt better. I can, as you were just talking about earlier, iterate on the prompt and, and approve the output that I'm getting. And I'm finding that it's scary good, like, I, like, I'm with you, like, I almost feel like I'm wasting my time here checking its homework, but at the same time, I don't entirely trust it because, you know, we had a history with hallucinations there, not all that long ago. So, can I really trust it? But it feels increasing like, yeah, yeah, we can. Yeah, exactly. So, I think the next thing, the next big thing that we should, you know, probably learn, do, or at least get familiar with the concept is AI and that's actually what my autoconfort talk was, is that, you know, the, the, the title was clickbaitish. I'm like, which AI model is the best, right? But if you actually listen to it, it's actually, you know, you want to evaluate the model. Like, you know, that's the thing that we want to do is we want to save those traces, what they called on how they came out with the answer

that they've had come out that would never have time to look for, that would never have time to really dig deep into. We want to save in their location. And then we want to add a later point, evaluate these models on how good they are. And I'll give you a example on, it's actually in the book where, you know, we use the third model to evaluate the answers from like the turbo 3.5 and and the GPT-4 turbo 3.5 and 4. And supposedly 4 would be better, but, you know, the third AI actually evaluated 3.5 to be better. And the devil's in the detail is that because I have a better prompt for 3.5. So, so I think going back to it is that, you know, the next thing that we need to do is actually to figure out how to evaluate, evaluate AI, have a good test bed, make sure, you know, the blast radius is manageable, that we're comfortable with the amount of risk that we're taking and so on and so forth. It's less about the quality of the AI, but rather about,

you know, what is the situational awareness that we're into to use this? In terms of evaluating output, do you think there's value in taking a prompt and running it through one or two or three different models and comparing what they spit out to look at how they're different or not different? Sometimes I just do it for fun, but most of the time I don't, most of the time I find that something that's good enough, that is, you know, get me 80% there and I'm happy with it because, you know, like, yeah, sometimes it's just that going to a doctor, right? Sometimes you want second and third opinion for the really important stuff, and sometimes it's good enough to go, okay, I'll take that antibiotic and you'll solve my problem if I go. So sometimes I would deliberately do it for comparison and just, you know, even within the same provider, I'll compare between, you know, GPT-5 versus, you know, four, for example, or, you know, I'll compare between Sonid versus Haikoui within Enfropic, and sometimes I do it just for fun, but I don't think it's worth all the time to just compare all of it, unless you do

it systematically and you want to systematically doctor me like, again, if you want to e-vow, right? Like the same thing, everything else, constant, this is the only change variable, the model, the provider, and what do I get and kind of evaluate that? If you're doing it for that purpose, definitely, but if you just want to get like some code done like YouTube, you know, that YouTube example that I gave, that no, I'm perfectly fine. Just like, it got me the result I wanted, then I'm good to go. Okay. Security, Eric. So if I'm working with the public LLM, which has been the vast majority of our context here, context, but that's what we've been talking about. Oh, yes. I know what you're talking about, man. How do I think about security? So for example, I wouldn't upload router configs to the cloud unless I knew exactly how that router config date was being secured. Should I have that sort of thinking when I'm interacting with the public LLM? Yeah, definitely. So I think that's a, that's a great question. All the providers will, will want you to believe that they're absolutely secure and, you know, there's no,

no worry on the leakage and all that, right? But, you know, five experienced credit check later. I found out that, you know, they're just, they're just kidding about it. So I don't have a good answer about that, but I would say the, the one thing that I would tell others and tell my wife, tell my kids or whoever that come up and ask me is that if you think it's important enough, you'll probably want to get the paid version versus the free version. And, you know, we could talk about like, you're the product or whatever, right? But, you know, the thing is that I think most of the agreement within the pro version is you, you have the option to opt out of being a train for those data like your, your response is being back. They absolutely need everything that you return, you know, to give you the, the best, you know, description or the best response, but don't, you know, paste in your social security, right? Don't, don't, you know, your banking information that should stay private when you launch Gemini versus like, make sure you're not

locked into a bank account or whatever. But, um, but yeah, you know, I think that's a great question. At least in the pro version, that's why I pay for everything is like, I pay for everything and then I go into the settings to make sure that I opt out and everything I could opt out of. And what is the minimum thing I could give it in order to get the result I want? And sometimes the answer is not great. And like, uh, you know, I don't want to pick an open cloud, right? But essentially, I feel like some tools are just overstepping their boundaries and wanted to so much scope and permission that I'm not feeling comfortable in giving it. Uh, so that's an open end to question. But one thing that I would say is it may be looking to the pro version versus uh, the free version and then opt out of everything that you could opt out of. Okay. Well, Eric Cho author of the AI networking cookbook. Thank you for joining heavy networking today. And uh, remind people where they can get the book and then how they join your community if they want to talk about the book. Yeah. So anywhere that you not only get your books,

a lot of times I see over a 50% of the readers get their books from Amazon. So I'll say Amazon in, uh, you know, and different formats. You can also order directly from packed. I would love to have you sign up for network automation, nerds.com. And there's like, when you launch the hero, like, I should have that joint. And then just type in an email address. You don't need to give your name. And uh, and then you'll receive a, uh, invitation link to the discord that if you want to discuss in real time. And uh, when you join the, uh, the community, you'll get a, um, you'll get email notification whenever I post something new. And that's how I aim to stay in touch on some of these stuff that we talked about that I didn't have the, the time with the space to including the book. Okay. Eric, thank you again for joining us. Thanks to you for listening to packet pushers today. Heavy networking podcast band we've been doing this since 2010. And a lot of you have been listening since the beginning, which when you tell me that it freaks me out. But thank you for doing so. Go get yourself a copy, Eric's book. Ask any of us that have our names on

a tech book. Uh, they do not make much money for the author, but every little bit helps. So please support Eric's efforts and learn something new. I've been Ethan Banks, along with Drew, Conry Murray. We appreciate you listening or watching each and every week. Heavy networking is available as video now, if you didn't know, but it's available as video on Spotify and YouTube. And of course, audio as it always has been anywhere that you listen to your podcasts. And of course subscribe to network automation nerds with Eric Cho and search for packet pushers in your podcast client to see our entire lineup of shows, 13 active shows, putting out a fresh episode each week or every four tonight. Thanks for what you do as a network engineer. Hey, you got a hard job. You aren't, we know you were not always appreciated for what you do. You catch way too much blame and you make the absolute train wreck disaster apps that someone hands you work somehow. You do that because you're that amazing. So again, thanks. Maybe no one else cares, but we do. Last but not least, just remember, too much networking would never be enough.

More episodes

More from Heavy Networking

View all episodes →