Skip to content
TrackPodcasts
newsSep 3, 20261:11:37

How AI Changed Software Development Forever — Building the Agentic Future with Andre Baltieri [MVP]

About this episode

Artificial intelligence is changing software development at a speed we have rarely seen before.Developers have already moved from writing every line of code themselves to working with AI assistants that can generate code, explain unfamiliar systems, create tests, debug applications, and automate repetitive work.But according to Microsoft MVP Andre Baltieri, that is only the beginning.In this episode of M365.FM, Mirko Peters sits down with Andre for a deep dive into the transition from traditional software development to AI-assisted development, coding agents, agentic architectures, Microsoft Agent Framework, .NET, RAG, context engineering, security, and the economics of generative AI.

FROM .NET IN 2003 TO THE AI ERA
Andre takes us back to the early days of .NET and C#, when learning a new Microsoft technology often meant purchasing official training and traveling to another city.Since then, software development has moved through desktop, web, mobile, cloud, containers, microservices, and serverless computing.Andre argues that the transition to AI feels fundamentally different. Instead of simply introducing another platform or framework, AI introduces a new way for humans to interact with software.

AI ASSISTANTS VS. AI CODING AGENTS
There is an important difference between having an AI assistant inside your IDE and delegating work to an agent.An assistant can explain code, suggest refactoring, answer questions, and help developers understand their applications.An agent can receive a goal, create a plan, divide the work into smaller tasks, use tools, coordinate additional agents, and implement significant parts of the solution.Andre explains how this is already changing his own development workflow, with AI now generating much of the code he previously would have written manually.

SPEC-DRIVEN SOFTWARE DEVELOPMENT
As agents become more capable, specifications become increasingly important.Instead of describing every implementation detail, developers can define requirements, architecture, constraints, and expected behavior and allow agents to determine how parts of the implementation should be completed.This shifts developer attention from simply producing code toward defining what should be built and why.

MICROSOFT AGENT FRAMEWORK
The conversation moves into Microsoft Agent Framework and its role in bringing AI capabilities into existing applications.Andre explains how the framework brings together capabilities associated with Semantic Kernel and AutoGen and provides developers with tools for connecting models, orchestrating workflows, using MCP, implementing RAG, handling data ingestion, and exposing application functionality to AI.For .NET developers in particular, this can significantly reduce the amount of integration code required.

WHY .NET STILL MATTERS IN THE AI ERA
Python remains one of the dominant languages in AI development, but Andre argues strongly that .NET and C# are extremely well positioned for enterprise AI applications..NET continues to evolve rapidly, while Microsoft's AI tooling increasingly gives C# developers native access to modern AI capabilities.Organizations with years of business logic already implemented in .NET may therefore have a major advantage: they do not necessarily need to rebuild everything before introducing AI.Existing functionality can instead be selectively exposed to agents and AI-powered applications.

FROM DETERMINISTIC SOFTWARE TO AGENTIC SYSTEMS
Traditional applications are largely deterministic:If X happens, execute Y.Agentic systems introduce another model:Here is the goal. Determine which actions are required to accomplish it.That represents a significant architectural shift.Instead of explicitly defining every possible path, developers increasingly define goals, tools, context, permissions, constraints, and boundaries within which AI can operate.

DESIGN PATTERNS ARE NOT DEAD
AI-generated code does not eliminate decades of software engineering knowledge.Clean code, maintainability, testing, architecture, and design patterns remain important because AI frequently learns how to implement new functionality by examining the existing codebase.Messy code can therefore lead to more messy code.Developers still need to understand architecture and engineering principles even when an AI agent performs much of the implementation.

THE STOCHASTIC SOFTWARE PROBLEM
Traditional developers expect identical inputs to produce identical outputs.Generative AI is probabilistic.The same request can produce different implementations, answers, or behavior across multiple executions.Andre discusses why this requires developers to rethink testing and validation and why strong guardrails become increasingly important when AI functionality is exposed to large numbers of users.

CONTEXT ENGINEERING IS MORE IMPORTANT THAN PROMPTING
Choosing the latest model is not necessarily the most important decision.Andre argues that context is everything.Developers need to understand both the business problem and the technical environment well enough to provide AI with the right information.Too little context produces weak results.Too much context can overwhelm the model.The challenge is finding the information that actually matters.

RAG, DATA AND THE CONTEXT WINDOW
Retrieval-Augmented Generation becomes especially important when organizations want AI systems to work with their own knowledge.But building a RAG system is not simply about putting documents into a vector database.Data needs to be cleaned, structured, chunked, retrieved, and inserted into the model's context intelligently.Andre shares an example from his own education platform, where video lessons were transcribed and indexed so users could search for concepts and jump directly to the relevant point in a video.

MEMORY AND MANAGING AI CONTEXT
Long-running AI conversations create another challenge: memory.As context windows fill, conversations need to be summarized or compacted.Andre explains why developers should actively manage this process instead of assuming that an AI system will always preserve the most important information.Sometimes the best solution is surprisingly simple: finish a task, close the conversation, and start again with a clean context.Specifications and Markdown files can also provide persistent project context for coding agents.

SECURITY, PERMISSIONS AND LEAST PRIVILEGE
Giving an AI agent access to tools and company data creates significant security implications.Andre recommends treating agents according to principles similar to human identities: close everything by default and expose only what the agent genuinely requires.Instead of giving an AI system unrestricted database access, developers should expose carefully controlled functions that return only the information required for a particular task.This becomes particularly important when agents can read or modify enterprise data.

