From Signal to PR: Anatomy of a Self-Improving Agent — Jason Lopatecki, Arize

AI Engineer · 20 min · 225 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.

  1. 00:01[music]
  2. 00:12Well, thank thank you all.
  3. 00:14Um, let me get set up here.
  4. 00:16So, not just the the founder of Arise, but but I tend to build an incredible amount of stuff.
  5. 00:25Um, let's see if we get this going here.
  6. 00:30Oh, sorry.
  7. 00:32One more second.
  8. 00:33Um, so not just a founder here, but but also a builder and I do my best to um uh to to to build agents assistance.
  9. 00:45Um, we have an agent in product.
  10. 00:48We have an agent in product called Alex and uh and a lot of I think a lot of my experience has come from actually um trying to make the stuff work and work well.
  11. 00:59Our first version of our our own agent frankly sucked.
  12. 01:03Uh it was many years ago uh probably two years ago when the first in the space to do it.
  13. 01:07Um and a lot of what we have built uh has come out of that our own experience in building building this agent and and signal is kind of our our next generation of this which is trying to automate
  14. 01:21a bunch of things which we do every day uh and build it into products that that people can use.
  15. 01:26Um so I'm going to try to I'm going to go through this this materials here.
  16. 01:29I'll try to go fast and try to show you a lot of product too.
  17. 01:32I'm a product person.
  18. 01:33Um, so if you've built a startup before, um, you you've experienced this, your platform's down, it's it's late at night and and you and you want to go fix it.
  19. 01:44Um, and and really the the it takes a lot of energy to go do that.
  20. 01:49And we're going to talk about like the automation we've built a little bit and and what what the future looks like and and I truly believe um that the future of the the observability space is is actually
  21. 02:00changing massively right now.
  22. 02:02Why is that?
  23. 02:03Well, observability used to be for humans.
  24. 02:06Used to be a UI you click, a graph you click, something you look at.
  25. 02:10Um and and today it's I would argue it's a lot of 2.0 which is like this combination of coding agent.
  26. 02:17Those of you who built skills skills for um Pyroscope, Google Cloud or or whatnot, that these these skills help you with your your human debugging these systems.
  27. 02:27Um and and really telemetry is like this smoke uh thrown off of your system that can allow these agents to go make fixes.
  28. 02:38It tells you what path in the code it took.
  29. 02:41Without that, you're guessing and there's a million paths it could have taken.
  30. 02:45the the data thrown off by your system allows um allows you to to go go use agents to go debug your software.
  31. 02:55Evals add another layer to this.
  32. 02:57Um but really what we're at here is is how do I build systems that autonomously fix themselves?
  33. 03:05Really that that is what we're after.
  34. 03:06Both both AI agents, I put AI into my my my system.
  35. 03:10How do I have this thing just improve itself?
  36. 03:12and and today we're kind of in the 2.0 which is a human making fixes and reviewing things.
  37. 03:18Um but there's a future we're all driving towards and throwing off traces, throwing off logs, throwing off way more than you normally would and having agents run at this for a continuous loop is where we're going.
  38. 03:30You can build at agent speed, but today you can't improve your systems really at this agent speed.
  39. 03:36So those of us feel this this kind of governor happening within our our our our products.
  40. 03:42um and and the bottleneck is actually not the fix anymore.
  41. 03:46So those of us who've used these systems and and use used um coding agents with with skills, the the the bottlenecks, a lot of the the confidence in in do I have it right?
  42. 03:57You know, a lot of this is is about is this fix the right one to push?
  43. 04:02Um and and so these are kind of the challenges here.
  44. 04:06And then how do you how do you build this loop in a way that just moves faster?
  45. 04:10Um and and a little bit of the way we we've kind of come to do it and we do it in our system is we've kind of inverted this this loop which is like a human
  46. 04:20you know looks at things and an agent uh fixes it to a person now can wake up with with an idea of the issues based upon the errors occurred in their system.
  47. 04:30So so the agent is actually you know maybe it's not a a fix itself but it's putting up an issue.
  48. 04:36It's looking at the data before a human even looks at it.
  49. 04:39Um and and what you move from there is is kind of humans grabbing tickets to to having some amount of evidence um some deep evidence relative to whatever you're looking at already sitting in front of you by the time you actually even look at it.
  50. 04:55And and human review is kind of one thing but but a lot of times maybe you're driving this little investigation a bit from where it started.
  51. 05:03So that's the reality of where we are today is there's still maybe it's not human reviewing but human driving the the step two and three.
  52. 05:09Um but but this is kind of what what we view the loop as.
  53. 05:13And really what it is is there's you know there's an event that occurs that you're kind of kicking things off on or you're looking at periodically.
  54. 05:19Um and then there's some context around that which is really driven by skills.
  55. 05:24Um, I guess a question for all of you.
  56. 05:26Who's created skills in this room?
  57. 05:29Who's created a skill that that that interfaces to an observability platform?
  58. 05:35Okay, handful.
  59. 05:36Okay, cool.
  60. 05:36Awesome.
  61. 05:37Um, so the magic of of of skills that that that connect to observability platforms um is it can gather the context.
  62. 05:45The agent can decide what it needs, what it needs to look at um to to start to troubleshoot what you have there.
  63. 05:51Um, and then there's idea of triggers which are like periodic and and um and uh and event based.
  64. 05:57And so the future observability actually looks a lot more like this than it does clicking around graphana UI.
  65. 06:05So first off evidence well normally these like or are or what do you start with what do you look at?
  66. 06:12Uh traces are are pretty nice logs as well.
  67. 06:15uh but but you know most of the AI systems these days have like traces at the core of of the agent framework.
  68. 06:21So, so you kind of start with with looking at traces and this is this could be periodic you know every five minutes this could be based upon an event an error
  69. 06:29and normally there's some combinations of these which is um you know some some like uh context and log you know context and skills used to put together logs maybe there's the repo
  70. 06:41uh you want kind of a combination of all this together um to understand what to go fix the repo tells you the code path that you know the you know all
  71. 06:50tells you everything that's there, the the production logs or traces that the agent pulls down.
  72. 06:55Um, normally our skills actually pull pull little temp files down into the the repo.
  73. 07:00Um, so that you kind of have this this this idea of what actually happened, what the code is there enough and and all that together to put up a fix.
  74. 07:09Um, so it's this combination of the right data and file format in the repo along with your code in the repo.
  75. 07:15That's kind of the magic of this skills which are composable for the agent to go actually put a fix.
  76. 07:21Um, and a lot of this, some of you, a lot of you probably do this locally today.
  77. 07:25You you run this locally.
  78. 07:27You have an agent that you you kick up, maybe you're spinning up, but it's on your laptop.
  79. 07:31And I think we all feel this this this move from from this laptop um to to maybe to to basically sandboxes.
  80. 07:39Um and and really the sandbox is this this running environment where um based upon an event or a periodic you know a periodic event you can kick this thing off and it does the same thing you were doing locally
  81. 07:53get it working locally first locally on your laptop and then event based based upon the observability platforms like ourselves.
  82. 07:59Um you can trigger these on a schedule or or kind of you know every every error that comes up.
  83. 08:05Um, and generally, you know, you generally it's kind of put putting the loop together to do this and and um, and I want to kind of give you one example.
  84. 08:15So, this is Alex, our agent.
  85. 08:16This is a a real example.
  86. 08:18It's a very simple one.
  87. 08:19And then I'm going to show you what it looks like in product.
  88. 08:22Um, this what we use every day.
  89. 08:24Um, but this is just an example where um, we had a stream canceled event.
  90. 08:29So um so Alex is is basically um Alex is is basically our our inproduct assistant.
  91. 08:37Um to-do update is is a uh is a is a way of of managing kind of its its task list.
  92. 08:43Um and it was trying to you know I'll walk you through the the error in a second but basically um it's calling a bunch of these two to-do updates and kind of um errors out and and so for us it's it's
  93. 08:55you know how do I put the data together um to debug this?
  94. 08:58how do we do it automatically and and signal is just something that's running in the background for us that's putting up like issues relative to these things.
  95. 09:05Um this was uh a kind of one or two line fix that it comes up with.
  96. 09:10These are these are ideal but a lot of times the fixes are bigger.
  97. 09:14Um and and the bigger it is the more likely a human's involved in kind of like spearheading it over the line.
  98. 09:19But again it's about that that cold start.
  99. 09:22Can I start with like all this information on the issue and guide it the rest of the way is kind of where we are right now.
  100. 09:27Um, and for us, your job kind of moves from responder to reviewer.
  101. 09:32Um, and and and the view is like traces and evals don't go away in any way, shape, or form.
  102. 09:38They're just they're they're a key part of the loop.
  103. 09:40Now, you're going to trace 10 times more.
  104. 09:42You're going to log 10 times more because that helps you know what path your software took.
  105. 09:48Before, you wouldn't do that because because humans can't dig through all the logs.
  106. 09:53It's just noise.
  107. 09:55But by logging and tracing more of your like is it every inch of your software?
  108. 10:00Maybe in some places.
  109. 10:01Um by logging and tracing orders and orders of magnitude more than we do today, we can actually create these continuous loops that know what path was taking your software
  110. 10:11and and and actually have it fix itself.
  111. 10:13So this is kind of my vision for where I think things are going.
  112. 10:17um in a way and and for us I'll show you signal in a second and you'll see all these I mean I feel like there's there's this think of this as an an SR you know something that helps you debug maybe SR for for AI
  113. 10:29um but I feel like there's a lot of black boxes out there like oh there's a SR agent that does this or S agent that does this all we're really trying to do ourselves
  114. 10:37is take your local debugging experience with cloud code cursor and run it periodically so pick your sandbox pick your harness, pick your skills, we'll pre-bank a bunch of things with you.
  115. 10:50So, we're just trying to again take the things we were doing locally and actually run them um uh you know, run them in a system.
  116. 10:57So, we believe in you know an open approach um to this and um I I'll give you a demo of what this looks like um from a product perspective.
  117. 11:07So, so this is um this is a a financial trading agent.
  118. 11:14Um given what you saw in the previous uh presentation, I would not recommend doing a financial trading agent.
  119. 11:21Um they they they're unlikely to make you money.
  120. 11:24Uh at least not not yet.
  121. 11:25Um maybe there's some people uh doing it good.
  122. 11:28But long story short is this one's, you know, uh people asking questions about stock trading right now and it's giving giving answers.
  123. 11:34Um there's a lot of ways this this can fail.
  124. 11:37And so this this gives you this is a rise.
  125. 11:41It's a platform.
  126. 11:41So first off from let me describe the products we have.
  127. 11:45Uh this is AX which is our our SAS platform.
  128. 11:48Um we also have Phoenix which is open source if you just want to start tomorrow.
  129. 11:52Um Signal right now is is just available in in our AX SAS platform.
  130. 11:56Um which also could be deployed VPC but but this so so give you an idea of our product lines.
  131. 12:02Uh if you want to try out Signal, it's it's an AX.
  132. 12:05Um and what it looks like is something like this, which is it's just periodically running and and kind of coming up with like issues and you can hook it up to
  133. 12:16your GitHub repo.
  134. 12:17It can create an issue in your repo.
  135. 12:20You can create an evaluator from this.
  136. 12:21Maybe u maybe there's a a specific problem by which you want to catch again.
  137. 12:26You can add these to a data set.
  138. 12:28So if you want to add these and and it has evidence associated with this like traces um in this case um in this one it has skills like for Google cloud and some other logging systems.
  139. 12:38So we can frontend a bunch of places the data we're we're pretty good at building I think these skills to debug issues again uh but you can add your own skills.
  140. 12:48So these examples here you know traces running out without a guardrail.
  141. 12:52Um there's there's um uh you know safety safety issues and intent issues and a lot of this too is like you know how does this work?
  142. 13:02How do I you know it feels a little too black box to me.
  143. 13:05Well all this is open and open box um in the sense that um I can set up you know I can set up the harness that I want it to run on.
  144. 13:16This one's cloud code.
  145. 13:17I can pick my sandboxes and sandbox systems.
  146. 13:20Um, I can use cloud managed agents if I want.
  147. 13:23I can use Arise sandbox.
  148. 13:25Uh, why would I want to use Arise sandboxes versus cloud managed agents?
  149. 13:29Well, a lot of our customers um don't want to connect their production systems to Tanthropic.
  150. 13:34You know, you you you want your s you want these these sandboxes to debug your database or connect to it.
  151. 13:40So we install in the VPC of a lot of you know bigname companies out there um from from Uber to um to bookings to you name it and and these people don't want to send their connections out but they'll they'll use a s you know
  152. 13:56many many companies um are very comfortable installing a V into a VPC and actually connecting it up.
  153. 14:02So you can use Arise sandboxes or you can use Daytona or any of any of these that you're comfortable with um that you built relationships with.
  154. 14:09Um and and then from a a platform perspective, you know, we support um running we support, you know, tracking the different agents that you're running.
  155. 14:24So you have this swarm of agents.
  156. 14:25Maybe you've kicked off um maybe you're kicking off a signal which which is our agent.
  157. 14:30It's running periodically.
  158. 14:31Maybe you're kicking off your you know you've named another agent um in the system.
  159. 14:36And these all support, you know, viewing the session that that ran, downloading the transcript, and you can resume a clouded session locally, too.
  160. 14:46So, the idea is that this thing's constantly running.
  161. 14:48You're picking the harness, the sandbox.
  162. 14:50You're deciding the prompt if you want, hey, don't be aggressive or look for, you know, look for security issues.
  163. 14:56So, you're deciding the prompts that drive this and you're also deciding the skills that go along with this.
  164. 15:02So um in a preset here um I can add you know add different skills.
  165. 15:10I can add my own skills.
  166. 15:11I can link repos.
  167. 15:12I can I have pre-baked skills too.
  168. 15:14Um so the ideas observability platforms are really starting to get are becoming tied to the continuous loop to the the fix not just the the signal.
  169. 15:25Um, and and you you want to take your local experience you have debugging the stuff locally.
  170. 15:32You want to take the evals that are running and and actually have these all work in something that puts up a fix or at least gets you a cold start and then I can take it over locally if I want to continue debugging
  171. 15:43uh from from here.
  172. 15:44Um, so this gives you um a rough idea of of kind of of of signal to PR um what we're doing.
  173. 15:52Um, I did want to offer, you know, questions if people people have any questions on what we're doing or how we see uh the industry evolving.
  174. 15:59Happy to happy to answer.
  175. 16:01Thank you.
  176. 16:04[applause]
  177. 16:13Yeah.
  178. 16:13Go ahead.
  179. 16:20question of like why can't we just connect cloud code to your data and have cloud code do all these things.
  180. 16:27I think there's like a version of that question that can probably be asked for these autofixes, right?
  181. 16:32Like why not have cloud code read the traces and push the PR itself.
  182. 16:36I'm curious how you would respond to that question.
  183. 16:38Yeah.
  184. 16:39Uh so so why wouldn't have cloud code kind of hook to your your data and just just do it?
  185. 16:45Um the answer is like you should um like like the vision and what we do actually at at Arise is we have uh a lot of skills.
  186. 16:53I think first off to to make that really work well you have to do a bit of well-designed skills in the data space.
  187. 16:59The skill like the the important things of designing these skills are are around really around getting data you know finding the right data first.
  188. 17:08So I want to find a group of traces relative to a session or something.
  189. 17:12Getting that data into the repo in a file format.
  190. 17:15These harnesses are magical with files.
  191. 17:17So you get the file what happened.
  192. 17:18In some cases we have 10meg files like sitting in the repo.
  193. 17:22Um so it's designing the skill to be really really well done with the um with this data and and then giving claude enough skills to be composable to find issues.
  194. 17:32So the answer is absolutely yes.
  195. 17:33like we have Pyroscope skills that will find memory issues.
  196. 17:37We have facets in Pyroscope that the skill knows how to use.
  197. 17:40I can cohort by customer to see if a customer is causing an issue.
  198. 17:43Um but but you've got to kind of design the skill surface area in a way that Claude can really really work well and and and it's not just like point Claude at the data.
  199. 17:54I see.
  200. 17:55Thank you.
  201. 17:57Any other questions?
  202. 17:59Anyone else?
  203. 18:01Oh yeah.
  204. 18:02Okay.
  205. 18:02One more.
  206. 18:04Thanks for the talk.
  207. 18:05Um, there was quite a few mention of eval but you know I'm looking at the traces so you know I understand the concept of traces but where where did the evals come in when you have that signal that says hey something broke in production.
  208. 18:17Yeah.
  209. 18:17So so the so the eval typically will the um the eval essentially are running and being layered on typically to the production traces something we call online evals.
  210. 18:26Um let me see if this one has an example here of it.
  211. 18:32Um so so eval actually are data on the trace itself and so the agent knows how to uh grab the data from traces knows how to um visualize and you know the skills to basically pull data for for the aggregate values of evals across the traces so that so the the skills that you give
  212. 18:50uh the harness allow it to get the data on the eval from from the traces.
  213. 18:55Um so eval are kind of like I view them as le at least a first generation eval evals which are elements a judge um as a as a AI layer that allows you to run periodically
  214. 19:08and and assess your system but it's like it but it's adding a little bit more you know pre-processed information on the data that that and then as signal is running it's using data from the evals that were layered on
  215. 19:21um in addition to all the raw data that it has there Um it but it tends to be like you build an eval for a failure you've seen before a lot of times.
  216. 19:30So I have these prompt injection things that I'm trying to catch or something or um or or a failure in the way it's responded maybe to to something before.
  217. 19:38So they they tend to be this like you know u at least the LM as a judge is tends to be like this this thing you um preset up and then you can actually create evaluators for failure.
  218. 19:49Say you find this failure that's pretty common and happening all the time.
  219. 19:52I can create an eval so I can catch it next time.
  220. 19:54I just you think of it as like almost a an AI um assessment that's always running.
  221. 20:00Uh the other note is the element as a judge can run really at scale.
  222. 20:04Well, every you know I have customers who who lay you know layer element as a judge across um their full data set uh where where this tends to be like
  223. 20:13you know uh more periodic on a lot of data.
  224. 20:16So cool.
  225. 20:17Thank you.