Category Archives: AI

Pomalé buildy v Claude Code na MacOS

Pokud na macOS pracuješ s Claude Code a ještě nemáš zapnutý sandbox, zapni si ho. Je to jediná smysluplná obrana, jak izolovat agenta od zbytku stroje — filesystem, síť, syscally — a riziko vážného průšvihu klesne řádově. Praktický návod, jak to nakonfigurovat, je třeba v článku Sandboxing Claude Code on macOS. Tenhle text předpokládá, že už ten krok máš za sebou — a popisuje jeden konkrétní side-effect, na který jsem narazil.

Symptom

Začalo to nenápadně — všiml jsem si, že Claude Code mi začal nezvykle dlouho trvat i jednoduché úkoly. Drobné refaktory, na které byl dřív zvyklý odpovědět během chvíle, najednou zabraly desítky minut. Když jsem se podíval pořádně, co se uvnitř session vlastně děje, ukázalo se, že agent opakovaně spouští dotnet build a každý jednotlivý běh mu trvá pět minut. Lokálně, ve vedlejším terminálu, ten samý build doběhne za sekundu.

Výstup z těch dlouhých běhů vypadal pokaždé identicky:

  Determining projects to restore...

Build FAILED.
    0 Warning(s)
    0 Error(s)

Time Elapsed 00:05:00.81

Pět minut, FAILED, a přitom nula chyb a nula varování. Build failed s 0 errors? Co to vůbec je? Buď build selhal a má nám sdělit proč, nebo neselhal — ale tyhle dvě věci dohromady jsou nesmysl.

Diagnostika

Nechal jsem to vyřešit samotného agenta — zajímalo mě, jakou cestou se k příčině dostane on. Co následuje, je jeho úvaha nahlas.

První rozumný tip byl NuGet restore — síť uvnitř sandboxu je omezená a v logu svítilo „Determining projects to restore“. Zkusil tedy --no-restore. Stejný výsledek. Tak možná zápisová práva do ~/.dotnet nebo ~/.nuget cache? Ne. Přidal --no-dependencies -v:m, nic. Pro jistotu pak pustil ještě jeden běh úplně mimo sandbox přes dangerouslyDisableSandbox: true — a build doběhl za 1,02 sekundy. Tím bylo jasné, že problém je 100 % sandbox.

Když běžná podezření zradila, sáhl po -v:diag — to MSBuild zaplaví výstup úplně vším, co se uvnitř děje. Hned na prvních pár desítkách řádků se objevilo:

(eval):1: nice(5) failed: operation not permitted

Příčina

Claude Code na macOS pouští každý Bash tool call přes Apple Seatbelt sandbox, který blokuje syscall setpriority() (běžně volaný přes nice). MSBuild defaultně forkuje worker nody (-maxcpucount), každý worker si při startu chce snížit svou prioritu přes nice(), sandbox volání odmítne — a worker se zacyklí v silent retry/respawn smyčce. Žádná chyba na stdout, žádný non-zero exit, žádné varování. Jen čekání, až dotnet sám zabije proces vlastním 5-minutovým watchdogem.

Klíčové na tomhle failure mode: MSBuild považuje nice failure za non-fatal, a worker fork stack se snaží vzpamatovat. Sandbox tedy nezablokuje build — jen mu odebere mechanismus terminace.

Řešení

Sandbox nenabízí granular syscall allow (Seatbelt na macOS to neumí filtrovat per syscall pro běžné uživatelské profily). Co Claude Code umí, je vyloučit konkrétní commands ze sandboxování:

{
"sandbox": {
"excludedCommands": ["dotnet *"]
}
}

V ~/.claude/settings.json. Pozor na syntaxexcludedCommands používá Claude Code permission-rule syntax, tedy prefix s wildcardem. Plain ["dotnet"] se s ničím nematchne a problém přetrvá. Po změně settings je potřeba session restart.

Výsledek: dotnet build v sandboxu 0,62 s, žádný nice retry-loop.

AI v každodenní praxi vývoje software [Robert Haken, GitHub Copilot Dev Day Praha, 30.4.2026]