PROMPT INJECTION AND AI GUARDRAILS
Prompt injection creates a new attack surface for AI-powered applications.Users can intentionally manipulate prompts, attempt to retrieve information outside the intended context, consume company resources, or persuade an AI system to perform actions its designers never anticipated.The discussion explores the importance of system instructions, application-level restrictions, controlled functions, identity, permissions, and platforms such as Azure AI Foundry for establishing additional security boundaries.

AI FINOPS — DON'T USE GENERATIVE AI FOR EVERYTHING
One of the most practical lessons from the conversation is that just because AI can perform a task does not mean AI should perform that task.Andre distinguishes between generative and deterministic workloads.If something must happen the same way every time, traditional programming may be faster, cheaper, and more reliable.He gives the example of his video workflow: Python scripts can extract audio and perform deterministic processing locally, while generative AI is reserved for tasks such as translation where generation actually adds value.The result is a hybrid architecture that can dramatically reduce unnecessary token consumption.

BUILDING THE AGENTIC FUTURE
Software development is moving beyond developers manually defining every individual step.Increasingly, developers will define goals, specifications, context, tools, permissions, architecture, and guardrails while AI systems determine how portions of the work should be accomplished.That does not eliminate the developer.It changes where the developer creates value.Understanding the business, designing maintainable systems, controlling context, securing tools and data, validating AI-generated work, and deciding when not to use AI may become some of the most important software engineering skills of the agentic era.RAPID FIRESingle agent or multi-agent?For complex workloads, Andre sees significant potential in multi-agent architectures and sub-agents.Prompt engineering or context engineering?Context engineering.And what comes next?More capable models, more powerful agents, better code generation, stronger architectures, and continued evolution of the tools developers use to build software.We are still at the beginning of the generative AI era.

ABOUT THE GUEST
Andre Baltieri is a Microsoft MVP and software development specialist with more than two decades of experience in the industry.His work focuses on .NET, C#, artificial intelligence, Microsoft Agent Framework, software architecture, and modern AI-assisted development.In this conversation, he brings together more than twenty years of software engineering experience with a practical view of how AI agents are changing the developer profession.



Become a supporter of this podcast: https://www.spreaker.com/podcast/m365-fm-a-microsoft-mvp-podcast-by-mirko-peters--6704921/support.

Interactive timestamps

Jump to segment

Get every episode summarized

Each time M365.FM - Modern work, security, and productivity with Microsoft 365 publishes, we email you a written briefing from the transcript — the topics, who appeared, and any specific claims, with the ad reads skipped.

Email me new episodes

Free for 3 shows. No card needed.

Hosts & guests

Transcript ready

605 searchable segments. Every word is indexed and playable.

How AI Changed Software Development Forever — Building the Agentic Future with Andre Baltieri [MVP]

M365.FM - Modern work, security, and productivity with Microsoft 365

0:00
1:11:37

Full transcript

M365.FM - Modern work, security, and productivity with Microsoft 365How AI Changed Software Development Forever — Building the Agentic Future with Andre Baltieri [MVP]. Machine-transcribed; use the interactive transcript above to jump the player to any line.

0:00Ready for 10 days of Microsoft 365, Copilot, AI, Azure, and the people shaping the future of work? This January, M365Con is back, and we're going bigger. Join us for live sessions, real-world demos, and practical knowledge from MVPs and industry experts worldwide. No generic slides, no endless buzzwords. We're tackling the real challenges, Copilot Studio, AI agents, fabric, security, governance, and automation. Whether you're an IT pro, developer, or business leader, there are sessions designed for you. With 10 full days, you can explore multiple technologies and connect with a global community. Watch live and take practical insights back to your organization. January 2027, 10 days, one Microsoft community. Registration is open now. Go to m365con.net and secure your place today. That's m365con.net.

1:00Join now at m365con.net and we'll see you live in January. Welcome to the m365 podcast. Artifactil intelligence is changing software development and speed. We have rarely seen before. 40K is the world-class world applications by defining exactly what software should do. Inputs, business rules, ARP, database, interfaces, outputs, then generator or I live. And suddenly the developers could generate code, explain antimilose systems, create tests, debug applications, and the AWS development environments using natural language. But that may only be the beginning. We are now moving forwards and AI agents software that can reason about goal using tools and AI's main-untilie context, interactive with other agents and part of the execute complex workflows with much less direct human instructions.

2:02So what does this mean for the world-class? Do say I simply make us faster or do is fundamentally change what software, deployment, actually is and where do we technology such at.net and Microsoft agent framework, AI models tools and so on. And agent architect just fit into the new world. Today I'm joining by Andre Balsari, Microsoft MVP software development specialist with more than two decades of experience in development. Andri has also worked with teams across Brazil, the United States, India, England, and the Netherlands. And he also received the Microsoft MVP of our from present 40 times for his contribution to the technical community, his areas of expertise, including artifact intelligence, the Microsoft agent work.net and software development. And we welcome to the Microsoft C665 and podcast. Thank you, Miracle. It's pleasure to be here today.

3:03I thank you. It's awesome. So 40 times. Yeah. 40 times. That's a long time. Yeah. Before we talk about AI, take us back to John three. What did the software development look like when you started? Yeah, well, that's nice. It's a nice question. Because I started with dot ads in 2003 since the beginning of dot net, basically. And things were completely different. So at that time, we did not have so many information about software development. So the internet itself was being created. It was very, very hard to learn something new at that time. I remember that I had to purchase some official Microsoft training, travel to another city

4:04at the weekends to do some training because it was crazy. You basically did not have access to any kind of information. And then not sure if you're aware of it, but Microsoft had a very popular training center called MSDN, Microsoft developer network. Okay. Previous to Microsoft to learn, it was the big place to go when you want to learn something from Microsoft. That was awesome. So it all started there. So since then, I was working with C Sharp dot that and it's very cool. It's my passion. Yeah. You have gone from desktop applications to the web, mobile, cloud, containers, Microsoft,

