WEBVTT

NOTE Sentence-level transcript of https://www.youtube.com/watch?v=gxVZ_1tuuq4

NOTE One cue per sentence. Cue ids are the line anchors on /transcripts/gxVZ_1tuuq4.html. A cue ends where the next begins, or 2 s after its last word.

s1
00:00:16.080 --> 00:00:17.600
Hello everybody.

s2
00:00:17.600 --> 00:00:19.279
Hello AI engineers.

s3
00:00:19.279 --> 00:00:22.400
Are we all having a good time still?

s4
00:00:22.800 --> 00:00:23.680
I'm having a good time.

s5
00:00:23.680 --> 00:00:24.400
I mean, look at me.

s6
00:00:24.400 --> 00:00:24.960
I'm up here.

s7
00:00:24.960 --> 00:00:26.400
I'm loving this.

s8
00:00:26.400 --> 00:00:28.640
Um, so yeah, thanks so much for joining me.

s9
00:00:28.640 --> 00:00:33.120
Um, I want to come and talk to you all about harness engineering and all that kind of stuff.

s10
00:00:33.120 --> 00:00:37.040
Um, let me tell you who I am in case you've not met me before.

s11
00:00:37.040 --> 00:00:42.239
Um, my name is Mike Chambers and I'm a senior AI specialist developer advocate.

s12
00:00:42.239 --> 00:00:45.920
Um, and I work at Amazon at AWS.

s13
00:00:45.920 --> 00:00:53.120
Um, little bit about like uh how I managed to get to stand here which is a very exciting time for me.

s14
00:00:53.120 --> 00:01:10.479
Um so um quite a while ago in terms of generative AI anyway back in 2023 um I had the amazing awesome privilege uh to work with Antia my colleague at the time and now she works for Amazon AGI you've probably seen her on this stage before

s15
00:01:10.479 --> 00:01:20.799
um and the amazing Dr. Andrew Ing on on a course about generative AI with LLMs um sort of can I say that we're approaching half a million enrollments with that?

s16
00:01:20.799 --> 00:01:21.920
It looks like that's the case.

s17
00:01:21.920 --> 00:01:23.759
And on a three-week course, that's pretty cool.

s18
00:01:23.759 --> 00:01:28.159
If you can't tell, in that image, um, I'm playing Transformers with Android.

s19
00:01:28.159 --> 00:01:30.880
That seemed like a really funny thing to do at the time.

s20
00:01:30.880 --> 00:01:34.159
Um, in 2025, I created an MCP Lambda handler.

s21
00:01:34.159 --> 00:01:37.680
It's downloaded still to this day about 35,000 times a month.

s22
00:01:37.680 --> 00:01:43.200
Um, to help people in some of the simplest ways of getting serverless MCP serving happening.

s23
00:01:43.200 --> 00:01:46.799
Um, I'm going to talk about other things in relation to that this time.

s24
00:01:46.799 --> 00:01:48.399
So, we've moved on from that.

s25
00:01:48.399 --> 00:01:56.799
Um and in 2026, so the AWS is actually one of the founding members of the Aentka Foundation, part of the Linux Foundation.

s26
00:01:56.799 --> 00:01:59.200
Um I'm doing a little bit of work behind the scenes on that.

s27
00:01:59.200 --> 00:02:01.119
Hope to do a lot more of that as well.

s28
00:02:01.119 --> 00:02:02.880
So little bit about me.

s29
00:02:02.880 --> 00:02:14.080
Um so as I've been um preparing for this, oh by the way, I did reread the abstract for this session and realized I said I'd be doing some live coding

s30
00:02:14.080 --> 00:02:15.440
and so I will.

s31
00:02:15.440 --> 00:02:19.120
So all combined fingers crossed please that that all works for us.

s32
00:02:19.120 --> 00:02:28.239
Um but as I've been sort of traveling around a little bit as I do and I was at the AI engineers uh session uh summit uh uh conference in Melbourne

s33
00:02:28.239 --> 00:02:32.319
um and took a lot of it in and also from the beginning of this week as well.

s34
00:02:32.319 --> 00:02:40.319
I just wanted to to to summarize some of the things that I'm seeing and I'm thinking and I really want to get across and and what really matters to me

