Sr. Content Developer at Microsoft, working remotely in PA, TechBash conference organizer, former Microsoft MVP, Husband, Dad and Geek.
164961 stories
·
33 followers

What Makes an Agent Self-Evolving?

1 Share

An agent can get better at its job without a new model. It can learn to find useful information, choose the right tool, or check that a task is finished before reporting success. For that experience to help with the next task, something has to carry over: an updated instruction, a lesson saved in memory, or a change to the software that runs the agent.

That is what interests me about a self-evolving agent: It can use experience to change how it handles future tasks. Much of that change happens in the harness, the instructions, context, tools, and software around the model. Research such as Harness-RSI explores how agents can change that harness while continuing to use the same model.

Of course, a change can make things worse. A saved memory might be wrong, or a new instruction might fix one problem and create another. I think about self-evolving agents in three parts: evaluation to tell whether a change helped, an improvement process that can do more of the work on its own, and the parts of the harness it is allowed to change.

Evaluation: What counts as improvement?

Before I ask an agent to improve itself, I want to know what doing a better job would look like. A model’s score on a benchmark tells us how it performed on that test. To evaluate an agent built with that model, we also need to ask whether it used the right information, took the right actions, and met the user’s requirements.

In a restaurant-planning exercise I developed for teaching evaluation, an agent is given a group’s needs and information about restaurants. Its job is to suggest a place and a time for dinner. The people and restaurants are fictional, but success is easy to understand: Can everyone eat there, afford it, and make it on time?

In one test, the agent recommended a restaurant that met everyone’s needs. My evaluation still marked the answer as wrong because it compared the wording with a sample answer I had written. But my answer was only one possible solution. A different recommendation could work just as well. That feedback could lead a self-improving agent to “fix” a decision that was already good.

A more useful evaluation would check whether the recommendation met the group’s requirements. If someone’s budget is $25 and the meal costs $28, the plan fails that check. We can build a custom evaluation around those requirements, checking the price, dietary needs, and timing. Other questions require judgment, such as whether the agent clearly explained a trade-off between price and convenience. A person or another model can help assess those.

If we asked the agent to make a booking as well, we would need to check that the reservation actually existed. A message saying, “Your table is booked” would not be enough. Evaluating the system means checking what it did, as well as what it said.

Once the agent proposes a change, we can test the updated version against the current one. It should still handle tasks it already did well. We should also try cases that were not used to develop or choose the change. Getting one dinner plan right tells us less than handling new groups with different budgets, dietary needs, and schedules.

The evaluation should also explain why an answer failed. “The meal costs more than the guest’s budget” gives the agent something specific to investigate. It still needs to find the cause, but it knows where to start.

Autonomous improvement: Who carries the work forward?

If an engineer has to spot every failure, suggest every change, and start every test, improvement still depends on that person. Autonomous improvement means giving more of this work to the system. It can review past tasks, look for repeated mistakes, propose a change, and test whether the change helps.

For example, a more autonomous dinner planner might notice that it repeatedly recommended restaurants people could not afford, even though their budgets were available. It could try a new instruction: remove restaurants that exceed anyone’s budget before comparing the remaining options. It would then test that instruction on other groups. If the results improve and the agent still handles tasks it previously got right, it can keep the change. Otherwise, it keeps the current version.

There are two kinds of work here. While planning a dinner, the agent uses tools, reads the results, and decides what to do next. That is its task loop. The improvement process looks back across those attempts and changes how it will approach future tasks. An agent can plan dinner on its own and still depend on an engineer to teach it a better way to plan.

This review does not have to happen after every request. The system might start it after several similar failures, or review a day’s work overnight. Looking at several tasks together helps it see which problems keep coming back.

We can give the system more responsibility gradually. At first, it might investigate problems and test changes, then ask an engineer to approve them. Later, it might also keep certain kinds of changes on its own. The team still decides what it may change, how much time or money it may spend experimenting, and when a person needs to step in.

Harness modules: What can evolve?

When an agent makes a poor decision, I want to find the cause before rewriting its instructions. If a guest’s budget never reached the model, telling it to “pay attention to the budget” will not help. We need to fix how that information reaches the model.

ModularRSI divides the harness into five parts: context management, the agent loop, tool use, observation management, and task completion detection. It studies changes to these parts separately before putting them together. This gives us a useful way to ask what exactly an agent could improve.