5:06serverless. And now AI do is that current AI transition feel different from those previous shifts? Yeah. It's it's sound like a new era. No, because I when I started, I was moving from desktop to web. This is the first era, they say the from from software development. Everything was new. We were talking about Linux servers along. We do not waste. Then we have another big movement to mobile development. So this was the new thing to create apps for iPhone for Android. We have the cloud movement when we move it to to cloud. But nothing so meaningful like move to AI, this this era that we are passing today, because

6:13this is for me is the biggest change in software since the beginning, at least for a firm career. It's like it's like a new language, a new way to interact with with software. So we basically move it from assembly or a very low language to a brand new language. Yeah. That's that's an amazing shift. Where we are today are AI coding tools, most sophisticated, autocomplete or are we already beyond that? Yeah, we're I think we're in the middle because I can see that we we have much more to come yet to AI. But AI is able to create a lot of things for us today from the simple components to

7:23high complex systems. So they're evolving so fast because since we have a model that can create other models, so AI can evolve very fast. But this doesn't mean that we don't need programmers anymore. I think there's a bit of misconception out there because AI can generate code for us, but we need to ask the code generation in a certain form that it needs to understand. We need to understand the business concept, business rules before talked to AI. And we still need to have this technical knowledge, this technical background to ask the good questions to AI. So we still need the programmers in the middle or orchestrating agents AI.

8:23But our work today is very it's it's changed because I don't write, for example, much more code as I read in the past, for example, this this few last months, for example, I wrote just a few lines of code by hand. So my code is written by AI is written by agents and I can easily create Python scripts for to automate my boring tests. So it's crazy. It's crazy how fast is changing and how it is generating good code day by day. And can you what what I found really interesting, what is the difference? Between AI coding assistant and AI coding agents.

9:24What I think what that that's nice. There are many approach to to reach the main goal for your software development. You can simply put the AI assistance in your ID, for example, I use resource studio from Microsoft. So I can simply open a tab, sign me, the studio and say, hey, what's going on here? What are suggestions for me to reflect or this method to implement this feature? So they I can assist me. They can act as a senior developer, sign me. The good points is that I can say to AI, hey, just focus on Microsoft documentation. Don't look anywhere around. Okay, just bring me answers from this source of the route, which is Microsoft learned by

10:27the way, because they have the MCP, which was called the model context protocol, which is a protocol that allows us to scrape information inside Microsoft to learn website. So this is a way that AI can assist us. So we call this assistant AI or AI assisted code development. I think is the most common features nowadays. Most people that I see programming use this kind of assistant. So we don't need to go to websites anymore, search for an answer. We can ask to TAI inside our ID. And we can debate about this. So explain me why are you telling these? Explain me or show me three more ways to do this.

11:27So this is cool. This is the assistant AI. The agent development is a little bit different because you can ask AI to do the complete test for you. By the way, you can ask AI to plan this before you even start. So you can simply open the same way, open the chat window and say, hey, Copilot, by the way, I use Copilot from Microsoft and it can connect to multiple AI agents. So Cloud, Codex, doesn't matter. I like it because it can talk to multiple agents. So say, hey, Copilot, I need to do this task. My problem is this. What is your plan to do this? And it can write a plan, show me this plan, show me how he intends to implement this.

12:30And then a side implementation. This is a different approach because it can trigger multiple agents at the background. It split the task in subtasks, microtasks, trigger multiple agents. This agents can run in different AI's like Codex, Cloud, Term 9, and get the job known for me. So this is by fire, one of the craziest way. And there one more way with this respect driven development, which we can write specifications and place this is specifications inside some specific folders inside our software and say, hey, based on these specifications, do the system for me. And sorry. And he starts to code. It's a little bit crazy, but it's very fun.

13:33He's doing a very good job. If you have a good specification, you have a good architecture, very well defined. It can do a lot of work for you. But can I only prompt it or is there capabilities that do useful software development agent actually need? Right. What capabilities do useful software development agent actually need? Now, it's just prompting. You can just prompt. It's a natural language. So even if you don't have the specification yourself, or even you're in an agent mode and it's stuck in a test for yourself, you have different modes to interact with. Like a copilot, for example, you have the agent mode and the ask mode.

14:34So if he's doing some task, you can interrupt him and use the ask mode to say, hey, what is going on here? What are you implementing? Or why are you implementing this way? So we have a lot of flexibility during the implementation. So this is very, very like a team working for you inside your ID. So that's fun. This is awesome. Especially I only prompt it. So that's cool that they don't need, I don't know, some context or ask for some, I don't know. Yeah. Yeah. That sounds really simple. Microsoft has this agent framework. Can you a little bit say what Microsoft agent framework is?

15:36Nice. That's nice. We talked to here about how we can code using the agents, how we can delegate to agents, our work. This is just one part of our job. Other part is to integrate AI into our software. So I need to provide capabilities to my users, for example, to interact with AI or to create something we call RAC, which is retrieval-omitted generators to improve the quality of the response for our models. So there's a lot of stuff going on behind the AI. And it's very difficult for us to manage all the things because we need to, we talked about RAC, MCP servers. There's a lot of stuff. So Microsoft agent framework is a tool, is a set of tools that is built from Microsoft

16:41and it's provided us to do this interaction with AI's in our software. So it's very easy, for example, to, it's like plug-and-play. You can bring Microsoft agent AI to your software and connect with multiple AI's, which is very common. And it's a little bit tricky to do because you talk different with codecs and then you talk to Cloud for, for example. So Microsoft agent framework, it creates a service API, it creates an interface for that. So you can talk directly to, to Microsoft agent framework and he talked to codecs, he talked to Cloud, he provided MCP servers, he provided access to RACs, he provided data ingestion, which is another process to pick all the information that you have on your company.