s35
00:02:40.319 --> 00:02:41.440
and that's this.

s36
00:02:41.440 --> 00:02:44.239
There are two different types of agents.

s37
00:02:44.239 --> 00:02:49.760
Um, so we talk about agents all the time, but I see two distinct types of agents.

s38
00:02:49.760 --> 00:02:55.440
And as I say this, it's going to become really obvious, but they're the agents that we use.

s39
00:02:55.440 --> 00:03:00.480
And so, you know, this is claude code and cursor and kirao and all of those types of things.

s40
00:03:00.480 --> 00:03:05.519
And also things that don't just generate code, things that we use for productivity and the like as well.

s41
00:03:05.519 --> 00:03:08.879
And so those agents we use in a certain type of way.

s42
00:03:08.879 --> 00:03:10.800
There's the agents that we use.

s43
00:03:10.800 --> 00:03:14.400
And then on the other side of it, we've got the agents that we build.

s44
00:03:14.400 --> 00:03:18.959
And that's actually more to do with me and and actually it's more to do with this presentation as well.

s45
00:03:18.959 --> 00:03:23.440
It's agents that we build and how we think about agents that we build.

s46
00:03:23.440 --> 00:03:29.440
Um and and so I do really think that these don't two things are quite separate and they chain together as well.

s47
00:03:29.440 --> 00:03:33.680
I might build an agent that you use and this still holds true.

s48
00:03:33.680 --> 00:03:38.720
So token maxing, all that kind of stuff, go for it if that's what you want to do with an agent that you use.

s49
00:03:38.720 --> 00:03:42.000
But with an agent that you build, think about it carefully.

s50
00:03:42.000 --> 00:03:47.120
Make sure that you're putting it together in a way that's going to work for the audience who's going to use that.

s51
00:03:47.120 --> 00:03:50.640
So, I promised that we were talking about harnesses and harness engineering.

s52
00:03:50.640 --> 00:03:52.080
So, let's define harness.

s53
00:03:52.080 --> 00:03:54.720
I'm sure I'm not the only person to have put something like this up.

s54
00:03:54.720 --> 00:03:58.879
I don't usually do this kind of thing and apologize if it makes your skin crawl.

s55
00:03:58.879 --> 00:04:01.519
This is a dictionary definition of harness.

s56
00:04:01.519 --> 00:04:05.439
A harness is a set of straps and fastenings used to control an animal.

s57
00:04:05.439 --> 00:04:12.640
But if we took animal out of here and put model in there, then actually it's pretty right, right, that that's kind of what a harness is.

s58
00:04:12.640 --> 00:04:17.919
Other people have done a much better job than just the basic dictionary definition of what a harness is.

s59
00:04:17.919 --> 00:04:20.239
So Lang Chain has got a article out.

s60
00:04:20.239 --> 00:04:21.519
You've probably seen stuff like that.

s61
00:04:21.519 --> 00:04:24.160
Martinfowler.com although Martin didn't write it.

s62
00:04:24.160 --> 00:04:25.520
It was Pitta wrote this.

s63
00:04:25.520 --> 00:04:28.240
Harness engineering for coding agents.

s64
00:04:28.240 --> 00:04:29.840
Agents that we use, right?

s65
00:04:29.840 --> 00:04:32.320
So there are other ways of looking at harnesses.

s66
00:04:32.320 --> 00:04:33.759
What about Amazon then?

s67
00:04:33.759 --> 00:04:36.320
How do we see um harnesses?

s68
00:04:36.320 --> 00:04:39.120
Well, um no, okay, this is the wrong kind of harness.

s69
00:04:39.120 --> 00:04:41.360
Sorry, we do have strong opinions on harnesses.

s70
00:04:41.360 --> 00:04:44.720
I'm going to show you all of that, but we sell all kinds of things.

s71
00:04:44.720 --> 00:04:55.600
So, in a nutshell, and if you read those articles, um and if you've had the conversations around here at this event, of course, um a harness, you take an agent,

s72
00:04:55.600 --> 00:05:00.400
remove the model part from it, and everything that you have left, that's the harness.

s73
00:05:00.400 --> 00:05:06.160
Okay, so let's think about that in context of an agent that we use.

