Przezroczysta pochodna twarzy z obrazu kota Kiki dostarczonego przez autora
Powrót do sali

Kiki

Sygnały pracy i wykonanie agentów

Aby propozycja stała się działaniem osoby odpowiedzialnej.

Wtyczka Paperclip i kolektor Slack, które pomagają zespołowi obsługiwać agentów AI.

2026.04 — 2026.05

pinxlab AI R&D, wolny strzelec · planowanie i rozwój przepływu pracy, badanie zablokowanych wykonań i projekt ścieżki przywracania

  • WtyczkaZaimplementowane · Paperclip
  • Serwer MCPZaimplementowane · Kolektor Slack

Kiki vocabulary

Lens
Agent Execution
Dispatch
Recovery
Work Signals
Signal Ingestion
Proposal
  1. assignment
  2. wake
  3. guardrail
  1. stage reaper
  2. zombie sweeper
  3. circuit breaker
  4. escalation
  1. observe
  2. signals
  3. profile
  4. directive
  1. proposal
  2. approval

Assignment: assigneeAgentId · PATCH /api/issues/:id · queueIssueAssignmentWakeup · issue.updated · CTO TRIAGE · AUTO-PROMOTE TO TODO · AUTO-REBALANCE · in_progress · REASSIGN WITHOUT WAKE · repatchAssignment · kiki-retry-issue · status: todoWake: queueIssueAssignmentWakeup · REASSIGN WITHOUT WAKE · ctx.agents.invoke · POST /api/agents/:id/wakeup · invokeOnce · INVOKE DEDUP · windowMs · HANDOFF-ACK · AT-LEAST-ONCE · HANDOFF_ACK_MAX_RETRIES · ORPHAN WAKE · lastRunAt · maxConsecutiveWakes · WAKE-STORM GUARD · heartbeat_runsGuardrail: issue.updated · in_progress · ORPHAN WAKE · SPEC COMPLETE · PO SPEC GATE · PO DELEGATION GATE · REVIEW SCORECARD · 30/30 · REWORK · PO ACCEPTANCE SCORECARD · findScorecardInComments · ANTI-DECEPTION RATCHET · WORKFLOW GUARDRAILStage Reaper: PATCH /api/issues/:id · lastRunAt · stage-reaper · repatchAssignment · heartbeatSeconds · maxConsecutiveWakes · COOLDOWN · lastSignalTime · stageEntryTime · LEVEL-TRIGGERED · WAKE-STORM GUARD · pipeline-reaper · stage-without-PATCH · kiki-retry-issue · LEAD REROUTEZombie Sweeper: zombie-sweeper · ZOMBIE_RUNNING_MAX_MIN · ZOMBIE_QUEUED_MAX_MIN · execution_run_id · RUN OWNERSHIP CONFLICT · heartbeat_runs · claude_local · execution_locked_at · SELF-HEALCircuit Breaker: CLOSED · HALF_OPEN · auth_fail · rate_limit · RETRY STORM · CB_FAILURE_THRESHOLD · KEY ROTATOR · HTTP 429 · process_lost · agent.run.failedEscalation: process_lost · agent.run.failed · ESCALATION COMMENT · LEAD REROUTE · QA FALLBACK · agent.status_changed · failed-run-escalator · PIPELINE NOTIFIER · pipeline-health-snapshot · SILENT STALLObserve: observe_channel · slack_read_channels · slack_read_thread · slack_read_reactions · slack_user_activity · .last_observed.json · DELTA TRACKING · oldest · SOCKET MODE · kiki-observe · NO RAW TEXTSignals: NO RAW TEXT · UserSignal · message_count · avg_response_time_minutes · active_hours · thread_participation_rate · topic_keywords · evidence_count · LLMExtractedSignal · FeedbackSignalProfile: FeedbackSignal · UserProfile · CommunicationStyle · DecisionPattern · WorkRhythm · focusBlocks · confidence · ContextMode · DELEGATION CHAINS · refresh-profilesDirective: AgentDirective · profileToDirectives · reportFormat · taskConstraints · directiveToSkillMarkdown · agent.created · PATCH /api/skills/{skillId} · grounding_policy · systemPrompt · NO USER PIIMaintenance Proposal: MaintenanceProposal · [MAINT] · daily-maintenance · run-maintenance · kiki-maintain · MAX 10 PROPOSALS · [SCHEMA APPROVAL REQUIRED] · P1/P2/P3 · DO NOT FABRICATE · BOUND TARGETHuman Approval: SOCKET MODE · [SCHEMA APPROVAL REQUIRED] · maint_approve · maint_deny · BLOCK KIT · reaction_added · white_check_mark · ProposalMapping · block_actions · approved · cancelled · status: todo

Między przydziałem a faktycznym wykonaniem: ścieżka obserwacji i przywracania.