17:44But it's either your database, which is, it seems to be, to be simple, but it is, it's very complicated. And the best part is that it's built by Microsoft. So if you work with .NET, for example, you have all these things ready for you for free. This is insane and you can speed up your development, your AI integration in your software within a click, for example, it's very fun. And so this is the other approach that we have to integrate AI into our software, which is very cool. I own a programming school and we did, we refactor our system that is this year and we are integrating everything with AI. So people can, during the lectures, people can ask something, say, hey, what is going

18:50on here? I did not understand this concept. So all this integration is made by Microsoft Asian framework. So that's very cool. And I'm not that developed about if I already, what do the Asia framework give me that I don't already have by simply calling in their I model through the app. It's more like a group of tools that you have. If you were to call this by hand, you have a lot of work to do because the way that we talk with models tend to be different from company to company. We can use Azure AI Foundry, which is awesome. You can concentrate on your models.

19:52Your little bits ahead because Azure AI Foundry provides an API for you to call these models and it all passes through the same service. But as soon as you try to connect, for example, with Google to consume these models, you will have to call different API. You have to send different information. So you will need to deal with all this code inside your code base. So it's a lot of code just to do simple tasks. So math, math, as we call math, it helps us with all this code. And I think how nature is.net actually for, yeah, for the new generation of any application is a dwell positive is it's not so matured. How good is.net as programming language?

20:55That's a good question. As most people think that because that was created in back in 2000, it is an old framework. That is the framework. C Sharp is the language, the programming language, and they were created together. And most people think that it's a little bit older, but it's not. C Sharp is evolving. We have major release from that every year in November. So it's crazy because every year they bring us new features. They bring us even more speed and security side.net, which is awesome. The team does a very, very good job. On the AI side, I have to confess that Python is the pioneer for AI.

22:00And it is the first choice because most of tools that we use today are based on Python. They are creating a Python, which is a very good language, especially for AI, because it's very simple, it's very straightforward. But we have evolved so much with C Sharp in a way that C Sharp is basically as easy to learn as a spy on the other day. You have a lot of features. And with Microsoft agent framework, for example, by the way, Microsoft agent framework is a unit of two previous products that Microsoft built with, which was cement carno and the auto gen. cement carno was built to deal with models the way I told you. And auto gen was a project that you can orchestrate workflow, create pipelines using AI.

23:03So Microsoft agent framework is the combination of these two features. So I can say that we have a complete workflow to work with AI side at night, a complete and a modern workflow to work with AI side at night. We still have more to come. They are planning more releases over Microsoft agent framework. And I don't expect it to have the same popularity of Langchain, for example, which is the same as X2, but in Python. I don't miss any feature nowadays. I can code and sign up and I can use my code base. And by the way, that is a very broad ecosystem and a very complex system. We can create mobile apps, game development, software development, AI, everything inside at night. So it's very complex and it's very modern also.

24:07Awesome. But how, I say, if an organization has years of business logic implemented in about that applications, how easily can that functionality become available to these AI agents? Good question. For example, here we have our entire software is built inside at night. So we have a lot of code in C Sharp here. And with math, for example, with just one line of code, we can export that method and create a metadata for that to AI communicate with that method. So I can export a function of my system to AI, I must say that, with just one line of code. So if you have dot that in, you start using math today, you can create an MCP server with a flick of the wrist.

25:09It's very easy because it's C Sharp, it's native code. So it's very easy to to integrate. Right. So that means companies may not to rebuild their existing application to become an AI. Any application or any readiness? No, they can start today just bringing Microsoft agent framework, for example. We have other packages like MCP for that. You can just add to your project and start exporting MCP. You can start today. It doesn't need to plan anything more complex, for example. You can start simple. And then obviously to create an AI first on your company is something that involves

26:10confidence, a lot of other things. But if you want to just integrate with models to push AI to your application, it's very simple. It's straightforward today. And is there any architecture changes? So how do you do building an AI application differ from building, I say, traditional domestic application? We tend to separate some sort of things because one thing that concerns me a lot using the AI is the security, right? Because we don't want you to expose anything outside our organization or for our users. And since they use natural language, it's hard to predict which kind of answer they will ask for our system. So we have to double check to create a lot of tasks.

27:16But depending on how your system is built, if you create small functions, if you pass these functions, if you ship these functions, granally, it's very easy to integrate with AI this way I told you, exporting these functions or wrapping these functions inside of. So usually we just create some separated class, just like I would practice to export this, to not export the core function. And in some cases, we create another project just for AI to separate the things, say, just everything related to AI you put inside this project. But the architecture itself, you don't need to change anything in your architecture, you can export this.

28:16But if you're thinking to expand this to evolve this in a future, probably you need to rethink about your architecture, how you'll place AI inside your current software. And then you're called in general. I think when I think from the architecture, I say tradition of software follows logic like this X happened and execute J, which agent or with an agent we might be instead say, get the goal that I'm in what actions are necessary. How profound is this architectural change? Yeah, the nice, I got your question. It's a kind of a paradigm shift, right?

29:20Because in software development, we tend to do things very strict. So you have one way, other way you have to pass from A to B, this certain kind of information and for example, exposing your functions using Microsoft agent framework, for example, which will create an MCP server for your code. You can expose this function to AI and you say basically, hey, this is the function to turn on the lights. Okay. This is the function to turn on the camera. This is the function to record some podcasts. Then with this information, you can use natural language to interact with it. And that is the cool part of AI because we interact with AI today using natural language, but inside chat, GPD, inside a cloud, things like that.

