WEBVTT

00:00.000 --> 00:11.000
Hello everybody, thank you for being here, my name is Anfonso, please call me Poncho,

00:11.000 --> 00:14.760
and I'm also a developer advocate at Cisco Debt.

00:14.760 --> 00:20.080
I'm very happy to be here with you, sharing this session, and in this session we're going

00:20.080 --> 00:27.640
to discover together a very, very practical approach towards leveraging your network automation

00:27.640 --> 00:36.000
operations of every day, using an open ecosystem based on AI agents, and also low-cove

00:36.000 --> 00:37.000
tooling.

00:37.000 --> 00:41.800
So by the end of the session, I hope that you're more aware of all these tooling, all these

00:41.800 --> 00:47.360
things that you can do with this ecosystem, and be of all sorts of interesting use cases

00:47.360 --> 00:51.080
in your own networks, right?

00:51.080 --> 00:55.720
Let's go, let's go, let's go, let's go, let's go, let's go, let's go, let's go, let's work

00:55.720 --> 00:56.720
on.

00:56.720 --> 01:03.760
All right, well, this is my name, I'm based on Lisbon Portugal, and here I lay my LinkedIn

01:03.760 --> 01:08.000
and GitHub in case you'll want to carry on with the conversation later on, and I always

01:08.000 --> 01:12.400
love to share this picture, it's our offices in Tokyo Japan.

01:12.400 --> 01:18.040
We have one mascot for technology, and I think that's pretty, pretty cute.

01:18.040 --> 01:23.680
So let's get started with our agenda, and we're going to have a look, very brief overview

01:23.680 --> 01:29.880
of what agentic ops means in the world of network automation, what's the current status

01:29.880 --> 01:32.520
and which are the tools that we have available.

01:32.520 --> 01:39.560
Then we're going to have a look at proposal of text that stack for these open ecosystem

01:39.560 --> 01:45.680
for our network, and then we're going to have a deep dive into very technical demos.

01:45.680 --> 01:50.760
I have two use cases prepared for you, and then we're going to wrap it up with some references

01:50.760 --> 01:54.120
and good practices.

01:54.120 --> 01:59.920
So having said that, what do we need to take this steps back and talk about our modern

01:59.920 --> 02:00.920
LLMs?

02:00.920 --> 02:06.160
Like the LLMs that we can use right now, either it's a BNAPI or things that we can download

02:06.160 --> 02:09.040
via Olama, whatever that may be.

02:09.040 --> 02:16.360
As of now, LLMs are surprisingly good when it comes to speaking the language of networking.

02:16.360 --> 02:18.680
I'm talking about CLI commands.

02:18.680 --> 02:24.000
Most of when it comes to the most popular Bendor's out there, and the thing is that all

02:24.000 --> 02:29.240
these LLMs have been exposed to a lot of real network use cases.

02:29.240 --> 02:35.400
So they can speak the networking language, while they don't have the context of the network.

02:35.440 --> 02:40.720
That means they don't know what's going on in the network, but they can be fluent by generating

02:40.720 --> 02:42.360
CLI commands.

02:42.360 --> 02:46.280
Out of the box, we know trading, we know nothing.

02:46.280 --> 02:49.200
They are very good at that as of now.

02:49.200 --> 02:55.360
And also something that they're very good at is generating a series of steps when it comes

02:55.360 --> 02:58.920
to the interpretation of a high level intent.

02:58.920 --> 03:04.880
So for example, if I take a model that I just downloaded and ask hey, for this very popular

03:04.920 --> 03:12.120
Bendor, can you tell me what's the health of the interfaces of this network device?

03:12.120 --> 03:18.680
More than often, these LLMs will be able to generate as soon as the good lists of commands

03:18.680 --> 03:25.200
that they will issue and that they will then cross-check to give me the information that I need.

03:25.200 --> 03:30.600
And on top of that, we have low coding tools available so that we can create all these

03:30.640 --> 03:33.560
genetic architectures with little to no code.

03:33.560 --> 03:40.000
There's of course some coding plug, yes, mostly glue code or like the data formatting, whatever.

