{"id":2195,"date":"2025-11-03T09:33:00","date_gmt":"2025-11-03T07:33:00","guid":{"rendered":"https:\/\/techlance.ddns.net\/?p=2195"},"modified":"2025-11-03T09:33:53","modified_gmt":"2025-11-03T07:33:53","slug":"rakenna-pitkakestoisia-ai-agentteja-azure-app-servicella-ja-microsoft-agent-frameworkilla","status":"publish","type":"post","link":"https:\/\/techlance.ddns.net\/en\/rakenna-pitkakestoisia-ai-agentteja-azure-app-servicella-ja-microsoft-agent-frameworkilla\/","title":{"rendered":"Rakenna pitk\u00e4kestoisia AI-agentteja Azure App Servicell\u00e4 ja Microsoft Agent Frameworkilla"},"content":{"rendered":"<p>Teko\u00e4lyn kehitys etenee vauhdilla \u2013 ja nyt <strong>Microsoft Agent Framework<\/strong> tuo kehitt\u00e4jien k\u00e4ytt\u00f6\u00f6n uudenlaisen alustan, jolla voidaan rakentaa <strong>pitk\u00e4kestoisia, \u00e4lykk\u00e4it\u00e4 ja monivaiheisia AI-agentteja<\/strong>. N\u00e4iden avulla voidaan toteuttaa huomattavasti perinteisi\u00e4 chatbotteja monimutkaisempia ty\u00f6nkulkuja, jotka s\u00e4ilytt\u00e4v\u00e4t kontekstin, hallitsevat tilaa ja suorittavat teht\u00e4vi\u00e4 useassa vaiheessa.<\/p>\n\n\n\n<p>T\u00e4ss\u00e4 artikkelissa tarkastellaan, miten <strong>Azure App Service<\/strong> tarjoaa erinomaisen alustan Agent Framework -ratkaisujen ajamiseen \u2013 erityisesti silloin, kun kyseess\u00e4 on <strong>pitk\u00e4kestoinen teko\u00e4lyprosessi<\/strong>.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83d\udd0d Haaste: Pitk\u00e4kestoiset Agent Framework -ty\u00f6nkulut<\/h3>\n\n\n\n<p>Agent Framework mahdollistaa agentit, jotka suorittavat teht\u00e4vi\u00e4, joiden toteuttaminen voi kest\u00e4\u00e4 minuutteja:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Monivaiheinen p\u00e4\u00e4ttely:<\/strong> useita LLM-kutsuja, joissa jokainen tulos vaikuttaa seuraavaan vaiheeseen<\/li>\n\n\n\n<li><strong>Ty\u00f6kalujen integrointi:<\/strong> reaaliaikaiset API- ja tietokantayhteydet<\/li>\n\n\n\n<li><strong>Monimutkainen prosessointi:<\/strong> budjettilaskenta, sis\u00e4ll\u00f6n optimointi, raporttien koostaminen<\/li>\n\n\n\n<li><strong>Pysyv\u00e4 tila:<\/strong> keskustelun ja kontekstin s\u00e4ilytt\u00e4minen eri vaiheiden v\u00e4lill\u00e4<\/li>\n<\/ul>\n\n\n\n<p>Perinteinen verkkosovellusmalli ei kuitenkaan sovellu t\u00e4llaisiin prosesseihin \u2013 HTTP-pyynn\u00f6t aikakatkaistuvat (yleens\u00e4 30\u2013230 sekunnissa), yhteydet voivat katketa, ja pitk\u00e4t teht\u00e4v\u00e4t kuormittavat palvelinta.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83d\udca1 Ratkaisu: Asynkroninen k\u00e4sittelymalli Azure App Servicell\u00e4<\/h3>\n\n\n\n<p>Azure App Service tarjoaa tehokkaan tavan ratkaista n\u00e4m\u00e4 ongelmat k\u00e4ytt\u00e4m\u00e4ll\u00e4 <strong>asynkronista request\u2013reply -mallia<\/strong> ja taustaprosessointia:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>API vastaa heti (202 Accepted)<\/strong> ja palauttaa teht\u00e4v\u00e4n tunnuksen.<\/li>\n\n\n\n<li><strong>Taustaprosessi<\/strong> jatkaa Agent Framework -teht\u00e4v\u00e4n suorittamista.<\/li>\n\n\n\n<li><strong>Asiakas sovellus<\/strong> kysyy tilap\u00e4ivityksi\u00e4 reaaliaikaisesti.<\/li>\n\n\n\n<li><strong>Cosmos DB<\/strong> tallentaa teht\u00e4v\u00e4n tilan ja lopputulokset pysyv\u00e4sti.<\/li>\n<\/ol>\n\n\n\n<p>T\u00e4m\u00e4 malli tarjoaa:<br>\u2705 Ei aikakatkaisuja<br>\u2705 Kest\u00e4vyytt\u00e4 uudelleenk\u00e4ynnistyksiss\u00e4<br>\u2705 Skaalautuvuutta ja tilan s\u00e4ilyvyytt\u00e4<br>\u2705 K\u00e4ytt\u00e4j\u00e4yst\u00e4v\u00e4llisen kokemuksen reaaliaikaisilla etenem\u00e4p\u00e4ivityksill\u00e4<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">\u2708\ufe0f Esimerkki: AI Travel Planner<\/h3>\n\n\n\n<p>Microsoftin esimerkkisovellus <strong>Travel Planner<\/strong> n\u00e4ytt\u00e4\u00e4 mallin k\u00e4yt\u00e4nn\u00f6ss\u00e4. Agentti suunnittelee yksityiskohtaisen matkareitin, laskee budjetit, valitsee aktiviteetit ja optimoi aikataulut \u2013 kaikki GPT-4o-mallin ja Agent Frameworkin avulla.<\/p>\n\n\n\n<p>Sovellus toimii yhdell\u00e4 App Service -instanssilla (P0v4 Premium), jossa API ja taustaprosessori toimivat rinnakkain.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83e\udde9 Arkkitehtuurin keskeiset osat<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Azure App Service (P0v4 Premium):<\/strong> API ja taustaprosessi samassa sovelluksessa, Always On -tila p\u00e4\u00e4ll\u00e4.<\/li>\n\n\n\n<li><strong>Azure Service Bus:<\/strong> viestien v\u00e4litys API:n ja taustaprosessien v\u00e4lill\u00e4.<\/li>\n\n\n\n<li><strong>Azure Cosmos DB:<\/strong> tilan ja tulosten tallennus reaaliaikaisesti.<\/li>\n\n\n\n<li><strong>Azure AI Foundry:<\/strong> agenttien pysyv\u00e4 is\u00e4nn\u00f6inti ja keskustelujen s\u00e4ilytys.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">\u2699\ufe0f Miksi App Service on ihanteellinen alusta?<\/h3>\n\n\n\n<p><strong>\ud83d\ude80 Yksinkertaisuus ja nopeus<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Ei tarvetta konttiorkestraatioille tai monimutkaisille pipelineille<\/li>\n\n\n\n<li>API ja taustaprosessi yhdell\u00e4 sovelluksella<\/li>\n\n\n\n<li>T\u00e4ysi CI\/CD-tuki GitHub Actionsin ja Azure DevOpsin kautta<\/li>\n<\/ul>\n\n\n\n<p><strong>\ud83d\udcb0 Kustannustehokkuus<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Yksi App Service -instanssi riitt\u00e4\u00e4 useimpiin k\u00e4ytt\u00f6tapauksiin<\/li>\n\n\n\n<li>Ei erillist\u00e4 infrastruktuuria taustaprosessointiin<\/li>\n<\/ul>\n\n\n\n<p><strong>\ud83d\udd12 Yritystason suojaus<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Azure AD -autentikointi ja hallitut identiteetit<\/li>\n\n\n\n<li>Private Endpoint -integraatiot Cosmos DB:hen, Service Busiin ja AI Foundryyn<\/li>\n<\/ul>\n\n\n\n<p><strong>\ud83d\udcca Kehitt\u00e4jille tuttu ymp\u00e4rist\u00f6<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Sama seurantaty\u00f6kalusto: Application Insights, lokit ja et\u00e4debuggaus<\/li>\n\n\n\n<li>Tutut .NET-pohjaiset mallit<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83d\udd04 Joustava ja tulevaisuuteen valmis<\/h3>\n\n\n\n<p>App Service -alusta mukautuu nopeasti uusiin AI-kehityksiin:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>P\u00e4ivit\u00e4 Agent Framework -versiot kuten tavalliset sovellusp\u00e4ivitykset<\/li>\n\n\n\n<li>Vaihda mallien (esim. GPT-4o \u2192 GPT-5) v\u00e4lill\u00e4 ilman infrastruktuurimuutoksia<\/li>\n\n\n\n<li>Skaalaa API ja taustaprosessit erikseen tarpeen kasvaessa<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83e\udde0 N\u00e4kyvyys ja hallinta<\/h3>\n\n\n\n<p>Azure AI Foundry tarjoaa reaaliaikaisen n\u00e4kym\u00e4n agenttien ja keskustelus\u00e4ikeiden toimintaan \u2013 kehitt\u00e4j\u00e4t voivat tarkastella promptteja, vasteita ja suoritusketjuja suoraan Azure-portaalissa.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83d\ude80 Aloita t\u00e4n\u00e4\u00e4n<\/h3>\n\n\n\n<p>Lataa valmis referenssisovellus GitHubista ja kokeile itse:<br>\ud83d\udd17 <a href=\"https:\/\/github.com\/Azure-Samples\/app-service-agent-framework-travel-agent-dotnet\">Azure Samples \u2013 App Service Agent Framework Travel Agent (.NET)<\/a><\/p>\n\n\n\n<p>K\u00e4ynnistys komennolla:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>git clone https:\/\/github.com\/Azure-Samples\/app-service-agent-framework-travel-agent-dotnet.git  \ncd app-service-agent-framework-travel-agent-dotnet  \nazd auth login  \nazd up\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83d\udd11 Yhteenveto<\/h3>\n\n\n\n<p>\u2705 Agent Framework mahdollistaa pitk\u00e4kestoiset, \u00e4lykk\u00e4\u00e4t teko\u00e4lyprosessit<br>\u2705 App Service ratkaisee aikakatkaisujen ja tilanhallinnan haasteet<br>\u2705 Yksinkertainen, kustannustehokas ja turvallinen alusta<br>\u2705 T\u00e4ydellinen valinta tuotantotason AI-agenttien kehitt\u00e4miseen<\/p>","protected":false},"excerpt":{"rendered":"<p>Teko\u00e4lyn kehitys etenee vauhdilla \u2013 ja nyt Microsoft Agent Framework tuo kehitt\u00e4jien k\u00e4ytt\u00f6\u00f6n uudenlaisen alustan, jolla voidaan rakentaa pitk\u00e4kestoisia, \u00e4lykk\u00e4it\u00e4 [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[19,24,32],"tags":[14,25,33],"class_list":["post-2195","post","type-post","status-publish","format-standard","hentry","category-azure","category-keinoaly","category-tekoaly","tag-azure","tag-ai","tag-tekoaly"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/techlance.ddns.net\/en\/wp-json\/wp\/v2\/posts\/2195","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/techlance.ddns.net\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/techlance.ddns.net\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/techlance.ddns.net\/en\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/techlance.ddns.net\/en\/wp-json\/wp\/v2\/comments?post=2195"}],"version-history":[{"count":0,"href":"https:\/\/techlance.ddns.net\/en\/wp-json\/wp\/v2\/posts\/2195\/revisions"}],"wp:attachment":[{"href":"https:\/\/techlance.ddns.net\/en\/wp-json\/wp\/v2\/media?parent=2195"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/techlance.ddns.net\/en\/wp-json\/wp\/v2\/categories?post=2195"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/techlance.ddns.net\/en\/wp-json\/wp\/v2\/tags?post=2195"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}