30:24So we tend to do some prompting, but to write some text, to write some code. But nowadays, we can create a prompt, for example, to create a product inside our database. So you can simply say, hey, register this product for me, the ID's, one, the prices. That's fine. If we expose the function to register a product, to create a product, we can interact with AI that way. Another cool thing is that if you're using a multi model model, a multi model model, you can simply take a picture, for example, from a product sent to that and say, register this product, it can bring information for you and try to register this product. So we stop to do in some areas, right?

31:30We stop to do all the methodic way that we use to. So you have the fields to fill, you have all that stuff on the screen. And we can start to interact more with prompts, with natural language, say, hey, do this for me and it will find a way to do that. This, I classify this into two pieces. The first part is the IDA potent way, which must be that way, it can change. You should expect the same result always, that's it. And then we have the, the still way that you can simply send a prompt to AI and that will follow the prompt. So we can interact this way. Oh, that's really amazing. What's possible? So what's happening with this traditional design patterns in an agent architecture,

32:41will they still be there or is it completely new? No, I think the good practice of software development is still alive. So right code one time is very easy to maintain, right? A maintainable code is very hard, as Uncle Bob says, because even AI looking for a massive code will do a massive code, right? They follow the pattern. So if you say, hey, implement this, it will look to your code base and say, well, I implement this the way it is implemented on your code base. So we still need to think about patterns. We still think about to a claim code, which is something we talk every day. But it's way easier to implement nowadays using AI.

33:47You can even forget about it for a second when you're planning. For example, when I am planning, I don't specify any design pattern for AI. I live a blank canvas at least for the beginning and say, let's do this plan. They will come with a plan for me. And if the implementation is way different than I think is, hey, what about using the strategy pattern here? What about using the prototype design pattern here? And I can suggest to them and do this kind of implementation, because it creates some maintainable code. Two things that you must achieve in software development is a testable code, because when everything changes and everything will change, you need to pass everything.

34:48And a good looking and maintainable code. So these two things are unnegotiable. You always need to achieve these two things. So design patterns, best practices, skill present. They are little bits on the that layer now, because we interact more with the surface and the code itself. But they need to be there. You still need them. Yeah, I think one of the biggest conceptual changes is that developers are used to, yeah, deterministic systems. And I am more than probabilistic. So how difficult is this transition, especially when I think, when you test software and, yeah, the same input as necessarily, necessarily, produce the exact same output?

35:48Yeah, nice. We call this stochastic, because every AI generation is different from the previous one. So I think this is the most difficult part of interacting with AI being a programmer, because most of programmers that I know today expect the same result, because we were built to that. So we do this when we expect the same result, but this won't happen with AI even generating a code. If you ask the same code generation twice in a minute, it will generate complete different codes. We have to keep that in mind when we're IT specifications. So we are focusing more on algorithms on how things should work rather than how the code

36:52is written. So basically what I try to do is understand that there are many ways to do the same thing. So I don't have to do that the way I intend to do. I can leave it to AI. I just need to have this done. So I don't try to get to read to my code to the generated code. I prefer to light it to AI. Just validate this code. If this code is good, if he reads an algorithm approach, I don't mind. So that's fine. Let's do it this way. It's like you're delegating the creation to another person. It's very hard to find another person which will code like you code.

37:55So it will code different from you. Both of you can achieve the same result, but the approach will be different. So using AI is that way. I think the most challenging thing behind it is more to test the software. Because when we interact with AI, for example, we have millions of ways to do the things. So when you expose this to a million users, you have millions of users with millions of ways to do the same thing. So you need to create a very good hardware. To that, we had so many cases of prompt injection, which is a technique to grab information and to hack your system using AI. So I think this is the most cool starting part.

38:58As you may imagine, it's very hard to predict everything that people will say. There was a fun case with a guy asked the AI to sing some Windows keys for him. So he told the AI a story that he was. His grandma sang some Windows keys for him when he was young and AI gave him some original Windows keys. So that was fun, but it was fun for us, but not so fun for the company running the AI. So we have to be aware of that. So if you're exposing a point for the people to write something inside our system to interact with your system, you should have the wireless ray in mind.

40:00And if you're coding is the same way, if you're coding, if you're asking AI to write your code, you need to have the quadraryous to say, hey, don't do that. Try to implement this pattern. Try to do this way. Right. Yeah, when I look a little bit into the Developers groups or in YouTube, I have the feeling that's often focused on the model to use, but the how important is this context compared with model selection from your perspective. I think context for AI is everything. We need to understand and manage your context very carefully, because if you write a simple context, AI won't do the job and if you write a complex, a context, AI will lose itself.

41:04So you need to write a, just stuck in the middle of this. And sometimes it's very hard because sometimes we think we know about the context and we, we, we doesn't know. So as a programmer, what I usually do is basically implement some business rules. So if I don't know the business rules, how can I ask for a item implement for me? How can I implement myself? So more than never, we know that you need to get into the business. So we need to understand the business, understand the needs. And another thing that I always talk to my students, for example, you need to question. You need to ask questions to your business and say, hey, what is going on here? What are you implementing? Why are we implementing here?

42:06Because with this question in mind, we can provide this to AI and to, and to have a good context. And this is the hardest part to, to, to be true. Because software development is a little bit straightforward. So you have the good practices, you have the concept, the base content, the fundamental concepts of computing, which sends, since I was born and from, from now. But the context itself is, it's hard. When I talk to you, you, you have something in mind, you say to me that when I talk to another person, they have a little bit different context, a little bit point of view. So merge everything of that and pass this to AI. It's a, it's a very good challenge. And you have to mix that this, this business context with the technology context, because AI also lead the directions on the technical way.

