Studium przypadku
Coordination Hub
Przestrzeń do koordynowania pracy z kilkoma AI i rozumienia, co każda zaproponowała, co zostało sprawdzone i którą decyzję mam podjąć ja.
Zacząłem ją tworzyć, aby rozwiązać problem we własnej pracy: przechodząc między AI, traciłem kontekst i musiałem odtwarzać decyzje. Hub, którego eksperymentalny interfejs nazywa się Testigo, łączy projekty, rozmowy i zweryfikowaną pamięć. Chcę śledzić pracę bez mylenia propozycji ze sprawdzonym wynikiem.
Eksperymentalne
- Pilotaż
- niezależny produkt w rozwoju
- L0–L3
- autonomia z ludzką decyzyjnością
- MCP
- koordynacja między oddzielnymi sesjami
Współpraca: Pracowałem z Claude i Codex nad implementacją i przeglądem systemu. Zachowuję odpowiedzialność za kierunek produktu, kryteria akceptacji i decyzje wymagające autoryzacji.
Rzeczywisty interfejs z danymi demonstracyjnymi. Zrzuty pochodzą z rozwoju Testigo i nie zawierają rozmów służbowych ani informacji LALIGA. W tej izolowanej sesji dostawcy są pokazani jako odłączeni; ekrany przedstawiają projekt nadzoru, nie trwające wykonanie autonomiczne.
Projekt, warstwa po warstwie
Małe decyzje budują system.
Porządkuję kontekst według projektu i rozmowy. Każdy wkład zachowuje autora, a dostępność narzędzi mogę sprawdzić bez opuszczania przestrzeni roboczej. Rzeczywisty interfejs z danymi demonstracyjnymi.
Pamięć odróżnia otrzymany materiał od sprawdzonej wiedzy. Chcę, aby można było zbadać i ocenić ponownie wykorzystywane informacje, zamiast zakładać, że wszystko, co zapisano, jest poprawne. Rzeczywisty interfejs z danymi demonstracyjnymi.
Utworzenie osobnej przestrzeni roboczej wyraźnie wyznacza granicę każdego projektu. To część procesu rozpoczęcia pracy, który nadal testuję, aby ograniczyć konfigurację i uniknąć mieszania kontekstów. Rzeczywisty interfejs z danymi demonstracyjnymi.
Badania
Problem pojawił się podczas pracy. Kopiowałem odpowiedzi między asystentami, powtarzałem kontekst i poświęcałem czas na sprawdzanie, co faktycznie zostało zrobione. Chciałem rozdzielić trzy często mylone rzeczy: prośbę, propozycję i dowód wyniku.
Zdefiniowałem poziomy autonomii, aby rekomendacja nie mogła sama zmienić się w autoryzację. L0 pozwala obserwować; L1 i L2 ograniczają działania według zakresu; L3 rezerwuje decyzje o największym wpływie dla człowieka.
Metody:Ocena rzeczywistego kosztu ludzkiego pośrednictwa · Porównanie istniejących frameworków i decyzja o rozwiązaniu dopasowanym do potrzeb · Model autonomii L0–L3, z L3 zarezerwowanym dla człowieka · Mierzalne kryteria sukcesu przed napisaniem kodu.
Prototyp
Uporządkowałem interfejs wokół konkretnego zadania: zrozumieć, co wymaga mojej uwagi. Kontekst jest po lewej, rozmowa pośrodku, a stan narzędzi po prawej. Pamięć sprawdza się w razie potrzeby, zamiast stale zajmować przestrzeń do czytania.
Dziennik zdarzeń zachowuje ślad operacyjny. Zbudowane na nim widoki pozwalają czytać rozmowę i przeglądać decyzje bez przechodzenia przez cały log techniczny.
AI w procesie
W tym projekcie korzystam z AI, aby zbudować narzędzie, które ma również pomagać mi je nadzorować. Naprzemiennie realizuję implementację i przegląd z Claude oraz Codex, porównując ich wnioski z kodem i testami. Dwie zgodne odpowiedzi nie wystarczą mi, by uznać coś za zweryfikowane.
- Narzędzie
- Claude · Codex, koordynowane ze sobą przez sam Hub
- Etap
- Pełny cykl: specyfikacja, implementacja, wzajemny przegląd i weryfikacja
- Wkład człowieka
- Problem, kryteria akceptacji, architektura decyzji, priorytety i każde nieodwracalne zatwierdzenie
- Wynik AI
- Implementacja, testy i niezależne przeglądy z ustalonym priorytetem ustaleń oraz dowodami
- Kryteria wyboru
- Weryfikowalne dowody, odwracalność, izolacja projektów, brak sekretów i zaliczone testy
- Wykryte ograniczenia
- Żadna AI nie rozszerza własnych uprawnień, nie rozstrzyga nieodwracalnej decyzji ani nie ogłasza konsensusu bez niezależnego przeglądu
- Ostateczna decyzja
- Ludzka decyzyjność we wszystkim, co nieodwracalne. AI podejmują odwracalne działania i pozostawiają ślad
Rozwój
Hub udostępnia przez MCP operacje odczytywania wiadomości, rejestrowania odpowiedzi i dostarczania dowodów z kompatybilnych narzędzi. Kontrakt odróżnia wysłanie, odbiór, przetworzenie i weryfikację: to różne stany i chcę, by interfejs również tak je traktował.
Skupiłem się na odzyskiwaniu, ponowieniach i oddzielaniu projektów. To mało efektowne sytuacje, lecz niezbędne, jeśli narzędzie koordynacji ma usuwać więcej niepewności, niż jej dodaje.
Walidacja
Przegląd ujawnił wymowny problem: temat można było zamknąć jako konsensus bez sprawdzenia niezależnej recenzji. Poprawiliśmy kontrakt, aby wymagał tego przeglądu i zachowywał dowody. Odkrycie zmieniło mój osąd projektowy: pozytywny status musi wyjaśniać, na czym się opiera.
Początkowa wersja dokumentowała 95 testów automatycznych. To historyczny dowód rozwoju, nie gwarancja ukończenia obecnego produktu. Hub pozostaje pilotażem, a łatwość użytkowania nadal trzeba ocenić z ludźmi; zrzut ekranu ani test kodu nie zastąpią tej walidacji.
Od prototypu do komponentu
Organizacja systemu
- podstawy / poziomy autonomii · stany dostępności · klasy widoczności
- organizmy / kolejka uwagi · oś rozmowy · panel konsensusu
- organizmy / rejestr decyzji · inwentarz agentów · łańcuch dowodów
Kod · dowód implementacji
const requiredReviewers = [
...new Set(target.to.filter((agent) => agent !== parsed.from)),
]
if (requiredReviewers.length === 0) {
throw new Error('Consensus requires an independent review')
}
const reviewedBy = requiredReviewers.filter((reviewer) =>
events.some(
(event) =>
event.correlationId === target.id &&
event.from === reviewer &&
['review', 'objection', 'result'].includes(event.messageKind),
),
)
if (reviewedBy.length !== requiredReviewers.length) {
throw new Error('Consensus requires an independent review from: ...')
}
const level =
parsed.reversibility === 'irreversible' ? 'L3' : topicLevel
if (level === 'L3' && parsed.from !== 'manuel') {
throw new Error('L3 consensus may only be resolved by Manuel')
}src/store.mjs · resolveTopic()
Rdzeń systemu: bramka konsensusu. Wcześniej wystarczała deklaracja agenta; teraz wymaga niezależnego przeglądu od każdego wymaganego recenzenta i wyprowadza poziom zamiast go nadawać.
consensusState = 'reviewed' | 'provisional' | 'lapsed' ← wyprowadzany z zarejestrowanych przeglądów, nie deklarowany przez agenta rozstrzygającego
Wnioski
Oddzielenie inteligencji od władzy: gdy jedna strona proponuje, a inna, deterministyczna część autoryzuje, rekomendacja nie zostaje pomylona z decyzją.
Zgoda bez niezależnego przeglądu nie jest konsensusem, lecz opinią z pieczątką. Jeśli system tego nie sprawdza, w końcu do tego dojdzie.
Niedostępność z powodu limitu nie jest wyjątkiem, lecz normalnym warunkiem: projekt powinien jawnie ograniczyć działanie, zamiast utknąć.
Nauczyłem się zapisywać decyzje w trakcie pracy: późniejsze odtwarzanie kontekstu wymaga więcej wysiłku i może pozostawić luki.
Otwarte pytanie:Co człowiek musi widzieć, aby z pewnością nadzorować kilku autonomicznych agentów bez czytania wszystkiego, co wytwarzają?
Kontakt
Porozmawiajmy.
Jeśli uważasz, że mój sposób pracy pasuje do Twojego zespołu, albo masz produkt lub projekt badawczy, który chcesz rozwijać, chętnie dowiem się więcej. Napisz, czego potrzebujesz i na jakim jesteś etapie. Osobiście przeczytam Twoją wiadomość.
Znajdziesz mnie również na LinkedIn