>_ DevTrendspl

Język

Strona główna

Języki

Sekcje

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

Jak sprawić, by wiele agentów AI współpracowało w jednym repozytorium bez utraty kontekstu

Atlas

Kiedy codziennie piszesz kod obok sieci neuronowych, szybko napotykasz tę samą ścianę. Uruchamiasz Claude Code, żeby zrefaktoryzować moduł, przełączasz się na Codex, żeby napisać kilka funkcji, otwierasz osobny czat, żeby sprawdzić pomysł architektoniczny. Na końcu każdy agent zaczyna od czystej karty, kompletnie zapominając, dlaczego pięć minut temu odrzuciliśmy konkretną bibliotekę.

Cały kontekst zostaje utracony. Commity zawierają tylko suche diffy, podczas gdy myśli i rozumowanie modelu znikają w zamkniętym terminalu.

Zespół w pacifio postanowił podejść do tego systematycznie i wydał Atlas. To lokalne środowisko pracy i system kontroli wersji dla agentów AI, który łączy ich pamięć i przypisuje każdy commit do sesji, w której powstał.

Główna koncepcja

Autorzy nazywają projekt „kontrolą wersji dla agentów programistycznych". Koncepcja jest prosta: jeśli autonomiczne agenty piszą kod, potrzebujemy narzędzia, które śledzi nie tylko zmiany w plikach, ale także łańcuch rozumowania stojący za nimi.

Atlas może uruchamiać wielu agentów równolegle w różnych zakładkach. Na przykład Claude Code i Codex działają jako zewnętrzne pod-procesy przez ACP (Agent Client Protocol), podczas gdy wbudowany agent Atlasa działa bezpośrednio w procesie na własnym frameworku Rust o nazwie Cersei.

Najciekawsza część dzieje się na poziomie kontekstu. Zanim Twoje polecenie dotrze do modelu, Atlas składa wokół niego ujednolicony obraz:

  • Wstrzykuje współdzieloną pamięć agentów: aktualny plan, podjęte decyzje, błędy i notatki architektoniczne stworzone przez jakikolwiek inny model w projekcie.
  • Rozwiązuje pliki, foldery, funkcje, gałęzie git, notatki, a nawet artykuły badawcze lokalnie przez @.
  • Dodaje ogon poprzedniej sesji i podsumowanie faktów, nawet jeśli ostatnie zadanie zostało rozwiązane przez innego asystenta.
  • Buduje lokalne osadzenia wektorowe i wyszukuje relevantne fragmenty przez HNSW bez wysyłania danych do serwerów zewnętrznych.

Rezultat: Claude widzi wnioski, do których doszedł Codex, a Codex wie, które testy właśnie nie przeszły dla Claude.

Checkpointy i powiązanie z commitami

Zazwyczaj po zakończeniu pracy agenta w git pojawia się commit, a tydzień później nikt nie pamięta, które polecenie go wygenerowało.

Atlas zapisuje sesje do lokalnej bazy danych SQLite w .atlas/sessions.db. Program monitoruje commity z zewnątrz, zamiast przechwytywać je siłą. Możesz commitować kod przez standardowy terminal, VS Code, a nawet przy zamkniętym Atlasie. Aplikacja dopasowuje patche i łączy commit z sesją agenta, który napisał ten kod.

Linki nie psują się podczas normalnego git rebase lub git commit --amend dzięki weryfikacji patch-id. Jeśli zrobisz squash i link stanie się niejednoznaczny, Atlas nie próbuje zgadywać — uczciwie oznacza sesję jako odłączoną.

Miły szczegół: wszystkie sekrety i tokeny są usuwane z logów, zanim dane dotkną dysku.

Wewnątrz środowiska pracy

Atlas jest zbudowany nie tylko jako daemon działający w tle, ale jako pełnoprawne środowisko pracy na pulpicie. Pod maską łączy Tauri, Rust i interfejs web oparty na Bun i TypeScript.

Wszystko, co potrzebne do codziennej pracy, jest wliczone:

  1. Edytor kodu oparty na CodeMirror z persystencją stanu między restartami.
  2. Pełnoprawny klient Git z wizualnym grafem commitów, gałęziami i diffami.
  3. Terminal blokowy, gdzie każde wykonane polecenie przechowuje swoje wyjście, kod wyjścia i czas trwania. Pełnoekranowe narzędzia jak vim i htop również działają normalnie.
  4. Baza wiedzy w folderze .atlas/knowledge/. To zwykłe pliki Markdown, które są wersjonowane razem z kodem. Obsługiwane są linki wsteczne, grafy linków i eksport do HTML.
  5. Wyszukiwanie artykułów badawczych przez arXiv i Semantic Scholar z możliwością czytania PDF w aplikacji i wysyłania linków do promptów przez @.
  6. Wbudowana przeglądarka oparta na silniku WebKit z obsługą logowania i trybu czytania.

Wszystkie pliki projektu pozostają zwykłymi plikami na dysku. Notatki są w Markdown, płótna w JSON, sesje w JSONL. Jeśli zamkniesz program, możesz spokojnie kontynuować pracę w ulubionym edytorze bez utraty dostępu do danych.

Jak uruchomić projekt lokalnie

Pliki binarne dla macOS są dostępne jako .dmg na oficjalnej stronie i w wydaniach GitHub. Budowanie na Linuksie i Windowsie jest możliwe ze źródeł, choć deweloperzy zauważają, że te platformy są obecnie mniej przetestowane.

Do lokalnych buildów potrzebujesz Bun, stabilnego Rust i zainstalowanego klienta CLI Claude (jeśli planujesz używać agenta Anthropic).

Instalacja zależności na Ubuntu lub Debian:

sudo apt install -y libglib2.0-dev libgtk-3-dev libwebkit2gtk-4.1-dev

Budowanie i uruchamianie w trybie deweloperskim:

git clone https://github.com/pacifio/atlas
cd atlas
bun install
bun run dev:app

Początkowa kompilacja Rust zajmuje kilka minut, ale kolejne przyrostowe buildy kończą się w sekundach.

Kto znajdzie Atlas przydatny

Projekt przypadnie do gustu deweloperom, którzy aktywnie eksperymentują z wieloma asystentami AI i mają dość ręcznego kopiowania kontekstu między oknami terminala.

Tu nie ma wymuszonej subskrypcji chmurowej dla podstawowych funkcji: wszystko działa offline, bazy danych są przechowywane w katalogu projektu, a kod nigdzie nie wycieka. Jeśli szukasz sposobu na zorganizowanie swojego workflow z agentami i zachowanie historii ich decyzji dla swojego zespołu lub dla siebie za miesiąc, repozytorium zdecydowanie warto sprawdzić.

Powiązane projekty