Norbi Core¶
Cel i odpowiedzialności¶
Norbi Core jest orkiestratorem intencji. Nie wykonuje operacji systemowych bezpośrednio. Jego obowiązkiem jest ustalenie, czego użytkownik naprawdę oczekuje, skonstruowanie bezpiecznego planu, zebranie właściwego kontekstu, wybór ról wykonawczych oraz komunikowanie postępu i niepewności.
Core odpowiada za rozróżnienie rozmowy, pytania, zadania, procesu i alarmu; ustalenie rezultatu, ograniczeń, terminu, budżetu i kryteriów akceptacji; rozbicie pracy na workflow i jobs; dobór agentów oraz profili modeli; ograniczenie kontekstu do potrzebnego minimum; śledzenie planu i interpretację dowodów wykonania; eskalację decyzji oraz przygotowanie końcowego podsumowania.
Core nie zatwierdza swoich planów, nie tworzy capability, nie aktywuje narzędzi, nie zapisuje bezpośrednio stanu brokera i nie posiada sekretów.
Karta modułu¶
| Pole | Kontrakt |
|---|---|
| Wejścia | IntentEnvelope, tożsamość, projekt, conversation scope, wybrane rekordy pamięci, stan jobs, polityka prezentacyjna. |
| Wyjścia | odpowiedź bez efektu, ProposalEnvelope, WorkflowDraft, pytanie doprecyzowujące, raport lub eskalacja. |
| Zależności | Context Builder, Memory Core, Agent Registry, Model Registry, Job Broker API i kanały UI. |
| Uprawnienia | odczyt zsanityzowanego stanu w zakresie projektu oraz tworzenie propozycji; brak wykonania i decyzji approval. |
| Autonomia | może sam planować i replanuwać w ramach zatwierdzonego celu; nie może rozszerzać celu ani skutków. |
| Walidacja | kompletność kontraktu rezultatu, zgodność DAG, pokrycie walidatorami, zgodność z polityką i budżetem. |
| Błędy | niejednoznaczna intencja, brak danych, konflikt zasad, brak wykonawcy, niespójne dowody. |
| Awaria | zapis planu i stanu rozmowy; wstrzymanie tworzenia nowych jobs; wznowienie idempotentne po odzyskaniu brokera. |
Wejście: Intent Envelope¶
Intent Envelope zawiera oryginalną wypowiedź, język, kanał, autora, czas, projekt, oczekiwany typ wyniku, ograniczenia oraz identyfikatory załączników. Dodatkowo rejestruje, czy treść pochodzi od uwierzytelnionego człowieka, automatycznego triggera czy kanału zewnętrznego. Załącznik nie jest wklejany bezpośrednio do promptu: najpierw trafia do Artifact Store, przechodzi klasyfikację i otrzymuje bezpieczną reprezentację.
Context Builder¶
Context Builder składa ContextEnvelope z czterech warstw: stałych zasad, kontekstu projektu, kontekstu zadania i pamięci pomocniczej. Każdy fragment ma źródło, klasyfikację i budżet tokenów. Treść przychodząca z internetu, poczty lub dokumentu jest oznaczona jako dane, nie instrukcja systemowa. Gdy provider jest zewnętrzny, Context Builder tworzy projekcję zminimalizowaną; prywatne pola są redagowane albo całe wywołanie zostaje zablokowane.
Planner i replanowanie¶
Planner tworzy graf, nie swobodny esej. Każdy węzeł ma node_id, typ operacji, wejścia, oczekiwane wyjścia, wykonawcę/rolę, kryterium ukończenia, timeout, idempotency class, politykę retry, potrzebne zasoby i zależności. Krytyczny węzeł ma alternatywę albo jawny warunek zatrzymania.
Replanowanie jest dozwolone, gdy wynik walidacji ujawni brak albo wykonawca jest niedostępny. Nowy plan zachowuje pierwotny cel i ograniczenia. Zwiększenie kosztu ponad próg, dodanie zewnętrznej transmisji, publikacji, instalacji lub skutku fizycznego powoduje nową decyzję człowieka. Planner nie może ukryć nowego ryzyka przez rozbicie jednej operacji na wiele małych.
Router agentów i modeli¶
Router nie wybiera po nazwie modelu wpisanej na stałe. Ocenia wymagania: język, rozumowanie, kod, vision, długość kontekstu, deterministyczność, koszt, latency, prywatność, licencję i dostępny sprzęt. Najpierw szuka lokalnego profilu spełniającego wymagania. Zewnętrzny provider jest brany pod uwagę tylko, gdy polityka na to pozwala i istnieje uzasadnienie jakościowe.
W zadaniu trudnym Router może uruchomić kilku konsultantów i agregator. Rozbieżność wyników nie jest głosowaniem większości. Arbiter porównuje dowody, testy i założenia, a nierozstrzygalne różnice pokazuje człowiekowi.
Przykładowe polecenia¶
- „Przygotuj trzy warianty grafiku na przyszły miesiąc, uwzględnij urlopy i nie publikuj zmian.”
- „Znajdź przyczynę wzrostu czasu renderu, sprawdź trzy hipotezy i pokaż wyniki testów.”
- „Na podstawie rozmowy przygotuj notatkę, zadania i projekt odpowiedzi, ale niczego nie wysyłaj.”
- „Zbuduj wersję demonstracyjną aplikacji w izolowanym kandydacie i zatrzymaj się przed instalacją.”
- „Przeanalizuj wczorajsze alarmy kamer, usuń duplikaty i pokaż tylko zdarzenia wymagające człowieka.”
Pełny przebieg¶
Polecenie o grafiku jest klasyfikowane jako workflow HR. Core pobiera zatwierdzone reguły zmian, umowy, kompetencje, urlopy i prognozę zapotrzebowania. Planner tworzy węzły: walidacja danych, generowanie kandydatów, kontrola prawa pracy, symulacja pokrycia, porównanie kosztu i prezentacja. Nie tworzy węzła publikacji, bo użytkownik go zabronił. Po wykonaniu Core przedstawia trzy warianty, konflikty oraz metryki. Jeśli użytkownik wybierze wariant, powstaje osobny plan publikacji ze wskazaniem zmian i odbiorców.
Walidacja wyniku¶
Core sprawdza nie tylko, czy każdy węzeł zakończył się sukcesem, ale czy artefakty spełniają kontrakt celu. Dla dokumentu: kompletność, źródła, spójność i brak niedozwolonych danych. Dla kodu: testy i diff. Dla grafiku: pokrycie, limity czasu, kompetencje i konflikty. Dla rozmowy: jakość transkrypcji, identyfikacja mówców, zgody i lista zadań. Wynik częściowy jest opisany jako częściowy.
Błędy, ryzyka i scenariusz awaryjny¶
Najważniejsze ryzyko Core to przekonujący, ale błędny plan. Ogranicza je kontrakt DAG, niezależne walidatory, źródła pamięci i polityka. Drugie ryzyko to nadmierny kontekst, który miesza projekty lub ujawnia dane; ogranicza je scope i minimalizacja. Trzecie to „goal drift”, gdy replanowanie zmienia sens zadania; ogranicza je niezmienny hash celu i wymaganie nowej decyzji przy materialnej zmianie.
Gdy Core nie potrafi bezpiecznie kontynuować, zamyka otwarte propozycje bez uruchamiania efektów, zachowuje artefakty cząstkowe i zwraca człowiekowi: co wiadomo, czego brakuje, które jobs zakończono, jakie decyzje są potrzebne i czy istnieje ryzyko niezakończonego skutku.