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

Scale One AI Agent Across Sites (Part 2)

1 Share
From: Microsoft Developer
Duration: 3:53
Views: 322

Manufacturers don't have to choose between running AI agents in the cloud or on site. A hybrid model uses one agent framework, built on common data contracts and guardrails, so the same agent runs in the cloud, at the edge, or fully disconnected, with every instance managed through a single interface.
Christoph Berlin, Vice President of Engineering for Cloud and AI at Microsoft, picks up from Part 1's root cause example to tackle scale: how to run an agent across many sites without building it over and over. He closes with two lessons for agentic AI in manufacturing.

Resources
- Microsoft for Manufacturing https://www.microsoft.com/AI/manufacturing
- More Azure resources! https://azure.com/AzureEssentials

Connect
- Christoph Berlin https://www.linkedin.com/in/christophberlin

Chapters
0:00 Why manufacturers can't run every AI agent in the cloud
1:10 Should AI agents run in the cloud or at the edge?
1:49 How a blueprint makes AI agents repeatable
2:25 How one AI agent runs across hundreds of sites
3:04 Two lessons for scaling agentic AI in manufacturing

Read the whole story
alvinashcraft
12 seconds ago
reply
Pennsylvania, USA
Share this story
Delete

Continuous Delivery Office Hours Ep.12: The platform adoption shock

1 Share

In the previous episode, we covered organizational culture, including why posters aren’t the way to change culture, crucial theoretical foundations from Douglas McGregor and Ron Westrum, the impact of arbitrary deadlines, and why feedback keeps organizations healthy.

This episode examines Platform Engineering and the persistent debate between mandatory and optional adoption strategies. The episode was inspired by data from our Future of Platform Engineering report.

Watch the episode

You can watch the episode below, or read on to find some of the key discussion points.

Watch Continuous Delivery Office Hours Ep.12

The rise of mandatory platforms

Mandatory platforms have been an issue in the past, with platform producers and consumers diverging dramatically on whether a platform is successful. Part of the perception gap comes down to platform teams losing the adoption signal: if everyone must use the platform, you’ve lost a way to discover gaps and flaws in what you provide.

Since then, platforms have become broader. Platforms now have almost 6x as many features as they did when the perception gap was present. As platforms take on tasks that developers truly appreciate, like security and compliance, the gap between producers and consumers has closed.

You might think of this like the difference between being forced to use a bicycle to travel both before and after the invention of the bicycle saddle. Riders are far happier to be forced to cycle when they have a cushioned seat.

Alongside the dissipation of perceptual differences, it turns out mandatory platforms outperform optional platforms in terms of goal attainment. However, there are many factors contributing to platform success, like monitoring developer satisfaction and regularly eliciting feedback to help improve the platform.

The other factors of platform success have more impact, and you should still consider optional adoption, but combined with mandatory policies. That means development teams have to meet the same standards they would meet if they adopted the platform, which makes platform adoption more appealing and less likely to cause conflict or friction.

Not just more features, but the right ones

The most common number of features baked into a platform was four, but that has grown to 24. Platforms are getting broader, and these wider platforms are more successful than the tiny ones of the past. Despite this link between platform breadth and goal attainment, it’s important to bear in mind that the volume of features alone is not a sufficient strategy, and that choosing to solve the right problems is the path to success.

Maintaining regular contact with developers, lightly assessing their satisfaction with the platform, and dedicating time to conversations that shape your platform’s direction are all part of the high-performance platform playbook. The usefulness comes from solving the right problems, and you need to focus on developer needs to make the right choices.

Platform teams are rediscovering many of the capabilities of the State of DevOps research and its associated model, like Lean Product Management, which prove useful in building platforms as internal products.

The invisible platform dilemma

Unsurprisingly, platforms that meet more goals have higher budget safety. They are showing a return on investment, so they can be confident in maintaining their funding over the long run. Platforms that fail to meet their goals are more likely to have their budgets redirected to other initiatives.

Platform teams need to show the value back to the organization in terms the organization understands and for measures it cares about. With AI initiatives soaking up money, some organizations will start reallocating funds and focus, leaving platforms underfunded or dropped.

Some of the best platforms will be invisible in daily use because developers don’t have to keep interacting with them. These boring, invisible platforms are the most valuable, but the least visible. Providing metrics and proof of value for these platforms will keep them funded.

Happy deployments!