43:13So, which architecture we are using, which is tech, we are using what comes next for, for our software. And so, but all this together is a, is a very, is very challenging. So, we are, we are still learning from, from that, because AI is relatively new. We have a few years, but it's relatively new. Yeah, I think when we talk about context, we have also talk about retrieval, augmented generation, right. Agents. Essentially turning rack from receive information and answer into receive information decided act. Yeah, sort of. Raga itself is not just built for, for agents. I think most of companies that are doing AI first, the first thing I recommend is to create a good rag because creator rag is easy.

44:19It's a little bit complicated because it's not just pool information inside you have to, to verify this information, you have to cut the blocks of this information. For example, a big challenge we had this, this year was to take all lessons that we have on our platform. It was crime all these lessons. And for each phrase that that we have, we created an entry point inside our, our, our, our, so the user can search for a specific word and go to straight to that point at the video. What thing that, that we have this day, so it can be very, very complex. And at the other hand, it provide a lot of context to, to AI. So when you prompt something, you can, you just can achieve a good response to, to our customer when you, you have data.

45:27The core behind AI is the data, the data you capture, the data you, you trade, the data you pull into your, your, your existing, your, your database. This is the most important thing. And when you plug this together, a rag is the way that you have to, to provide this, this information. So you have to, to make the right cuts on this data to, to, to do this context. We all know that we have a context window. So the context is, this limited to, to, to an amount of talk for, for example. And we, we also know that there's a sweet spot on the, the context is two thousand, two hundred thousand tokens. For example, even the context, the, the model have the capability to, or medium tokens. We know that it started to, to, to, to allocate, on or to, to, to, to, so we need to do the right cuts on, on our data to provide the, the right amount of data.

46:37When, uh, interacting with, uh, rag. So we pick up the, for example, an entire article with, uh, has two thousand words. But if you inject two thousand words to, to our context, uh, it, it can be bad instead of good because it's a lot of information that it doesn't need. So you have to check this, this data, put it into, into a rag, for example, when the user, uh, asked something, you can just go to your, your, your rag, pick just that paragraph and send it back to, yeah, so this is the importance of ragging. This is how it improves the, the, the, the context and the, the, the answer to your customer. I think one of the, uh, chatted with Rackhave, it's, it's the memory in that coming. I don't know, new, new ideas like Vicky, LMM, uh, I think that's the, what, what should develop a thing about the memory topic?

47:43Yeah, the memory itself, it's, uh, is it the trickiest part when you say, uh, the context, uh, we, we are talking, uh, to the memory, the, uh, talking about the memory itself. Uh, uh, you need to understand, uh, a little bit about, uh, how AI works, for example, uh, because this is, uh, this is the, the fundamentals of, of AI. And this can help you to get better answers from AI. For example, when you start a chat with Copilot, for example, and you say, hey, Copilot, uh, do implement this for me. Okay, it will try to read your code base, it's try to read your code, but maybe, uh, a lot of code that, that is your, your code base, isn't meaningful for, for that action. So it will update its memory for that chat with a lot of, uh, a useful information. Instead of this, you can say, uh, hey, Copilot, can you implement this code for me?

48:54Based on, uh, you can specify this fire, this fire, this fire, so you, you gave Copilot, uh, uh, uh, uh, a, a very, a very good context with examples with simple and straightforward, uh, example, with good example, because I, uh, I adopt your, your entire code base is, is written on the, uh, at the same way and, uh, the same, uh, uh, the same, uh, uh, the same way. So there are a piece of code that you wrote with more passion than, than others. So you can point this to, to, to Copilot, for example, uh, and all of this information when you start a chat is going to a memory is going to, to the context itself and it have a limit. So what's the average hat will do is to compact this conversation since you reach, uh, on a certain amount of, of tokens reach it there.

49:57And this kind of, the trick is part because when, uh, Copilot, uh, for example, compact it by itself, it will just do a compact it will say, hey, uh, compact this for me or, uh, summarize this for me, that's fine, this is okay, it can work, but you can compact it yourself. If the conversation is, it's getting a bit longer, you say, hey, compact this conversation. Uh, the main points here are these, these, these, and this. So you'll have a very different kind of of memory update at that point because you point and then to, to, to, the important topics of, of this conversation. And, uh, another thing that I do is every time that I finish, uh, something that I say, I achieve that, that what I was looking for, uh, I close the conversation and start another conversation.

50:58Uh, because it starts with a clean context that, that would be say, we can clear the context, but I prefer to start a new, a new context. And, uh, regarding memory, uh, we can also have a Markdown files, uh, with this, the summaries that I told you inside our folders. So you, you can summarize your conversation with your specific, uh, information with your specification and other things, place inside a folder and every time that copilot reads that, that, uh, I'm saying copilot, but it's the same behavior for, uh, in a, that you use. So it will reach this, this Markdown file inside our folder and update its memory with, uh, with all the, this stuff. So, uh, this is cool, but you need to understand how, uh, how the model works, how the memory works because this is, is very important for every human being nowadays.

52:03Uh, I think in that, not a topic, uh, when we talk, especially AI, uh, agents, a company, company is really, yeah, enthusiastic on the one part, but on the other part, and as the security part. And, yeah, um, and I also see it in a lot of companies there, they say, okay, we make it and then, uh, we have to train it, uh, and, and then they give, I don't know, access to reach, uh, rights, uh, the world exchange servers and so on, we have to train it and so on. Um, what did you think, uh, should, uh, for me for the start, I think a little bit, we should give, uh, agents, uh, same principle of last privilege, like we do it for humans, or, uh, isn't, uh, how should we think? Yeah, uh, uh, uh, uh, I'm a little bit concerned with security, uh, uh, we, we had so so many leaks, cases, uh, data leaks, cases, and the last few years, so, uh, I tend to close all the doors and just open the door that you really need to.