Jak se každodenní vývoj softwaru v roce 2026 mění s AI: cesta od autocomplete k agentnímu workflow.

  • Cesta od Visual Studia s Copilot autocomplete k plně agentnímu workflow
  • Always-on context: od copilot-instructions.md k unifikovanému AGENTS.md
  • MCP servery – vlastní pro dokumentaci Havit Blazor, Azure DevOps MCP, Context7
  • Zlomový moment: „vyzvedni si tiket z Azure DevOps a implementuj“
  • Posun v zadávání tiketů – od mikromanagementu k byznysovému popisu funkčnosti
  • Volba modelu pro coding agenty: Sonnet 4.5 vs Opus 4.7 (3× multiplier) vs GPT-5
  • Konec éry klasického code-centric IDE: Visual Studio → VS Code Agents (Insider)
  • Paralelizace přes git worktrees – více session nad jedním repem současně
  • Bypass approvals a autopilot mode – yolo přístup s důvěrou v agenta
  • Skills, marketplace a pluginy pro sdílení instrukcí napříč projekty i týmem
  • Migrace repozitářů z Azure DevOps na GitHub – oficiální doporučení Microsoftu
  • Hybridní setup: repos v GitHubu, work-items a pipelines stále v Azure DevOps
  • Reálné náklady AI nástrojů pro full-time developera ($150–200/měsíc)

Sessionu na GitHub Copilot Dev Day Praha 30.4.2026 prezentoval Robert Haken.

🚀 Onboardujeme vývojářské týmy na AI – Copilot, Claude Code, agenti, MCP servery a disciplína, díky níž je vývoj s AI skutečně rychlejší: havit.cz/sluzby/ai-developer-onboarding

🛠️ Migrace z Azure DevOps na GitHub – přestěhujeme vám repozitáře, aby vaši vývojáři neztráceli kontakt s AI (jako jsme to udělali sami): havit.cz/products/github-migration

MCP server do vlastní aplikace (+ VSCode Agents) [Robert Haken, Vzdělávací okénko, 9.4.2026]

MCP server do vlastní aplikace v .NET / C# – implementace, Entra ID auth, VS Code Agents.

  • Co je MCP (Model Context Protocol) server a proč ho přidat do své aplikace
  • Implementace MCP serveru v ASP.NET Core – NuGet ModelContextProtocol.AspNetCore
  • Definice tools přes atributy a auto-discovery z assembly
  • Custom MCP Tool Authorization atribut s rolemi (analogie k [Authorize])
  • Stateless HTTP transport, mapování endpointu a obcházení error middleware
  • Nejtěžší část: autentizace přes Entra ID + JWT bearer tokeny
  • Registrace klientské aplikace v Entra – VS Code built-in client vs. custom client_id / client_secret
  • Připojení MCP serveru v Claude Desktop, VS Code a Claude Code CLI
  • Praktická ukázka VS Code Agents (Insider) – paralelní agenti, autopilot, worktree workflow
  • Trendy: CLI jako SDK/harness, ústup klasického code-centric IDE

🚀 Potřebujete MCP server pro vlastní produkt? Postavíme vám MCP gateway pro libovolné API, aplikaci či databázi: havit.cz/products/mcp

🛠️ Goran – ERP/PM pro IT firmy (nástroj použitý v ukázce): goran.cz

AI v chytrém domě [Dan Hrubý, Vzdělávací okénko, 19.3.2026]

Jak Dan Hrubý použil AI (NotebookLM, Claude) k diagnostice a optimalizaci chytrého domu Loxone?

  • Co je chytrý dům a jak funguje systém Loxone
  • Proč tepelné čerpadlo nefungovalo efektivně a doma byla zima
  • AI-asistovaná diagnostika: ChatGPT a NotebookLM jako fyzikální poradce
  • Sběr dat z Loxone: Modbus TCP (Atrea) → Node-RED → InfluxDB
  • Claude Desktop: generování Node-RED flow jedním promptem, bez kódování
  • Vizualizace v Grafana – celý dashboard z jednoho AI promptu
  • Výsledek: stabilní regulace zásobníku teplé vody a tepelného čerpadla
  • Plánovaná optimalizace zálivky zahrady

Jak vytvořit AI aplikaci od nuly [Tomáš Wagner, Vzdělávací okénko, 5.3.2026]

Záznam ze Vzdělávacího okénka HAVIT z 5. března 2026. Tomáš Wagner ukazuje, jak krok za krokem postavit AI aplikaci v .NET a C# – od nastavení AI služby přes napojení do aplikace až po pokročilejší funkce jako chat history, tools a strukturovaný výstup.

  • Nastavení AI služby v .NET – OpenAI, Ollama (OllamaSharp) a Microsoft.Extensions.AI
  • Jak napojit AI do .NET aplikace a komunikovat s LLM modely
  • Přepínání mezi AI providery (OpenAI, Anthropic, Google Gemini, Ollama) bez přepisování kódu
  • Chat history – uchování kontextu konverzace
  • System prompts, instructions a tools (function calling)
  • Strukturovaný výstup z AI do C# tříd