Context management comes first for me. It determines what information the model has when it makes a decision, including which memories are brought into the current task. Reflective memory means looking back at what happened and saving a lesson that could help next time. For the dinner planner, that lesson might be to check everyone’s budget and dietary needs before comparing restaurants.

The memory needs to distinguish a general lesson from a fact about one person. “Check the budget before recommending a restaurant” could help with any group. “This guest has a $25 budget” applies to a particular person and occasion. Without that context, the agent could use an old fact in the wrong situation.

Dreaming is a way to review and organize memories between sessions. The system goes back over past interactions and what it has already stored, combines related observations, and saves useful lessons. When memories disagree, it needs to check the original evidence before deciding what to keep. Anthropic’s Dreams, for example, produces a reorganized set of memories that can be reviewed before later sessions use them.

What I want from dreaming is a better starting point for the next task. The agent should be able to find a useful lesson without reading every previous conversation again. We can test that by comparing how it handles new tasks with the old and revised memories. Organizing memories overnight only counts as an improvement if the results support that claim.

The agent could also improve how it finds and organizes memories. Saving one lesson may help with a future task. Changing the way it selects lessons could help it make better use of many future experiences.

The other four modules affect how the agent does its work:

  • Agent loop: The agent plans, acts, and decides what to do next. It could learn to notice when it is repeating an unsuccessful approach and try a different one.
  • Tool use: Tools the agent has and how it uses them. It could add a tool it needs or change a tool’s interface to make it easier to use correctly.
  • Observation management: The agent handles the information returned by its tools. It could change how it summarizes a result so that an important fact is not lost.
  • Task completion detection: The agent decides that the job is done. It could check for confirmation that an action succeeded before telling the user it is finished.

These parts work together. Changing a tool can change the information the agent receives, which can change its next decision. Testing one module helps us understand a change. Testing the whole agent tells us whether the parts still work well together.

Improvement becomes recursive when the agent uses its updated harness to carry out the next round of improvement. Suppose it changes how it searches past runs for examples of a failure. The next time it tries to improve itself, it uses that new search method to decide what to investigate and test. A change made in one round now shapes how it works on the next one.

This gives the agent a chance to get better at finding and testing improvements, as well as doing its original job. Each round builds on changes that were kept from earlier rounds. To find out whether that helps, we need to check whether later rounds produce changes that work better on new tasks.

I want an agent that needs less repeated correction because it has learned a better way to do the job. We should be able to point to what it learned, what changed, and how we checked that the change helped. Then we can see whether that lesson holds up when the agent has a new task to do.



Read the whole story
alvinashcraft
4 hours ago
reply
Pennsylvania, USA
Share this story
Delete

Scaling AI Agents: What We Learned From 9 Real-World Cases

1 Share

Our brand-new report explores what it takes for software development leaders to put agents to work.

One organization reached 95% AI adoption without seeing an improvement in developer velocity. Another tripled its pull request throughput while reducing its defect backlog by 54%.

What explains the difference?

To find out what makes AI agents effective beyond individual developers, I spoke with engineering leaders and practitioners from Fin, Semrush, Skiller Whale, and other organizations.

The findings are now available in our new report, How Top Teams Scale AI Agents, featuring nine real-world case studies and practitioner accounts, including insights from our own engineering teams at JetBrains.

The report looks beyond adoption rates and individual productivity gains to explore what actually changes when teams start relying on AI agents – how they organize work, maintain code quality, share knowledge, manage costs, and measure results.

Here are three lessons that stood out to me.

#1. More agents won’t fix a broken development workflow

At Fin, the initial goal was to double pull request throughput without compromising code quality, security, or performance.

Rather than simply rolling out more coding agents, Fin established a dedicated team, Team 2x, to manage the infrastructure around them, including shared skills, plugins, MCP servers, and evaluations.

The team tested agent skills against real examples, backtested its code-review skill against historical PRs, and analyzed agent sessions to identify recurring mistakes and missing context.

But increasing output created new problems. CI came under pressure, and code quality became inconsistent. Fin responded by investing in linting and standardization.

Over 16 months, Fin reported:

  • 3Ă— PR throughput
  • 54% reduction in its defect backlog
  • 50% lower cost per PR, despite higher total AI spending

The especially interesting part is how much work Fin put into making the rest of its engineering system keep up.