03:40.000 --> 03:46.580
But it's pretty seamless to create these architectures and more important to app guard

03:46.580 --> 03:47.580
rails.

03:47.580 --> 03:52.080
That means we want to have a human in the loop, for example, we need to have a person

03:52.080 --> 03:58.360
there who presses the red button.

03:58.360 --> 04:06.520
So having said that, I have this proposal of an open ecosystem of text stack, so to say.

04:06.520 --> 04:08.520
We start off with our LLMs.

04:08.520 --> 04:11.760
I'm pretty certain that most of you are aware of Olaman.

04:11.760 --> 04:18.600
We can deploy it in our own computer, we can deploy it also like on more powerful environments

04:18.600 --> 04:23.600
and we can download all sorts of models that we can also train and while these models

04:23.600 --> 04:27.320
are tailored for some specific applications.

04:27.800 --> 04:29.800
Next, N8N.

04:29.800 --> 04:36.040
It's right now one of the most popular workflow platforms out there.

04:36.040 --> 04:40.320
And the thing about it is that you can easily self-host it.

04:40.320 --> 04:46.760
It allows you to do all it, it allows you to monitor all the different executions of your workflows.

04:46.760 --> 04:50.880
And if you ask me, it's pretty fun to use.

04:50.880 --> 04:52.320
I have a lot of fun using it.

04:52.320 --> 04:54.840
It has a collector of integrations.

04:54.880 --> 05:00.880
We're going to find out in the demo how we can leverage it for our network automation operations.

05:00.880 --> 05:04.680
And the last but not least, MCPs, yes.

05:04.680 --> 05:08.680
At the end of the day, we need to talk to our real networks.

05:08.680 --> 05:14.080
Our infrastructure is the living creature out there and we need to be able to talk to it.

05:14.080 --> 05:19.680
So I want to ask you something, if has any of you here heard about PIATS?

05:19.680 --> 05:22.560
Please trace your hand.

05:22.560 --> 05:26.080
Okay, well, I'm going to be honest, that's more than what I expected.

05:26.080 --> 05:27.960
I'm pretty happy about it.

05:27.960 --> 05:32.880
For those who don't know, PIATS is a project donated by Cisco.

05:32.880 --> 05:39.800
It was initially created as a test automation framework, but it has evolved into much more than that.

05:39.800 --> 05:46.480
It allows us to seamlessly communicate with our network devices when we provide an inventory in a very simple YMO file.

05:46.480 --> 05:51.000
And that's the way that we can interact with those devices.

05:51.000 --> 05:55.480
So speaking of this, let me jump into my repository.

05:55.480 --> 05:57.200
Just in one second.

05:57.200 --> 05:59.600
Okay, it's not showing up.

05:59.600 --> 06:02.600
Hold on.

06:02.600 --> 06:05.720
Sorry about that, let me just put it here.

06:05.720 --> 06:06.960
Yeah, that's better.

06:06.960 --> 06:10.720
Now you're going to see me all crooked to the monitor.

06:10.720 --> 06:13.680
So we have a PIATS entity server.

06:13.680 --> 06:14.960
This is completely open to code.

06:14.960 --> 06:18.400
You can check it out, contribute, whatever you need.

06:18.400 --> 06:25.040
And we have some exposed tools that are completely based on these PIATS library.

06:25.040 --> 06:29.560
We also have a here instructions to use and always on sandbox.

06:29.560 --> 06:32.880
You can actually test it with a real network.

06:32.880 --> 06:34.680
It's available in our definite site.

06:34.680 --> 06:39.400
I also cared some other instructions for setting it up and you're writing it with a

06:39.400 --> 06:40.560
leave it a chat for examples.

06:40.560 --> 06:43.120
You can test it right away.

06:43.120 --> 06:53.320
So going back into our presentation, I want to integrate all these different tools in

06:53.320 --> 06:58.000
this open ecosystem and show you one very first demo.

06:58.000 --> 07:04.240
This demo, we're going to have an agent check-ups workload for network automation operations.

