Powrót do strony głównej

AI-agent Sojuz open source: bezpieczeństwo i KMP

Desktopowy AI-agent Sojuz wydany w open source z naciskiem na bezpieczeństwo. Projekt wykorzystuje Kotlin Multiplatform i grafy zadań, rezygnując z MCP w celu minimalizacji podatności i tokenów. Nadaje się do automatyzacji ekranu z GigaChat i lokalnymi modelami.

Otwarty desktopowy agent Sojuz: bezpieczeństwo ponad wszystko
Advertisement 728x90

Desktopowy agent AI Sojuz: podejście open source z priorytetem bezpieczeństwa

Deweloperzy udostępnili w open source desktopowego agenta „Sojuz”, skupiającego się na bezpieczeństwie i przewidywalności działania. W przeciwieństwie do narzędzi o rozbudowanej funkcjonalności, projekt minimalizuje ryzyka, unikając rozwlekłych protokołów takich jak MCP. Agent działa lokalnie, bez VPN i skomplikowanych konfiguracji, obsługuje modele Gigachat i Anthropic.

Kod źródłowy jest dostępny do analizy i modyfikacji. Projekt powstał z doświadczeń zdobytych na hackathonach i podczas pracy nad mobilnymi agentami w Kotlin Multiplatform.

Narodziny pomysłu: od prostych agentów do rozwiązań desktopowych

W lipcu 2025 roku autor opublikował przewodnik po tworzeniu agentów w Kotlin. W tym czasie agenty desktopowe były już integrowane z przepływami pracy poprzez API OpenAI i Anthropic. Automatyzowały one rutynę: sterowanie głosowe, interakcję z interfejsem użytkownika.

Google AdInline article slot

Na hackathonie w Sberze zespół zrezygnował z uniwersalnych rozwiązań takich jak Claude Code. Zamiast tego stworzyli agenta dla niewidomych użytkowników: rozpoznawanie ekranu, sterowanie klawiaturą i myszą bez interfejsu. Doświadczenie z biblioteką Robot w Clojure i DSL do automatyzacji pomogło zrealizować prototyp w tydzień.

Agent przeszedł etap eliminacyjny, demonstrując komendy głosowe do otwierania plików, stron internetowych, kliknięć i skrótów klawiszowych. Przed finałem pojawiły się problemy z cenzurą Gigachat – dodano obsługę Anthropic przez VPN, co obniżyło wydajność.

Restart: framework w Kotlin Multiplatform

Po hackathonie projekt został przekierowany na aplikacje mobilne. Wykorzystano Kotlin Multiplatform (KMP) dla wieloplatformowości na iOS, Android i desktop. Opracowano własny framework agentów oparty na grafach, bez zewnętrznych zależności.

Google AdInline article slot

Kluczowe publikacje:

  • Agent w Kotlin bez frameworków: implementacja poprzez grafy stanów.
  • KMP i Xcode: doświadczenia z przenoszeniem agentów na 4 platformy.

Ten stos technologiczny stał się podstawą dla „Sojuza”, zapewniając jednolitą bazę kodu i kontrolę nad bezpieczeństwem.

Bezpieczeństwo przede wszystkim: rezygnacja z MCP

Dla szerokiej publiczności – zwykłych użytkowników – agent musi działać od razu po uruchomieniu, bez VPN, kryptografii czy kart. Wymagania:

Google AdInline article slot
  • Autonomia: brak konfiguracji.
  • Dostępność: obsługa lokalnych modeli i Gigachat bez pośredników.
  • Ochrona: minimalizacja podatności.

MCP odrzucono z powodu rozwlekłości: opisy narzędzi takich jak Notion rozdymają kontekst do 45k znaków, obniżając efektywność Gigachat i lokalnych LLM. Badania wykazały 16 podatności w MCP. Przykład Notion MCP tools ilustruje problem:

[
  {
    "fn": {
      "name": "Mcp_notion_notion_search",
      "description": "[MCP:notion] Perform a search over:\n- \"internal\": Semantic search over Notion workspace...",
      "parameters": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "description": "Semantic search query over your entire Notion workspace..."
          }
        }
      }
    }
  }
]

Podobne konstrukcje zabijają wydajność. „Sojuz” wykorzystuje uproszczony stos: stały zestaw narzędzi, grafy zadań, wykonanie lokalne.

Architektura i stos technologiczny

Projekt zbudowano na KMP dla desktopa (Compose Multiplatform). Główne komponenty:

  • Rdzeń agenta: graf stanów do planowania zadań.
  • Narzędzia: zrzut ekranu, OCR, symulacja wprowadzania (klawiatura/mysz).
  • Modele: Gigachat (główny), Anthropic (zapasowy), lokalne LLM.
  • Bezpieczeństwo: sandboxing narzędzi, walidacja promptów, brak wywołań sieciowych bez wyraźnej zgody.

Grafy pozwalają przewidywać zachowanie: agent nie wykracza poza plan, minimalizując tokeny. Oszczędność kontekstu – do 70% w porównaniu z MCP.

Dla programistów middle/senior stos jest interesujący jako alternatywa dla LangChain czy AutoGen: pełna kontrola, integracja z KMP, skupienie na automatyzacji desktopowej.

Co jest ważne

  • Open source: kod źródłowy na GitHub, licencja MIT do swobodnego wykorzystania.
  • Bezpieczeństwo: rezygnacja z MCP, stałe narzędzia, uruchomienie lokalne.
  • Dostępność: działa z Gigachat bez VPN, obsługa głosu i ekranu.
  • Stos KMP: wieloplatformowość, grafy zamiast łańcuchów promptów.
  • Oszczędność zasobów: kontekst do 4k tokenów zamiast 45k+ w MCP.

— Editorial Team

Advertisement 728x90

Czytaj dalej