Sygnały pracy stają się profilami i dyrektywami dla agentów, a zatwierdzenie propozycji utrzymaniowej jest oddzielone od przydzielenia jej wykonania. Gdy aktywność przydzielonego zgłoszenia ustaje, jest ono zlecane ponownie ze zgłoszeniem i osobą odpowiedzialną, a powtarzający się brak odpowiedzi prowadzi do limitu, cooldownu i oceny człowieka.

Zamieniają sygnały pracy w dyrektywy dla agentów i łączą jako osobne kroki propozycje utrzymaniowe, zatwierdzenie przez człowieka, przydział i przywracanie zablokowanych przebiegów. Planowanie i rozwój tego przepływu to moja praca.

Pierwszy zapis w repozytorium April 3, 2026 · współpraca z pinxlab do May 26, 2026

Działa jako wtyczka wewnątrz Paperclip zespołu; zbieraniem ze Slack zajmuje się serwer MCP.

Mapa przepływu wykonania · z niepublicznych zapisów implementacji
Kiki: sygnały · zatwierdzenie · przywracanie wykonaniaWzorce pracy są wyodrębniane z dostępnej historii kanałów Slack do profili firm i dyrektyw dla poszczególnych agentów. Agent analizy utrzymaniowej przegląda projekt docelowy i zostawia propozycje jako nieprzydzielone zgłoszenia w backlogu; każda propozycja jest publikowana w Slack, gdzie człowiek zatwierdza ją lub odrzuca reakcją. Gdy zatwierdzone zgłoszenie zostanie przydzielone agentowi, pracę wykonuje zewnętrzny system wykonawczy, a stage reaper obserwuje ostatnią aktywność. Jeśli aktywność ustaje, przydział jest zlecany ponownie ze zgłoszeniem i osobą odpowiedzialną; gdy kolejne braki odpowiedzi osiągną limit, ponowne wywołania ustają, a sprawa trafia do lidera lub operatora.Sygnały SlackDostępna historia kanałówPrzydzielony agentZewnętrzne wykonanieProjekt docelowyZawartość niepokazanaCzłowiek · zatwierdza, odrzucaReakcja w SlackLider · operatorPonowny przydział · powiadomienieZbieranie sygnałówWyodrębnianie wzorców · bez botówStan firmyScalanie profilu firmyStan agentaDyrektywy dla agentówObserwacja przebiegówOstatnie przebiegi · aktywnośćAnaliza utrzymaniowaWywołanie PO · prompt o ograniczonym zakresieSystem zgłoszeńPropozycja · backlogZgłoszenie do wykonania · todoPublikowanie propozycjiMapowanie wiadomość ↔ zgłoszenieStage reaperKontrola utknięcia · heartbeatWywołanie przywracająceZgłoszenie + osoba odpowiedzialnaStan braku odpowiedziBraki odpowiedzi · na zgłoszenieLimitWstrzymanie wywołań · cooldownSygnały → dyrektywyZewnętrzne wykonaniePropozycja → zatwierdzenie przez człowiekaPrzywracanie · eskalacja1 historia kanałów · Sygnały Slack → Wyodrębnianie wzorców · bez botów12 scalanie profilu · Wyodrębnianie wzorców · bez botów → Scalanie profilu firmy23 regeneracja · Scalanie profilu firmy → Dyrektywy dla agentów34 wstrzyknięcie dyrektyw · Dyrektywy dla agentów → Przydzielony agent41zakres celu2 zgłoszenie z propozycją · Wywołanie PO · prompt o ograniczonym zakresie → Propozycja · backlog23publikacja propozycji4wiadomość Slack5reakcja6zatwierdzenie → todo7odrzucenie → cancelled8przydział1zapisy przebiegów2ostatnia aktywność3brak odpowiedzi +14nowa aktywność → reset5 ponowne wywołanie · Kontrola utknięcia · heartbeat → Zgłoszenie + osoba odpowiedzialna56zgłoszenie + osoba odpowiedzialna7po 38ponowny przydział · powiadomienie9tylko ostrzeżenie

Sygnały → dyrektywy

Profile i dyrektywy dla agentów powstają z historii Slack. Dyrektywy są kontekstem agenta i nie są przedstawiane jako przyczyna żadnej propozycji.

  1. Sygnały SlackDane: historia kanałówWyodrębnianie wzorców · bez botówZbieranie sygnałów

    Zbierana jest dostępna historia kanałów, a wiadomości botów oraz o dołączeniu i opuszczeniu są odfiltrowywane. Oryginalne wiadomości nie są pokazywane na tej stronie.

  2. Wyodrębnianie wzorców · bez botówZbieranie sygnałówDane: scalanie profiluScalanie profilu firmyStan firmy

    Wyodrębnione wzorce stają się łatką profilu scalaną z profilem firmy. To wzorce heurystyczne, a nie oceny wydajności pracowników.

  3. Scalanie profilu firmyStan firmyDane: regeneracjaDyrektywy dla agentówStan agenta

    Dyrektywy dla poszczególnych agentów są generowane na nowo ze scalonego profilu i zapisywane.

  4. Dyrektywy dla agentówStan agentaUruchomienie · rozstrzygnięcie: wstrzyknięcie dyrektywPrzydzielony agent

    Dyrektywy trafiają do kontekstu agenta przy jego tworzeniu. Nie oznacza to, że dana propozycja pochodzi z danego sygnału Slack.