07:04.240 --> 07:05.720
Think about this.

07:05.720 --> 07:07.240
It's entirely based on any done.

07:07.240 --> 07:11.600
We're going to have our unsaturated employee connected to our always on sandbox lab.

07:11.600 --> 07:14.360
This is a real network rail infrastructure.

07:14.360 --> 07:21.280
We're going to have a lack of authentication in the NGRACTONO hooked to our Slack channel.

07:21.280 --> 07:26.360
We're going to use NGRACT because although NGTA has some tunneling available by default,

07:26.360 --> 07:28.840
let me tell you something, it's not reliable.

07:28.840 --> 07:33.680
So for now, you better rely on something more stable like NGRACT.

07:33.680 --> 07:34.680
Think about this.

07:34.680 --> 07:39.800
We're going to be able to interact with our LLM, with our NCP.

07:39.800 --> 07:45.200
To do two types of queries, reef queries from our infrastructure, but also right operations.

07:45.200 --> 07:49.320
I should be able to commit network configurations.

07:49.320 --> 07:50.520
Think about this.

07:50.520 --> 07:54.480
We're going to be implementing guardrails and human in the loop.

07:54.480 --> 07:59.480
So at the end of the day, as I mentioned, we have a person, a human being, pressing that

07:59.480 --> 08:00.480
red button.

08:00.480 --> 08:04.080
And then jump into our demo here.

08:04.080 --> 08:08.080
I'm going to go, just second to worse my mouse.

08:08.080 --> 08:09.080
There we go.

08:09.480 --> 08:10.080
OK.

08:10.080 --> 08:12.720
First of all, in this time, let me turn it back.

08:12.720 --> 08:17.920
Can you see the graph that we have here, the diagram?

08:17.920 --> 08:18.440
Not really.

08:18.440 --> 08:18.920
All right.

08:18.920 --> 08:22.760
Well, before that, let's jump into something.

08:22.760 --> 08:25.520
I think this one is a little bit more clear.

08:25.520 --> 08:27.520
I have a Slack channel.

08:27.520 --> 08:31.280
In this Slack channel, I created this small bot.

08:31.280 --> 08:33.720
It's called BACC.

08:33.760 --> 08:39.760
And packet is going to be integrated into this channel here.

08:39.760 --> 08:42.160
Let me just make some in a little bit more.

08:42.160 --> 08:43.160
I think that's better, right?

08:43.160 --> 08:44.640
For the people in the back.

08:44.640 --> 08:45.640
Awesome.

08:45.640 --> 08:46.640
OK.

08:46.640 --> 08:49.000
So I added my packet app.

08:49.000 --> 08:54.400
I'm going to say, hey, hey, buddy, can you please tell me which order devices in my inventory?

08:54.400 --> 08:56.840
It's going to go to my N8N workflow.

08:56.840 --> 09:01.040
It's going to use all the tooling that I have available during which we will hop to in

09:01.040 --> 09:02.280
a second.

09:02.280 --> 09:04.120
And it's going to give me a reply.

09:04.120 --> 09:06.840
This is the list of devices in your inventory.

09:06.840 --> 09:08.280
This is how we're once again.

09:08.280 --> 09:10.160
I were always on the N8N sandbox.

09:10.160 --> 09:12.840
You can also use it yourselves.

09:12.840 --> 09:15.440
Now, I can say, hey, packet.

09:15.440 --> 09:16.440
OK, that's nice.

09:16.440 --> 09:21.480
Can you please list all the b-lens on my switch one?

09:21.480 --> 09:24.440
I want you to show me the information that you can find.

09:24.440 --> 09:26.520
Create the nice table with it.

09:26.520 --> 09:27.520
Cool.

09:27.520 --> 09:28.320
It's going to go there.

09:28.320 --> 09:29.920
It's going to fetch the information.

09:29.920 --> 09:33.600
It's going to format it for me, and it's going to display it here.

09:33.600 --> 09:34.600
Perfect.

09:34.600 --> 09:35.600
OK.

09:35.600 --> 09:37.080
That's a read operation.

