ArtykułyPaweł Dobrzyński13 października 202610 min
Jak zbudować agenta AI działającego 24/7 na Hermes Agent
Okno czatu zapomina o Tobie, gdy je zamkniesz; agent nie. Całe wdrożenie od początku do końca, bez programowania i w około godzinę: maszyna, instalacja, własny bot na Telegramie i te upierdliwe dziesięć minut, które dają mu Twój kalendarz, pocztę i Dysk.
Okno czatu zapomina o Tobie w chwili, gdy je zamkniesz. Agent nie. Siedzi na maszynie, która nigdy nie zasypia, zna Twój kalendarz i Twoją skrzynkę, i sam odzywa się rano.
To jest całe wdrożenie, od początku do końca, tak jak je zrobiłem. Bez programowania, około godziny pracy, a większość elementów jest darmowa. Na końcu masz asystenta, do którego piszesz albo mówisz, a on zagląda w Twój terminarz, czyta pocztę, wyciąga plik z Dysku i pamięta, co powiedziałeś mu tydzień temu.
Czego potrzebujesz na start
Trzech rzeczy, a wszystkie załatwisz w dziesięć minut.
Maszyna, która stale działa. Mały serwer kosztuje około 16 € miesięcznie i wynajmiesz go w pięć minut. Zapasowy laptop albo Mac Mini na biurku sprawdzi się tak samo i nie kosztuje nic, o ile zostawisz go włączonego.
Konto u dostawcy AI, żeby agent miał czym myśleć. Każdy z dużych się nada.
Konto na Telegramie, bo tamtędy będziesz z nim rozmawiać. Pewnie już je masz.
Tyle. Nie musisz umieć programować.
1. Wynajmij maszynę
Jeśli używasz własnego zapasowego komputera, przeskocz dalej.
Dostawca jest obojętny. Wziąłem mały serwer z czterema procesorami i 8 GB pamięci, rozliczany miesięcznie, bez umowy. Uważaj na tanie oferty: niska cena zwykle oznacza płatność za kwartał albo cały rok z góry, a Ty chcesz móc się wycofać po miesiącu, jeśli to nie jest dla Ciebie.
Dwie rzeczy są ważniejsze od ceny. Wybierz system Ubuntu 24.04, bo wszystko poniżej to zakłada. I weź dostawcę, który daje codzienne kopie zapasowe, bo wszystko, czego agent się nauczy, będzie leżało na tej maszynie.
Gdy serwer będzie gotowy, dostaniesz adres i sposób logowania. Zachowaj oba.
2. Zainstaluj agenta
Zaloguj się na maszynę. Na wynajętym serwerze oznacza to otwarcie terminala i połączenie się adresem oraz użytkownikiem, które dostałeś. Na własnym zapasowym komputerze po prostu otwórz terminal.
Potem wklej jedną linię:
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash
Instalator przynosi ze sobą wszystko, czego potrzebuje, więc nie musisz niczego przygotowywać wcześniej. Daj mu dwie minuty. Potem sprawdź, czy odpowiada:
hermes --version
Jeśli komenda nie zostanie znaleziona, zamknij terminal i otwórz go ponownie. Instalator dopisuje się do ścieżki, a to działa dopiero w nowej sesji.
Jedno ustawienie, o którym wszyscy zapominają, i które się na Tobie zemści. Domyślnie wszystko, co uruchomisz na serwerze, kończy się w chwili wylogowania, więc Twój asystent umarłby przy zamknięciu okna. Naprawia to jedna komenda, raz na zawsze:
loginctl enable-linger $USER
Uruchom ją teraz i zapomnij o sprawie.
3. Daj mu mózg
Agent potrzebuje modelu AI, czyli klucza od dostawcy.
- Wejdź do konsoli swojego dostawcy i utwórz klucz API. Zrób świeży, przeznaczony tylko dla tego agenta, zamiast używać klucza, który masz już gdzie indziej.
- Od razu ustaw na nim limit wydatków. To Twoja siatka bezpieczeństwa, a zajmuje dziesięć sekund.
- Wpisz klucz do pliku z ustawieniami agenta na serwerze, w to samo miejsce, gdzie trafi potem token Telegrama.
- Wskaż agentowi, którego modelu ma używać. Rozsądnym domyślnym wyborem jest model średniej klasy; mocniejszy ustawisz później do trudniejszej pracy.
Dwie rzeczy, których nauczyłem się boleśnie.
Nigdy nie wklejaj klucza do okna czatu, nawet żeby poprosić o pomoc. Zrobiłem tak na początku i tego samego dnia musiałem go wymienić. Klucz wklejony gdziekolwiek poza własną maszyną to klucz utracony.
Przyjazny kreator konfiguracji wymaga, żebyś siedział przy maszynie. Przez zdalne połączenie odmawia uruchomienia, co za pierwszym razem jest mylące. Gdy tak się stanie, ustaw wartości z linii poleceń, jedna po drugiej. Mniej ładne, działa wszędzie.
4. Załóż bota na Telegramie
Tędy sięgasz do asystenta z telefonu. Telegram rozdaje boty za darmo, a całość zajmuje trzy minuty.
- Otwórz Telegram i wyszukaj @BotFather. To firmowy bot Telegrama do tworzenia innych botów, ma niebieski znaczek weryfikacji. Otwórz czat i naciśnij Start.
- Wyślij
/newbot. - Zapyta o nazwę wyświetlaną. To ta, którą zobaczysz na górze czatu.
Dowolna czytelna:
Hermes. - Zapyta o nazwę użytkownika. Ta musi być unikalna w całym Telegramie
i musi kończyć się słowem
bot, na przykładpawel_hermes_bot. Jeśli jest zajęta, BotFather to powie i spróbujesz innej. - W odpowiedzi dostaniesz token, długi ciąg wyglądający jak
8123456789:AAH.... Ten token jest hasłem do Twojego bota. Kto go ma, może czytać i wysyłać jego wiadomości, więc nigdy nie umieszczaj go na zrzucie ekranu, w dokumencie ani w oknie czatu. - Wklej ten token do ustawień agenta na serwerze, do pliku, w którym trzyma klucze.
Teraz krok, który Cię chroni, i zarazem najważniejsze ustawienie w całym poradniku.
Twój bot jest publiczny. Napisze do niego każdy, kto zgadnie albo znajdzie tę nazwę, a za kilka minut bot będzie miał dostęp do Twojego kalendarza i poczty. Dlatego mówisz mu, że wolno wejść tylko Tobie.
- Na Telegramie napisz do @userinfobot i wyślij mu cokolwiek. Odpowie
Twoim numerycznym identyfikatorem, liczbą w rodzaju
8880730423. Ta liczba to Ty. - Wpisz ten numer na listę dozwolonych użytkowników agenta. Zrób to przed pierwszym uruchomieniem bota.
Potem uruchom go i sprawdź, czy działa.
- Uruchom agenta jako usługę w tle, żeby działał niezależnie od tego, czy jesteś zalogowany.
- Otwórz czat ze swoim botem. BotFather daje do niego link
t.me. Naciśnij Start i napisz „cześć". Odpowiedź powinna przyjść w kilka sekund. - W tym samym czacie powiedz mu, że to jest dom, żeby poranne wiadomości, przypomnienia i powiadomienia trafiały do rozmowy, do której naprawdę zaglądasz, a nie gdzieś, gdzie nigdy nie patrzysz.
Jeśli nie odpowiada, najczęstsze przyczyny to token wklejony z przypadkową spacją albo usługa, która tak naprawdę nie wstała.
5. Włącz zabezpieczenia, zanim dotknie czegokolwiek prywatnego
Zaraz dasz mu swoją skrzynkę. Poświęć wcześniej dwie minuty.
Ustaw tak, żeby niebezpieczne komendy czekały na Twoją zgodę, żeby zmiany w jego pamięci czekały na Twoją zgodę i żeby wszystko, co sam sobie napisze, też czekało na zgodę. Później to rozluźnisz, gdy mu zaufasz. Przez pierwszy tydzień niech pyta.
Potem napisz mu krótki opis, kim jesteś i jak ma się zachowywać. Mój to kilka akapitów prostą polszczyzną: mów po polsku, krótko, bądź operatorem, a nie cheerleaderką, zadawaj jedno pytanie na raz, nie pisz do nikogo poza mną, nie zapisuj haseł ani danych finansowych, nie dotykaj tej drugiej aplikacji na tej samej maszynie.
To ma większe znaczenie niż jakiekolwiek ustawienie. Granice zapisane zwykłymi zdaniami są przestrzegane dobrze. Granice, które sobie tylko założyłeś, nie.
6. Daj mu kalendarz, pocztę i Dysk
To krok, który zamienia czatbota w asystenta, i najbardziej upierdliwa część poradnika. Zarezerwuj dziesięć minut i zrób to raz.
Google nie odda poczty programowi ot tak. Zakładasz mały projekt we własnej konsoli Google, wskazujesz, których usług wolno dotknąć, i zatwierdzasz to swoim kontem.
Najpierw zdecyduj, czego naprawdę potrzebujesz. Jeśli chcesz tylko czytać i wysyłać maile, istnieje znacznie krótsza droga przez hasło aplikacji Gmaila, zajmuje dwie minuty. Wszystko poniżej dotyczy kalendarza, Dysku, dokumentów i arkuszy.
- Wejdź do konsoli Google Cloud i utwórz projekt. Nazwa dowolna. Jeśli już jakiś masz, użyj go.
- Otwórz bibliotekę interfejsów i włącz usługi, których chcesz: Gmail, Kalendarz, Dysk, Arkusze, Dokumenty, a także Osoby, jeśli ma znać Twoje kontakty. Włączenie usługi jest darmowe; deklarujesz tylko, z czego projekt może korzystać.
- Wejdź w Dane logowania, wybierz Utwórz dane logowania, a potem Identyfikator klienta OAuth. Jako typ aplikacji wskaż Aplikacja na komputer. Zatwierdź.
- Pobierz plik JSON, który dostaniesz, i skopiuj go na serwer. Jest mały i identyfikuje Twój projekt, a nie Twoje konto.
- Wejdź w ustawienia Odbiorcy i dodaj swój adres Google do użytkowników testowych. Dopóki projekt jest nowy, Google traktuje go jako nieopublikowany i odrzuca każdego spoza tej listy. Pominięcie tego kończy się w następnym kroku błędem o uprawnieniach, który niczego nie wyjaśnia.
- Poproś agenta, żeby uruchomił swoją konfigurację Google, wskazując plik, który skopiowałeś. Powiedz mu, których usług chcesz, żeby ekran zgody pytał o te i o nic więcej.
- Dostaniesz link. Otwórz go w przeglądarce, wybierz konto Google i zaznacz uprawnienia.
- Przeglądarka pokaże potem stronę, której nie da się otworzyć. Tak ma być i nie jest to błąd. Skopiuj cały adres z paska przeglądarki, razem ze wszystkim po znaku zapytania, i wklej go agentowi. W tym adresie siedzi kod zatwierdzenia.
Gotowe. Zapytaj, co masz jutro w kalendarzu albo co w skrzynce wymaga Cię dzisiaj. Odpowie.
Proś tylko o te usługi, z których faktycznie skorzystasz. Ekran zgody prosi wtedy o mniej, co jest i bezpieczniejsze, i znacznie mniej niepokojące przy klikaniu.
7. Ucz go, a on będzie pamiętał
Agent prowadzi dwa zestawy notatek: co ustalił o swoim otoczeniu i co wie o Tobie. Oba przeżywają restart.
W praktyce po prostu z nim rozmawiasz. Mówisz mu o celach, godzinach pracy, o tym, jak chcesz być traktowany. Przy włączonych zgodach proponuje notatkę, a Ty ją akceptujesz. Po tygodniu przestaje pytać o to samo.
Mój wie, w jakiej jestem strefie czasowej, że odpowiadam po polsku, że chcę jedno pytanie na raz zamiast listy, i co próbuję skończyć w tym kwartale. Poranna wiadomość jest użyteczna właśnie dzięki temu, a nie dzięki modelowi.
8. Rób kopie, bo to już ma wartość
Wszystko, co agent wie, leży w jednym katalogu jako zwykłe pliki. Wystarczy nocne zadanie, które pakuje ten katalog i trzyma ostatnie czternaście dni. Całość waży około dwóch megabajtów.
Raz w tygodniu skopiuj najnowsze archiwum na własny komputer. Kopia leżąca wyłącznie na maszynie, którą zabezpiecza, nie jest kopią.
9. Pozwól mu mówić i słuchać
Ta część zaskoczyła mnie tym, że w obie strony jest darmowa.
Rozpoznawanie mowy działa na samym serwerze, więc Twoje nagrania nigdzie nie wyjeżdżają. Mowa wraca darmowymi głosami Microsoftu, a Telegram odtwarza ją jako zwykłą wiadomość głosową. Nigdzie nie płacisz za minuty.
Dwa ustawienia do sprawdzenia. Język startuje jako angielski, więc ustaw swój, bo inaczej Twoje słowa wracają jako bełkot. I funkcja głosu wymaga doinstalowania jednego składnika oraz restartu, bo inaczej agent uprzejmie poinformuje, że transkrypcja jest niedostępna, choć wszystko wygląda na poprawnie ustawione.
Domyślnie odpowiada tak, jak Ty się odezwałeś: mówisz do niego, to mówi, piszesz, to pisze. I o to właśnie chodzi.
10. Opcjonalnie: niech nadzoruje Twoją pracę nad kodem
Jeśli piszesz oprogramowanie, możesz zainstalować na tej samej maszynie agenta kodującego i pozwolić asystentowi go prowadzić.
Układ, który działa, to trzy osobne sesje z osobnymi zadaniami. Jedna bada sprawę i może tylko czytać. Druga wprowadza zmianę. Trzecia ocenia wynik i musi być inną sesją niż ta, która pisała kod, bo sesja, która właśnie coś napisała, to zaakceptuje.
Dwa ostrzeżenia. Agent kodujący pracujący bez nadzoru nigdy nie zadaje pytań, tylko zgaduje, więc każ mu przerwać i wypisać, czego nie wie. I nigdy nie przyjmuj jego raportu jako wyniku: niech asystent sam puści testy i obejrzy zmiany. Mój przyłapał go na poprawce, której nie zrobił.
Ile to kosztuje
Serwer to około 16 € miesięcznie i możesz go skasować w każdej chwili. Głos jest darmowy. Google jest darmowe.
Jedyną realną zmienną jest model. Jedna wymiana zdań kosztuje kilka centów na najlepszym modelu i zauważalnie mniej na średnim. Przy porannym meldunku, wieczornym pytaniu i trochę rozmowy w ciągu dnia lekki miesiąc to kilkanaście złotych. Ustaw limit wydatków na kluczu i sprawdź go po pierwszym tygodniu.
Jedna teza warta sprostowania, bo ją zmierzyłem: trzymanie długiej sesji otwartej nie oszczędza pieniędzy w porównaniu z zaczynaniem od nowa. Koszt idzie za długością rozmowy, a nie za sposobem jej uruchomienia.
Pułapki, jedną listą
- Kreator wymaga obecności przy maszynie; zdalnie konfiguruj z linii poleceń.
- Bez jednej komendy z kroku drugiego asystent umiera przy wylogowaniu.
- Bez listy dozwolonych bot rozmawia z obcymi.
- Wymień każdy klucz, który wkleiłeś do czatu.
- Dopisz siebie do użytkowników testowych Google, bo inaczej zatwierdzenie padnie z mylącym błędem.
- Błąd przeglądarki po zatwierdzeniu w Google jest normalny; i tak skopiuj cały adres.
- Ustaw język mowy, bo inaczej Twoje nagrania są przepisywane po angielsku.
- Po doinstalowaniu składnika zrestartuj agenta, bo go nie zobaczy.
- Restart wprowadza też w życie każde ustawienie, które zmieniłeś i zostawiłeś. U mnie po cichu przełączył model na droższy.
- Sprawdzaj pracę sam. Agent raportujący sukces to nie jest dowód sukcesu.
Co robi dla mnie teraz
Rano pisze, co mam w kalendarzu i co w skrzynce naprawdę mnie wymaga. Wieczorem pyta, jak poszedł dzień. Gdy opisuję mu coś w trakcie spaceru, rozumie wiadomość głosową, sprawdza, co ustaliliśmy w zeszłym tygodniu, i odpowiada dwoma zdaniami.
Nic z tego nie jest błyskotliwe. Jest niezawodne, a to więcej, i każde ostrzeżenie powyżej znalazło się tu dlatego, że wcześniej coś się zepsuło.