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.
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:
- 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.
- Łą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.
- 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.
- 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.
- 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