#2. Your codebase needs to be ready for agents

Even capable agents struggle when they can’t reliably build a project, run tests, or find the context they need.

This is particularly challenging in large, complex repositories, where developers often rely on years of accumulated knowledge about build configurations, dependencies, and project conventions.

At JetBrains, we’ve been tackling this problem in our own large monorepo. Our experience points to several practical requirements: standardized build tools, fast tests, accessible APIs, and environments that agents can set up themselves.

The lesson is straightforward: Before investing in more agents, look at what prevents the ones you already have from completing tasks reliably.

#3. Individual AI adoption doesn’t automatically improve team performance

In one organization Angie Jones discussed, AI adoption reached 95%, yet developer velocity remained unchanged.

The team shifted its focus from encouraging AI use to helping developers delegate meaningful work. Champions who built richer repository-level context were eventually opening pull requests at three to four times their previous pace.

Skiller Whale encountered a different version of the same problem. In one customer engagement, a group trained to supervise AI agents roughly doubled its PR throughput, while throughput declined across the rest of the organization.

These examples highlight something easy to overlook in AI adoption initiatives: Developers need to learn how to structure tasks, provide context, evaluate results, and share effective practices with colleagues. Otherwise, organizations risk ending up with a handful of highly productive AI power users rather than more productive engineering teams.

What does it take to scale AI agents?

Across these conversations, one pattern kept emerging: The organizations seeing meaningful results were consistently changing the systems and practices around them.

That meant making development environments agent-ready, establishing shared standards, improving review processes, investing in team learning, and measuring outcomes beyond adoption.

There’s no single playbook that works for every engineering organization, but there are concrete approaches worth learning from, including the ones that didn’t work the first time.

Talking to these teams gave me plenty to think about, and I’m sure there are many more stories worth sharing. I’d love to hear about your experiences with AI agents, the lessons you’ve learned, or the challenges you’re still figuring out, in the comments section.

Read the whole story
alvinashcraft
4 hours ago
reply
Pennsylvania, USA
Share this story
Delete

Visit Azure and AMD at Microsoft Ignite and SC26

1 Share

AI workloads place different demands on infrastructure. Azure is continuing to partner closely with silicon partners including AMD to expand infrastructure choice across general purpose compute and AI accelerators. That choice includes three purpose built virtual machines (VMs): Azure HDv2-series virtual machines for the data preparation behind AI training, AMD Instinct™ MI300X accelerators for AI Inference and agents, generally available as managed endpoints in Microsoft Foundry or as Azure ND MI300X v5 VMs, and AMD Instinct™ MI455X accelerators in Azure for next generation AI infrastructure coming to Azure.

In July, we shared how Azure is expanding its AI and HPC infrastructure with AMD. Here’s where to learn more at Microsoft Ignite and SC26.

Azure HDv2: accelerating AI data processing, HPC, and agentic workloads 

Accelerators are only as productive as the data feeding them, and CPUs play an integral role in preparing that data. Microsoft has opened preview registration for Azure HDv2-series virtual machines, making Azure the first cloud to offer access to 6th Gen AMD EPYC™ (“Venice”) processors. HDv2 is built for AI data systems, with over 500 physical CPU cores, 3.8 TB of memory, 32 TB of local NVMe storage and 400 Gb Azure Boost networking.

In benchmark testing on a preproduction AMD system with two “Venice” processors, an AI data-preparation pipeline prepared a 1.3 TB dataset for AI training in about 37 minutes1. HDv2 is projected to cut runtime by 49% compared with the next-best tested configuration (about 73 minutes), helping teams start training sooner and make better use of accelerator capacity. With over 500 cores, HDv2 can also speed compute-intensive HPC workloads such as engineering simulation and weather modeling. Customers can sign up to request access at aka.ms/HDv2Preview.

AMD Instinct™ MI300X, on Azure today: a managed endpoint or your own VM

AMD Instinct™ MI300X is generally available on Azure today. Through Microsoft Foundry Managed Compute, teams can deploy open models from the Foundry model catalog onto dedicated MI300X capacity, via a private endpoint. Microsoft manages the software needed to run each model, so teams do not need to set up or maintain it themselves. Capacity is billed by the GPU-hour, and billing stops when the instances are spun down deployment is deleted.

