{"id":231562,"date":"2024-10-29T09:26:58","date_gmt":"2024-10-29T16:26:58","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/java\/?p=231562"},"modified":"2024-11-20T23:22:00","modified_gmt":"2024-11-21T07:22:00","slug":"technical-preview-github-copilot-upgrade-assistant-for-java","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/java\/technical-preview-github-copilot-upgrade-assistant-for-java\/","title":{"rendered":"Announcing Technical Preview of the GitHub Copilot upgrade assistant for Java"},"content":{"rendered":"<p><span data-contrast=\"none\">As AI and LLMs continue to evolve, agentic workflows are rapidly emerging as the next wave of AI-assistance.<\/span><span data-contrast=\"auto\"> Agentic workflows allow AI systems to coordinate tasks and make decisions with minimal human input. These systems use autonomous agents in their workflow and can bring enormous benefits as they can create plans, perform individual tasks, employ external tools, interact with users, fix errors, and write code! <\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><span class=\"TextRun SCXW39495211 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW39495211 BCX0\">These capabilities allow agentic workflows to address complex, mission-critical, and often tedious tasks in enterprise development cycles. One such challenge is upgrading Java runtimes, frameworks, dependencies, and more. <\/span><\/span><span data-contrast=\"auto\">This may range from being relatively straightforward to more complex as API signatures change and deprecations, or multiple dependencies are involved. We have seen enterprises spending days and weeks upgrading runtimes and frameworks in a codebase, which is a huge commitment of resources and time. <\/span><span data-ccp-props=\"{&quot;335551550&quot;:1,&quot;335551620&quot;:1}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"none\">Today, we are excited to announce a limited <strong>Technical Preview<\/strong> of the <strong>GitHub Copilot upgrade assistant for Java<\/strong>. You can sign-up to join our waitlist <\/span><a href=\"https:\/\/github.com\/features\/preview\/copilot-java-upgrade\"><span data-contrast=\"none\">here<\/span><\/a><span data-contrast=\"none\">!<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"none\">This early preview is an AI-based solution to help you update your Java apps. By installing a <strong>Visual Studio Code<\/strong> extension, you start with a local Java project and work with GitHub Copilot to create a strategy for the upgrade, and let it handle most of the upgrade process autonomously. \u00a0We look forward to working with you as you try and this capability and help us shape this feature.<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<h3 aria-level=\"3\"><span data-contrast=\"none\">Creating an intelligent plan<\/span><\/h3>\n<p><span data-contrast=\"auto\">In this preview experience, the <strong>GitHub Copilot upgrade assistant for Java<\/strong> will analyze your project and work with you to specify things such as parameters like JDK and Maven paths, a feature branch name and more. It will further assess your project for dependencies like Spring Boot and unit test frameworks like JUnit too. You can optionally select to generate a GitHub issue, where a record of the tasks in the proposal and plan will be copied. Once created, the assistant generates a series of tasks or steps, and we think of this as a well-defined strategy for the upgrade that the AI will operate over.<\/span><\/p>\n<p><span data-contrast=\"auto\">You can review the tasks that will be performed before starting the plan execution. The following demos serve as examples based on an <\/span><a href=\"https:\/\/github.com\/zhegexiaohuozi\/SeimiCrawler\">open source repository<\/a>.<\/p>\n<p><div style=\"width: 3842px;\" class=\"wp-video\"><video class=\"wp-video-shortcode\" id=\"video-231562-1\" width=\"3842\" height=\"2162\" preload=\"metadata\" controls=\"controls\"><source type=\"video\/mp4\" src=\"https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2024\/10\/plan-1.mp4?_=1\" \/><a href=\"https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2024\/10\/plan-1.mp4\">https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2024\/10\/plan-1.mp4<\/a><\/video><\/div><\/p>\n<h3 aria-level=\"3\"><span data-contrast=\"none\">Visualizing every task<\/span><\/h3>\n<p><span data-contrast=\"none\">When the upgrade begins, you will see a dashboard that acts as the primary information center where you can access real-time details of every task and sub-task. This includes the commands that the agents in the tasks run such as executing tools like\u00a0<\/span><a href=\"https:\/\/docs.openrewrite.org\/\"><span data-contrast=\"none\">OpenRewrite<\/span><\/a><span data-contrast=\"none\">, or see details like the selected OpenRewite recipes, review modified files and error details, observe the step-by-step logs, and more. You can also explore each task, and sub-task in-depth for more detailed information if necessary. It is important, we feel, to be as trans<\/span><span data-contrast=\"none\">rent as possible in everything that this AI assistant is performing.<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"none\">While upgrading, you have the option to pause, stop, and resume at any point, or even initiate a new upgrade. Again, the assistant offers both control and transparency to you during the entire upgrade process. <\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><div style=\"width: 3842px;\" class=\"wp-video\"><video class=\"wp-video-shortcode\" id=\"video-231562-2\" width=\"3842\" height=\"2162\" preload=\"metadata\" controls=\"controls\"><source type=\"video\/mp4\" src=\"https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2024\/10\/dashboard-1.mp4?_=2\" \/><a href=\"https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2024\/10\/dashboard-1.mp4\">https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2024\/10\/dashboard-1.mp4<\/a><\/video><\/div><\/p>\n<h3><span data-contrast=\"none\">Automatic error fixing and AI collaboration<\/span><\/h3>\n<p><span class=\"TextRun SCXW259196285 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW259196285 BCX0\">Errors or issues always happen. <\/span><span class=\"NormalTextRun SCXW259196285 BCX0\">If an error arises during the upgrade<\/span><span class=\"NormalTextRun SCXW259196285 BCX0\">, whether introduced as part of the <\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW259196285 BCX0\">OpenRew<\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW259196285 BCX0\">r<\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW259196285 BCX0\">ite<\/span><span class=\"NormalTextRun SCXW259196285 BCX0\"> code transformation process or<\/span><span class=\"NormalTextRun SCXW259196285 BCX0\"> from other parts of the upgrade process<\/span><span class=\"NormalTextRun SCXW259196285 BCX0\">, then the <\/span><span class=\"NormalTextRun SCXW259196285 BCX0\">assistant <\/span><span class=\"NormalTextRun SCXW259196285 BCX0\">uses another agent and sub-agents <\/span><span class=\"NormalTextRun ContextualSpellingAndGrammarErrorV2Themed SCXW259196285 BCX0\">to <\/span><span class=\"NormalTextRun ContextualSpellingAndGrammarErrorV2Themed SCXW259196285 BCX0\">de<\/span><span class=\"NormalTextRun ContextualSpellingAndGrammarErrorV2Themed SCXW259196285 BCX0\">al<\/span><span class=\"NormalTextRun SCXW259196285 BCX0\"> with these <\/span><span class=\"NormalTextRun ContextualSpellingAndGrammarErrorV2Themed SCXW259196285 BCX0\">through<\/span><span class=\"NormalTextRun ContextualSpellingAndGrammarErrorV2Themed SCXW259196285 BCX0\">\u00a0a<\/span> <span class=\"NormalTextRun SCXW259196285 BCX0\">dynamic <\/span><span class=\"NormalTextRun SCXW259196285 BCX0\">build\/fix<\/span> <span class=\"NormalTextRun SCXW259196285 BCX0\">AI-<\/span><span class=\"NormalTextRun SCXW259196285 BCX0\">loop<\/span><span class=\"NormalTextRun SCXW259196285 BCX0\">.<\/span> <span class=\"NormalTextRun SCXW259196285 BCX0\">Errors<\/span><span class=\"NormalTextRun SCXW259196285 BCX0\"> will <\/span><span class=\"NormalTextRun SCXW259196285 BCX0\">be <\/span><span class=\"NormalTextRun SCXW259196285 BCX0\">resolve<\/span><span class=\"NormalTextRun SCXW259196285 BCX0\">d <\/span><span class=\"NormalTextRun CommentStart CommentHighlightPipeRest CommentHighlightRest SCXW259196285 BCX0\">automatically<\/span><span class=\"NormalTextRun CommentHighlightPipeRest SCXW259196285 BCX0\"> without <\/span><span class=\"NormalTextRun SCXW259196285 BCX0\">you<\/span><span class=\"NormalTextRun SCXW259196285 BCX0\">r<\/span> <span class=\"NormalTextRun SCXW259196285 BCX0\">intervention<\/span><span class=\"NormalTextRun SCXW259196285 BCX0\"> and <\/span><span class=\"NormalTextRun SCXW259196285 BCX0\">validated<\/span><span class=\"NormalTextRun SCXW259196285 BCX0\"> by <\/span><span class=\"NormalTextRun SCXW259196285 BCX0\">re-<\/span><span class=\"NormalTextRun SCXW259196285 BCX0\">building the project. If <\/span><span class=\"NormalTextRun SCXW259196285 BCX0\">the issue persists, the<\/span> <span class=\"NormalTextRun SCXW259196285 BCX0\">assistant <\/span><span class=\"NormalTextRun SCXW259196285 BCX0\">will continue <\/span><span class=\"NormalTextRun SCXW259196285 BCX0\">by <\/span><span class=\"NormalTextRun SCXW259196285 BCX0\">try<\/span><span class=\"NormalTextRun SCXW259196285 BCX0\">ing<\/span><span class=\"NormalTextRun SCXW259196285 BCX0\"> different approaches<\/span><span class=\"NormalTextRun SCXW259196285 BCX0\"> and reviewing them, <\/span><span class=\"NormalTextRun SCXW259196285 BCX0\">and <\/span><span class=\"NormalTextRun ContextualSpellingAndGrammarErrorV2Themed SCXW259196285 BCX0\">only<\/span> <span class=\"NormalTextRun SCXW259196285 BCX0\">if <\/span><span class=\"NormalTextRun SCXW259196285 BCX0\">determines<\/span> <span class=\"NormalTextRun SCXW259196285 BCX0\">that it needs <\/span><span class=\"NormalTextRun ContextualSpellingAndGrammarErrorV2Themed SCXW259196285 BCX0\">assistance,<\/span><span class=\"NormalTextRun SCXW259196285 BCX0\"> will <\/span><span class=\"NormalTextRun SCXW259196285 BCX0\">it ask for <\/span><span class=\"NormalTextRun SCXW259196285 BCX0\">\u201c<\/span><span class=\"NormalTextRun SCXW259196285 BCX0\">human<\/span><span class=\"NormalTextRun SCXW259196285 BCX0\">\u201d<\/span> <span class=\"NormalTextRun ContextualSpellingAndGrammarErrorV2Themed SCXW259196285 BCX0\">help <\/span><span class=\"NormalTextRun ContextualSpellingAndGrammarErrorV2Themed SCXW259196285 BCX0\">.<\/span><span class=\"NormalTextRun SCXW259196285 BCX0\"> The <\/span><span class=\"NormalTextRun SCXW259196285 BCX0\">assistant <\/span><span class=\"NormalTextRun SCXW259196285 BCX0\">will <\/span><span class=\"NormalTextRun SCXW259196285 BCX0\">clearly <\/span><span class=\"NormalTextRun SCXW259196285 BCX0\">indicate<\/span><span class=\"NormalTextRun SCXW259196285 BCX0\"> where your help <\/span><span class=\"NormalTextRun SCXW259196285 BCX0\">or <\/span><span class=\"NormalTextRun SCXW259196285 BCX0\">intervention is needed.<\/span><\/span><span class=\"EOP SCXW259196285 BCX0\" data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><div style=\"width: 3842px;\" class=\"wp-video\"><video class=\"wp-video-shortcode\" id=\"video-231562-3\" width=\"3842\" height=\"2162\" preload=\"metadata\" controls=\"controls\"><source type=\"video\/mp4\" src=\"https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2024\/10\/buildfixloop.mp4?_=3\" \/><a href=\"https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2024\/10\/buildfixloop.mp4\">https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2024\/10\/buildfixloop.mp4<\/a><\/video><\/div><\/p>\n<h3 aria-level=\"3\"><span data-contrast=\"none\">Learning from developers<\/span><\/h3>\n<p><span class=\"TextRun SCXW94976009 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW94976009 BCX0\">When <\/span><span class=\"NormalTextRun SCXW94976009 BCX0\">users <\/span><span class=\"NormalTextRun SCXW94976009 BCX0\">are involved and <\/span><span class=\"NormalTextRun SCXW94976009 BCX0\">manually <\/span><span class=\"NormalTextRun SCXW94976009 BCX0\">correct errors <\/span><span class=\"NormalTextRun SCXW94976009 BCX0\">or issues in the <\/span><span class=\"NormalTextRun SCXW94976009 BCX0\">upgrade<\/span><span class=\"NormalTextRun SCXW94976009 BCX0\">, <\/span><span class=\"NormalTextRun SCXW94976009 BCX0\">the assistant <\/span><span class=\"NormalTextRun SCXW94976009 BCX0\">and AI, <\/span><span class=\"NormalTextRun SCXW94976009 BCX0\">learns <\/span><span class=\"NormalTextRun SCXW94976009 BCX0\">from these changes <\/span><span class=\"NormalTextRun SCXW94976009 BCX0\">and <\/span><span class=\"NormalTextRun SCXW94976009 BCX0\">if applicable, it will <\/span><span class=\"NormalTextRun SCXW94976009 BCX0\">appl<\/span><span class=\"NormalTextRun SCXW94976009 BCX0\">y this learning to<\/span><span class=\"NormalTextRun SCXW94976009 BCX0\">\u00a0<\/span><span class=\"NormalTextRun SCXW94976009 BCX0\">future <\/span><span class=\"NormalTextRun SCXW94976009 BCX0\">patterns or issues<\/span><span class=\"NormalTextRun SCXW94976009 BCX0\">. <\/span><span class=\"NormalTextRun SCXW94976009 BCX0\">You\u2019ll<\/span><span class=\"NormalTextRun SCXW94976009 BCX0\"> be able to see when this occurs as <\/span><span class=\"NormalTextRun SCXW94976009 BCX0\">fixes are marked with \u201cFixed using developer guidance<\/span><span class=\"NormalTextRun CommentStart CommentHighlightPipeRest CommentHighlightRest SCXW94976009 BCX0\">\u201d<\/span> <span class=\"NormalTextRun SCXW94976009 BCX0\">icon<\/span><span class=\"NormalTextRun SCXW94976009 BCX0\">.<\/span><\/span><span class=\"EOP SCXW94976009 BCX0\" data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><div style=\"width: 3842px;\" class=\"wp-video\"><video class=\"wp-video-shortcode\" id=\"video-231562-4\" width=\"3842\" height=\"2162\" preload=\"metadata\" controls=\"controls\"><source type=\"video\/mp4\" src=\"https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2024\/10\/developerguidance-1.mp4?_=4\" \/><a href=\"https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2024\/10\/developerguidance-1.mp4\">https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2024\/10\/developerguidance-1.mp4<\/a><\/video><\/div><\/p>\n<h3><span class=\"TextRun SCXW50635036 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW50635036 BCX0\">Branches<\/span><span class=\"NormalTextRun SCXW50635036 BCX0\">, Tasks, <\/span><span class=\"NormalTextRun SCXW50635036 BCX0\">Commits and <\/span><span class=\"NormalTextRun SCXW50635036 BCX0\">the <\/span><span class=\"NormalTextRun SCXW50635036 BCX0\">PR <\/span><span class=\"NormalTextRun SCXW50635036 BCX0\">P<\/span><span class=\"NormalTextRun SCXW50635036 BCX0\">rocesse<\/span><span class=\"NormalTextRun SCXW50635036 BCX0\">s<\/span><\/span><span class=\"EOP SCXW50635036 BCX0\" data-ccp-props=\"{}\">\u00a0<\/span><\/h3>\n<p><span data-contrast=\"auto\">During operation the assistant performs local code commits against a new feature branch. This means that all of the code changes are controlled in a manner separate from your day to day work. All commits occur against a specific task in the plan, for example, all code changes resulting from OpenRewrite transformations, or during the dynamic build\/fix loop.<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">To help understand what occurred, the assistant marks commits based on the action taken. For example, changes made by the OpenRewrite tool, or by AI in the dynamic build\/fix loop, or by user intervention. This means that in the review stage, you can focus on specific changes.<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<h3 aria-level=\"3\"><span data-contrast=\"none\">Summarizing the upgrade process<\/span><span data-ccp-props=\"{&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;335559738&quot;:160,&quot;335559739&quot;:80}\">\u00a0<\/span><\/h3>\n<p><span class=\"TextRun SCXW69338747 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW69338747 BCX0\">The <\/span><span class=\"NormalTextRun SCXW69338747 BCX0\">summary <\/span><span class=\"NormalTextRun SCXW69338747 BCX0\">at the end of <\/span><span class=\"NormalTextRun ContextualSpellingAndGrammarErrorV2Themed SCXW69338747 BCX0\">upgrade<\/span> <span class=\"NormalTextRun SCXW69338747 BCX0\">provides<\/span><span class=\"NormalTextRun SCXW69338747 BCX0\"> you with<\/span><span class=\"NormalTextRun SCXW69338747 BCX0\"> an overview of key details, including<\/span><span class=\"NormalTextRun SCXW69338747 BCX0\"> file changes, updated dependenci<\/span><span class=\"NormalTextRun SCXW69338747 BCX0\">es, <\/span><span class=\"NormalTextRun SCXW69338747 BCX0\">and <\/span><span class=\"NormalTextRun SCXW69338747 BCX0\">commits in the working branch.<\/span> <\/span><span class=\"TextRun SCXW69338747 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW69338747 BCX0\">The error summary section also shows <\/span><span class=\"NormalTextRun SCXW69338747 BCX0\">you <\/span><span class=\"NormalTextRun SCXW69338747 BCX0\">how errors <\/span><span class=\"NormalTextRun SCXW69338747 BCX0\">were<\/span><span class=\"NormalTextRun SCXW69338747 BCX0\"> resolved, whether by AI, <\/span><span class=\"NormalTextRun SCXW69338747 BCX0\">by <\/span><span class=\"NormalTextRun ContextualSpellingAndGrammarErrorV2Themed SCXW69338747 BCX0\">you<\/span><span class=\"NormalTextRun ContextualSpellingAndGrammarErrorV2Themed SCXW69338747 BCX0\">,<\/span><span class=\"NormalTextRun SCXW69338747 BCX0\"> or with <\/span><span class=\"NormalTextRun SCXW69338747 BCX0\">learning <\/span><span class=\"NormalTextRun SCXW69338747 BCX0\">guidance<\/span><span class=\"NormalTextRun SCXW69338747 BCX0\">.<\/span><\/span><span class=\"TextRun SCXW69338747 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"> <span class=\"NormalTextRun SCXW69338747 BCX0\">At this stage, we recommend that you run the app to ensure that <\/span><span class=\"NormalTextRun SCXW69338747 BCX0\">all tests <\/span><span class=\"NormalTextRun ContextualSpellingAndGrammarErrorV2Themed SCXW69338747 BCX0\">pass<\/span><span class=\"NormalTextRun SCXW69338747 BCX0\"> and the app behaves as you expect. Then<\/span><span class=\"NormalTextRun SCXW69338747 BCX0\"> you <\/span><span class=\"NormalTextRun SCXW69338747 BCX0\">have the <\/span><span class=\"NormalTextRun SCXW69338747 BCX0\">option<\/span><span class=\"NormalTextRun SCXW69338747 BCX0\"> to<\/span><span class=\"NormalTextRun SCXW69338747 BCX0\"> directly merge the change and <\/span><span class=\"NormalTextRun SCXW69338747 BCX0\">create <\/span><span class=\"NormalTextRun SCXW69338747 BCX0\">a Pull Request!<\/span> <\/span><span class=\"EOP SCXW69338747 BCX0\" data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><div style=\"width: 3842px;\" class=\"wp-video\"><video class=\"wp-video-shortcode\" id=\"video-231562-5\" width=\"3842\" height=\"2162\" preload=\"metadata\" controls=\"controls\"><source type=\"video\/mp4\" src=\"https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2024\/10\/summary-1.mp4?_=5\" \/><a href=\"https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2024\/10\/summary-1.mp4\">https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2024\/10\/summary-1.mp4<\/a><\/video><\/div><\/p>\n<h3><span data-contrast=\"none\">Sign up for Technical Preview<\/span><\/h3>\n<p><span data-contrast=\"auto\">Ready to save time for upgrading Java? You can apply for the wait list to the <strong>Technical Preview <\/strong><\/span><a href=\"https:\/\/github.com\/features\/preview\/copilot-java-upgrade\"><span data-contrast=\"none\">right here<\/span><\/a><span data-contrast=\"auto\">. This early access will be limited to a few selected customers just for a while, but we encourage you to sign-up and provide feedback!<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><span class=\"TextRun SCXW37788846 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW37788846 BCX0\">This is the beginning of our efforts to offer AI experiences that <\/span><span class=\"NormalTextRun SCXW37788846 BCX0\">assist<\/span><span class=\"NormalTextRun SCXW37788846 BCX0\"> you and your organization in reducing technical debt and saving time on mission-critical tasks.<\/span><\/span><span class=\"EOP SCXW37788846 BCX0\" data-ccp-props=\"{&quot;335551550&quot;:1,&quot;335551620&quot;:1}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">The era of AI is exciting, and we believe this is just the beginning. We are bringing more support for complex workflows to help customers deal with these tasks. Collaboration between artificial intelligence and human will enable us to achieve creative solutions and increase our efficiency, saving thousands of hours in our work.\u00a0<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>As AI and LLMs continue to evolve, agentic workflows are rapidly emerging as the next wave of AI-assistance. Agentic workflows allow AI systems to coordinate tasks and make decisions with minimal human input. These systems use autonomous agents in their workflow and can bring enormous benefits as they can create plans, perform individual tasks, employ [&hellip;]<\/p>\n","protected":false},"author":31999,"featured_media":231598,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[14,22,803,1,15],"tags":[],"class_list":["post-231562","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cloud","category-desktop","category-intelligent-apps","category-java","category-vscode"],"acf":[],"blog_post_summary":"<p>As AI and LLMs continue to evolve, agentic workflows are rapidly emerging as the next wave of AI-assistance. Agentic workflows allow AI systems to coordinate tasks and make decisions with minimal human input. These systems use autonomous agents in their workflow and can bring enormous benefits as they can create plans, perform individual tasks, employ [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/java\/wp-json\/wp\/v2\/posts\/231562","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/java\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/java\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/java\/wp-json\/wp\/v2\/users\/31999"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/java\/wp-json\/wp\/v2\/comments?post=231562"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/java\/wp-json\/wp\/v2\/posts\/231562\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/java\/wp-json\/wp\/v2\/media\/231598"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/java\/wp-json\/wp\/v2\/media?parent=231562"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/java\/wp-json\/wp\/v2\/categories?post=231562"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/java\/wp-json\/wp\/v2\/tags?post=231562"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}