Submind YouTube summaries
Thumbnail for Science in the Agentic Era: Structured Experimentation With Ado - Alessandro Pomponio, IBM

Science in the Agentic Era: Structured Experimentation With Ado - Alessandro Pomponio, IBM

Watch on YouTube

Video summary

Alessandro Pomponio from IBM introduces ADO, an open-source tool designed to empower coding agents in the realm of scientific research by providing a structured framework for experimentation. He begins by defining coding agents as autonomous AI programs powered by large language models that can reason and act through a harness managing tools, prompts, and state. While these agents excel at breaking problems into standard stages like explore, plan, execute, and verify—mirroring both the DevOps loop and the scientific method—they often struggle when encountering unfamiliar codebases or untrained scenarios. Without proper guidance, agents tend to hallucinate commands, waste token budgets on inefficient searches, or generate single-use scripts that are difficult to maintain, highlighting a critical need for "upskilling" these AI assistants to function reliably in complex research environments. To address these limitations, Pomponio presents ADO as an Accelerated Discovery Orchestrator that integrates schema-based experimentation with provenance tracking to ensure reproducibility and trustworthiness. The tool utilizes Python frameworks like Pydantic to define rigorous models for configurations, preventing agents from deviating into invalid paths while automatically collecting results in a structured data store. This architecture supports scalable execution via Ray or Kubernetes, allowing for thousands of concurrent optimizations, and includes an intuitive command-line interface that agents can utilize effectively. By mapping the traditional scientific method onto ADO's capabilities, researchers can create persistent, queryable plans and reports that help agents analyze trends, identify research gaps, and evolve their strategies over time without losing context. The core innovation of ADO lies in its implementation of "agent skills," which are essentially markdown-based instructions that guide agents through specific workflows to prevent guessing and reduce errors. These skills include querying the data store efficiently using JSON paths, formulating discovery programs based on examples, and conducting empirical studies through step-by-step decision branches with stopping conditions. In a live demonstration, an agent uses these skills to investigate failed optimization campaigns in mixed-integer programming problems; instead of hallucinating a solution, it follows a strict workflow to diagnose missing files, run diagnostic experiments, and fix the underlying issues before rerunning the full campaign. This process illustrates how ADO transforms agents from unpredictable explorers into reliable partners that can troubleshoot failures, validate changes against schemas, and autonomously manage complex research iterations. Ultimately, Pomponio concludes that while AI cannot yet fully automate the entire scientific discovery process or read journals to generate papers overnight, tools like ADO provide an essential orchestration layer that eliminates the need to reinvent experimental frameworks repeatedly. The real value of this approach is enabling researchers to plug their own experiments into a robust system that handles result storage, querying, and reproducibility for free, thereby accelerating the pace of legitimate scientific inquiry. By combining the reasoning capabilities of coding agents with the structural discipline of ADO, scientists can overcome common AI pitfalls like context loss in long runs and ensure that their computational research is both efficient and rigorously validated, paving the way for a more structured and productive agentic era in science.
Read the full video transcript
So hello everyone. Uh thank you for uh coming taking the time to attend. Um I'm Alessandra Pomp. I'm a research software engineer at today we're going to be talking about agents but maybe from a perspective that is not as popular. And today we're going to be talking about agents in science and how a tool that we developed and open source called ADO will allow you to do science with them. So let's start off with a fairly basic question that has been answered many times already today. Uh what is a coding agent? And today I'm going to be referring to agents as coding agents. So please keep that in mind. So a coding agent is um an autonomous AI program that has been powered by an LLM and that can reason and act. So it has agency uh towards the goal and that can access tools and correct itself in a loop. So basically a coding agent is just an LLM that has an harness which is some scaffolding that gives it access to tool usage manages prompts contexts state and control flow. I assume that given the uh kind of uh conference that we are at uh many of you will have used at least one of these uh coding harnesses and they're very good. They're really really good. They allow you to do software at an incredible pace. You have to keep them in check and not produce some AI slop. But um they're very good. And the the reason why they're very good is that they break down problems into four stages. These stages are explore, plan, execute and verify. These steps are not just belonging to these agents. Uh they are everywhere. Um we can see them even in something that we all know as well which is the DevOps loop. It's uh a framework that gives us uh instruction to do development in a an iterative way. And if we look at these eight steps, we can recognize what I just talked about. So we have an explore phase which is the discover phase where we gather information about our current issues or feature requests that we may have. We have a planning phase where we define the requirements, create road maps and define tasks. We have an execute phase where we write the code, we commit it, we test it, we release it and we deploy it. Of course, there's a a test phase here which brings in pieces of validation already. But for a product I would say the most important verification is in the actual monitoring that we have in this verify stage. Right here we manage the infrastructure. We monitor that our product is behaving correctly. We collect feedback and that drives the next iteration of our DevOps loop. If we try to map these things to agents, we have these again four points. Um, so the agents can perform these steps thanks to the harness and the tools that the harness provides. So for example, agents can use these tools to gather contextual information from various sources. for example, um the the code repository that you're editing it, seeing the git history from this repository to see how the repository has evolved over time and maybe a commit that was made recently introduced a bug and that kind of information in addition to logging etc can really help these agents. This information in fact is is it is planned. It is used in the planning stage [snorts] to create these u these plans that are structured and identify the intermediate steps that the agent will have to follow for implementing these fixes including uh potential risks and validation mechanisms. The harness also provides some kind of level of uh isolation. Um if you go to the sandboxed stage uh you can have more isolation but in general these harnesses provide ways that these agents can use to um write files, read files, execute API calls, execute commands and this really is what the agent is all about nowadays. Right? Of course, we then have a verify stage in which the agent using the features that are provided by the harness can verify that the changes are correct by using language servers, finding uh using you know tools that the project provides for example the set of llinter tests and monitoring instrumentation to then uh verify that the changes are correct. But until now I've just talked about DevOps. So where where's the science, right? Well, it's been here all along in a way because if we really think about it and we ask a question, what do scientists do? They explore, they plan, they execute, and then they verify. Right? So if I just change the slide that I've been showing you uh with the DevOps loop just a little bit and I call it a different way. Let's say I call it the scientific method. We see basically the same things, right? The scientific method starts from a research question. Let's call this the explore stage where we research the state-of-the-art of the problem that we're trying to tackle. It goes to a planning phase where we make a hypothesis on how something is supposed to work. Then we execute on the hypothesis by designing an experiment, validating it and running an experiment campaigns that is actually meant to test the hypothesis in a scientific and rigorous way. We then validate the hypothesis by collecting the data, analyzing it and drawing conclusions and seeing whether the hypothesis is confirmed or it is not confirmed and then this information will guide our next research efforts. So if the question isn't right, if the agents can do the DevOps loops and the scientific method is basically the same, what's missing? So what is a science agent? It's probably a coding agent plus something. And in our vision, this tool is ADO. So ADIO also called the accelerated discovery orchestrator is what we believe is a toolbox for agents in science. It provides schema based uh a schema based approach to experimentation. So it is a python framework and we use for example paidantic to make to define rigorous models uh for all the configurations that we use for our exploration to make sure that the agents have a framework in which they need to stay and we validate all everything that uh is created to make sure that nothing uh goes ary. Then we have provenence tracking because we're talking about science. So results must be reproducible and must be trackable. So we track what kind of version of ADO or what kind of experiment was executed to measure a point for example so that you have this kind of you can trust the results. We also uh automatically collect results in a structured data store with support for collaborative projects because science is something that is not done on your own most of the time. Of course, we then have the usual bits. We have an extensible core architecture where you can add your own plugins, your experiments, your samplers, whatever you want. Of course, we then have a scalable execution back end powered by another open source project which is Ray. You can use it on Kubernetes as well for even more scalability. Um for example, we will you will see that we can run like um 2,000 optimizations uh concurrently and this is possible thanks to Ray of course. Then we built an intuitive CLI. We started off a few years ago. We we were calling this a human- centered CLI because we followed uh the best practices as much as possible for this. But we saw that this translates to agents being able to use it better uh as well. Then so the what we think here is again science agent means coding agent plus ADO and the way we map the usual explore plan execute verify with ADO is is here right so ADO again provides a structured data store with methods to store and retrieve these kind of plans configurations results in a way that is persistent of course and quarable which is the most important bit. Agents can then use this information to analyze the results, discover trends in the data and find the gaps in the research. These plans and reports are then written back to the data store because the evolution of the plans through times through time is very important for the agent to understand what's going on. Then we also allow the execution of experiment campaigns through the CLI and through our uh API of course. Well, the orchestration layer automatically tracks prominence information and the sampling trajectory because in um when you sample points you can have uh ve very much information hidden in the trajectory of the sampling that can help with troubleshooting. For example, the verification is done through for example pyantic schemas for all our resources and through accessing the execution logs while the CLI is working and um the traces through the sampling trajectories. The agent can then perform some advanced troubleshooting to verify why for example a bug was there or what happened during the optimization run. In general, the execution loop that a human or an agent can do with ADO is this one, right? It's again colorcoded in a way that uh maps to these stages. We will retrieve the existing uh plans, experiments, and configurations and then create a plan using the existing information to define what are the next steps in our research. We then define what we call discovery space which is the parameter space that we want to explore in our research and the experiments that we want to run on these points. We then run the experiments on these points and we store the results in this data store. The results are then analyzed with the exploration and used to draw conclusions. So if it's that simple, they lived happily ever after. Thank you for your attention. No, I'm sorry. It's not the way it is because agents are good, but they still miss something. Coding agents work well on established frameworks, but when dealing with ones they haven't been trained on, they often time fall into these five traps. They don't know where to look. That's the biggest issue. During their exploration step, we will they will try to search by keyword, but often time they will fail to find exactly what they want. This leads them to hallucinate commands, classes, methods, whatever. And if even if sometimes they manage to scavenge through and find something to hold on to and get to a solution, they will take a long time and burn through your token budget for the session. They will often also end up with these creative solution trying to circumvent the problem that they haven't explored the codebase well and they will also create many single-use scripts that are impossible to keep track of and you will end up um losing. So I'm not a doctor but I think the diagnosis for this is just a skill issue. So we need to upskill these agents and the way we do it is through agent skills. I'm assume that most of you are familiar with these as well. They were introduced by Anthropic. They can you can define a simple markdown file with instructions basically that the agent will follow when matching to a certain set of keywords and intents. With these, you can really prevent agents from guessing to reduce their hallucinations. You can save them from going down the wrong paths by defining clear to-dos and to to not do. Uh, and I think this is like really important because often times when an agent starts going down the wrong path, you can you can hardly ever get them to go back to the correct path. You can also provide step-by-step workflows with decision branches and stopping conditions to make sure they act reliably in a more trustworthy way. So here's a small examples of the skills that we have added to ADO um to to match to to what I was saying before. So to prevent agents from guessing, we have a skill that's called query ADO data that shows them how to efficiently query query our data store to find existing plans, matching spaces, and more. some of the instructions that we have over here. For example, just tell the agents use a JSON path query to find information instead of retrieving everything and do it in Python because then we can they they just waste tokens. They get a lot of information and struggle to parse it. We also have a skill. It's called formulate discovery program problem uh which is just based on examples because just like humans they really appreciate example-driven um skills where with this methodology we tell them how to choose the appropriate experiments how to define the search spaces and the experiment campaigns for our discovery problem. Then we have conduct empirical study which is a step-by-step workflow on how to run experimental studies with ADO. This is a skill of skills. It'll call where appropriate all the other skills and implements the full execute explore plan execute and verify loop. So uh we're going to see a demo. In this demo, uh we are going to use ADO and well we'll show you how we use ADO to find optimal solver configuration for uh a program called CLEX that developed by IBM which is used in a mixed integer programming problems. We will start off by seeing real life case where somebody else in our team had been using ADO to run their experiment campaigns and we want to see where we are at with our optimization. So we just we just start asking examine the ADO pro uh the pro project and suggest me the next steps on what to do. The agent will use the skills and query our database to find all the relevant information. The agent will then synthesize this information creating a structured report and recommending next steps. So I'll stop it here for a second. We will see that we are running some mixed integer programming problems from uh a library of problems come called miplib. We have run 27 operations which is our experiment campaign on 15 parameter spaces. We see what has been happening and we also see that it found some issues. So here the agent has seen that this sorrel 3 operation failed because all of the uh six submitted trials reported nan and it suggests maybe this is why it happened but we are not uh satisfied with maybe. So we have another skill to investigate for example these failing experiment campaigns. Why did our optimization fail? So we let the agent loose. We ask it to examine the operation. The agent goes in a planning phase. It retrieves the important information using a step-by-step workflow just to keep it in the correct path. Get the operation yaml. Check for an existing report. Review what the operator what the sampler does. Check the definition of our parameter spaces. get the outputs, get the measurements, and then analyze. Do not just guess. So, the agent does all of this thanks to our strict schemas. It has an easier time doing this. It writes a report. And it says there are two potential causes. One of them is that a file is missing. Try this. Try this. run a diagnostic experiment, sample just one point, wait it actively, gather all the logs and identify the exception before rerunning the whole experiment campaign again based on data. So let's ask it to run this experiment campaign, run the diagnostic operation. It'll look at other example of existing experiment campaigns. It'll create some definitions using our schemas and it'll launch it on our cluster. Now the agent has started this onepoint experiment to see if everything was working. It looks at it. It says it's solving well. I waited a minute. It has a 20 minute time limit for the optimization. Let's let's leave it be. I'll check once the exploration is complete. But it seems that things are working. So let's see the operation finished. We have the diagnostic worked. This is what we know. The root cause has been confirmed and it says you can now I fixed everything that needed to be fixed. You can now rerun the full 200 trial operation. So let's resubmit it. And also while we're at it, let's create another operation on a different space to run another problem, a lecture scheduling problem. It'll fetch similar spaces to see if something already exists and break down the problem. So the operation has been submitted. It didn't find anything for the other space. So we will create a new one. But we see it made a mistake. But we at the top we can see it dry run the creation of the space. So we gave it a way to verify that its changes were going to be correct. They weren't. And thanks to the error and our thanks to the schema, it it figured out what was wrong. It then fixed itself. We create we tried run the validation again. It worked and it submitted. So both explorations are running and we can proceed with our science. Now, of course, this is just a a demo, but it's a demo that happened in our research. And if you use ADO, you can try it on your own. So, I'll use my skill to conclude the presentation. I'm just going to say that we're listening. Uh we're very much looking forward to contributions and if you want to try it, please get in touch. This is our repository. It's github.comibibbmad. Six letters quite easy. And of course, there's a a link to LinkedIn if you want to get in touch with me directly. What's very important is also your feedback on the presentation. So, if you were so kind to submit a feedback for the presentation, it would be much appreciated. Thank you very much. If you have any questions, I'll be here for you. [applause] Feel free to raise a hand if you have any question. Um, do you want to come closer? I'll repeat the question or I can just give you the the microphone. So this is really interesting. Um, one of the things that LM struggle with is a lot of this like planning and contextual things across um, long runs. So obviously you're taking a step in this direction to improve it. Um, can you say more about the limits here? Is this just something where you feel you could feed it the proceedings from a journal or something like that and just tell it to make computational improvements on the latest like file system results from a file system journal and sit around and wait for a year and it would produce a bunch of research papers or where where are we going with this? >> Well, this is just a tool, right? Um, you can I think a good thing to do with it is like find a research paper that you're interested in and ask it to implement it in in here. Like we had for example some quantum uh research papers that some colleagues of ours had uh had been looking at and we could ask our agent just reimplement this because the code wasn't published and reimplement it with this framework and it worked right now can you do automated science with it? Well, maybe not, but it gives you a framework to run these experiments in a way that's probably more reproducible. And I think the real value here is that you don't have to reimplement the wheel every time. You have an orchestration layer that takes care of, you know, storing your results, quering them back. And this is for free, right? You just write your own experiment. You plug it in the framework and it works. If you do a lot of research and you have to reimplement it every time that gets taxing even if you have your coding agent which maybe can do it fast but it'll have to do it every every time. So having a framework in which you can execute things I think it's very valuable. Not sure if that captured your question but I I'll be I'll be here if you want to ask more. Any more questions? We have like a few minutes left as well. Well, if not, thank you very much once again. See you next time.