Build a Research Agent with Claude Managed Agents (Part 2 of 4) — Anthropic
AI Engineer · 35 min · 466 sentences · from YouTube's caption track
Each timecode opens YouTube at the start of that sentence. Line anchors (#s42) are the cue ids in the WebVTT, and every line carries its start and end seconds. All transcripts has every talk, and the whole corpus as one file.
- 00:01[music]
- 00:12Thank you for the presentation.
- 00:14Out of curiosity for the design of the session in um first iteration and second iteration what has changed?
- 00:22Good question.
- 00:23Gabe, do you want to take that question on what changed within uh the storage of the session between the first and the second iteration?
- 00:31Um, sure.
- 00:34The the the main thing that changed was that we wanted to abstract away as many things and comp compartmentalize them into different components um to make it so that we could extend the storage mechanisms for future events that we wanted to store
- 00:48uh without tying them you know so tightly coupled to the mechanics of the session work.
- 00:53Um, so we basically apply the same principle of building and virtualizing interfaces all the way down uh not only across service boundaries but also at the event layer.
- 01:04All right, thank you.
- 01:05Um, so it sounds like maybe everyone might not be able to follow along, but hopefully um we can find a way to share out these slides and you can try it out at home or if you have your phone, maybe you can try to pair it with your hotspot and see if you can
- 01:18follow along.
- 01:19Um, all right.
- 01:20So let let's try this one more time.
- 01:21And we're going to say, build me an agent that tells me jokes every time given a topic.
- 01:33And then you just hit enter.
- 01:39And you can see Claude is coming up with a system prompt.
- 01:44It came up with a name, a description, chose a model.
- 01:47You can like go change this model if you want to.
- 01:50and um give the agent access to the agent tool set.
- 01:53And then you'll hit uh create agent.
- 01:57That should basically call the v1 agents endpoint to create the agent.
- 02:01Okay, that that got created.
- 02:03Next, we're going to configure the environment uh which is the template for the sandbox.
- 02:12Uh we're just going to create a new one and then we'll just give it unrestricted access for this one.
- 02:22But you can obviously when you're building a production agent you you want to tighten the access control which domains it can uh reach out to or specific MCP servers.
- 02:31So we'll do unrestricted.
- 02:35And then here you can see you can like choose packages you want to install um etc. And then next we'll just go and start the session.
- 02:44All right.
- 02:45Now we're going to go test run our session.
- 02:48Uh right.
- 02:49Tell me jokes about cats.
- 02:54And you'll see the model started thinking and it came up with a cat joke.
- 03:06Yeah.
- 03:06That that was like a that that's how easy it is for you to go build your agent.
- 03:10Now this uh agent is up and running in the cloud.
- 03:13All you have to do is start a session with the agent, send events, get back events.
- 03:17Everything else is managed by us.
- 03:19So we're managing all the infrastructure, the hosting, the harness, the sandbox management, the scaling, the storage of your event log.
- 03:27Um and then you can focus on building your product around this.
- 03:30Um thank you.
- 03:31I'll now hand it over to Gabe to do the more hands-on bit of the workshop and hopefully hopefully we have better luck with Wi-Fi.
- 03:39Thank you.
- 03:42[applause]
- 03:47Can you hear me?
- 03:48Great.
- 03:48I see there's a bunch of people that are kind of squished in the back.
- 03:51There's room here and here if you want to come in uh so we can fit everybody in.
- 03:56Um, before we start, here's a repo that we're going to be using.
- 04:01Um, so if you want to take a picture of the QR code, get clone that repo.
- 04:06Um, cd into the research desk directory and then run uh npm install or bonai.
- 04:14Um, I'll let you do that and then I'll walk you through through what we're going to be building today uh together.
- 04:21Um, still see some phones out.
- 04:25I know you're there's Wi-Fi issues.
- 04:28Hopefully, you can you can get uh you can get to the repo.
- 04:31Um Okay.
- 04:33Oh.
- 04:33Oh, I see you.
- 04:34Okay.
- 04:37Cool.
- 04:39All right.
- 04:41So, what are we what are we going to be building today?
- 04:42We're I'm going to show you how you can use cloud manage agents to build a variety of different applications.
- 04:47We're going to start with uh building a custom chat-like interface so that you can talk to an agent.
- 04:53We can say hello.
- 04:54Um, then we're going to augment that agent into a multi- aent uh ecosystem so that it can delegate tasks uh to sub agents.
- 05:02We're going to give it skills uh specifically a skill to be able to call um the SEC website and get SEC filings for individual tickers uh and analyze specific forms.
- 05:14Um then we're going to be able to use the these new enhanced agents to run more asynchronous um agentic tasks that can take a long time to run.
- 05:24Um and then we're going to bring it all together by enabling the sort of map reduce interface where we can talk to an agent and that agent can then delegate
- 05:33to many agents uh and do sort of like a map produce thing.
- 05:38um showing you how you can build a custom harness on top of CMA to orchestrate you know your own work with custom tools uh and manage multiseession um kind of interactions.
- 05:49Uh and then we'll finish up by I'll show you uh our deployments API that allows you to set up recurring work on a schedule so that you can run
- 05:57uh sessions uh on a on a given cadence to run kind of longer term analysis that keeps updating itself.
- 06:04Sound good?
- 06:07quiet.
- 06:07Okay, great.
- 06:09Um, all right.
- 06:10So, let's switch over to um a coding interface.
- 06:13I'm going to be using cloud code for this.
- 06:16You're free to use whatever coding agent you prefer.
- 06:19Uh, I don't think anybody's writing code by hand, so I'm not going to do that either.
- 06:23Um, there is a skill that we've loaded up in your repository that's going to walk you through the workshop step by step.
- 06:31Um, so if you want to rerun the workshop after I'm done, uh, later on when you have better Wi-Fi and better internet access, uh, you're able to do so, um, at home.
- 06:41Um, so the first thing you're going to want to do is I assume you've checked out the repository.
- 06:46You've cded into the research desk repo.
- 06:49You've run buni.
- 06:50We're going to spin up our uh, server with uh, bun rundev.
- 06:54I'm going to make this bigger.
- 06:55I'm assuming nobody can see.
- 06:57Okay.
- 06:58Is that better?
- 06:59Yeah.
- 06:59And then if you have questions while Gabe Gabe is presenting, feel free to raise your hand and I can run to you with the mic.
- 07:05We we have helpers.
- 07:06So if you run into issues, raise your hand.
- 07:09People will come um help you help you out.
- 07:12Um cool.
- 07:13So if you've gone this far, you'll basically be able to load this website.
- 07:18Uh and the first thing you're going to want to do is go to the setup page.
- 07:22Um everybody with me so far?
- 07:25Yeah.
- 07:26Okay.
- 07:27Um now we're gonna Yeah.
- 07:32Um, okay.
- 07:33Once uh once uh he takes a picture, we're we're going to start up uh our workshop skill.
- 07:39So in cloud code, you can type in uh workshop start.
- 07:44Uh and it's going to start running through the workshop for you.
- 07:47We're going to do it in six acts.
- 07:49Uh I apologize there's no intermission in between.
- 07:52Um I hope that's okay with y'all.
- 07:54Um but we're going to go through it.
- 07:56Uh Claude will uh sure we're going to go into auto mode.
- 08:02Um Claude Claude is going to keep track of each of the acts so that you can continue on.
- 08:07You can keep typing workshop next so that it you know it's going to keep uh progressing through the through the thing.
- 08:14Uh I'm going to ask Claude to do it for me but handhold handhold me and teach me what it's doing.
- 08:20Um and so the first thing it's going to basically make sure that our prerequisites are set.
- 08:25Um, it's going to copy the m.example file into amp.local.
- 08:31Um, oh no, stop.
- 08:34We're not there yet.
- 08:35Okay, it's a little eager.
- 08:37Okay, it's going to copy that file.
- 08:39That file um has a few values for you to fill in.
- 08:41You're going to want to paste in your API key.
- 08:44Um, you're going to want to paste in the SEC wants to know who you are when you're calling their API.
- 08:49So, you're going to have to put in your name and email.
- 08:51Um, this is just so that they know who's calling them.
- 08:54Um, and then that's basically it.
- 08:57Once, um, once you've done all that, um, it's going to, well, we're going to move on to the to the next thing.
- 09:05So, everybody with me so far, you've put in your API key into your.local, you put in your Edgar identifier.
- 09:14Show of hands,
- 09:14be a quick show of hands.
- 09:16Or how many of you are able to follow along who might have Wi-Fi or
- 09:20Okay, we got one one person at least.
- 09:21So,
- 09:22[laughter]
- 09:25MVP, pardon.
- 09:29Uh oh.
- 09:30Oh, for the repo.
- 09:32This one.
- 09:36Uh Rohan, you want to hand the mic?
- 09:39Yeah, thank you.
- 09:39Yeah, the slide with the credential.
- 09:41That's it.
- 09:41The setup.
- 09:42This one.
- 09:42Thank you.
- 09:42Okay.
- 09:43Sure.
- 09:43And then and then given given people don't have Wi-Fi plea please like stop us and ask questions so we can at least make this more interactive and help you understand concepts so that you can build with your own time after the workshop.
- 09:58Okay.
- 09:59Um I'm yeah I have a
- 10:05yeah this is the app spinning up uh when you clone and cd into research desk and run bun run rundev.
- 10:12This is a website you will you will get.
- 10:15Can I ask a question?
- 10:16Yeah, I don't see you but
- 10:18Oh, you're here.
- 10:18[laughter]
- 10:19Uh I'm wondering like you know so when you say cloud handle and manage the agents where is this running?
- 10:26Is this running on AWS?
- 10:27Yeah, that's a good question.
- 10:29Um so we we we're going to run it in our own infrastructure.
- 10:32Um today we we have like a onep offering uh that we run on but we also have cloud platform on AWS if you want to run on AWS using your AWS credits.
- 10:44What we also offer and maybe we can talk about this after this demo is self-hosted sandboxes.
- 10:48So if you want to bring your own sandbox through uh different providers like Burcell or Modal or Daytona or a bunch of others, you can do that.
- 10:57Uh even you know through Google cloud and and AWS if you want to run your sandbox in that uh environment, you can.
- 11:04Um okay, I'm going to continue with the demo.
- 11:07U the the first thing you the next thing you want to do is create push this button which is going to create um your agent.
- 11:14So it's going to create two things for us.
- 11:17um an environment which Priyanka talked about is a template of what the sandbox is going to look like.
- 11:22Um for this demo, we're going to give it access to a few websites that it can reach out to, mainly the SEC.
- 11:29We're going to add uh some Python packages so that it can reach out to to the SEC with you know some predefined uh Python packages.
- 11:38Um it's also going to create uh an agent.
- 11:41So it's going to create this very basic agent.
- 11:44Right now it has no tools.
- 11:46Um, it has uh just a prompt.
- 11:48Uh, well, it has the basic tools, but there's no skills.
- 11:51There's no sub agent coordination, nothing like that.
- 11:54Um, I'm going to tell Claude to um continue and implement the interface with which we can talk to this agent in our application.
- 12:05Uh, like Bianca mentioned, the main uh way you communicate with a session is through an event stream.
- 12:11So you listen onto that stream for all the events that the agent is pushing back down to you and you can use that uh an endpoint to push events back up.
- 12:19So really everything that happens in the communication for these more chat-like applications happens on that stream.
- 12:26So we can see here what Claude is doing is it's uh implementing the section so that when I press enter in my chat box, it's going to send a user message event with the content that I'm sending to that session.
- 12:40And then it's going to route the SSE stream back onto my browser from my back end.
- 12:45So it's going to listen onto um the events that are coming in the stream connection to our API and then reream them directly back onto the front end so that I can render them in a nice way.
- 12:57Um and once Cloud has done that, we should be able to go to this desk tab and just say hi to our agent.
- 13:06Um, and if everything worked hopefully great.
- 13:12Um, so we can see here now we're we're talking to our agent.
- 13:15If you wanted to build a chat-like application, this is where you would stop.
- 13:19Um, which is great, but we want to do more.
- 13:22The whole point of cloud managed agents is that you can do longunning asynchronous tasks.
- 13:26Um, not just for minutes, but hours, days, weeks, and even months.
- 13:31Um, so let's see what we we have to do next.
- 13:34Right.
- 13:35The next thing that we're gonna want to do is um Oh, Claude is very eager today.
- 13:42Um, okay.
- 13:44The next thing is we we want to augment our agent, right?
- 13:46We want to give our agent a skill so it can call the SEC.
- 13:49We want to use multi- aent coordination so that um our session can delegate work to sub agents that are more specialized and capable of doing some tasks.
- 13:58Um, and we want to basically move up the ladder of intelligence.
- 14:03Um so let's do that um by saying workshop next.
- 14:08Um now what claude is going to do is it's going to implement the provisioning scheme to upgrade our agent so that it uses uh more sub aents or any sub aents
- 14:19um is we're going to give it a skill a skill that lets it uh um talk to the SEC.
- 14:26We've described how to use the Python package.
- 14:29We've described that it has to use the Edgar identity to call.
- 14:32Um, we've we've described all of that and we're going to give it a custom tool uh for later in the workshop.
- 14:39Um, that custom tool is what we're going to be able to use to tell our head of research agent to spin off multiple sessions that we will coordinate uh for a sort of custom harness.
- 14:49So, this is what Claude is doing here.
- 14:51Um, it's updating its progress, creating this custom tool called dispatch analysis.
- 14:56We're going to come back to this in a second.
- 14:58um we give it a schema.
- 15:00Um it's going to update the the description of the main agent so that it creates a new version of that agent.
- 15:08Uh this new version will have um oh pager duty.
- 15:13Um uh this new version will have uh a few different sub aents uh that it can delegate work to as well as a reference to itself.
- 15:22So if the main agent ever wants to spin off a copy of itself with its same prompt, it can do that.
- 15:28Um this is important because uh sometimes you don't necessarily know what sort of tasks your session is going to want to do, but you have a general idea that you want to have sub agents that you know spin up and do work.
- 15:41Um so you can define a self reference to you know yourself that clock can then spin up a sub agent for.
- 15:48Um important this question has come up in the past.
- 15:51It doesn't copy the transcript of that session into the sub agent.
- 15:54It just copies over the tool description and the schemas uh and the prompt uh into into that sub agent.
- 16:02Um cool.
- 16:04So now if we go into here, we should see that there's a new agent.
- 16:11Oh, I think I need to provision them.
- 16:13So there should be a button in our setup uh that says staff the desk.
- 16:17When I do that, it's actually going to run Oh.
- 16:21Uh uh okay.
- 16:22I ran this before.
- 16:24Let me delete the skills so that I can recreate it for you.
- 16:27Um I was trying to do the magic uh cook show thing, but that's fine.
- 16:33Um okay.
- 16:35So we'll delete the skill.
- 16:36We'll ask cloud to reprovision it.
- 16:39Um it's going to create all those resources and then we'll be able to see here all the sub aents, the skill that we created, um a memory store.
- 16:47So for these sessions, we we we also support um longunning memory store that can be shared across sessions.
- 16:53Uh and we're going to use that so that different sessions can learn about different financial instruments and they can share that knowledge uh with each other.
- 17:01And at the end of this workshop, I'll show you how you can use that memory longunning memory to keep improving your agents long term over many many uh sessions,
- 17:09days, months, years.
- 17:12Um cool.
- 17:13So we should see here that the agent now in here um has the skill that we described.
- 17:23It has sub agents uh with their own prompts and tools and permissions.
- 17:27Uh it has a prompt and it has a model.
- 17:30Um and I think we're we're ready to use this new dedicated sub agent to do our first asynchronous longunning task.
- 17:39So let's uh tell Cloud to move on to the next thing.
- 17:43The next thing that we want to do is um we want to tell Claude not in a chat-like application but a more asynchronous thing.
- 17:50Hey, research this financial instrument and give me a report in a format that I define and I care about.
- 17:57And we're going to use something called outcomes.
- 17:59Outcomes is how we've created self-s supervision.
- 18:02So in an outcome, you tell Claude, "This is your task.
- 18:06This is your rubric to evaluate your task.
- 18:08It's going to go off and do that work and then when it thinks it's completed, it's going to ask a sub agent to look at the rubric and the work that Claude did uh and evaluate
- 18:18did it do it correctly and did it do it to completion.
- 18:21Uh if it does then great and if it doesn't it will try again.
- 18:25Um so here what Claude is implementing for us is basically this userdefined outcome event.
- 18:32So that anytime we start a session in our UI that I'll show you for a specific ticker, it's going to send this userdefined outcome with a specific rubric uh max iterations
- 18:44um and a description of the task at hand.
- 18:47And so then Cloud will go run that task for us.
- 18:50Um and so what does that look like in the UI?
- 18:53If you look to this scorecard, um I can tell Claude, hey, I I want to analyze Nvidia.
- 18:59Oh, please.
- 19:06Okay, great.
- 19:06So, it's going to kick off a session to do the analysis on Nvidia.
- 19:10Um, this is going to take a while.
- 19:11I'm going to do the cook show thing and show you a previous session um of of what happened.
- 19:16Uh, it's going to take about 10ish minutes.
- 19:19Um, but here's something I ran yesterday.
- 19:22Uh, the first thing we're telling Claude is here is an outcome.
- 19:25I want you to analyze Nvidia's most recent uh SEC quarterly filings.
- 19:31Um you're going to use Edgar identities.
- 19:33This is where your Edgar identities are.
- 19:36Um you have memory.
- 19:37So check if you've already done analysis previously and make sure that you use that instead of refiling and researching things that you already know.
- 19:45Um I want you to find the most uh recent form that I care about and run the analysis over that.
- 19:53Um and then I want two deliverables.
- 19:55I want you to write a note in in my memory um for that specific company and I want you to write a scorecard in a well- definfined structured output and I want you to save that in a specific file location.
- 20:08Um so then Claude went off to work started calling tools.
- 20:13It didn't find any notes in its memory store.
- 20:16Um it uh looked in a few different places and then it decided okay I know what to do.
- 20:22I'm going to leverage my sub agents to do the bulk of this work.
- 20:26Um I'm going to spin up a financial um expert analysis agent uh or extractor and then a risk evaluator analysis.
- 20:35And you can see all of that in the uh console here for full observability.
- 20:39Each of these lines here represents a thread and a thread represents the work done by a sub agent.
- 20:45And so each of the sub aents went off to work and then when they were done they let the main agent know hey this is what you asked of me uh and then the main agent woke up
- 20:54uh got that information from the sub agents and then uh filed everything it needed to do and created the deliverable.
- 21:01It created the JSON file that you know we specified uh and it made sure to update the memory and then the cell supervision started.
- 21:09So it kicked off a sub agent to verify that the outcome that we defined is being met.
- 21:15Um it looked at the rubric.
- 21:17It analyzed all the work that was done uh in the session and analyze the artifacts that it created.
- 21:23Uh and it decided in the end that this was satisfied that this you know scorecard was delivered uh that the numbers are well defined uh that the memory update you know was correct
- 21:34um and everything looked good.
- 21:36Um I don't I think this is still running but once that completes uh you would see a table here of each of those tickers uh because we can extract the report the scorecard from the session and download it.
- 21:48You put in a database for this demo we put it locally.
- 21:52Um but I think you get the idea.
- 21:55Um okay this is great but what if you want to do a hundred or or 10 tickers at a time?
- 22:01Wouldn't it be great if I could chat with an agent to build a custom harness that could then delegate work uh for each of the tickers into a different session
- 22:10and then when it's all done aggregate the results and give me uh a bunch of scores.
- 22:15Um so that's that's what we're going to do next.
- 22:18Um we're going to leverage that tool that custom tool that we created to build our custom orchestration harness in our server.
- 22:25um where when we talk to our main agent at some point that main agent is going to decide hey I want to spin up uh 10 different sessions to do work
- 22:34um we'll get that oh I skipped a step sorry um for we're going to update the skill uh first u so I I wanted to show you that these skills are are live artifacts that you can update
- 22:48um so you can improve the skill uh in this case uh we're adding the ability to look at a new form Uh and then when you do so any new sessions
- 22:57that the reference at skill will get that new information.
- 23:01Um so this is something that you can continuously update.
- 23:03You can look at previous sessions to see how they performed.
- 23:06We're going to see that at the end of this uh demo that that happens with with something we call dreaming.
- 23:12Um but yeah this this is what is happening.
- 23:16Um okay I'm going to move on to the orchestration bit.
- 23:20Um, so now that yeah, that basically had skills published.
- 23:24Um, I think if I go here, we should see
- 23:28any questions so far.
- 23:30Um, I know this is a lot to take in.
- 23:31Uh, Travis, there's a question over here.
- 23:42Um, and I I know someone came up to me asking about like how long it takes to get the credits.
- 23:46It should be only five minutes.
- 23:48Um, I know the form says one to two days, but you should see it within five minutes.
- 23:53Um, I was curious about the the data access uh from the SEC that the the research agent is grabbing.
- 24:00Does that require some sort of credentials?
- 24:02And are you going to walk through the part of how the how that credential injection or or brokering works?
- 24:08Yeah.
- 24:08So, for for the SEC, it just requires your email and your name.
- 24:12Um, for this demo, we just inject that in the prompt.
- 24:14But in a real production application, we would use something called vaults.
- 24:18Uh the way vaults work is you define a secret uh that you want to you inject in an environment variable.
- 24:24And instead of putting the real secret in, what we put is is a placeholder.
- 24:28Uh and then when Claude is doing work and it wants to use that environment variable, um it just injects the placeholder value.
- 24:37We at egress swap it out for the real value.
- 24:40only on the host domains that you specified are allowed for that secret.
- 24:45So if you say uh my super secret MVAR can only be used for the SEC and then cloud tries to use it for entropic.com we wouldn't inject we wouldn't do the swap but when it tries to call the sec.com
- 24:57it would do the swap for that
- 24:59is essentially like an API where you can use it on console where you just go create a vault give it a name you'll get an ID and then you essentially include that ID in your session as a way for us to authenticate with your MCPS
- 25:10your CLI you for example you could do like a Google Workspace CLI that you install on your um sandbox and then you can give us like your API key as your environment credential and again we'll we'll kind of follow the same method that
- 25:22uh Gabe talked about.
- 25:23So that that allows us to
- 25:25essentially
- 25:26bots also work with ooth credentials forps and they also work
- 25:30Gabe I don't know if you want to just show it on on console like the quickly like the vault creation.
- 25:36Yeah.
- 25:36Um so you you can create a vault here and then in a vault you would bundle credentials.
- 25:41Um so you can have MCP O um maybe you do notion you know we have a few predefined things for OOTH things um so whenever you reference a session you inject that vault ID and it will bundle all the credentials
- 25:57into your session and whenever it tries to use any of the domains that you specified in your credentials it will swap for the real um credential instead of the placeholder.
- 26:08Yeah.
- 26:08Um, quick question.
- 26:09What part of the capabilities in the cloud agents SDK and what's about it?
- 26:16Can you what what do you what do you mean?
- 26:18You have the agent SDK, right?
- 26:20I presumably this is built on top of the agent SDK.
- 26:22I want to know what part of the capabilities are in the agent SDK layer and what's outside of it.
- 26:27So the the agent SDK is packaged for uh like more more it's a headless cloud code version.
- 26:34So it's actually we've built a generic version of that.
- 26:37We've took taken a lot of inspiration about the benefits and lessons from the agent SDK, but we've rebuilt uh the harness to be a more generic not just coding specific thing.
- 26:47So it's sort of a fork.
- 26:49Uh yeah.
- 26:50Yeah.
- 26:50It's basically like its own harness.
- 26:52Agent SDK is basically like a cloud code in the form of a binary that you can take and run wherever you want.
- 26:58This is a fully hosted solution running in our cloud and we have our own harness that's heavily inspired by cloud codes harness and we frequently stay stay in touch for like any enhancements
- 27:09across the board.
- 27:10Uh I I saw another hand in the in the back over there.
- 27:13We have a question here.
- 27:14Yeah,
- 27:15couple more.
- 27:15Thank you.
- 27:16Uh I guess the question as you're orchestrating between multiple agents um is there some guard rails that those agents would not go into loops and like consume a lot of tokens
- 27:25um as they're generating or working together?
- 27:28Um some of that we leave up to you to orchestrate and figure out.
- 27:33I mean we're if you're building these sort of custom harnesses, there's nothing stopping you from using uh like other providers if you wanted to do a sort of multi-
- 27:43uh multi-provider system.
- 27:45Um, we are exploring the idea of what it means to do like budget tighter budget controls that you can say use no more than this amount of money per session, use no more than this amount of tokens per session.
- 27:56Um, but that's not something we offer today.
- 28:00Um, yeah, go ahead.
- 28:01Couple more hands.
- 28:03Question.
- 28:03Uh, earlier you were showing us in console kind of a transcript of the manager and then the sub aents and you could kind of go through and see what they were doing.
- 28:12if you were to come across maybe uh a mistake or like it was going down the wrong path or you wanted to change history.
- 28:19I mean obviously that's what's happened.
- 28:21Is there some way to correct it or to kind of go back to that point in time and kind of start over try it with some additional guidance?
- 28:28Is there any anything like that in here?
- 28:30You can steer it.
- 28:30So I could I could uh I think here if I say send event I could send a new user uh message event and steer the agent.
- 28:39Uh it'll queue it up.
- 28:40it's, you know, you can send that 10 messages at a time and it's fine.
- 28:44We don't currently have a way for like rewind and roll forward.
- 28:48Um, but that's definitely something that uh if if people are interested, we we would look into
- 28:52Yeah, session forking is essentially what you're asking for.
- 28:55We we've had a couple a few customers who have asked for it.
- 28:58That's it's it's on our road map.
- 29:00So hopefully we'll have it at some point.
- 29:02Thank you.
- 29:03Uh yeah, I see a couple hands here if you want to hand.
- 29:07Yeah, thank you Rohan.
- 29:08Uh so
- 29:11where are you?
- 29:11Okay.
- 29:12Okay.
- 29:12Yeah.
- 29:12Go ahead.
- 29:13[laughter]
- 29:14Assuming all of this is running in the cloud like like you know u you guys have any road map to get collective knowledge across these agents like let's say in this one particular application you have 10 users.
- 29:26Would would you mind speaking up?
- 29:27It's a little hard to hear.
- 29:29Oh, so so if you assuming all of this is running in the cloud and this application is being distributed across tens and hundreds of users and all of them are using it for the purposes of like you know doing this financial research.
- 29:42Do you have I know you guys have session logs.
- 29:44Is there a collective
- 29:46memory that you guys are looking into or even have a road map of?
- 29:52We have it today.
- 29:53We actually used it in this demo.
- 29:54So we use the a memory store um that allows you to share knowledge across sessions.
- 30:00Uh and you can see here that what's happening is um the agents are each populating individual information about what they've done so far.
- 30:09Um and then I'll show you at the end how you can consolidate that knowledge over time using dreaming so that you can continuously improve the memory stores as different agents run into different edge cases and collectively learn from each other.
- 30:22So just to follow up on this so you're storing this in anthropics infrastructure.
- 30:28Say if you want to delineate that and and have things running in AWS bedrock and I have my own like uh data clusters or something for sandboxing.
- 30:37Then you mentioned about self-hosting.
- 30:39How much of a lockin is this piece versus like how flexible is it?
- 30:44So all of this API based so you you can extract the memories and put them in different systems if you want to.
- 30:52We don't currently support out of the box other memory providers in the session but you would just build an MCP or a custom tool to do so.
- 31:00It's the way I would imagine doing it.
- 31:02And
- 31:02and also to add to the initial question about like having user level org level memory we do allow for attaching multiple memory stores.
- 31:09So you can imagine having a user level memory store and then having some sort of orwide memory store and then you bring both to each session.
- 31:16So you can start collecting user level as well as or level memories and then like Gabe said none of this is locked in.
- 31:23You can like take your data and go anywhere else if you wanted to.
- 31:26Everything is an API call.
- 31:29Yeah.
- 31:29Um I had a quick question as you walk through the agent workflow.
- 31:33I noticed that the grader is at the main agent level, right?
- 31:37like so how do you grade these sub aentic tasks that are happening and then how do you manage memory across those as well
- 31:44right
- 31:45that's a good question so uh there's two dimensions to this sub aents in the way that we've built them are meant to uh augment your context and leverage the capabilities of your of your session by collaborating between them
- 31:59uh the outcome definition happens at like an overall arching uh session level so you define the outcome and you say this is what I want you to accomplish.
- 32:08The main agent then uses you know uses sub agents to accomplish that work.
- 32:12It collaborates between them and it eventually says uh I'm done.
- 32:16Um there is no currently support for like a sub outcome definition.
- 32:22Quick followup like so as you have this dreaming feature right like so how do you learn like if the sub agents have some sort of you know uh you know offc course sort of actions then how do you sort of learn from that?
- 32:34Yeah, uh today the dreaming is constrained to uh memory stores.
- 32:38So I I'll show you that uh uh in a second, but basically the way dreaming works is it will analyze the transcripts and the memories created across multiple sessions
- 32:48uh so that it can update its memories so that future agents know what to pull.
- 32:52Um but you can imagine that we can continue to expand that for skills and for prompts and for agent definitions so that you can you have this continuous learning
- 33:02uh functionality.
- 33:02But right now we just have it for for memory stores.
- 33:07See a hand here.
- 33:08And then I'll I'll go back to
- 33:10Hello.
- 33:11Yeah.
- 33:12Here.
- 33:12Where where is here?
- 33:14Oh, hi.
- 33:15Thank you.
- 33:16Uh if you have your let's say company data in either I don't know traditional store or rag or whatever and you want to expose it to this type of agents through a custom CLI or MCP.
- 33:29what would be the safe path to put it in your environment?
- 33:32Yeah, that's a great question.
- 33:33There's two two ways to do this.
- 33:35If you are using if you can access that uh via CLI with an API or via uh an MCP, uh you would just create an MCP, give it uh give it the authentication
- 33:47vault uh and it would just be able to call your MCP directly.
- 33:51If you don't want to expose your MCP to the internet, we have a feature called MCP tunnels which lets you uh create a tunnel from your um network into ours so that you don't expose it to the internet and we would do it that way.
- 34:05If if that's uh too big a barrier to climb, we do support self-hosted sandboxes so that you can bring your own sandbox which has which is peered with your network and has access to your applications and services
- 34:17and the agent would just call the sandbox that you manage and host um and be be able to access your your resources that way.
- 34:27Yeah.
- 34:28Um I had a question on dependencies for the environments.
- 34:31So I saw something you could load in dependencies.
- 34:35Um is that at runtime or right before um it's created?
- 34:40It
- 34:40it's at creation time.
- 34:41Uh and then we'll cache it and reuse uh that environment across like re reinstantiations of the sandbox.
- 34:49So can you specify like internal dependencies or do you have to pick mpm package?
- 34:54Right.
- 34:55right now uh they are all they all have to be accessible via npm cargo uh pip whatever but you can upload files uh directly into um the session if or GitHub repos if you want to install them that way
- 35:10okay and one more thing uh deployments I see a tab for that
- 35:13yeah yeah I'm going to get to it I'm going to continue to the with the demo and then we'll we'll do more questions in a