Continuous Delivery Office Hours is a series of conversations about software delivery, with Tony Kelly, Bob Walker, and Steve Fenton.

You can find more episodes on YouTube, Apple Podcasts, and Pocket Casts.

Read the whole story
alvinashcraft
33 seconds ago
reply
Pennsylvania, USA
Share this story
Delete

ILSpy 11.2

1 Share

In this point release, we kept focussing on improving decompilation accuracy and performance (raw performance as well as memory usage) across the board. This is why again a lot of work went in the category Testing / Infrastructure.

One major performance win to point out is that we now ship ilspycmd with native AOT packages for linux-x64 and win-x64. Measured on win-x64 against the same 3 MB input (ICSharpCode.Decompiler.dll), medians of five runs:

Call shape managed tool AOT package
--version 219 ms 45 ms
-l c (list classes) 384 ms 93 ms
--type one large class 1,446 ms 199 ms
--type one small class 1,797 ms 315 ms
-p whole project (881 files) 6.3 s 2.9 s

For an agent loop that spawns ilspycmd per question that is a 4x to 7x reduction per call!

New Features

  • PR #4248: Add a search box to the Options tab
  • PR #4241: Add opt-in RID-specific and Native AOT packages for ilspycmd
  • PR #4197: Add cross-platform PDB dumping to ilspycmd

Enhancements

  • PR #4268: Native AOT fidelity follow-up: resolver lookup, culture independence, gate coverage
  • PR #4259: Native AOT fidelity for the ICSharpCode.Decompiler package
  • PR #4256: Make ilspycmd -il honor the --type and --member selection
  • PR #4247: Report ilspycmd usage mistakes instead of crashing
  • PR #4236: Transform value.<Clone>$() into value with {} even if there are no initializers
  • PR #4222: Improved decompilation support for VB.NET closures
  • PR #4201: Rewrite VB WithEvents WinForms initialization
  • PR #4160: Decide extension method syntax in CallBuilder
  • PR #4188: Detect generated closure cache types
  • PR #4185: Handle required members on record copy constructors
  • PR #4179: Include member context in decompilation error comments
  • PR #4171: Recognize metadata property backing fields

Testing / Infrastructure

  • PR #4285: Fix decompdiff platform reference staging
  • PR #4283: Improve Debug Steps and decompdiff workflows
  • PR #4276: nugetfuzz: add parallelization + report caught exceptions
  • PR #4274: Migrate ILSpy.sln to the SLNX solution format
  • PR #4269: Cut the ILSpy.Tests wall clock: cheap fixtures, dead waits, duplicate tests, and process sharding
  • PR #4261: Keep tests off the network unless a toolset download is actually needed
  • PR #4255: Add top 500 NuGet package list
  • PR #4254: Reenable LiftedOperators tests
  • PR #4230: Add allocation trace viewer
  • PR #4240: Use local .NET Framework assemblies in nugetfuzz
  • PR #4235: Fallback from unsupported netcoreapp assets in nugetfuzz
  • PR #4205: Clean up package restore (Diasymreader)
  • PR #4187: Let decompdiff reports use full width
  • PR #4184: Separate obfuscated names in nugetfuzz
  • PR #4183: Stream nugetfuzz HTML report generation
  • PR #4177: Index NuGet assemblies by contained name in decompdiff

Contributions

  • PR #4253: Fix #3702: Don't rewrite GetValueOrDefault() to == true in ?. chains — @dualfroz, thank you!
  • PR #4251: Fix #4017: Look through LdObjIfRef on the operand of await — @dualfroz, thank you!
  • PR #4231: Fix #4135: Keep bool-to-int conditional in its local — @dualfroz, thank you!
  • PR #4216: Add option to highlight usages of the symbol at the caret — @pieroviano, thank you!
  • PR #4228: Fix #4153: keep foreach when a named argument inlines the loop variable — @LiquidSnake0, thank you!
  • PR #4232: Fix #4137: Keep nint in conditionals with mixed native int branches — @dualfroz, thank you!

Performance

  • PR #4266: Start the startup warm-ups before Avalonia's setup
  • PR #3963: Substring optimizations: eliminate hot-path allocations (audit top 8)
  • PR #4229: Avoid cloning settings for every method
  • PR #4164: Coalesce the global command re-query
  • PR #4157: Coalesce the assembly tree's selection and removal fan-out