In a third-party evaluation by Signal65, AMD Instinct™ MI300X on Microsoft Foundry Managed Compute deployed live endpoints in 14-24 minutes with no serving stack tuning across the leading family of models including gpt-oss, gemma and GLM. MI300X delivered strong results across performance, cost per session, and agent capacity for coding, document analysis and chat workloads2.

Teams that want full control of the software stack, or that are fine-tuning and training their own models can use Azure ND MI300X v5 virtual machines, with eight AMD Instinct™ MI300X accelerators and 1.5 TB of HBM per VM. Each MI300X provides 192 GB of HBM3 memory, allowing large models to run on fewer accelerators.

AMD Instinct™ MI455X accelerators in Azure: engineered as a complete system

That same focus on purpose-built infrastructure extends to AI accelerators. Azure and AMD are working together on AI infrastructure built around AMD Instinct™ MI455X accelerators and AMD’s Helios™ reference design.

Running AI at scale requires more than AI accelerator performance. Consistent with how we approach AI infrastructure, Azure and AMD work together to design this complete system, so it fits into our Azure datacenter without retrofitting, with power, cooling and networking designed and validated together as one system. Microsoft’s system-level engineering across custom and partner silicon helps us bring advanced AI infrastructure from production to deployment faster, meaning we deliver more capacity to meet Azure and AI demand.

Join us at Microsoft Ignite and SC26 to learn more about how Azure and AMD are expanding infrastructure choice.

 

1 Projected HDv2 performance is based on benchmark results from a preproduction AMD system with two “Venice” processors, using recommended software and settings. Results may vary depending on workload, software, configuration and the final Azure environment.

2 Study commissioned by Microsoft. Signal65, Tables 3, 5–8, 8–9. GPU-only economics at sustained tested load and $7.91/GPU-hour. Throughput is aggregate. Gemma chat economics calculated from 1,065 output tok/s and 490 output tokens/request. 1K-input/490-output test. Different workloads; no quality ranking. Use cases are illustrative.

Read the whole story
alvinashcraft
4 hours ago
reply
Pennsylvania, USA
Share this story
Delete

Mentoring Developers Beyond the Code With Tim Schilling

1 Share

What’s it take to be a mentor to developers? Where in an engineer’s career can a mentor make an impact? This week we speak with Tim Schilling, Django Steering Council member and Djangonaut Space administrator, about mentoring Python developers.

Tim shares his open-source background, his involvement in the Django community, and where mentoring shaped his own career. He also walks us through why he shifted the focus of his blog, Better Simple, to begin offering one-on-one mentorship.

We dive into what makes a good mentor, the questions developers ask that go beyond Python syntax, and why humility is essential on both sides of the relationship. Tim talks about how writing and blogging helps to work through ideas and career struggles. He also shares several of the projects and events he’s excited about that are happening in the Django community.

Spotlight: Learn With Mentor AI: A Guided Journey Through Async Python

Experience a new way of learning on Real Python by working through async Python in conversation with Mentor AI, one well-placed question at a time.

Free Kit: Want a mentor at your side while you learn? Get the Learn With Mentor AI Kit with a video course, cheat sheets, and a quiz that help you ask Mentor AI better questions. You only need a free Real Python account.

Topics:

  • 00:00:00 – Introduction
  • 00:02:25 – How did you get involved in open source?
  • 00:05:22 – What is Djangonaut Space?
  • 00:09:30 – Django Commons and filling the void of JazzBand ending
  • 00:11:12 – Where did you start mentoring?
  • 00:13:26 – Mentoring in a workplace
  • 00:16:35 – Starting to mentor as a business
  • 00:18:21 – What skills do you need to be a mentor?
  • 00:23:18 – What skills should a mentee bring?
  • 00:25:53 – What gaps can mentoring help fill?
  • 00:30:55 – Hesitation in asking for help
  • 00:33:12 – Spotlight: Mentor AI
  • 00:34:57 – Finding where people need help & blogging as troubleshooting
  • 00:40:13 – How to get involved in mentoring
  • 00:44:56 – What has changed about mentoring with advent of LLMs?
  • 00:51:26 – What are you excited about in the world of Python?
  • 01:02:05 – What do you want to learn next?
  • 01:06:43 – How can people follow your work online?
  • 01:07:37 – Thanks and goodbye

Show Links:

Level up your Python skills with our expert-led courses:

Support the podcast & join our community of Pythonistas