s74
00:05:06.160 --> 00:05:09.199
And so it's pretty, I think, fairly straightforward.

s75
00:05:09.199 --> 00:05:10.720
I have this coding assistant.

s76
00:05:10.720 --> 00:05:11.680
It's probably on my machine.

s77
00:05:11.680 --> 00:05:13.600
It has access to my files.

s78
00:05:13.600 --> 00:05:28.720
And I create a harness or the place I work at has created a harness for me which contains um how it's going to use memory, the skills that I want it to use, tools and MCP servers to allow it to go to be able to go and connect to documentation

s79
00:05:28.720 --> 00:05:29.840
servers and the like.

s80
00:05:29.840 --> 00:05:35.199
and and well set up engineering teams have got their standards that they've had.

s81
00:05:35.199 --> 00:05:44.000
They've had coding standards for decades, but now they have basically harness standards, the things that they want to deploy to everybody's coding assistance.

s82
00:05:44.000 --> 00:05:46.000
So, in a nutshell, that's what it is.

s83
00:05:46.000 --> 00:05:48.240
I'm not going to talk to too much more about that.

s84
00:05:48.240 --> 00:05:53.919
Um, but I do want to share one QR code with you, and I'll try and give you a little bit of warning before I bring QR codes out.

s85
00:05:53.919 --> 00:05:56.720
This is the agent toolkit for AWS.

s86
00:05:56.720 --> 00:05:58.639
This is u available on GitHub.

s87
00:05:58.639 --> 00:05:59.840
Of course, it's free.

s88
00:05:59.840 --> 00:06:04.400
You can install it and it helps you if this is what you're doing and you're deploying code.

s89
00:06:04.400 --> 00:06:15.520
If you're deploying on AWS or you're thinking about deploying on AWS or or maybe you will one day, grab this toolkit, enable your um uh agent to to help you in the right direction.

s90
00:06:15.520 --> 00:06:18.560
It's instructions for how to install it on pretty much everything.

s91
00:06:18.560 --> 00:06:24.479
And the reason why I get passionate about this is because I don't want to see any more slop ops.

s92
00:06:24.479 --> 00:06:30.560
Um, so we always used to push back against click ops in, you know, in the professional cloud development space.

s93
00:06:30.560 --> 00:06:36.960
Clicking around on the console is great for being able to figure out what's going on, but it's not how you deploy things into production.

s94
00:06:36.960 --> 00:06:45.440
We can ask an agent what's going on, but we don't want to ask the agent to spin up an S3 bucket, get me an EC2 instance, whatever it might be.

s95
00:06:45.440 --> 00:06:54.240
We want the agent to build up our infrastructure as code which is going to go and do that so that we still own our deployments in the cloud.

s96
00:06:54.240 --> 00:06:56.560
So no more swap ops.

s97
00:06:56.560 --> 00:06:56.880
Okay.

s98
00:06:56.880 --> 00:06:58.560
So that's the agent that we use.

s99
00:06:58.560 --> 00:07:00.960
Now let's go and talk about the agent that we're going to build.

s100
00:07:00.960 --> 00:07:06.160
And I'm going to get into the code as quickly as I can and we'll do as much as it has time for.

s101
00:07:06.160 --> 00:07:10.800
So how do we think about a harness in relation to the agent that we're building?

s102
00:07:10.800 --> 00:07:12.880
Exactly the same to a point.

s103
00:07:12.880 --> 00:07:13.440
Yes.

s104
00:07:13.440 --> 00:07:16.160
We still want to have how are we going to manage the memory?

s105
00:07:16.160 --> 00:07:22.400
How are we going to manage the skills and tools in MCP by the way that that belies a lot of stuff, right?

s106
00:07:22.400 --> 00:07:30.240
Because you can pretty much extend an agent to do almost anything you want with a whole bunch of different types of tools which could be via MCP.

s107
00:07:30.240 --> 00:07:36.240
But with an agent that I am building, I need to think about a lot more than just that.

s108
00:07:36.240 --> 00:07:43.680
especially if um like at Amazon and like at cloud scale I'm deploying my agent out to the masses.

s109
00:07:43.680 --> 00:07:46.639
So how do I actually manage the loop?

