{"id":4725,"date":"2025-04-25T14:42:30","date_gmt":"2025-04-25T21:42:30","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/semantic-kernel\/?p=4725"},"modified":"2025-04-25T14:42:30","modified_gmt":"2025-04-25T21:42:30","slug":"guest-blog-semanticlip-a-practical-guide-to-building-your-own-ai-agent-with-semantic-kernel","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/agent-framework\/guest-blog-semanticlip-a-practical-guide-to-building-your-own-ai-agent-with-semantic-kernel\/","title":{"rendered":"Guest Blog: SemantiClip: A Practical Guide to Building Your Own AI Agent with Semantic Kernel"},"content":{"rendered":"<p>Today we\u2019re excited to welcome Vic Perdana,\u00a0as a guest author on the Semantic Kernel blog today to cover his work on a<strong> SemantiClip: A Practical Guide to Building Your Own AI Agent with Semantic Kernel.\u00a0<\/strong>We\u2019ll turn it over to Vic to dive in further.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/semantic-kernel\/wp-content\/uploads\/sites\/78\/2025\/04\/SemantiClip-Overview.jpg\"><img decoding=\"async\" class=\"alignnone wp-image-4727 size-full\" src=\"https:\/\/devblogs.microsoft.com\/semantic-kernel\/wp-content\/uploads\/sites\/78\/2025\/04\/SemantiClip-Overview.jpg\" alt=\"SemantiClip Overview image\" width=\"1387\" height=\"425\" srcset=\"https:\/\/devblogs.microsoft.com\/agent-framework\/wp-content\/uploads\/sites\/78\/2025\/04\/SemantiClip-Overview.jpg 1387w, https:\/\/devblogs.microsoft.com\/agent-framework\/wp-content\/uploads\/sites\/78\/2025\/04\/SemantiClip-Overview-300x92.jpg 300w, https:\/\/devblogs.microsoft.com\/agent-framework\/wp-content\/uploads\/sites\/78\/2025\/04\/SemantiClip-Overview-1024x314.jpg 1024w, https:\/\/devblogs.microsoft.com\/agent-framework\/wp-content\/uploads\/sites\/78\/2025\/04\/SemantiClip-Overview-768x235.jpg 768w\" sizes=\"(max-width: 1387px) 100vw, 1387px\" \/><\/a><\/p>\n<p>Everywhere you look lately, the buzz is about <em>AI agents<\/em>. But cutting through the noise\u2014what does <em>agentic AI<\/em> really mean for developers and builders? How can we move from hype to building real, practical solutions that solve business problems, automate workflows, and, simply put, make our lives easier?<\/p>\n<p>I&#8217;m excited to share my journey and, as a little Easter egg, I\u2019ve released a working demo\u2014<strong>SemantiClip<\/strong>\u2014a personal AI-powered agent that takes a video and transforms it into a well-structured blog post. It leverages the powerful open-source <a href=\"https:\/\/github.com\/microsoft\/semantic-kernel\">Semantic Kernel<\/a> framework, alongside state-of-the-art local and cloud AI models via Azure Foundry.<\/p>\n<h2>Why Do AI Agents Matter for Devs &amp; Businesses?<\/h2>\n<p>Before diving into the how, let&#8217;s set the context\u2014<strong>why should you care about agentic AI?<\/strong><\/p>\n<ul>\n<li><strong>Productivity Unlocked:<\/strong> AI agents can automate complex, multi-step business processes, handling tasks from researching the web to orchestrating entire workflows.<\/li>\n<li><strong>Next-Gen SaaS:<\/strong> <a href=\"https:\/\/youtu.be\/ASABxNenD_U?si=lzdc4WuheyqCx2pE\">Y Combinator<\/a> predicts the next billion-dollar startups will likely be those who apply vertical AI agents to deeply understand and automate industry-specific, \u201cboring\u201d workflows.<\/li>\n<li><strong>Transforming CX:<\/strong> <a href=\"https:\/\/www.gartner.com\/en\/newsroom\/press-releases\/2025-03-05-gartner-predicts-agentic-ai-will-autonomously-resolve-80-percent-of-common-customer-service-issues-without-human-intervention-by-20290\">Gartner<\/a> predicts that by 2029, agents will handle 80% of common customer-service tasks\u2014without human intervention.<\/li>\n<li><strong>Evolving Collaboration:<\/strong> We\u2019re not just talking about chatbots answering questions (no more simple ABC = Anything but Chatbot), but true digital companions and co-pilots that reason, remember, and execute.<\/li>\n<\/ul>\n<p>Agentic AI can:<\/p>\n<ul>\n<li>Understand and reason over processes<\/li>\n<li>Adapt with memory and contextual learning<\/li>\n<li>Execute dynamic tasks with minimal oversight (should you let it)<\/li>\n<\/ul>\n<p>\ud83d\udca1<em>But with great power comes&#8230; great complexity.<\/em><\/p>\n<h2><strong>The Challenges: Why Building Agents Isn\u2019t a Walk in the Park<\/strong><\/h2>\n<p>As you scale, managing <strong>hundreds of agents<\/strong>, keeping control over processes, and ensuring reliability and predictability quickly becomes a challenge:<\/p>\n<ul>\n<li>How do you coordinate several agents that have different tools?<\/li>\n<li>How do you maintain state across long business workflows (e.g., employee onboarding)?<\/li>\n<li>What if you need to blend local, edge-hosted models with enterprise-grade cloud models?<\/li>\n<\/ul>\n<p><em>This is where frameworks like <a href=\"https:\/\/github.com\/microsoft\/semantic-kernel\">Semantic Kernel (SK)<\/a> come to the rescue.<\/em><\/p>\n<h2><strong>Semantic Kernel\u2019s Process &amp; Agent Framework<\/strong><\/h2>\n<p><!-- notionvc: 8adc3a7a-cee3-4ffe-9502-6433bc2b1263 --><\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/semantic-kernel\/wp-content\/uploads\/sites\/78\/2025\/04\/Image.jpg\"><img decoding=\"async\" class=\"alignnone wp-image-4726 size-full\" src=\"https:\/\/devblogs.microsoft.com\/semantic-kernel\/wp-content\/uploads\/sites\/78\/2025\/04\/Image.jpg\" alt=\"Image image\" width=\"1381\" height=\"718\" srcset=\"https:\/\/devblogs.microsoft.com\/agent-framework\/wp-content\/uploads\/sites\/78\/2025\/04\/Image.jpg 1381w, https:\/\/devblogs.microsoft.com\/agent-framework\/wp-content\/uploads\/sites\/78\/2025\/04\/Image-300x156.jpg 300w, https:\/\/devblogs.microsoft.com\/agent-framework\/wp-content\/uploads\/sites\/78\/2025\/04\/Image-1024x532.jpg 1024w, https:\/\/devblogs.microsoft.com\/agent-framework\/wp-content\/uploads\/sites\/78\/2025\/04\/Image-768x399.jpg 768w\" sizes=\"(max-width: 1381px) 100vw, 1381px\" \/><\/a><\/p>\n<p><strong>Process Framework<\/strong>: This lets you explicitly define business processes as orchestrated sequences of steps (e.g., \u201cPrepare Video\u201d \u2192 \u201cTranscribe Audio\u201d \u2192 \u201cGenerate Blog Post\u201d \u2192 \u201cEvaluate Output\u201d).<\/p>\n<p><strong>Agent Framework<\/strong>: This enables building robust \u201cagents\u201d\u2014modular, intelligent actors that can carry out tasks using different patterns, tools, or models (local or cloud-based).<\/p>\n<p><strong>Key Benefits:<\/strong><\/p>\n<ul>\n<li>Modular, maintainable code<\/li>\n<li>Integration with both cloud (Azure OpenAI, GPT-4) and local (Ollama such as the phi4-mini) AI models<\/li>\n<li>Control\u00a0<em>and<\/em>\u00a0flexibility\u2014with processes, you get higher predictability; with agents, you get intelligence<\/li>\n<\/ul>\n<h2><strong>Introducing SemantiClip: Personal Agent for Automated Blog Creation<\/strong><\/h2>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/semantic-kernel\/wp-content\/uploads\/sites\/78\/2025\/04\/SemantiClip-app.png\"><img decoding=\"async\" class=\"alignnone size-full wp-image-4729\" src=\"https:\/\/devblogs.microsoft.com\/semantic-kernel\/wp-content\/uploads\/sites\/78\/2025\/04\/SemantiClip-app.png\" alt=\"SemantiClip app image\" width=\"205\" height=\"205\" srcset=\"https:\/\/devblogs.microsoft.com\/agent-framework\/wp-content\/uploads\/sites\/78\/2025\/04\/SemantiClip-app.png 205w, https:\/\/devblogs.microsoft.com\/agent-framework\/wp-content\/uploads\/sites\/78\/2025\/04\/SemantiClip-app-150x150.png 150w, https:\/\/devblogs.microsoft.com\/agent-framework\/wp-content\/uploads\/sites\/78\/2025\/04\/SemantiClip-app-24x24.png 24w, https:\/\/devblogs.microsoft.com\/agent-framework\/wp-content\/uploads\/sites\/78\/2025\/04\/SemantiClip-app-48x48.png 48w, https:\/\/devblogs.microsoft.com\/agent-framework\/wp-content\/uploads\/sites\/78\/2025\/04\/SemantiClip-app-96x96.png 96w\" sizes=\"(max-width: 205px) 100vw, 205px\" \/><\/a><\/p>\n<p>To ground this in something real, I created <strong>SemantiClip<\/strong>\u2014a simple app powered with agents that turns a recorded video into a blog post. Built with .NET 9, Semantic Kernel, and Blazor WebAssembly.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/semantic-kernel\/wp-content\/uploads\/sites\/78\/2025\/04\/SemantiClipUsage.gif\"><img decoding=\"async\" class=\"alignnone wp-image-4730 size-full\" src=\"https:\/\/devblogs.microsoft.com\/semantic-kernel\/wp-content\/uploads\/sites\/78\/2025\/04\/SemantiClipUsage.gif\" alt=\"SemantiClipUsage image\" width=\"800\" height=\"450\" \/><\/a><\/p>\n<p>Let\u2019s examine this in a bit more detail, the process goes like this.<\/p>\n<ol>\n<li><strong>Upload a Video<\/strong>\u00a0via the SemanticClip UI<\/li>\n<li><strong>Process Video<\/strong>\n<ul>\n<li>Extract audio<\/li>\n<li>Transcribe speech to text (<a href=\"https:\/\/platform.openai.com\/docs\/guides\/speech-to-text\">OpenAI Whisper<\/a>)<\/li>\n<\/ul>\n<\/li>\n<li><strong>Draft Blog Post (Local Model)<\/strong>\n<ul>\n<li>Use a small, fast LLM (like\u00a0<a href=\"https:\/\/ollama.com\/library\/phi4-mini\"><code>phi4-mini<\/code><\/a>) for the first pass<\/li>\n<\/ul>\n<\/li>\n<li><strong>Polish Draft (AI Agent Service with LLM)<\/strong>\n<ul>\n<li>Refine with a more advanced model (e.g., GPT-4o via Azure AI Agent Service)<\/li>\n<\/ul>\n<\/li>\n<li><strong>Review &amp; Publish<\/strong>\n<ul>\n<li>Output a well-structured markdown blog post, ready for fine-tuning and sharing<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<p><!-- notionvc: fa5a32c4-e40a-42bb-8f09-cc14744995da --><\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/semantic-kernel\/wp-content\/uploads\/sites\/78\/2025\/04\/SemantiClip-Overview-1.webp\"><img decoding=\"async\" class=\"alignnone wp-image-4735 size-full\" src=\"https:\/\/devblogs.microsoft.com\/semantic-kernel\/wp-content\/uploads\/sites\/78\/2025\/04\/SemantiClip-Overview-1.webp\" alt=\"\" width=\"1387\" height=\"425\" srcset=\"https:\/\/devblogs.microsoft.com\/agent-framework\/wp-content\/uploads\/sites\/78\/2025\/04\/SemantiClip-Overview-1.webp 1387w, https:\/\/devblogs.microsoft.com\/agent-framework\/wp-content\/uploads\/sites\/78\/2025\/04\/SemantiClip-Overview-1-300x92.webp 300w, https:\/\/devblogs.microsoft.com\/agent-framework\/wp-content\/uploads\/sites\/78\/2025\/04\/SemantiClip-Overview-1-1024x314.webp 1024w, https:\/\/devblogs.microsoft.com\/agent-framework\/wp-content\/uploads\/sites\/78\/2025\/04\/SemantiClip-Overview-1-768x235.webp 768w\" sizes=\"(max-width: 1387px) 100vw, 1387px\" \/><\/a><\/p>\n<p>Each step (prepare, transcribe, draft, review) is handled by a specific agent, powered by Semantic Kernel (SK)\u2019s Process and Agent frameworks. For example:<\/p>\n<h3>Process Builder setup<\/h3>\n<p><!-- notionvc: 4828d38f-ef1c-4c53-a9c4-e869a9b2fd25 --><\/p>\n<pre class=\"prettyprint language-cs language-csharp\"><code class=\"language-cs language-csharp\">ProcessBuilder processBuilder = new(\"VideoProcessingWorkflow\");\r\n            \r\n\/\/ Add the processing steps\r\nvar prepareVideoStep = processBuilder.AddStepFromType&lt;PrepareVideoStep&gt;();\r\nvar transcribeVideoStep = processBuilder.AddStepFromType&lt;TranscribeVideoStep&gt;();\r\nvar generateBlogPostStep = processBuilder.AddStepFromType&lt;GenerateBlogPostStep&gt;();\r\nvar evaluateBlogPostStep = processBuilder.AddStepFromType&lt;EvaluateBlogPostStep&gt;();<\/code><\/pre>\n<p>We then orchestrate the steps as desired, passing state as input\/output between them. The process is set up as a chain of sequential steps: it starts when triggered, then processes the video, transcribes it, generates a blog post, and finally evaluates the result. Each step passes its output of itself as an input for the next step as a way to maintain state throughout the process.<\/p>\n<pre class=\"prettyprint language-cs language-csharp\"><code class=\"language-cs language-csharp\">\/\/ Orchestrate the workflow\r\nprocessBuilder\r\n  .OnInputEvent(\"Start\")\r\n  .SendEventTo(new(prepareVideoStep, functionName: PrepareVideoStep.Functions.PrepareVideo, parameterName: \"request\"));\r\n\r\nprepareVideoStep\r\n  .OnFunctionResult()\r\n  .SendEventTo(new ProcessFunctionTargetBuilder(transcribeVideoStep, \r\n\t\t  functionName: TranscribeVideoStep.Functions.TranscribeVideo, \r\n\t\t  parameterName: \"videoPath\"));\r\n\r\ntranscribeVideoStep\r\n  .OnFunctionResult()\r\n  .SendEventTo(new ProcessFunctionTargetBuilder(generateBlogPostStep, \r\n\t\tfunctionName: GenerateBlogPostStep.Functions.GenerateBlogPost,\r\n    parameterName: \"transcript\"));\r\n\r\ngenerateBlogPostStep\r\n\t.OnFunctionResult()\r\n\t.SendEventTo(new ProcessFunctionTargetBuilder(evaluateBlogPostStep,\r\n\t  functionName: EvaluateBlogPostStep.Functions.EvaluateBlogPost,\r\n    parameterName: \"blogstate\"));<\/code><\/pre>\n<p>On each step, for example the <span class=\"notion-enable-hover\" spellcheck=\"false\" data-token-index=\"1\">GenerateBlogStep<\/span> uses an agent and with Semantic Kernel Agent framework you can \u201cplug &amp; play\u201d and toggle between local Small Language Model (SLM) and state-of-the-art cloud hosted Large Language Models such as the Azure AI Foundry gpt-4o, per task.<!-- notionvc: e73d73e9-446b-45d6-adc3-b1831d6d0a0c --><\/p>\n<pre class=\"prettyprint language-cs language-csharp\"><code class=\"language-cs language-csharp\">\t\tprivate ChatCompletionAgent UseTemplateForChatCompletionAgent(\r\n        Kernel kernel, string transcript)\r\n    {\r\n        string generateBlogPostYaml = EmbeddedResource.Read(\"GenerateBlogPost.yaml\");\r\n        PromptTemplateConfig templateConfig = KernelFunctionYaml.ToPromptTemplateConfig(generateBlogPostYaml);\r\n        KernelPromptTemplateFactory templateFactory = new();\r\n        \r\n        ChatCompletionAgent agent = new(templateConfig, templateFactory)\r\n        {\r\n            Kernel = kernel,\r\n            Arguments = new()\r\n            {\r\n                { \"transcript\", transcript }\r\n            }\r\n         };\r\n\r\n        return agent;\r\n    }\r\n    \r\n    [KernelFunction(Functions.GenerateBlogPost)]\r\n    public async Task&lt;BlogPostProcessingResponse&gt; GenerateBlogPostAsync(string transcript, Kernel kernel, KernelProcessStepContext context)\r\n    {\r\n        _logger.LogInformation(\"Starting blog post generation process\");\r\n        \r\n        var agent = UseTemplateForChatCompletionAgent(\r\n            kernel: kernel,\r\n            transcript: transcript);\r\n\r\n        \/\/ Create the chat history thread\r\n        var thread = new ChatHistoryAgentThread();\r\n\r\n        \/\/ Invoke the agent with the transcript\r\n        var result = await InvokeAgentAsync(agent, thread, transcript);\r\n        \r\n        \/\/ Update the state with the generated blog post\r\n        VideoProcessingResponse videoProcessingResponse = new VideoProcessingResponse\r\n        {\r\n            Transcript = transcript,\r\n            BlogPost = result\r\n        };\r\n        _state!.BlogPosts.Add(result);\r\n        _state!.VideoProcessingResponse = videoProcessingResponse;\r\n        \r\n        return _state;\r\n    }<\/code><\/pre>\n<p>This, equipped with prompt templates or a plugin can \u201csupercharge\u201d your agent with tools and knowledge or simply an instruction or system prompt.<\/p>\n<pre class=\"prettyprint language-cs language-csharp\"><code class=\"language-cs language-csharp\">name: GenerateBlogPost\r\ntemplate: |\r\n  Generate a blog post from the following video transcript formatted in markdown, make sure the markdown is valid and well-structured:\r\n  {{$transcript}}\r\ntemplate_format: semantic-kernel\r\ndescription: A function that generates a blog post from a video transcript.\r\ninput_variables:\r\n  - name: transcript\r\n    description: The video transcript to generate a blog post from.\r\n    is_required: true\r\noutput_variable:\r\n  description: The generated blog post.\r\nexecution_settings:\r\n  default:\r\n    function_choice_behavior:\r\n      type: auto<\/code><\/pre>\n<h2>SLM, LLM and AI Agent Service: Finding the balance<\/h2>\n<p>I experimented using both local <code>phi4-mini<\/code> and <code>gpt-4o<\/code>models. Specifically on the <code>EvaluateBlogPostStep<\/code> I used the <a href=\"https:\/\/learn.microsoft.com\/en-us\/azure\/ai-services\/agents\/overview\">Azure AI Agent Service<\/a> to light up the process. Let\u2019s go through it in a bit more detail.<\/p>\n<p>With the Semantic Kernel (SK) Agent Framework you can use different type of agents, one that\u2019s originated in SK, <code>ChatCompletionAgent<\/code> or other supported agents such as the <code>AzureAIAgent<\/code> . Each comes with abilities to use different models, documented in the <a href=\"https:\/\/learn.microsoft.com\/en-us\/semantic-kernel\/concepts\/ai-services\/chat-completion\/?tabs=csharp-AzureOpenAI%2Cpython-AzureOpenAI%2Cjava-AzureOpenAI&amp;pivots=programming-language-csharp\">Semantic Kernel<\/a> and <a href=\"https:\/\/learn.microsoft.com\/en-us\/azure\/ai-services\/agents\/concepts\/model-region-support\">Azure AI Agent Service<\/a> pages.<\/p>\n<p><strong>Small Language models<\/strong> (like <code>phi4-mini<\/code> via ollama) offer privacy, speed, and edge processing whilst <strong>large language models<\/strong>, (like GPT-4o on Azure) deliver deeper reasoning, richer output, and easier scaling.<\/p>\n<p>For posterity, you can judge yourself how they perform!<\/p>\n<pre class=\"prettyprint language-default\"><code class=\"language-default\">phi4-mini \r\n# Prioritizing Security: A Peek into Microsoft's Commitment\r\n\r\nThank you for joining us as our CEO Satya Nadella introduces today's session on cybersecurity initiatives spearheaded by none other than **Microsoft**.\r\n\r\nIn an unprecedented move, Microsoft has put security at its very core\u2014making it the top priority above all else. This commitment is so significant that we have mobilized approximately 34,000 engineers to work exclusively in this area; effectively making us responsible for what stands as one of history's largest cybersecurity projects ever undertaken within digital technology.\r\n\r\n## Three Pillars Guiding Microsoft's Security Efforts\r\n\r\nThe heart and soul behind these massive efforts are three guiding principles:\r\n\r\n1. **Secure by Design**: This principle mandates that security should be a primary consideration during the planning phase, shaping any product or service to incorporate robust defenses from its inception.\r\n\r\n2. **Secure by Default**: Reflecting an unwavering commitment towards protection without burden on users; Microsoft has ensured all our systems and services are equipped with strong protective measures enabled right out of the box\u2014no extra effort required.\r\n\r\n3. **Secure Operations**: Recognizing that threats evolve, Microsoft's security operations continually advance to address current as well as emerging risks through enhanced control mechanisms and continuous monitoring processes.\r\n\r\n## A Sneak Peek into Microsoft\u2019s Security Management\r\n\r\nToday we are excited to give you a glimpse of how these principles translate in our day-to-day management at **Microsoft**. We will delve deeper:\r\n\r\n- How exactly the Secure Future initiative is managed within organizations\r\n- Practical ways for your own organization or team can adopt and implement similar security measures.\r\n\r\nWe believe that by sharing Microsoft's strategic insights, we hope to empower businesses worldwide with tools necessary not just to protect but also proactively respond in our ever-evolving digital landscape. Stay tuned as **Microsoft** continues its mission of building a more secure future together!\r\n\r\n---\r\n\r\n*Thank you for joining us on this important journey towards prioritizing security.*\r\n\r\nStay connected and follow Microsoft for ongoing insights, updates, and resources focused around the Secure Future initiative.\r\n\r\n#Security #Cybersecurity #DigitalTechnology\r\n\r\n***Note: The above post is formatted in Markdown. You can use various tools like Jupyter Notebook or online  editors to preview how it renders with different styling options.*<\/code><\/pre>\n<p>&#8211;<\/p>\n<pre class=\"prettyprint language-default\"><code class=\"language-default\">gpt-4o\r\n\r\n## Prioritizing Security: Exploring Microsoft's Unwavering Commitment\r\n\r\nWelcome! Today, as our CEO Satya Nadella introduces a pivotal session on cybersecurity, we invite you to dive into **Microsoft's** bold initiatives to safeguard the digital world.\r\n\r\nIn a remarkable display of leadership, Microsoft has made security its paramount priority, embedding it into every facet of its operations. This dedication is exemplified by the mobilization of approximately 34,000 engineers solely focused on advancing cybersecurity. This initiative represents one of the largest and most comprehensive cybersecurity undertakings in the history of digital technology.\r\n\r\n---\r\n\r\n## The Three Core Pillars of Microsoft's Security Strategy\r\n\r\nAt the foundation of Microsoft's approach to cybersecurity are three guiding principles. These pillars drive our mission to create an ecosystem where trust and security serve as bedrocks for innovation.\r\n\r\n### 1. **Secure by Design**\r\n\r\nMicrosoft\u2019s journey starts from the ground up. **Secure by Design** means embedding security from the very beginning of a product or service\u2019s development life cycle. By prioritizing robust defenses during the planning phase, we create systems and software that are resilient against modern threats, ensuring data is protected at its core.\r\n\r\n### 2. **Secure by Default**\r\n\r\nEase of use and strong protection shouldn\u2019t be mutually exclusive. Through **Secure by Default**, Microsoft eliminates the need for user intervention by providing security-enabled systems straight \"out of the box.\" Every service and product incorporates strong, built-in security measures, relieving users of the burden of configuration while enhancing protection seamlessly.\r\n\r\n### 3. **Secure Operations**\r\n\r\nCyber threats are ever-evolving. To stay ahead, Microsoft prioritizes **Secure Operations**, leveraging state-of-the-art monitoring, adaptive security controls, and a proactive response framework. This ensures that our systems not only address current threats but also adapt and evolve to counter emerging challenges in the cybersecurity landscape.\r\n\r\n---\r\n\r\n## Behind the Scenes: How Microsoft Puts These Principles to Work\r\n\r\nYou might be wondering\u2014how does Microsoft bring these principles to life every day? Here\u2019s a glimpse into our security management practices and how businesses can learn from our approach:\r\n\r\n- **The Secure Future Initiative**: We\u2019ll explore how this program functions within Microsoft's ecosystem, driving consistent alignment with security priorities.\r\n- **Practical Implementation**: Discover actionable strategies to introduce these security measures into your own organization. From small teams to global enterprises, the principles of \"Secure by Design,\" \"Secure by Default,\" and \"Secure Operations\" can serve as a blueprint for creating a safer digital environment.\r\n\r\nBy sharing our journey, Microsoft aims to empower businesses and organizations worldwide with the tools and strategies needed not just to safeguard data but also to actively respond to evolving digital risks. Together, we can create a more secure, resilient digital landscape.\r\n---\r\n\r\n## Join Us in Building a Safer Future\r\n\r\nMicrosoft is unwavering in its mission to protect users and organizations across the globe, and we invite you to be part of this mission. By taking proactive steps and embracing security at all levels, we can collectively strengthen our defense against online threats. \r\n\r\n*Thank you for joining us on this journey to prioritize security and build trust in the digital age.*\r\n\r\nStay connected with Microsoft for more insights, updates, and resources as we continue to advance our **Secure Future Initiative**.\r\n\r\n---\r\n\r\n### Keywords: \r\n#Microsoft #Cybersecurity #DigitalSafety #SecureByDesign #SecureFuture #DigitalTechnology\r\n\r\n*Note: This content is written in Markdown. You can utilize tools such as Jupyter Notebook or Markdown editors to preview this post with varying styles.*\r\n\r\n<\/code><\/pre>\n<h2>Key Takeaways<\/h2>\n<p><strong>Process &amp; Agent frameworks bring much-needed rigor and control to the AI agent world:<\/strong><\/p>\n<ul>\n<li>Tame \u201cagent sprawl\u201d by orchestrating steps, maintaining state, and enforcing predictability<\/li>\n<li>Unlock productivity by automating multi-step, previously manual processes<\/li>\n<li>Combine the flexibility of LLM \u201cintelligence\u201d with the reliability of defined business workflows<\/li>\n<\/ul>\n<p>\ud83d\udca1<em>Start small, pick a piece of your workflow (no matter how boring!), and build a prototype agent. You\u2019ll be surprised at how much it can improve your productivity!<\/em><\/p>\n<h2>Where to go from here<\/h2>\n<p>Go check out <a href=\"https:\/\/github.com\/vicperdana\/SemantiClip\">SemantiClip<\/a>, connect and follow me on LinkedIn and GitHub. If you missed the Microsoft Reactor session go ahead and check the <a href=\"https:\/\/www.youtube.com\/live\/-NArVXw-rMk?si=-NtJumcuYrIiWP0I\">recording<\/a>.<\/p>\n<p>Finally, don\u2019t forget to join the <a href=\"http:\/\/aka.ms\/sk\/officehours\">APAC Semantic Kernel Office Hours<\/a>\u00a0to discuss anything agentic.<\/p>\n<p>Go and \u201cagentify\u201d your process! \ud83e\udd29<\/p>\n<p><iframe title=\"Building a Personalized Assistant with Azure AI Agent Service &amp; Local SLMs\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/-NArVXw-rMk?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/p>\n<p><!-- notionvc: 50169cc4-ee18-4014-b876-981ad1fc1246 --><\/p>\n<p><!-- notionvc: be067979-f5a2-4b87-bf67-f22793dae472 --><\/p>\n<p><!-- notionvc: d12244f8-5196-484e-b41d-cb8cfe797725 --><\/p>\n<p><!-- notionvc: 49e6ed48-0d07-4af8-8444-c1f9ca814b7a --><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Today we\u2019re excited to welcome Vic Perdana,\u00a0as a guest author on the Semantic Kernel blog today to cover his work on a SemantiClip: A Practical Guide to Building Your Own AI Agent with Semantic Kernel.\u00a0We\u2019ll turn it over to Vic to dive in further. Everywhere you look lately, the buzz is about AI agents. But [&hellip;]<\/p>\n","protected":false},"author":149071,"featured_media":4727,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[117],"tags":[48,63,9],"class_list":["post-4725","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-guest-blog","tag-ai","tag-microsoft-semantic-kernel","tag-semantic-kernel"],"acf":[],"blog_post_summary":"<p>Today we\u2019re excited to welcome Vic Perdana,\u00a0as a guest author on the Semantic Kernel blog today to cover his work on a SemantiClip: A Practical Guide to Building Your Own AI Agent with Semantic Kernel.\u00a0We\u2019ll turn it over to Vic to dive in further. Everywhere you look lately, the buzz is about AI agents. But [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/agent-framework\/wp-json\/wp\/v2\/posts\/4725","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/agent-framework\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/agent-framework\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/agent-framework\/wp-json\/wp\/v2\/users\/149071"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/agent-framework\/wp-json\/wp\/v2\/comments?post=4725"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/agent-framework\/wp-json\/wp\/v2\/posts\/4725\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/agent-framework\/wp-json\/wp\/v2\/media\/4727"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/agent-framework\/wp-json\/wp\/v2\/media?parent=4725"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/agent-framework\/wp-json\/wp\/v2\/categories?post=4725"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/agent-framework\/wp-json\/wp\/v2\/tags?post=4725"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}