Download audio: https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E319_02_Tim_Schilling.cd5cf31e5515.mp3
Read the whole story
alvinashcraft
4 hours ago
reply
Pennsylvania, USA
Share this story
Delete

The Product Owner Who Commits Before the Team Can Think | Rajveer Prasad

1 Share

Rajveer Prasad: The Product Owner Who Commits Before the Team Can Think

In this episode, we refer to product discovery, user acceptance testing, and REST APIs.

The Great Product Owner: Market Knowledge Without Intrusion

Read the full Show Notes and search through the world's largest audio library on Agile and Scrum directly on the Scrum Master Toolbox Podcast website: http://bit.ly/SMTP_ShowNotes.

 

"They have the knowledge, they are not intrusive with that knowledge." - Rajveer Prasad

 

Rajveer has seen strong Product Owners combine market understanding, discovery discipline, and technical awareness without taking control away from the team. Great Product Owners understand the product market, run product discovery and hypothesis cycles, and bring capabilities to the team only after doing the groundwork on value and importance. They also understand enough about the technology to follow the conversation when developers talk about APIs or architecture, but they do not use that knowledge to dictate the solution. Instead, they stay with the "what" and let the team work through the "how." Rajveer also values Product Owners who participate in retrospectives and sizing sessions, challenge the team to think better, and let the team learn through its own cycles.

 

Self-reflection Question: Where could your Product Owner's technical knowledge help the team think better without taking ownership away from them?

The Bad Product Owner: Client Promises That Cut Testing First

Read the full Show Notes and search through the world's largest audio library on Agile and Scrum directly on the Scrum Master Toolbox Podcast website: http://bit.ly/SMTP_ShowNotes.

 

"Don't give a date yet. We are not sure. Let's take this back to the team." - Rajveer Prasad

 

The anti-pattern Rajveer highlights is the client-facing Product Owner who commits too early. In his example, the Product Owner had technical acumen and good intentions, but when the client pushed for a better timeline, he shortened UAT, reduced integration time, ignored technical debt, and left the team to absorb the consequences. From the outside, this Product Owner looked successful because he got commitments and the organization rewarded that behavior. Under the hood, the team struggled. Rajveer's advice is to first understand the Product Owner's perspective and align around the same objective: helping the client win. Then get closer to the conversations where commitments are made. Rajveer became a sounding board, joined key cadences, and helped the Product Owner replace instant dates with a better habit: take the request back to the team, include the tech lead, and return with a commitment the team could actually hold.

 

Self-reflection Question: What commitment habit do you need to help your Product Owner change before it damages the team?

 

[The Scrum Master Toolbox Podcast Recommends]

🔥In the ruthless world of fintech, success isn't just about innovation—it's about coaching!🔥

Angela thought she was just there to coach a team. But now, she's caught in the middle of a corporate espionage drama that could make or break the future of digital banking. Can she help the team regain their mojo and outwit their rivals, or will the competition crush their ambitions? As alliances shift and the pressure builds, one thing becomes clear: this isn't just about the product—it's about the people.

 

🚨 Will Angela's coaching be enough? Find out in Shift: From Product to People—the gripping story of high-stakes innovation and corporate intrigue.

 

Buy Now on Amazon

 

[The Scrum Master Toolbox Podcast Recommends]

 

About Rajveer Prasad

 

Our guest today is Rajveer Prasad, founder of OAKKTREEUNII. He's spent years helping aspiring and working project managers and Scrum Masters break into IT delivery — and grow once they're there — through real projects, real interview prep, and real accountability. He's mentored hundreds through career changes most people call impossible. Welcome, Rajveer

 

You can link with Rajveer Prasad on LinkedIn.





Download audio: https://traffic.libsyn.com/secure/scrummastertoolbox/20261113_Rajveer_Prasad_F.mp3?dest-id=246429
Read the whole story
alvinashcraft
4 hours ago
reply
Pennsylvania, USA
Share this story
Delete

AI Is Changing Terraform Work—and the Role of Platform Engineers and SREs

1 Share
GitHub Copilot and Claude Code are changing Terraform workflows on Azure. The biggest opportunity for Platform Engineers and SREs is making proven infrastructure patterns easier to reuse, validate, and operate.
Read the whole story
alvinashcraft
4 hours ago
reply
Pennsylvania, USA
Share this story
Delete
Next Page of Stories