s110
00:07:46.639 --> 00:07:56.479
How do I manage um scaling payments, memory, identity, skills, runtime, context management, the rest of it and I have left it to the last thing but it should be the first thing that I say.

s111
00:07:56.479 --> 00:08:00.720
Observability and evaluations super super important.

s112
00:08:00.720 --> 00:08:02.560
How do we actually deal with this?

s113
00:08:02.560 --> 00:08:07.440
Do I write all of this code down into one container and just deploy it and scale that?

s114
00:08:07.440 --> 00:08:08.160
Not really.

s115
00:08:08.160 --> 00:08:15.680
If I want to be scaling to thousands of users, I need to think about each individual of these components and how I'm going to scale them out individually.

s116
00:08:15.680 --> 00:08:19.360
And that to me is harness engineering.

s117
00:08:19.360 --> 00:08:21.039
This is the serious side of stuff.

s118
00:08:21.039 --> 00:08:25.199
This is the big stuff that we want to get harnesses working at real scale.

s119
00:08:25.199 --> 00:08:27.440
Okay, let's see if this works.

s120
00:08:27.440 --> 00:08:33.519
I can feel your combined goodwill being sent my way that we're going to try and make some code work.

s121
00:08:33.519 --> 00:08:34.640
So, I'm here in Kira.

s122
00:08:34.640 --> 00:08:36.399
This is my IDE of choice here.

s123
00:08:36.399 --> 00:08:42.479
And I've got a few different samples that we're just going to race through watching that clock countdown fast.

s124
00:08:42.479 --> 00:08:48.320
So, um just just make sure that we're all on the same page here and hopefully you can all see this.

s125
00:08:48.320 --> 00:08:55.040
Um of the code which I'm about to show you, by the way, one piece of code, not this one, has been generated by Curo.

s126
00:08:55.040 --> 00:09:00.080
Everything else is either a tool or this one I actually wrote it myself.

s127
00:09:00.080 --> 00:09:01.600
I didn't use an agent for this.

s128
00:09:01.600 --> 00:09:04.966
I know I deserve a round of applause, but it's okay.

s129
00:09:04.966 --> 00:09:05.839
[laughter]

s130
00:09:05.839 --> 00:09:09.279
So, this is uh this is a Strand agent.

s131
00:09:09.279 --> 00:09:11.680
So, I've just taken the Strands agents SDK.

s132
00:09:11.680 --> 00:09:14.000
Um, and hopefully this kind of thing is kind of familiar.

s133
00:09:14.000 --> 00:09:15.200
I've brought in an agent.

s134
00:09:15.200 --> 00:09:18.959
I brought in the tool decorator and I'm creating myself an agent.

s135
00:09:18.959 --> 00:09:20.959
The tool definition is down here.

s136
00:09:20.959 --> 00:09:23.680
Um, and so I just pass in my system prompt.

s137
00:09:23.680 --> 00:09:27.360
Things are pretty simple at this stage and I've passed in a couple of tools.

s138
00:09:27.360 --> 00:09:37.040
Calculator is something that's a library I can install and get time is the one that we always use because I don't tend to use agents to book flights certainly not ones like this.

s139
00:09:37.040 --> 00:09:40.240
Um and so I can say something simple here like what is the time?

s140
00:09:40.240 --> 00:09:44.640
I'm not going to run this because you know the time but you can see generally how this works.

s141
00:09:44.640 --> 00:09:46.720
Is this a harness?

s142
00:09:46.720 --> 00:09:47.519
Sort of.

s143
00:09:47.519 --> 00:09:49.120
There's not an awful lot to it, right?

s144
00:09:49.120 --> 00:09:50.399
We've got the tools in there.

s145
00:09:50.399 --> 00:09:53.360
Our loop is being managed for us by the framework.

s146
00:09:53.360 --> 00:09:54.160
This is pretty cool.

s147
00:09:54.160 --> 00:09:55.040
So that's good.

s148
00:09:55.040 --> 00:09:58.560
But obviously if I was to run this, this is running on my laptop.

s149
00:09:58.560 --> 00:10:00.800
It's not running at any particular scale.

s150
00:10:00.800 --> 00:10:05.360
And we're missing some of the attributes that I want from the agents that I'm going to deploy.