Claude Code CLI – sdílení zkušeností s AI [Ondřej Václavek, Vzdělávací okénko, 19.2.2026]

Claude Code CLI v praxi: AI asistent pro .NET vývojáře — zkušenosti, skills, MCP servery a workflow.

Co se dozvíte

  • Claude Code CLI jako alternativa ke GitHub Copilotu (Rider místo Visual Studio)
  • Napojení na Azure DevOps přes MCP server a implementace tasků příkazem
  • Skills v Claude Code: implement a code review — jak fungují a jak je psát
  • Správa kontextového okna — příkaz clear a práce s dlouhými sezeními
  • Plugin marketplace a ekosystém skillů v Claude Code
  • Otevřená diskuze .NET vývojářů o zkušenostech s AI nástoji

Vzdělávací okénko prezentoval Ondřej Václavek.

AI generování obrázků (gpt-image-1) [Gabriela Turcajová, Vzdělávací okénko, 9.10.2025]

Záznam ze Vzdělávacího okénka HAVIT z 9. října 2025, kde nám Gabriela Turcajová ukazovala použití gpt-image-1 – AI modelu od OpenAI určeného pro generování obrázků. Praktická ukázka se zaměřila na zajímavý use case: generování pravděpodobné podoby dítěte na základě fotografií rodičů.

Model gpt-image-1 představuje novou generaci AI nástrojů pro práci s obrázky. Na rozdíl od starších modelů (jako DALL·E) nabízí výrazně realističtější výstupy a lepší porozumění vstupním instrukcím. Gabriela ukázala, jak model dokáže analyzovat vstupní fotografie a na jejich základě vytvořit nový obrázek kombinující rysy obou osob.

Během přednášky jsme se dozvěděli, jak s modelem pracovat, jaké jsou jeho možnosti i limity, a na co si dát pozor při formulování promptů pro generování obrázků.

Vytěžování dokumentů – Azure AI Content Understanding [Robert Haken, Vzdělávací okénko 25.9.2025]

Záznam ze Vzdělávacího okénka HAVIT z 25. září 2025, kde jsem ukazoval třetí způsob AI-vytěžování dokumentů – prostřednictvím all-in-one cloudové služby Azure AI Content Understanding.

V předchozích dílech série jsme si ukázali dva přístupy k vytěžování dokumentů pomocí AI: konverzi do Markdown přes Azure Document Intelligence s následným zpracováním přes LLM a přímé zpracování bitmapových obrázků přes GPT-4o Vision. Tentokrát jsme se podívali na třetí cestu – Azure AI Content Understanding, která celý pipeline (OCR, analýza struktury, extrakce dat) zapouzdřuje do jedné cloudové služby.

Co se dozvíte

  • Co je Azure AI Content Understanding a čím se liší od Azure Document Intelligence
  • Jak službu nastavit a nakonfigurovat v Azure portálu
  • Praktická ukázka volání REST API z C#
  • Porovnání všech tří přístupů k AI-vytěžování dokumentů

AI vytěžování dokumentů: GPT Vision [Robert Haken, Vzdělávací okénko, 11.9.2025]

Záznam ze Vzdělávacího okénka HAVIT z 11. září 2025, kde jsem ukazoval specificky techniku vytěžování s pomocí GPT-4o Vision (vstup ve formě bitmapových obrázků přímo předávaných LLM, bez mezipřistání v Markdown).

Co se dozvíte:

  • GPT Vision vs. Markdown přístup – kdy který použít a jaké jsou trade-offs
  • Resizing obrázků na straně klienta před odesláním do GPT (limit 2048×768 px)
  • C# implementace: JSON schéma pro přesnou extrakci strukturovaných dat
  • Multimodální vstup v .NET SDK – předávání image content parts
  • Reálné výsledky na lékařských zprávách a ukázka edge cases

AI vytěžování dokumentů s OpenAI GPT – Markdown / Vision [WUG Days Brno 09/2025]

Záznam ze přednášky pro konferenci WUG Days Brno z 4. září 2025.
Ukázka dvou implementací (POC) vytěžování dokumentů pomocí moderních AI technik:

  1. Kombinace Azure Document Intelligence (s výstupem do Markdown) a LLM (OpenAI GPT-4o) pro efektivní vytěžování netriviálních dokumentů (zde přijatých faktur i s energetickými přílohami).
  2. OpenAI GPT-4o v režimu Vision pro vytěžování údajů obrázků (fotografií zdravotních zpráv).