Propozycja → zatwierdzenie → przydział

Propozycja najpierw istnieje jako nieprzydzielone zgłoszenie w backlogu, reakcja człowieka zleca zmianę statusu, a przydział i wykonanie należą do systemu zewnętrznego.

  1. Projekt docelowyDane: zakres celuWywołanie PO · prompt o ograniczonym zakresieAnaliza utrzymaniowa

    Zadanie utrzymaniowe wywołuje agenta PO z promptem ograniczonym do projektu docelowego. Zawartość źródeł nie jest pokazywana.

  2. Wywołanie PO · prompt o ograniczonym zakresieAnaliza utrzymaniowaDane: zgłoszenie z propozycjąPropozycja · backlogSystem zgłoszeń

    Prompt prosi o propozycje wyłącznie ze zweryfikowanymi ścieżkami, w postaci nieprzydzielonych zgłoszeń w backlogu, i zabrania uruchamiania migracji DB. To instrukcja dla agenta produktu, a nie deterministyczny mechanizm egzekwowania.

  3. Propozycja · backlogSystem zgłoszeńDane: publikacja propozycjiMapowanie wiadomość ↔ zgłoszeniePublikowanie propozycji

    Każda propozycja jest publikowana w Slack, a mapowanie wiadomości na zgłoszenie jest zapisywane. Już opublikowane propozycje nie są publikowane ponownie, a zapisane mapowanie przechowuje ostatnie 50.

  4. Mapowanie wiadomość ↔ zgłoszeniePublikowanie propozycjiDane: wiadomość SlackCzłowiek · zatwierdza, odrzuca

    Człowiek widzi opublikowaną propozycję w Slack.

  5. Człowiek · zatwierdza, odrzucaUruchomienie · rozstrzygnięcie: reakcjaMapowanie wiadomość ↔ zgłoszeniePublikowanie propozycji

    Reakcja na wiadomość odnajduje zgłoszenie przez mapowanie. Nie ma automatycznego zatwierdzania.

  6. Mapowanie wiadomość ↔ zgłoszeniePublikowanie propozycjiUruchomienie · rozstrzygnięcie: zatwierdzenie → todoZgłoszenie do wykonania · todoSystem zgłoszeń

    Przy zatwierdzeniu wysyłane jest żądanie przeniesienia oczekującego zgłoszenia z propozycją do todo, a mapowanie i powiadomienie w wątku są aktualizowane. Ten handler oznacza mapowanie jako zatwierdzone bez sprawdzania kodu odpowiedzi, więc nie jest to transakcja zamykająca się przy awarii.

  7. Mapowanie wiadomość ↔ zgłoszeniePublikowanie propozycjiUruchomienie · rozstrzygnięcie: odrzucenie → cancelledPropozycja · backlogSystem zgłoszeń

    Przy odrzuceniu wysyłane jest żądanie przeniesienia tego samego zgłoszenia do cancelled. Zgłoszenie istniało przed zatwierdzeniem; zatwierdzenie go nie tworzy.

  8. Zgłoszenie do wykonania · todoSystem zgłoszeńUruchomienie · rozstrzygnięcie: przydziałPrzydzielony agent

    Przydział i wykonanie zgłoszenia todo należą do zewnętrznego systemu wykonawczego. Przeniesienie zgłoszenia do todo nie gwarantuje, że praca się rozpoczęła.

Utknięcie → przywrócenie → człowiek