s151
00:10:05.360 --> 00:10:08.320
Let me move on to my next agent quickly.

s152
00:10:08.320 --> 00:10:17.360
So this is also a strand agent, but this one I actually asked Kira to write it for me for this session um because I wanted to include some more stuff.

s153
00:10:17.360 --> 00:10:25.360
And so inside of this agent, the one main thing that I want to point out is that I am uh included a session manager.

s154
00:10:25.360 --> 00:10:30.800
So my session manager is helping me to maintain session state between invocations.

s155
00:10:30.800 --> 00:10:32.800
So this is a sort of memory.

s156
00:10:32.800 --> 00:10:35.760
It's a kind of medium-term short-term memory kind of thing.

s157
00:10:35.760 --> 00:10:38.560
It's not proper long-term memory, but it is there.

s158
00:10:38.560 --> 00:10:45.360
And actually, it does store long-term memories in files which are down the side here that it's uh included for us.

s159
00:10:45.360 --> 00:10:50.959
So, if I just scroll down here, you can see uh yeah, here's the agent definition itself.

s160
00:10:50.959 --> 00:10:54.959
Um, and we've got a bit more of a system prompt because Kira couldn't help itself.

s161
00:10:54.959 --> 00:10:57.600
Um, and we've got some tools here defined.

s162
00:10:57.600 --> 00:11:02.720
Um, including a remember tool that the agent can decide to use to remember stuff about me.

s163
00:11:02.720 --> 00:11:05.680
Um, and then I've got my uh session manager down there.

s164
00:11:05.680 --> 00:11:12.480
And that session manager is going to rehydrate the conversation history when I come back to chat to it the next time.

s165
00:11:12.480 --> 00:11:15.120
and maybe the next time is now.

s166
00:11:15.120 --> 00:11:16.640
So, let's see if we can get this working.

s167
00:11:16.640 --> 00:11:18.880
Now, again, this is running on my local machine.

s168
00:11:18.880 --> 00:11:20.880
Um, and this is a demo here.

s169
00:11:20.880 --> 00:11:25.279
So, let's just type in hello because I'm scared of typing too much and spelling it wrong.

s170
00:11:25.279 --> 00:11:27.440
Um, and it says, uh, yeah, keep testing me.

s171
00:11:27.440 --> 00:11:28.079
Bring it on.

s172
00:11:28.079 --> 00:11:28.720
Excellent.

s173
00:11:28.720 --> 00:11:35.440
Um, um, who will win the World Cup?

s174
00:11:35.440 --> 00:11:37.760
So, obviously I need to know this.

s175
00:11:37.760 --> 00:11:40.320
And, um, what does it say?

s176
00:11:40.320 --> 00:11:40.640
Yeah.

s177
00:11:40.640 --> 00:11:44.000
So, while you could just say Australia, it knows I want Australia to win.

s178
00:11:44.000 --> 00:11:45.440
It's where I'm currently living.

s179
00:11:45.440 --> 00:11:46.720
I'm Australia.

s180
00:11:46.720 --> 00:11:51.200
So, obviously Australia is going to win the World Cup, but why has it got that?

s181
00:11:51.200 --> 00:11:53.839
It's because of previous conversations that we've had.

s182
00:11:53.839 --> 00:12:00.800
And obviously, it's being honest that it has no clue because that's coming from the large language model, of course.

s183
00:12:00.800 --> 00:12:04.800
So, okay, looks at a couple of different agents there, blasted through this.

s184
00:12:04.800 --> 00:12:07.360
This is um running on my machine.

s185
00:12:07.360 --> 00:12:15.040
So this isn't really getting me to clouds scale of course and I'm I'm picking up and I'm including various pieces in this like memory.

s186
00:12:15.040 --> 00:12:16.560
So let's go next.

s187
00:12:16.560 --> 00:12:29.040
How do we get to the point where I can deploy something like this if not this actual agent out at cloudscale and take things like memory and deploy that separately so it can scale separately.

s188
00:12:29.040 --> 00:12:35.600
taking our loop out so it can scale separately and we can then bolt in all kinds of other things as well.

s189
00:12:35.600 --> 00:12:42.240
So in order to do that I'm going to use something called um agent core um and so we have bedrock agent core.