09:37.080 --> 09:39.520
Now I want you to do something else for me.

09:39.520 --> 09:42.880
Please create a new b-lens on this switch.

09:42.880 --> 09:46.320
Use this part of meters just send it in.

09:46.320 --> 09:47.320
Something happened here.

09:47.320 --> 09:48.560
I'm going to show you later.

09:48.560 --> 09:51.880
I have here the human in the loop later that I will show you in a moment.

09:51.880 --> 09:56.280
I said, yes, in this time, and this configuration went into my device.

09:56.320 --> 10:01.120
And here, it's showing me the confirmation of what just happened.

10:01.120 --> 10:04.920
Now, that human in the loop situation.

10:04.920 --> 10:08.480
I'm going to do it again here for the same switch,

10:08.480 --> 10:11.600
brand new b-lens here.

10:11.600 --> 10:13.000
It's going to show me a part.

10:13.000 --> 10:14.680
This is my human in the loop thing.

10:14.680 --> 10:16.160
It's going to show me a part.

10:16.160 --> 10:21.000
And it is me, the human being, who presses the red button.

10:21.000 --> 10:24.480
It's a yes, or it's a no.

10:24.480 --> 10:29.560
And all of this is possible due to these N-A-10 workflows that we have here.

10:29.560 --> 10:33.360
I'm going to show you here the executions very, very quickly.

10:33.360 --> 10:35.840
We have these several agents here.

10:35.840 --> 10:39.360
We have an intent agent, which is going to determine

10:39.360 --> 10:43.040
if the web kind of operation I'm doing here.

10:43.040 --> 10:44.480
Is it the read operation?

10:44.480 --> 10:46.320
Is it the right operation?

10:46.320 --> 10:51.160
What am I doing here from the message that came from Slack?

10:51.160 --> 10:54.720
And you can see here that I'm using an Olama.

10:54.720 --> 10:57.200
This is completely deployed on my computer.

10:57.200 --> 11:01.640
I am using this quen model running right here right now

11:01.640 --> 11:03.440
in my computer.

11:03.440 --> 11:06.560
Then moving on, it's going to say, hey, this is a read intent.

11:06.560 --> 11:09.440
So I'm going to be using this reading agent,

11:09.440 --> 11:11.760
which is blocked to my MCP server.

11:11.760 --> 11:15.440
Then it goes to a formatting agent, which makes it all

11:15.440 --> 11:17.960
pretty, basically that's its own purpose.

11:17.960 --> 11:20.200
And then it goes back to my Slack.

11:20.200 --> 11:24.400
Now, what happens if it is right operation?

11:24.400 --> 11:29.440
What I'm going to have here, no, this one here, perfect.

11:29.440 --> 11:32.440
You can see that it goes in some other way here.

11:32.440 --> 11:34.840
It's going to go to my planning agent.

11:34.840 --> 11:39.640
This planning agent relies on how fluid it is on speaking CLI

11:39.640 --> 11:43.200
for this specific device model in platform.

11:43.200 --> 11:46.080
And it will propose a series of CLI commands

11:46.080 --> 11:49.440
that translates my intent, my high little intent,

11:49.440 --> 11:52.000
into actual CLI configurations.

11:52.000 --> 11:54.080
And it's going to put it there on my Slack.

11:54.080 --> 11:59.080
In that nice card that you saw that accept or deny.

11:59.080 --> 12:02.080
And then if I say, yes, I want to configure that.

12:02.080 --> 12:04.480
I want to push that.

12:04.480 --> 12:05.880
I'm going to trigger this web hook,

12:05.880 --> 12:08.360
and that's going to go into my commit agent.

12:08.360 --> 12:11.280
This commit agent has a series of guardrails.

12:11.280 --> 12:13.960
It should only write the specific commands

12:13.960 --> 12:15.880
that come from the other part.

12:15.880 --> 12:18.360
And those commands only should not hallucinate.

12:18.360 --> 12:20.360
It should not come up with anything else.

12:20.360 --> 12:23.560
It's just pushing it there through the MCP.

