[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M699B6465FQR034D2S2GWWHJ":3,"skill-same:01M699B6465FQR034D2S2GWWHJ":63},{"skillNo":4,"name":5,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":17,"publishedAt":20,"linkOnly":21,"markdownContent":22,"markdownBody":23,"frontMatter":24,"refName":25,"commitSha":26,"skillDirectory":27,"forksCount":28,"repositoryHtmlUrl":29,"repositoryHomepageUrl":30,"ownerHtmlUrl":31,"ownerBlogUrl":32,"ownerDescription":33,"updatedAt":34,"install":35,"resources":48},"01M699B6465FQR034D2S2GWWHJ","local-ai-agents",null,"microsoft\u002Fai-agents-for-beginners","microsoft","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F6154722?v=4","01M698VYDXZ6JW5WH3CRV650R8","Microsoft","01M6998ZK2275KMJE6Y5SEA2X2",79423,"MIT","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fai-agents-for-beginners\u002Fblob\u002Fmain\u002Ftranslations\u002Fcs\u002F.agents\u002Fskills\u002Flocal-ai-agents\u002FSKILL.md",[],[18,19],"ai agents","local ai agents","2026-11-10 10:12:30",false,"---\nname: local-ai-agents\nlicense: MIT\n---\n# Vytváření lokálních AI agentů s Foundry Local a Qwen\n\n> Doprovodná dovednost pro [Lekci 17 – Vytváření lokálních AI agentů](..\u002F..\u002F..\u002F17-creating-local-ai-agents\u002FREADME.md).\n> Použijte ji k tomu, aby si učenec vytvořil agenta, který uvažuje, volá nástroje a hledá\n> dokumentaci kompletně na svém vlastním počítači — bez využití cloudu. Všechny\n> doporučení zakotvěte v obsahu lekce a spustitelném notebooku.\n\n## Spouštěče\n\nAktivujte tuto dovednost, když učenec chce:\n- Spustit agenta **zcela na zařízení** kvůli ochraně soukromí, nákladům nebo offline provozu.\n- Poskytovat model lokálně pomocí **Foundry Local** a připojit se přes OpenAI-kompatibilní endpoint.\n- Použít model **Qwen s voláním funkcí** k spolehlivému lokálnímu volání nástrojů.\n- Přidat **lokální RAG** (Chroma) nebo **lokální MCP server**.\n- Navrhnout **hybridní** strategii směrování mezi lokálním a cloudovým modelem.\n\n## Základní mentální model\n\nSLM vyměňuje rozsah za soukromí, nízké náklady a offline provoz. Vítězná\nstrategie: **nechte SLM orchestraci a nástroje nechte dělat těžkou práci.** Model\nnemusí *znát* kódovou základnu — musí vědět, kdy zavolat\n`read_file` a `search_docs`. To hraje na silné stránky SLM (omezena rozhodnutí\njako výběr nástroje) a vyhýbá se jeho slabině (široké znalosti, dlouhé multi-hop\nuvažování).\n\n## Proč právě tyto komponenty\n\n- **Foundry Local** zpřístupňuje **OpenAI-kompatibilní HTTP endpoint**, takže kód cloudového agenta se přenáší pouhou změnou `base_url` (a využitím místního placeholder API klíče). Navíc automaticky vybírá nejlepší build (CPU\u002FGPU\u002FNPU) pro počítač.\n- Modely **Qwen** jsou trénovány pro volání funkcí a konzistentně generují dobře formátované volání nástrojů — to mění lokální *chat* model na lokální *agenta*.\n- **Chroma** běží v rámci procesu a ukládá vektory na disk, takže celý RAG pipeline (embed → store → retrieve → reason) zůstává lokální.\n- **MCP** je transport, nikoliv cloudová služba: MCP server může běžet lokálně přes `stdio`.\n\n## Základy nastavení\n\n```bash\nfoundry model run qwen2.5-7b-instruct\nfoundry service status\n```\n\n```python\nfrom foundry_local import FoundryLocalManager\nfrom openai import OpenAI\n\nmanager = FoundryLocalManager(\"qwen2.5-7b-instruct\")\nclient = OpenAI(base_url=manager.endpoint, api_key=manager.api_key)  # místní zástupný symbol\n```\n\n~8 GB RAM je realistické minimum; GPU\u002FNPU pomůže, ale není nutná.\n\n## Klíčové vzory k reprodukci\n\nOdkazujte učenče na notebook\n[`17-local-agent-foundry-local.ipynb`](..\u002F..\u002F..\u002F17-creating-local-ai-agents\u002Fcode_samples\u002F17-local-agent-foundry-local.ipynb):\n\n- **Sandboxované nástroje**: každý nástroj pro práci se soubory řeší cesty a odmítá vše mimo kořenový adresář jednoho projektu — i lokálně nástroj běží s oprávněními uživatele.\n- **Smyčka volání nástrojů**: zaregistrujte nástroje pomocí OpenAI schématu nástrojů, spouštějte požadované nástroje lokálně, předávejte výsledky zpět, opakujte až do konečné odpovědi.\n- **Lokální RAG**: vložte dokumenty do Chroma kolekce; `search_docs` vrací top-k bloků.\n- **Lokální MCP**: připojte se k lokálnímu serveru přes `stdio`; omezte ho na adresář projektu a validujte jeho výstupy.\n\n## Hybridní směrování (lokální jako jeden z modelů)\n\n| Situace | Kde běží |\n|-----------|---------------|\n| Citlivá data \u002F offline | Lokální SLM |\n| Jednoduchý, omezený úkol | Lokální SLM (levný, rychlý) |\n| Náročné multi-hop uvažování nad necitlivými daty | Cloudový model |\n| Výpadek cloudu | Lokální SLM (plynulá degradace) |\n\nToto odráží myšlenku směrování modelu z Lekce 16, kdy pracovní stanice je jedna\nz cest. Upřednostňujte návrhy, které v případě potřeby přecházejí na lokální, aby agent degradoval v\nkvalitě, místo aby selhal úplně.\n\n## Ochranná opatření pro asistenta\n\n- Každou operaci se soubory\u002Fnástroji omezte na sandboxovaný adresář projektu.\n- Nezasílejte kód ani data do cloudu, pokud je cílem uživatele soukromí\u002Foffline provoz — udržujte celý pipeline lokální.\n- Nastavte realistická očekávání ohledně kvality SLM; spoléhajte na nástroje a RAG spíše než na zapamatované znalosti modelu.\n- Všimněte si, že Lekce 17 **nemá** endpoint Foundry Responses, takže testovací akce na cloud neplatí — ověřte spuštěním notebooku lokálně.\n\n---\n\n\u003C!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**Prohlášení o omezení odpovědnosti**:\nTento dokument byl přeložen pomocí AI překladatelské služby [Co-op Translator](https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator). Přestože usilujeme o co největší přesnost, mějte prosím na paměti, že automatizované překlady mohou obsahovat chyby nebo nepřesnosti. Originální dokument v jeho mateřském jazyce by měl být považován za autoritativní zdroj. Pro kritické informace se doporučuje profesionální lidský překlad. Nejsme odpovědní za jakékoli nedorozumění nebo nesprávné interpretace vzniklé použitím tohoto překladu.\n\u003C!-- CO-OP TRANSLATOR DISCLAIMER END -->","# Vytváření lokálních AI agentů s Foundry Local a Qwen\n\n> Doprovodná dovednost pro [Lekci 17 – Vytváření lokálních AI agentů](..\u002F..\u002F..\u002F17-creating-local-ai-agents\u002FREADME.md).\n> Použijte ji k tomu, aby si učenec vytvořil agenta, který uvažuje, volá nástroje a hledá\n> dokumentaci kompletně na svém vlastním počítači — bez využití cloudu. Všechny\n> doporučení zakotvěte v obsahu lekce a spustitelném notebooku.\n\n## Spouštěče\n\nAktivujte tuto dovednost, když učenec chce:\n- Spustit agenta **zcela na zařízení** kvůli ochraně soukromí, nákladům nebo offline provozu.\n- Poskytovat model lokálně pomocí **Foundry Local** a připojit se přes OpenAI-kompatibilní endpoint.\n- Použít model **Qwen s voláním funkcí** k spolehlivému lokálnímu volání nástrojů.\n- Přidat **lokální RAG** (Chroma) nebo **lokální MCP server**.\n- Navrhnout **hybridní** strategii směrování mezi lokálním a cloudovým modelem.\n\n## Základní mentální model\n\nSLM vyměňuje rozsah za soukromí, nízké náklady a offline provoz. Vítězná\nstrategie: **nechte SLM orchestraci a nástroje nechte dělat těžkou práci.** Model\nnemusí *znát* kódovou základnu — musí vědět, kdy zavolat\n`read_file` a `search_docs`. To hraje na silné stránky SLM (omezena rozhodnutí\njako výběr nástroje) a vyhýbá se jeho slabině (široké znalosti, dlouhé multi-hop\nuvažování).\n\n## Proč právě tyto komponenty\n\n- **Foundry Local** zpřístupňuje **OpenAI-kompatibilní HTTP endpoint**, takže kód cloudového agenta se přenáší pouhou změnou `base_url` (a využitím místního placeholder API klíče). Navíc automaticky vybírá nejlepší build (CPU\u002FGPU\u002FNPU) pro počítač.\n- Modely **Qwen** jsou trénovány pro volání funkcí a konzistentně generují dobře formátované volání nástrojů — to mění lokální *chat* model na lokální *agenta*.\n- **Chroma** běží v rámci procesu a ukládá vektory na disk, takže celý RAG pipeline (embed → store → retrieve → reason) zůstává lokální.\n- **MCP** je transport, nikoliv cloudová služba: MCP server může běžet lokálně přes `stdio`.\n\n## Základy nastavení\n\n```bash\nfoundry model run qwen2.5-7b-instruct\nfoundry service status\n```\n\n```python\nfrom foundry_local import FoundryLocalManager\nfrom openai import OpenAI\n\nmanager = FoundryLocalManager(\"qwen2.5-7b-instruct\")\nclient = OpenAI(base_url=manager.endpoint, api_key=manager.api_key)  # místní zástupný symbol\n```\n\n~8 GB RAM je realistické minimum; GPU\u002FNPU pomůže, ale není nutná.\n\n## Klíčové vzory k reprodukci\n\nOdkazujte učenče na notebook\n[`17-local-agent-foundry-local.ipynb`](..\u002F..\u002F..\u002F17-creating-local-ai-agents\u002Fcode_samples\u002F17-local-agent-foundry-local.ipynb):\n\n- **Sandboxované nástroje**: každý nástroj pro práci se soubory řeší cesty a odmítá vše mimo kořenový adresář jednoho projektu — i lokálně nástroj běží s oprávněními uživatele.\n- **Smyčka volání nástrojů**: zaregistrujte nástroje pomocí OpenAI schématu nástrojů, spouštějte požadované nástroje lokálně, předávejte výsledky zpět, opakujte až do konečné odpovědi.\n- **Lokální RAG**: vložte dokumenty do Chroma kolekce; `search_docs` vrací top-k bloků.\n- **Lokální MCP**: připojte se k lokálnímu serveru přes `stdio`; omezte ho na adresář projektu a validujte jeho výstupy.\n\n## Hybridní směrování (lokální jako jeden z modelů)\n\n| Situace | Kde běží |\n|-----------|---------------|\n| Citlivá data \u002F offline | Lokální SLM |\n| Jednoduchý, omezený úkol | Lokální SLM (levný, rychlý) |\n| Náročné multi-hop uvažování nad necitlivými daty | Cloudový model |\n| Výpadek cloudu | Lokální SLM (plynulá degradace) |\n\nToto odráží myšlenku směrování modelu z Lekce 16, kdy pracovní stanice je jedna\nz cest. Upřednostňujte návrhy, které v případě potřeby přecházejí na lokální, aby agent degradoval v\nkvalitě, místo aby selhal úplně.\n\n## Ochranná opatření pro asistenta\n\n- Každou operaci se soubory\u002Fnástroji omezte na sandboxovaný adresář projektu.\n- Nezasílejte kód ani data do cloudu, pokud je cílem uživatele soukromí\u002Foffline provoz — udržujte celý pipeline lokální.\n- Nastavte realistická očekávání ohledně kvality SLM; spoléhajte na nástroje a RAG spíše než na zapamatované znalosti modelu.\n- Všimněte si, že Lekce 17 **nemá** endpoint Foundry Responses, takže testovací akce na cloud neplatí — ověřte spuštěním notebooku lokálně.\n\n---\n\n\u003C!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**Prohlášení o omezení odpovědnosti**:\nTento dokument byl přeložen pomocí AI překladatelské služby [Co-op Translator](https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator). Přestože usilujeme o co největší přesnost, mějte prosím na paměti, že automatizované překlady mohou obsahovat chyby nebo nepřesnosti. Originální dokument v jeho mateřském jazyce by měl být považován za autoritativní zdroj. Pro kritické informace se doporučuje profesionální lidský překlad. Nejsme odpovědní za jakékoli nedorozumění nebo nesprávné interpretace vzniklé použitím tohoto překladu.\n\u003C!-- CO-OP TRANSLATOR DISCLAIMER END -->",{"name":5,"license":14},"main","f09e94ffe170f8af6d3db7c42987bbe4db227723","translations\u002Fcs\u002F.agents\u002Fskills\u002Flocal-ai-agents",26019,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fai-agents-for-beginners","https:\u002F\u002Faka.ms\u002Fai-agents-beginners","https:\u002F\u002Fgithub.com\u002Fmicrosoft","https:\u002F\u002Fopensource.microsoft.com","Open source projects and samples from Microsoft","2026-11-07 12:51:12",{"source":7,"skillName":5,"commands":36,"prompt":46,"zipAvailable":47},[37,40,43],{"tool":38,"command":39},"npx","npx skills add microsoft\u002Fai-agents-for-beginners --skill local-ai-agents",{"tool":41,"command":42},"bunx","bunx skills add microsoft\u002Fai-agents-for-beginners --skill local-ai-agents",{"tool":44,"command":45},"pnpm","pnpm dlx skills add microsoft\u002Fai-agents-for-beginners --skill local-ai-agents","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fai-agents-for-beginners\u002Fblob\u002Fmain\u002Ftranslations\u002Fcs\u002F.agents\u002Fskills\u002Flocal-ai-agents\u002FSKILL.md",true,[49,55,59],{"path":50,"resourceType":51,"resourceTypeDesc":52,"sizeBytes":53,"sourceHtmlUrl":54},"references\u002Fcodex-tools.md","REFERENCE","参考文档",2464,"https:\u002F\u002Fgithub.com\u002Fwallfacers\u002Fdata-talk\u002Fblob\u002Fmaster\u002Fserver\u002Fdata-talk-adapter\u002Fsrc\u002Fmain\u002Fresources\u002Fskills\u002Fusing-superpowers\u002Freferences\u002Fcodex-tools.md",{"path":56,"resourceType":51,"resourceTypeDesc":52,"sizeBytes":57,"sourceHtmlUrl":58},"references\u002Fcopilot-tools.md",1859,"https:\u002F\u002Fgithub.com\u002Fwallfacers\u002Fdata-talk\u002Fblob\u002Fmaster\u002Fserver\u002Fdata-talk-adapter\u002Fsrc\u002Fmain\u002Fresources\u002Fskills\u002Fusing-superpowers\u002Freferences\u002Fcopilot-tools.md",{"path":60,"resourceType":51,"resourceTypeDesc":52,"sizeBytes":61,"sourceHtmlUrl":62},"references\u002Fgemini-tools.md",2934,"https:\u002F\u002Fgithub.com\u002Fwallfacers\u002Fdata-talk\u002Fblob\u002Fmaster\u002Fserver\u002Fdata-talk-adapter\u002Fsrc\u002Fmain\u002Fresources\u002Fskills\u002Fusing-superpowers\u002Freferences\u002Fgemini-tools.md",[64,82,93,98,106,113],{"skillNo":65,"name":66,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":67,"categories":68,"keywords":79,"publishedAt":20},"01M69A206TRZ8KK0CW0HYJF5V5","testing-course-samples","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fai-agents-for-beginners\u002Fblob\u002Fmain\u002Ftranslations\u002Fzh-TW\u002F.agents\u002Fskills\u002Ftesting-course-samples\u002FSKILL.md",[69,74],{"categoryNo":70,"categoryName":71,"taxonomyType":72,"taxonomyTypeDesc":73},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",{"categoryNo":75,"categoryName":76,"taxonomyType":77,"taxonomyTypeDesc":78},"01JBSEEDCAT000000000000039","教师与教育","PROFESSION","适用职业",[80,81],"testing","testing course samples",{"skillNo":83,"name":84,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":85,"categories":86,"keywords":90,"publishedAt":20},"01M69A1XRB2SFHYRMEH0K08EKZ","microsoft-docs","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fai-agents-for-beginners\u002Fblob\u002Fmain\u002Ftranslations\u002Fzh-TW\u002F.agents\u002Fskills\u002Fmicrosoft-docs\u002FSKILL.md",[87],{"categoryNo":88,"categoryName":89,"taxonomyType":72,"taxonomyTypeDesc":73},"01JBSEEDCAT000000000000023","Skill与智能体开发",[91,8,92],"docs","microsoft docs",{"skillNo":94,"name":5,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":95,"categories":96,"keywords":97,"publishedAt":20},"01M69A1VPZFJQ1HNGTZQ5P3WSC","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fai-agents-for-beginners\u002Fblob\u002Fmain\u002Ftranslations\u002Fzh-TW\u002F.agents\u002Fskills\u002Flocal-ai-agents\u002FSKILL.md",[],[18,19],{"skillNo":99,"name":100,"nameZh":6,"description":101,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":102,"categories":103,"keywords":104,"publishedAt":20},"01M69A1S947N7MM6V9JF85S2E7","jupyter-notebook","當使用者要求建立、搭建或編輯 Jupyter 筆記本（`.ipynb`）用於實驗、探索或教學時使用；優先使用隨附範本並執行輔助腳本 `new_notebook.py` 來產生一個乾淨的起始筆記本。","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fai-agents-for-beginners\u002Fblob\u002Fmain\u002Ftranslations\u002Fzh-TW\u002F.agents\u002Fskills\u002Fjupyter-notebook\u002FSKILL.md",[],[105],"jupyter notebook",{"skillNo":107,"name":108,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":109,"categories":110,"keywords":111,"publishedAt":20},"01M69A1Q8EXPWKZSQK69V6WF22","deploying-scalable-agents","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fai-agents-for-beginners\u002Fblob\u002Fmain\u002Ftranslations\u002Fzh-TW\u002F.agents\u002Fskills\u002Fdeploying-scalable-agents\u002FSKILL.md",[],[112],"deploying scalable agents",{"skillNo":114,"name":115,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":116,"categories":117,"keywords":118,"publishedAt":20},"01M69A1MHZTH3RH9N8VYSYG74X","azure-openai-to-responses","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fai-agents-for-beginners\u002Fblob\u002Fmain\u002Ftranslations\u002Fzh-TW\u002F.agents\u002Fskills\u002Fazure-openai-to-responses\u002FSKILL.md",[],[119],"azure openai to responses"]