>_ DevTrendspl

Język

Strona główna

Języki

Sekcje

Frontend Backend Mobilne DevOps AI / ML GameDev Blockchain Systemy wbudowane Bezpieczeństwo
Python

Jak oswoić tuzin agentów programistycznych i zmusić ich do współpracy w Omnigent

Jeśli próbowałeś uruchamiać Claude Code, Codex lub Cursor w terminalu, prawdopodobnie zauważyłeś jeden problem. Każdy agent CLI ma swój własny interfejs, własne flagi i własne nawyki dotyczące modyfikowania plików projektu. Jeden radzi sobie lepiej z refaktoryzacją, inny pisze testy dokładniej, ale sprawienie, by współpracowały przy jednym zadaniu bez ciągłego ręcznego przełączania, było kiedyś wyzwaniem.

Niedawno natknąłem się na repozytorium Omnigent. To otwartoźródłowy meta-framework w Pythonie, który zgromadza różnych agentów AI pod jednym dachem. Otrzymujesz współdzieloną warstwę orkiestracji, ujednolicony interfejs, polityki bezpieczeństwa oraz możliwość połączenia się z sesją z laptopa, a nawet telefonu.

Aplikacja desktopowa Omnigent

Co potrafi meta-framework

Główna idea projektu polega na izolowaniu developerów od specyfiki konkretnych dostawców i interfejsów. Zamiast przepisywać kod, aby działał z różnymi SDK-ami pod maską, definiujesz agentów deklaratywnie i łączysz ich w grupy.

Oto co Omnigent potrafi w praktyce:

  1. Uruchamiać wielu różnych agentów w jednej sesji. Na przykład jeden zajmuje się planowaniem, podczas gdy inni piszą kod równolegle w gałęziach git.
  2. Łączyć się z dowolnymi modelami. Działają klucze API Anthropic lub OpenAI, a także zwykłe subskrypcje Claude Pro lub ChatGPT, a także bramki stron trzecich, takie jak OpenRouter, Ollama czy vLLM.
  3. Utrzymywać kontekst sesji między urządzeniami. Możesz zacząć pracę w terminalu, kontynuować przez aplikację desktopową lub sprawdzić status z telefonu przez interfejs webowy.
  4. Dzielić sesje z kolegami. Współdzielenie agentów w czasie rzeczywistym, tryb co-pilota lub forkowanie dialogu do oddzielnej gałęzi — to wszystko jest dostępne.
  5. Izolować wykonanie w piaskownicach. Obsługiwane są lokalne mechanizmy jak bubblewrap na Linuksie i seatbelt na macOS, a także środowiska chmurowe jak Modal, E2B, Daytona czy Kubernetes.

Jak działa uruchamianie i konfiguracja

Instalacja odbywa się za pomocą jednego polecenia przez narzędzie uv lub poprzez skrypt instalacyjny:

curl -fsSL https://raw.githubusercontent.com/omnigent-ai/omnigent/main/scripts/install_oss.sh | sh

Po instalacji w systemie staje się dostępne narzędzie CLI omnigent (lub krótki alias omni).

Jeśli uruchomisz polecenie omnigent, system zaproponuje pobranie kluczy API znalezionych w środowisku lub autoryzacji z poprzednich klientów konsolowych.

Następnie możesz uruchomić konkretne środowisko:

omnigent claude
omnigent codex
omnigent cursor

Po uruchomieniu startuje nie tylko proces konsolowy, ale również lokalny serwer webowy na porcie 6767. Jeśli przejdziesz pod adres http://localhost:6767, otworzy się interfejs webowy, który odzwierciedla wyjście terminala.

Deklaratywni agenci przez YAML

Najciekawszą częścią jest możliwość opisania własnych agentów i ich interakcji w jednym pliku konfiguracyjnym. Oto przykład podstawowego pliku agenta:

name: my_agent
prompt: Вы помогаете анализировать данные и собирать отчеты.

executor:
  harness: claude-sdk

tools:
  word_count:
    type: function
    callable: mypackage.mymodule.word_count

  docs:
    type: mcp
    url: https://example.com/mcp

Repozytorium zawiera kilka gotowych przykładów. Szczególnie godny uwagi jest przykład Polly (examples/polly/).

Polly to multiagentowy tech lead. Ten agent sam nie pisze kodu. Rozkłada zadanie i deleguje podzadania do innych agentów (Claude Code, Codex lub Pi) w izolowanych gałęziach git worktree. Gdy kod jest gotowy, Polly wysyła diff do przeglądu do agenta od innego dostawcy. Otrzymujesz gotowe pull requesty i międzywymiarową recenzję kodu bez zbędnych komplikacji.

Innym przykładem jest Debby. Wysyła żądanie do dwóch modeli (Claude i GPT) jednocześnie i wyświetla ich odpowiedzi obok siebie. Polecenie /debate sprawia, że modele krytykują nawzajem swoje decyzje, aż dojdą do konsensusu.

Bezpieczeństwo i limity budżetowe

Udzielanie agentom pełnego dostępu do terminala i systemu plików może być niebezpieczne. Omnigent rozwiązuje to za pomocą polityk bezpieczeństwa.

Polityki sprawdzają każdą akcję agenta i mogą ją zablokować lub poprosić o potwierdzenie przed wykonaniem polecenia. Co więcej, reguły można ustawiać na poziomie serwera, dla pojedynczego agenta lub dla bieżącej sesji:

policies:
  approve_shell:
    type: function
    handler: omnigent.policies.builtins.safety.ask_on_os_tools
  budget:
    type: function
    handler: omnigent.policies.builtins.cost.cost_budget
    factory_params:
      max_cost_usd: 5.00
      ask_thresholds_usd: [3.00]

W tym przykładzie agent poprosi o potwierdzenie przed wykonaniem poleceń powłoki i zatrzyma się po osiągnięciu limitu 5 dolarów.

Dla kogo jest ten projekt

Omnigent dobrze sprawdza się w zespołach, które aktywnie eksperymentują z agentami AI w codziennej pracy deweloperskiej. Jeśli brakuje ci kontroli nad wydatkami, chcesz uruchamiać agentów w chmurowych piaskownicach lub potrzebujesz wygodnego sposobu na dzielenie sesji z kolegami, ten projekt zaspokoi te potrzeby.

Projekt jest na etapie alfa, ale ma już 8,7 tys. gwiazdek na GitHubie i aktywną społeczność. Aby rozpocząć, wystarczy zainstalować CLI i uruchomić jeden z gotowych przykładów.

Powiązane projekty