53:27And I think, uh, Azure AI founder is a very good job for that because you can, uh, simply plug the models, you can simply create an AI infrastructure for, for your, for your scenario, and you can pass by a, best is using the Android ID, for example, which is the Microsoft, uh, login, the pre-privileged sector. So, uh, you can write the permissions, uh, on, on the portal is, is very easy. I think it's a very good approach, uh, to have a security layer, uh, in front of your AI models. Uh, this is the, I think the main thing you, you need to do it, uh, the very first thing you need to do, because we are not just concerned about the users outside, but the users inside our company, right, because, uh, it can, can be massive.

54:29Someone can ask for this. Hey, give me the salary base from, from my colleagues. And, uh, issue, you, you want to, you don't want to, to have this, this problem. Uh, and inside our applications, we also need to, to create guardrails, uh, for, for that, for example, uh, I told you that we can expose some functions, uh, inside our system, right. And that is true, and that is fun. You, you can, with one line of code, expose, uh, a function, for example, to list our products, right. But, uh, let's say that some user interact with that and say, hey, bring me all products, including, uh, the ones that were not launched yet. So you have a problem, because if your function, uh, are exposing the products, which was not launched yet, you have a, uh, a leak on your, on your code.

55:30So, in some, in some cases, we need to, uh, put some, some, uh, guardrails on this, this function, they say, uh, instead of exporting this function, let's create a new function, which expose just the products, uh, itself, without, uh, release date. For example, uh, does, does the release it products and let's expose this function instead of the function that expose all the, the, the products, uh, for the customers. So, as we discussed previously here, uh, this is the item, the way. So every time that you ask for the products, you got, you get the products, doesn't matter which prompt you, you write, you won't get the launch and products. So, that, that's the way we have to, to leave it. So, I don't like to expose everything to, to AI. I prefer to create small functions for, uh, the, the money situations and to, uh, and expose this function because I can control inside the code, which, uh, which can be done inside my, my code base. Right.

56:43Uh, uh, so it's the same principle to, when you connect things, because, uh, I know that it is, is, is very fun and, and very straightforward to, uh, to connect to your AI to your SQL database, for example, it's very powerful. Uh, you go, you connect your SQL database and say, hey, this is my database and, and now, uh, let's do some, some magic here. Bring me this information. That, that's fine. That's, that, that's cool. If that's, if you, just, if you're working alone, for example, that's very fine. But if you work with multiple people, uh, this is, uh, this is likely, uh, insane because you're given access to your entire database or for an entire table, uh, for people asking, whatever they want. So they, they can ask if I want to build a better product from days and start a new company. How should I do? Okay. You have access to all the information. Data is the new oil.

57:55I think what, what, or the older topic, uh, a lot of companies talk about who was the topic prompt injections, but it's especially with MCPs, uh, the, the, the rack pull attacks, uh, the new, new topic, can you a little bit explain how, how to prevent and, I think, for the people they don't understand what, what, what is it, what, what's the different. Nice. Uh, prompt injection is a way that we, since we have an entry point that we can talk to AI models, we can ask whatever we want. So there's no limitation for that. Uh, and then, uh, since we, we have no limitations, we are open to the people creativity. So, and they are very creative. They can ask everything about your system. So if, if you don't, do not have any kind of grad radius for, for that, it will expose data, it will even worth, like people write data inside your, your system. So we have,

59:01uh, so many cases that people were using, uh, eight chat bots around, uh, the word to, to, uh, solve programming questions, for example, uh, instead of paying for a plot to, to ask, to ask my questions, I can go to a famous, uh, website, or there won't say the name because of copyrighting. Uh, but I can go to the website, start a chat, a support chat and ask the same question, say, how can I, uh, do this function in Python and the chat will, will answer. It's, it's a very simple thing. It's the same, but it, it's, uh, spend your tokens. So it's, it's costing to, for, for your company to try and answer that question. It's, uh, the, uh, prompt injection is a little bit like, uh, in the old times where I can write into, uh, that forms, uh, data base code and, and it takes it, uh, and say, okay, uh, I'm mogo and, uh, I think my, I'm at them and, uh, I was on the major base.

1:00:13It's a little bit like this, but what, what, what's the, what's the right pull to attack the people now? Oh, yeah, it's the same. The, the term that you're, you're saying is the SQL injection. We, we can write, uh, some, some prompt is, uh, this is the same. It's basically the same. So now we, we can, instead of injecting SQL, we can inject prompts and look through the, through the database, uh, ask questions to about the, uh, things that is not, uh, in that context. So, uh, to, to prevent that, uh, I really recommend you to, to use something like, uh, Azure AI Foundry, for example, if you're doing a very, uh, complex, uh, or an AI first thing, uh, because it, it brings you a lot of guardrails to that. Uh, when you, you create a, when you start interacting with a model, you can create some, uh, system prompts, which we, we call it some kind of some sort of memory that you have that use, you can say, for example, do not answer questions about and say some talk.

1:01:34Even, uh, when you customer, every time that customer asks, uh, about something that is not related to hamburgers or to some sort of product, do not answer this, this question. So, you can specify this, uh, when I say create a word array, it seems to be something very complex, it's not, it's just a pure text that you, you can write this, either model that you can bring, uh, bring, uh, bring inside your model, but it's, it's hard to predict because it's, it's very hard to, to predict what users can, can think and can ask you to your model. So, if you do not have anything, uh, prepared or anything, uh, how can I say, uh, trade it to, to, to that, uh, you will, you end up having to write so many business rules that it's not, uh, it's not, it's painful.