12:23.560 --> 12:24.680
That's it.

12:24.680 --> 12:26.280
We do nothing else.

12:26.280 --> 12:28.840
There's also guardrails implementing on the MCP itself,

12:28.840 --> 12:31.280
so I invite you to take a look at the tools at the code,

12:31.280 --> 12:33.360
because, for example, some operations,

12:33.360 --> 12:35.720
like shutting down the device, or whatnot,

12:35.720 --> 12:39.920
are completely rejected at an MCP level.

12:39.920 --> 12:43.800
So having said that, let me go back into our presentation,

12:43.800 --> 12:46.000
because there's another interesting use case

12:46.000 --> 12:48.480
that I want to share with you.

12:48.480 --> 12:53.800
OK, I'm just going to hop here into our other demo.

12:53.800 --> 12:57.240
We are going to be leveraging a very similar work now,

12:57.240 --> 12:59.960
but this time it's going to be for reporting

12:59.960 --> 13:02.040
and automated ticketing.

13:02.040 --> 13:07.120
A sorts of get-ups reporting and ticketing suicide.

13:07.120 --> 13:09.560
I'm going to have the finish on my repository

13:09.560 --> 13:13.080
of the reports that I want to have, the agents that I need,

13:13.080 --> 13:15.280
like all the agents' prompts are going to be there,

13:15.280 --> 13:17.880
and I'm going to be storing their reports

13:17.880 --> 13:21.360
and creating get-up issues if my agents

13:21.360 --> 13:25.400
determine that there's something that needs my attention.

13:25.400 --> 13:30.320
So having said that, let me go back to my browser

13:30.320 --> 13:35.080
and I'm going to go here and here I have my status workflow.

13:35.080 --> 13:37.600
Looks a little bit intimidating, doesn't bite.

13:37.600 --> 13:41.800
I promise, but it's basically two agents.

13:41.800 --> 13:43.760
Let me zoom in here.

13:43.760 --> 13:48.040
We have a reports AI agent, which is going to take,

13:48.040 --> 13:49.760
whoops, sorry.

13:49.760 --> 13:54.320
It is going to take from my get-up here,

13:54.320 --> 13:55.920
a definition of an agent.

13:55.920 --> 13:58.560
You are a network automation assistant.

13:58.560 --> 14:01.120
You're going to be creating this beautiful mark

14:01.120 --> 14:02.520
than reports.

14:02.520 --> 14:08.080
It's also going to take from this repository, let me show you,

14:08.080 --> 14:09.840
as soon as it reports.

14:09.840 --> 14:11.960
For example, this one here.

14:11.960 --> 14:15.440
I want you to report on the operational state

14:15.440 --> 14:19.840
of my interfaces of device R1 only.

14:19.840 --> 14:24.360
So we're going to take these files in our NATEN workflow.

14:24.360 --> 14:26.400
We're going to send them to our reports,

14:26.400 --> 14:29.680
whenever it's, we have a scheduler or also manual triggering,

14:29.680 --> 14:31.240
and you can see here what we have.

14:31.240 --> 14:32.400
This is my agent.

14:32.400 --> 14:35.800
This is my file prefix, my query, my intent, my notes,

14:35.800 --> 14:36.640
and that's it.

14:36.640 --> 14:38.320
We're going to do all the processing,

14:38.320 --> 14:42.760
and then we send that, sorry for the mess up here.

14:42.760 --> 14:47.280
We send that to our tickets IA agent.

14:47.280 --> 14:49.120
This one takes the report.

14:49.120 --> 14:52.000
It takes also the agent prompt that I have

14:52.000 --> 14:54.080
thing in get-up as well.

14:54.080 --> 14:58.720
And it will create tickets based on what's

14:58.720 --> 15:00.480
happened in that reporting.

15:00.480 --> 15:03.480
So at the end of the day, I end up with something like this.

15:03.480 --> 15:06.760
In my repository, I have this automated issues.

15:06.760 --> 15:09.960
You can see that with that last trigger,

15:09.960 --> 15:13.200
I have here this ticket here, from the interfaces