s190
00:12:42.240 --> 00:12:47.040
It's part of the stack that we have at AWS and that's how I'm doing this and how I'm deploying.

s191
00:12:47.040 --> 00:12:52.800
So I've done that already but I want to show you how to start out with that and how we do this.

s192
00:12:52.800 --> 00:12:56.880
So if I go to here uh yeah I'm ready to go.

s193
00:12:56.880 --> 00:13:01.279
So, I have a command line tool on my machine, the agent core command line.

s194
00:13:01.279 --> 00:13:05.680
Um, and so there's a QR code at the end, as you might imagine, so that you can get hold of this.

s195
00:13:05.680 --> 00:13:09.360
Um, but I can use this to help me deploy my agent.

s196
00:13:09.360 --> 00:13:12.880
Now, this steps me through like many of these types of tools do.

s197
00:13:12.880 --> 00:13:15.200
Um, and it sort of steps me through what do you want to do?

s198
00:13:15.200 --> 00:13:17.440
So, this is my woohoo agent.

s199
00:13:17.440 --> 00:13:19.600
Um, and it's going to ask me a bunch of stuff.

s200
00:13:19.600 --> 00:13:22.240
And I wanted to show you some of this as we step through.

s201
00:13:22.240 --> 00:13:25.200
Now, strangely, I'm not going to select harness.

s202
00:13:25.200 --> 00:13:29.920
And we'll come back to why I'm not selecting harness in a second, but I'm saying I wanted to deploy an agent.

s203
00:13:29.920 --> 00:13:36.959
And what's going to happen here is this command line tool is actually going to step me through and actually write an entire agent.

s204
00:13:36.959 --> 00:13:41.279
It's basically a hello world agent that I can then go and customize myself.

s205
00:13:41.279 --> 00:13:45.839
Um, and so using this command line is an easy way to get started with agent core.

s206
00:13:45.839 --> 00:13:47.360
So I'm going to keep the default name.

s207
00:13:47.360 --> 00:13:51.040
In fact, I'm probably going to keep all the defaults here just so we can see what's the option.

s208
00:13:51.040 --> 00:13:55.920
Of course, I can bring code if I want, but I'm going to ask it to create some code for me.

s209
00:13:55.920 --> 00:13:57.279
So, it says, well, what do you want?

s210
00:13:57.279 --> 00:13:58.800
Python or TypeScript?

s211
00:13:58.800 --> 00:14:04.399
And back in the day, I used to do things like activate functions and back propagation in the machine learning space.

s212
00:14:04.399 --> 00:14:06.720
So, Python it is for me.

s213
00:14:06.720 --> 00:14:08.160
So, I will choose that.

s214
00:14:08.160 --> 00:14:10.480
Um, and there's some deployment options.

s215
00:14:10.480 --> 00:14:15.120
There's also this I just want to point this out like how can we actually go and connect into our agent.

s216
00:14:15.120 --> 00:14:22.880
So, our agent that's running at scale in the cloud, HTTP is probably the obvious one, but we might want to have it being served behind MCP.

s217
00:14:22.880 --> 00:14:30.959
We might want to use awesome little things like AGUI so we can make nice interactive chat agents, but I'm going to say HTTP.

s218
00:14:30.959 --> 00:14:34.000
We can use any um framework we want.

s219
00:14:34.000 --> 00:14:42.399
I happen to use Strand's agents SDK, but anything you could write your own framework if you want to um or your own own base code.

s220
00:14:42.399 --> 00:14:44.720
Any model is supported by this as well.

s221
00:14:44.720 --> 00:14:47.199
So, we don't just have to use the Amazon models.

s222
00:14:47.199 --> 00:14:51.199
Um, and we don't have to use the ones from Amazon Bedrock, but we can use any model.

s223
00:14:51.199 --> 00:14:52.079
I'm using the one here.

s224
00:14:52.079 --> 00:14:56.320
I'm using Sonic 4.5 just because that's offered to me at default.

s225
00:14:56.320 --> 00:14:57.279
And here's memory.

s226
00:14:57.279 --> 00:14:58.880
So, this is the one thing I wanted to show you.

s227
00:14:58.880 --> 00:15:02.720
So, I can come in here and ask for long-term and short-term memory to be deployed.