1:02:40So, uh, I recommend you to, to, to bring, uh, something like Azure AI founder, I, I think that's basically Azure here because it's them, uh, the two that I, that I work, but they're, I mean, two south side, you don't have to, to be strong with, with Azure, for example, but bring something, something closer to your, to your business, uh, with business rules, uh, or an inside it, uh, with blocking your context, for example, uh, to prevent that. So, um, we have all, all, all these, these cool things we can now do with, with AI, especially encoding, um, but, but I think, um, yeah, we have this, the tokens and the tokens are actually about getting cheaper for my feelings. Um, is it a show developers, uh, also focused on architecture and the look, especially, I think fine ops can be find a sheep us solution or is, is it, uh, the time invest for the sheep us solution makes it sense.

1:03:52So, I don't know, I, I'm, uh, I can use, uh, AI to, uh, uh, uh, make me, uh, PDF to, to, uh, document or show I use OCR because it's cheaper, uh, something like this, as an example, is it, what would you think? Yeah, I think and I, uh, and I use here is, is a mix of things. Uh, AI is a, is a broad term and it's been here since 1966. So, it is nothing new, but what we have new here is the generative AI. So, the word say itself is generative, is to generate. So every time that I need to generate something new, I delegate it to you. And this is clear for me. If I need to do a repetitive task, this is not AI for me. For example, uh, every video that I do for YouTube, I have to extract the audio to do a transcription of this, this audio, uh, generate the, the SRS RT files to upload to, to YouTube and translate this SRT to other language. So I have the,

1:05:10the translations on, on YouTube. So this is a process. This is a workflow. So I can send my video to Claude, for example, say, hey, do the transcription, uh, create the SRT portuguese, uh, anguish and Spanish for me. It will, will do a very good job. It's, it's fine. It's pretty, it's fine. But it will, will cost me a lot of money. So I have to focus because it will do the same process that I do locally. So every time that I get a, a video file here, I run a Python script, which was created by Claude. And because I don't program it in Python. So I said, hey, create a, a Python script for me that extracted the audio for, for the video. That's fine. We extracted the, the, the wave fire. And then I have another file that say, hey, subscribe this wave file and create an SRT. And then I use AI just to translate this SRT to, to another language. So instead of using a lot of token to do all the process, use me. I just use a small token just to, to, to translate the, the, the SRT files and the rest of the process I can run directing on, on my machine.

1:06:37Having this, this mix is very important because, yeah, say I can do everything, but doesn't mean you, you have to do everything using AI. Yeah, yeah, yeah. I actually look for, I like to build an voice depth tool for, for my YouTube videos. Yeah, that's fine. I have some good, good Python scripts with, for example, this podcast, we can cut all the, the silences from from the video, we can analyze the, the audio layers and take off your, your language, accents, for example, everything like that. And this, this is a, a, a, a systematic matter. This need to happen every time the same way. So this for me is programming. If you need to generate something new, if you need to have a different approach from something, this is AI, this is the generative AI.

1:07:46Yeah, we're a little bit over time, but I, if it's okay, I have a rapid fire around. No, that's fine. Yeah. And single agent or multi agent. Multi agents for, I think for the most of complex job, multi agents with so be agents are, are the way to have, a prompt engineer or context engineering, context engineering, because it's way more complex and can deal with multiple stuff. Loops are the future. In a way that white is coming up for, you may know what's coming up from from AI. I think we, we have more powerful agents, more powerful models and writing better code, writing better design is, for example, which one, something that I use.

1:08:57And we'll continue to, to evolve. We are in the beginning of the generative AI. So we can expect much more if you're impressed with AI nowadays. In the next few years, you get more double time more impressive. And if satanidaya call you and say you get all the money and resources to make dot net better, what feature will you develop? It's a feature. I don't know because that is a very good framework in my opinion that the team is doing a very good job. And we are increasing performance, increasing security. It's a very major for a framework. So we don't have, if you look to other frameworks, you'll see a lot of issues with security. For example, in that fact, we basically don't, doesn't have this, this kind of things. So security and speed is, this is our is good.

1:10:06So I will invest in marketing to show the world how good is that net. So I will pick a lot of money and say, hey, I want to, I want the people to know about that net and know how good. Stuff can be done in doctorate. So let's refactor some products that we have right rewrite it in dot net using blazer using all the technology that we have. And let's show the world how good it is. Okay, and then my last reputable file around question is, if I should invite, who should I invite as next guest and what questions should I ask? Wow. Remember or not programming for business. Okay, you can. Well, I'm very excited to, to programming. And one person that I really into the, the videos, the other is Mac, he just created some good skills.

1:11:15And he is an AI engineering with high level skills. He talk a lot of AI. So this is the person that I most like the videos, not a. Yeah, thank you for joining me. I'm talking, taking us from traditional software development all the way into AI agents Microsoft agent, product world.net and the future of agenda software. So yeah, one thing is from you clear, AI isn't simply another library developer at to an application. We are moving from where developers explicitly define every step forward. We are developing increased we define gold tools, contacts, permissions and boundaries and AI deterministic how yeah to accomplish the past. That's change how we build software, how we test software, how we secure it and the potential.

1:12:17The why being a software development means for the first place. So yeah, I say to all the guests, if you enjoy the conversion, follow the MC65 podcast, you find all the info to Andre in show notes. And yeah, thank you for for being here with me over an hour. Thank you very much, very good was a pleasure for me and congratulations for your.

More episodes

More from M365.FM - Modern work, security, and productivity with Microsoft 365

View all episodes →