15:13.200 --> 15:14.880
that just report.

15:14.880 --> 15:19.200
Hey, it's low, but you maybe want to have a look at it.

15:19.200 --> 15:21.400
You want to improve the interface documentation.

15:21.400 --> 15:23.600
Monitoring here we have with some context here.

15:23.600 --> 15:25.760
Have some key recommendations.

15:25.760 --> 15:29.600
Mark them list of tasks that we can accomplish here.

15:29.600 --> 15:32.680
Current status and here we have a reference of the report,

15:32.680 --> 15:36.440
which was also automatically generated and stored

15:36.440 --> 15:37.640
in my repository.

15:37.640 --> 15:40.320
You have here an executive summary, assumptions,

15:40.320 --> 15:43.760
environment, overview, all the stuff is here.

15:43.760 --> 15:46.480
And I want to go back to an agent and actually show you

15:46.480 --> 15:49.280
what happened behind the curtains.

15:49.280 --> 15:52.120
If we go back to our first agent, the one

15:52.120 --> 15:55.800
for the reporting, and we expanded here,

15:55.800 --> 15:58.800
you can see that my agent made several calls

15:58.800 --> 16:00.600
to my NCP client.

16:00.680 --> 16:03.960
You can see that first it took a list of devices,

16:03.960 --> 16:06.280
just verify that the device that I requested

16:06.280 --> 16:08.640
isn't in bed tree, that I'm not coming up with anything

16:08.640 --> 16:09.800
random.

16:09.800 --> 16:15.000
Then it issued a series of CLI commands that it knows very well,

16:15.000 --> 16:18.000
because it's a wear of the device type and platform.

16:18.000 --> 16:20.240
So it knows that these commands are going to work.

16:20.240 --> 16:23.840
And it knows which tools to use with this PIA TSNCP

16:23.840 --> 16:24.520
server.

16:24.520 --> 16:27.160
So it used, for example, a show in your faces,

16:27.160 --> 16:29.680
then it's sent a show in your face summary,

16:29.680 --> 16:32.720
then it sends a show IP interface brief.

16:32.720 --> 16:33.720
And that's it.

16:33.720 --> 16:36.040
It did all the cross-referencing of all these outputs,

16:36.040 --> 16:38.600
generated that report, marked them format.

16:38.600 --> 16:41.360
Put it there, and get half, then pass it on

16:41.360 --> 16:43.880
to the ticketing agent.

16:43.880 --> 16:46.840
So that's basically how it works.

16:46.840 --> 16:49.520
This low-code agentic workflow.

16:49.520 --> 16:52.720
Let me go back to our presentation.

16:52.720 --> 16:53.600
Yes.

16:53.600 --> 16:58.480
And I'm going to skip all the way to a nice wrap-up.

16:58.480 --> 17:00.120
It's our some personal suggestions

17:00.120 --> 17:01.760
that I give to you if you're interested

17:01.760 --> 17:04.560
in leveraging this in your own projects.

17:04.560 --> 17:08.840
You know, baby steps build very single, very, very focused

17:08.840 --> 17:11.440
agents that do very specific things.

17:11.440 --> 17:13.680
We've all the different stages in your architecture

17:13.680 --> 17:15.480
for network automation.

17:15.480 --> 17:20.160
Also, Twitter LLMs, like a junior network engineers, right?

17:20.160 --> 17:23.440
Just give them some patience, give them a lot of guidance,

17:23.440 --> 17:27.720
give them a lot of guardrails, so that they don't

17:27.720 --> 17:30.560
need to use potentially, talk, see, or potentially

17:30.560 --> 17:33.520
conflicting configurations in your network.

17:33.520 --> 17:37.280
Nobody wants a Friday night outage, right?

17:37.280 --> 17:41.680
And the last but not least, use real networking tools.

17:41.680 --> 17:43.880
There's lots of things available out there.

17:43.880 --> 17:47.280
As my collection mentioned, there's a plethora of MCP

17:47.280 --> 17:52.600
servers out there for any tool controller that you may need.