s228
00:15:02.720 --> 00:15:11.839
And we'll see what this means in just a second, but it's basically going to create for us cloud infrastructure which is going to manage those memories for us separately

s229
00:15:11.839 --> 00:15:16.639
from our running agent running asynchronously from our agent and connected of course.

s230
00:15:16.639 --> 00:15:18.800
So there's obviously other kinds of things we can do.

s231
00:15:18.800 --> 00:15:23.600
We can hit enter and it will start to create the configuration of this agent on my machine.

s232
00:15:23.600 --> 00:15:30.720
Now I'm going to skip over here and come back to the actual code I have because I've already done this of course.

s233
00:15:30.720 --> 00:15:33.839
Um, and this is the agent that it would be currently deploying.

s234
00:15:33.839 --> 00:15:34.880
Something like this.

s235
00:15:34.880 --> 00:15:36.240
So, we've built up here.

s236
00:15:36.240 --> 00:15:37.760
This is a little bit more complex.

s237
00:15:37.760 --> 00:15:39.920
So, this is a strands agent.

s238
00:15:39.920 --> 00:15:42.800
You'll notice that it's got a few more things added in.

s239
00:15:42.800 --> 00:15:52.959
So, it's got the linkage into Amazon Bedrock agent core app, but pretty much apart from that, that's all you need in order to be able to scale this agent out at runtime

s240
00:15:52.959 --> 00:15:55.600
and do multi-tenant isolation.

s241
00:15:55.600 --> 00:16:03.759
So you can write an agent that works for one user and then scale that out without you having to write all the multi-tenented code.

s242
00:16:03.759 --> 00:16:09.839
It's a massive saver and from a security and identity perspective, it's makes it so much simpler.

s243
00:16:09.839 --> 00:16:12.000
It's um it's very very useful.

s244
00:16:12.000 --> 00:16:15.839
So if I scroll down through here, you can see the rest of it is looking pretty similar.

s245
00:16:15.839 --> 00:16:17.759
We've got some test tools in here.

s246
00:16:17.759 --> 00:16:21.199
We've got a connection to MCP, so we can see how that is done.

s247
00:16:21.199 --> 00:16:28.240
Um, and we've got the uh connection into our session manager and our memory which is all built in here.

s248
00:16:28.240 --> 00:16:34.800
So, if I scroll down a bit more, we'll be able to see somewhere where we actually invoke the thing um which is there.

s249
00:16:34.800 --> 00:16:37.839
Um, and the system prompt is is somewhere at the top.

s250
00:16:37.839 --> 00:16:39.839
So, we can we can scroll through this code.

s251
00:16:39.839 --> 00:16:40.959
I'm going through it quickly.

s252
00:16:40.959 --> 00:16:43.519
You can write your own code and do this with it as well.

s253
00:16:43.519 --> 00:16:47.839
If I go back over to my um uh code here for just one second.

s254
00:16:47.839 --> 00:16:55.680
I'm in the folder now that has been created with that code locally, it is actually deployed, but let's assume it's not deployed quite yet.

s255
00:16:55.680 --> 00:16:58.639
I can come back in and type in agentcore dev.

s256
00:16:58.639 --> 00:17:05.760
And what that's going to do for me um Wi-Fi permitting is it will spin up for us a web uh browser.

s257
00:17:05.760 --> 00:17:09.600
And inside of that web browser, we're now connected to that agent running locally.

s258
00:17:09.600 --> 00:17:14.000
So if I make updates to that code, we would see that happen in real time here.

s259
00:17:14.000 --> 00:17:20.400
So I can say hello, I am doing the press now.

s260
00:17:20.400 --> 00:17:23.679
Um it knows that I'm coming to do a presentation, but I think it does anyway.

s261
00:17:23.679 --> 00:17:26.480
Um and so yeah, you can interact with the agent here.

s262
00:17:26.480 --> 00:17:31.120
You can make adjustments to the um to the code and you'll see it update live here.

s263
00:17:31.120 --> 00:17:36.640
Um but you can also use this to switch over to the live um deployed version.

s264
00:17:36.640 --> 00:17:54.400
So with agent core deploy it will use infrastructure as co code like I talked about before to deploy your agent out at scale with the memory with the agent with runtime and with many other components if you choose to do so you can use this interface then to go and look at traces look at memory stored look