Bug Fixes

  • PR #4286: Apply type transformations to fake member signatures
  • PR #4288: Fix exceptions on obfuscated code
  • PR #4250: Fix #4245: Ignore find-panel clicks when resolving reference clicks
  • PR #4249: Fix #4246: Scope prefixes no longer leak into search keywords
  • PR #4225: Fix #2829: Emit continue for leave through try-finally
  • PR #4223: Fix ResXResourceWriter empty output and type names
  • PR #4220: Fix #3180: avoid invalid null-conditional extension calls
  • PR #4206: Fix startup binding errors and background load sweep failure
  • PR #4204: Keep package entry selections decompilable
  • PR #4202: Fix mixed array initializers
  • PR #4200: Reserve captured local names in declaring scope
  • PR #4194: Fix UTF-8 literal span initializers
  • PR #4181: Ignore missing runtime files in XML doc ref-pack lookup
  • PR #4163: Ignore detached tree rows when showing selection
  • PR #4178: Handle expression-tree null conversions
  • PR #4182: Fix #4180: Parenthesize negated negative constants
  • PR #4165: Do not apply cancelled decompilation output

For a full list of changes click here.

This release is based on .NET 10.0. Please make sure that you have it installed on your machine beforehand.

Note for Mac users: see https://github.com/icsharpcode/ILSpy/wiki/Build-Artifacts#running-the-macos-artifact because the ILSpy.app is neither signed nor notarized.

Want to learn how we do PR reviews these days? Check out Stampeded.

Read the whole story
alvinashcraft
58 seconds ago
reply
Pennsylvania, USA
Share this story
Delete

Release preview v0.102.2993

1 Share

Release preview v0.102.2993

This release preview contains two reliability fixes since v0.102.2933.0. It is intended for validation before a stable release.

Installer Hashes

Description Filename SHA256
Per user - x64 PowerToysUserSetup-0.102.2993.0-x64.exe 777F6C6710B24BDEDEFF6F22841C0DDFB29AF81AF69D39C621D0FF66F1DEA207
Per user - ARM64 PowerToysUserSetup-0.102.2993.0-arm64.exe 4D3A4DCEFDAAC9222F1D4B604A7B42063BEBE4B45BAABB155035D2DF2FC0C2C5
Machine wide - x64 PowerToysSetup-0.102.2993.0-x64.exe 9490E5CEFB87F49B56C310310313E80D68A606485C5943C49E70BF26ABE92DA1
Machine wide - ARM64 PowerToysSetup-0.102.2993.0-arm64.exe C747C190F4118A0108FABE981C9F1E61AC6540970349C3DF99E832608735BE42

Highlights

  • File Locksmith: Fixed crashes during or after stalled file-handle scans.
  • Quick Accent: Fixed crashes when using arrow-key activation after changing languages or switching character lists.

File Locksmith

  • Fixed crashes when File Locksmith encounters a stalled file-handle scan, including crashes after the scan completes, in #51507.

Quick Accent

  • Fixed Quick Accent crashes when using arrow-key activation after changing languages or switching from a shorter character list, in #51583 by @LegendaryBlair.
Read the whole story
alvinashcraft
1 minute ago
reply
Pennsylvania, USA
Share this story
Delete

v1.0.27

1 Share

Internal dependency updates only (Copilot CLI snapshot update to 1.0.104-3).

Full Changelog: v1.0.26...v1.0.27

Warning

Firewall blocked 1 domain

The following domain was blocked by the firewall during workflow execution:

  • github.com

To allow these domains, add them to the network.allowed list in your workflow frontmatter:

network:
  allowed:
    - defaults
    - "github.com"

See Network Configuration for more information.

Generated by Release Notes Generator · copilot · auto · 18 AIC · ⌖ 0.558 AIC · ⊞ 4.3K

Read the whole story
alvinashcraft
1 minute ago
reply
Pennsylvania, USA
Share this story
Delete

1.0.104

1 Share

2026-10-27

  • Managed model "fusion" now starts sessions on Auto and applies fusionTier settings
  • Interactive and SDK Autopilot sessions keep waiting for attached background tasks instead of stopping after COPILOT_TASK_WAIT_TIMEOUT_SECONDS; -p --autopilot still honors it
  • When a saved Auto preference is no longer available, Auto falls back to its default preference instead of failing each turn
  • Assisted Permissions are available without enabling experimental mode.
Read the whole story
alvinashcraft
1 minute ago
reply
Pennsylvania, USA
Share this story
Delete
Next Page of Stories