17:52.600 --> 17:55.320
Now, this is an example with PI8TS, but everything

17:55.320 --> 17:57.400
is at your fingertips.

17:57.400 --> 17:59.640
And also, in definite, we have a lot of information

17:59.640 --> 18:00.120
about this.

18:00.120 --> 18:03.760
We have a lot of real devices, laughs available for you.

18:03.760 --> 18:07.280
It's all for free, just need to create your Cisco accounts

18:07.280 --> 18:09.080
not much else.

18:09.080 --> 18:11.120
And just to wrap it up, I'm going to leave you here

18:11.120 --> 18:12.840
with some references.

18:12.840 --> 18:16.520
We're going to know more about NATEN, PI8TS, links are here.

18:16.520 --> 18:20.760
And also, this is the QR code for the repository

18:20.760 --> 18:23.760
of all these NATEN workloads that you just saw.

18:23.760 --> 18:28.800
If you just, some seconds to take a look at the QR code,

18:28.800 --> 18:31.440
all right, they'll real good.

18:31.440 --> 18:35.840
So I want to show you the repository before we jump into QA.

18:35.840 --> 18:36.840
Awesome.

18:36.840 --> 18:42.040
It's just going to go back to our browser.

18:42.040 --> 18:42.920
Here it is.

18:42.920 --> 18:45.000
PI8TS, loves a gigantic ops.

18:45.000 --> 18:46.200
Please have a look at it.

18:46.200 --> 18:50.440
It was made with a lot of love and care and coffee.

18:50.440 --> 18:54.640
And here you have the two low code workflows

18:54.640 --> 18:55.520
that we just saw.

18:55.520 --> 18:57.040
So everything's here.

18:57.040 --> 18:59.680
And happy coding.

18:59.680 --> 19:01.480
And let me know how it goes.

19:01.480 --> 19:02.040
Thank you.

19:02.040 --> 19:02.680
Thank you.

19:02.680 --> 19:03.680
Thank you.

19:03.680 --> 19:05.680
Thank you.

19:05.680 --> 19:06.360
OK.

19:06.360 --> 19:08.480
So we have time for maybe just a couple of questions.

19:08.480 --> 19:09.480
Yep.

19:09.480 --> 19:12.680
I was just curious.

19:12.680 --> 19:15.960
When you, at least, let's say, for my experience,

19:15.960 --> 19:17.920
I just want to hear what your thoughts are.

19:17.920 --> 19:26.400
That when you are dealing with MCP tools, is it a good idea

19:26.400 --> 19:29.600
to start with a destructive train of thought?

19:29.600 --> 19:32.280
That is to say, if I complete my workflow,

19:32.280 --> 19:34.920
as you have done here, the only way to really

19:34.920 --> 19:39.280
be confident of it is if I say, hey, I put all these guard

19:39.280 --> 19:42.080
rails in place, but what if the worst case?

19:42.080 --> 19:43.480
Is that a good approach, you think?

19:43.480 --> 19:47.880
Or is it just to optimize at the optimize?

19:47.880 --> 19:51.480
No, I think it's actually the best thing to do from early on.

19:51.480 --> 19:53.040
Think about networking.

19:53.040 --> 19:53.720
We'll know here.

19:53.720 --> 19:56.120
It's a different kind of Pokemon, right?

19:56.120 --> 19:58.840
We really need to be pre-entive when it comes

19:58.840 --> 20:01.680
to destructive configurations straight off the bat.

20:01.680 --> 20:04.960
So my recommendation is, yeah, implement guard rails anywhere

20:04.960 --> 20:05.760
you can.

20:05.760 --> 20:09.200
Here, it's at an MCP level, but also at a workflow level.

20:09.200 --> 20:11.680
We have guard rails and humanity loop.

20:11.680 --> 20:14.880
And just try it out with the sandbox network.

20:14.880 --> 20:16.400
So you don't break anything for real.

20:17.880 --> 20:21.680
All right, well, great.

20:21.680 --> 20:23.680
Well, thank you very much.

20:23.680 --> 20:24.680
Thank you.