s265
00:17:54.400 --> 00:17:58.080
at all that stuff so that you can debug and see what's going on.

s266
00:17:58.080 --> 00:18:06.559
Now, when we stepped through the um the the the console just a second ago through the the CLI app a second ago, we didn't choose harness.

s267
00:18:06.559 --> 00:18:10.480
I skipped out on that one and I'm just going to show you that quickly now.

s268
00:18:10.480 --> 00:18:16.320
So, one thing we can do instead is I think we can get to the point you've seen I've deployed agents.

s269
00:18:16.320 --> 00:18:17.200
I didn't do very much.

s270
00:18:17.200 --> 00:18:20.160
I just did a system prompt and some tools and go.

s271
00:18:20.160 --> 00:18:29.520
And there's an argument to be made that essentially if that's possible then maybe 80% of um agentic use cases 80% of agent development is kind of solved already.

s272
00:18:29.520 --> 00:18:34.799
We don't need to do much more than system prompt connect to some MCP tools and we've got what we want.

s273
00:18:34.799 --> 00:18:39.280
And if that's the case then we have harness built into agent core.

s274
00:18:39.280 --> 00:18:41.679
This is the configuration for an agent.

s275
00:18:41.679 --> 00:18:48.640
I just have a simple JSON which is showing me which model do I want to use and what system prompt do I want to use.

s276
00:18:48.640 --> 00:18:51.039
Can't get much more simpler than that system prompt.

s277
00:18:51.039 --> 00:18:54.880
Um, and then this can also be deployed with agent core deploy.

s278
00:18:54.880 --> 00:18:58.960
So at this point we don't have even any agentic code either.

s279
00:18:58.960 --> 00:19:00.880
We can just deploy it straight out.

s280
00:19:00.880 --> 00:19:06.160
If you want to know any more about any of this then please do come and see us down on the booth or see me after this session.

s281
00:19:06.160 --> 00:19:09.440
I'll be more than happy to talk to you at length about this.

s282
00:19:09.440 --> 00:19:14.160
18 minutes is such a short amount of time for me to be able to talk about almost anything.

s283
00:19:14.160 --> 00:19:18.480
But this is essentially all of these components on here.

s284
00:19:18.480 --> 00:19:22.080
There's a mapping somewhere into something that Agent Core has.

s285
00:19:22.080 --> 00:19:23.360
I apologize for the colors.

s286
00:19:23.360 --> 00:19:24.880
It seemed like a good idea at the time.

s287
00:19:24.880 --> 00:19:32.400
Um, but this is an overview of the different capabilities that are composable out of agent core.

s288
00:19:32.400 --> 00:19:38.000
So, you can take any of these and use any of them together or separately.

s289
00:19:38.000 --> 00:19:49.039
If you have an agent that's running in production very happily at the moment, but you like the idea of having long-term memory managed for you serverless, then you can just take that part and integrate it.

s290
00:19:49.039 --> 00:19:50.320
That's totally something you can do.

s291
00:19:50.320 --> 00:19:51.200
Here's a QR code.

s292
00:19:51.200 --> 00:19:53.360
Sorry, probably should have put that there a second ago.

s293
00:19:53.360 --> 00:20:05.520
I'm moving this QR code in just a moment, but Amazon Bedrock agent core is that if you're interested in the Strands agents, which I happen to be using for this, it's obviously it's it's free because it's open source.

s294
00:20:05.520 --> 00:20:10.000
Um, and it's a um a model first framework for putting together agents.

s295
00:20:10.000 --> 00:20:15.120
It's super fast, it's super powerful, and it's what I use all the time.

s296
00:20:15.120 --> 00:20:17.840
Thank you so much for being with me in this presentation.

s297
00:20:17.840 --> 00:20:20.000
Please feel free to connect with me on LinkedIn.

s298
00:20:20.000 --> 00:20:22.640
I'd love to carry on the conversation with you.

s299
00:20:22.640 --> 00:20:28.480
have a fantastic rest of show and have a safe travel as you go home after the event.

s300
00:20:28.480 --> 00:20:30.960
Thank you so much.