Przydzielone zgłoszenie, którego aktywność ustała, jest zlecane ponownie ze zgłoszeniem i osobą odpowiedzialną; gdy kolejne braki odpowiedzi osiągną limit, trafia do człowieka.

  1. Przydzielony agentObserwacja · raport: zapisy przebiegówOstatnie przebiegi · aktywnośćObserwacja przebiegów

    Przebiegi przydzielonego agenta i ostatnie sygnały są zapisywane jako obserwacje. Aktywność nie jest dowodem ukończenia.

  2. Ostatnie przebiegi · aktywnośćObserwacja przebiegówObserwacja · raport: ostatnia aktywnośćKontrola utknięcia · heartbeatStage reaper

    Reaper patrzy tylko na zgłoszenia, które nie są done, cancelled ani blocked i mają osobę odpowiedzialną, i oblicza wiek ostatniego sygnału i etapu.

  3. Kontrola utknięcia · heartbeatStage reaperDane: brak odpowiedzi +1Braki odpowiedzi · na zgłoszenieStan braku odpowiedzi

    Kolejne braki odpowiedzi są liczone dla każdej pary agent–zgłoszenie i zapisywane w stanie.

  4. Ostatnie przebiegi · aktywnośćObserwacja przebiegówObserwacja · raport: nowa aktywność → resetBraki odpowiedzi · na zgłoszenieStan braku odpowiedzi

    Nowa aktywność zeruje licznik.

  5. Kontrola utknięcia · heartbeatStage reaperUruchomienie · rozstrzygnięcie: ponowne wywołanieZgłoszenie + osoba odpowiedzialnaWywołanie przywracające

    Jeśli przekroczono heartbeat, a licznik jest poniżej limitu, wykonywane jest wywołanie przywracające.

  6. Zgłoszenie + osoba odpowiedzialnaWywołanie przywracająceUruchomienie · rozstrzygnięcie: zgłoszenie + osoba odpowiedzialnaZgłoszenie do wykonania · todoSystem zgłoszeń

    Przydział jest zlecany ponownie ze zgłoszeniem, przydzielonym agentem i komentarzem wyjaśniającym, a odpowiedź HTTP jest sprawdzana. Ścieżka legacy zastępuje to pojedynczym wywołaniem wybudzającym.

  7. Braki odpowiedzi · na zgłoszenieStan braku odpowiedziAwaria · limit: po 3Wstrzymanie wywołań · cooldownLimit

    Gdy kolejne braki odpowiedzi osiągną limit (domyślnie 3), ponowne wywołania ustają. Limit obowiązuje tylko wtedy, gdy hooki stanu odczytują i zapisują licznik, a nieudany zapis może go osłabić.

  8. Wstrzymanie wywołań · cooldownLimitUruchomienie · rozstrzygnięcie: ponowny przydział · powiadomienieLider · operator

    Przydziela ponownie liderowi, jeśli to możliwe, i przenosi in_progress z powrotem do todo tylko wtedy, gdy ta funkcja jest włączona. W przeciwnym razie zostawia komentarz i powiadomienie best-effort, a po osiągnięciu limitu zapisuje cooldown.

  9. Kontrola utknięcia · heartbeatStage reaperObserwacja · raport: tylko ostrzeżenieLider · operator

    Gdy etap trwa zbyt długo, operatorom zostawiany jest tylko komentarz z ostrzeżeniem. Status nie jest zmieniany automatycznie.

Każde połączenie z tą samą wagą. Wybór przepływu wyróżnia tylko jego ścieżkę z ponumerowanymi krokami.

  • Linia ciągła · kierunek wejścia, wyników i zapisów
  • Linia przerywana · uruchomienie, rozstrzygnięcie, żądanie
  • Długie kropki · obserwacja i raportowanie, oddzielnie od rozstrzygnięcia
  • Krótkie kreski · awaria, zatrzymanie, limit
  • Gruba czarna linia · wybrany przepływ; liczby podają kolejność
  • Ramka · granica kodu lub stanu, nazwana w nagłówku
  • Wewnętrzny element · komponent tej granicy
  • Kropkowana ramka · poza tą granicą
  • Pomarańczowy obrys · miejsce, w którym decyduje model
  • Wywołanie agenta · wywołanie przywracające
  • Stan · zapisy
  • Kontrola utknięcia · limit
  • Zbieranie · publikowanie

Narysowano na podstawie niepublicznych zapisów implementacji i rozwoju. Identyfikatory zespołu, zgłoszeń i Slack oraz oryginalne wiadomości nie są pokazane; wdrożenie, kontenery i poświadczenia należą do właściciela spoza tej wtyczki.

Jedna obserwacja
Raport z April 28, 2026: w ręcznej diagnozie przed zmianą jedno zgłoszenie, które nie działało od 67 godzin, otrzymało ponowne zlecenie przydziału ze zgłoszeniem i osobą odpowiedzialną, a nowy przebieg trafił do kolejki w ciągu 5 sekund. Ukończenia, średniego czasu przywrócenia ani efektu po wdrożeniu nie mierzono.
Granice obsługi zatwierdzeń
W odróżnieniu od wywołania przywracającego obsługa zatwierdzeń oznacza mapowanie jako zatwierdzone bez sprawdzania kodu odpowiedzi. Nie jest opisywana jako atomowa ani zamykająca się przy awarii transakcja zatwierdzenia.
Kiedy limit obowiązuje
Limit 3 wywołań to implementacja, która obowiązuje, gdy obecne są hooki stanu. Nie gwarantuje dokładnie jednej eskalacji przy każdej awarii.