Priehľadná odvodenina tváre z obrázka mačky Kiki dodaného autorom
Späť do sály

Kiki

Pracovné signály a vykonávanie agentov

Aby sa návrh stal činnosťou riešiteľa.

Plugin pre Paperclip a kolektor zo Slacku, ktoré tímu pomáhajú prevádzkovať agentov AI.

2026.04 — 2026.05

pinxlab AI R&D na voľnej nohe · plánovanie a vývoj pracovného postupu, vyšetrovanie zaseknutého vykonávania a návrh cesty obnovy

  • PluginImplementované · Paperclip
  • Server MCPImplementované · 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

Medzi pridelením a skutočným vykonaním: cesta na pozorovanie a obnovu.

Pracovné signály sa menia na profily a direktívy pre agentov a schválenie návrhu údržby je oddelené od pridelenia jeho vykonania. Keď aktivita prideleného tiketu ustane, znova sa oň požiada s tiketom a riešiteľom a opakované neodpovedanie vedie k limitu, cooldownu a ľudskému posúdeniu.

Menia pracovné signály na direktívy pre agentov a ako samostatné kroky prepájajú návrhy údržby, ľudské schválenie, pridelenie a obnovu zaseknutých behov. Plánovanie a vývoj tohto toku sú mojou prácou.

Prvý záznam v repozitári April 3, 2026 · spolupráca s pinxlab do May 26, 2026

Beží ako plugin vnútri tímového Paperclip; zber zo Slacku zabezpečuje server MCP.

Mapa toku vykonávania · z neverejných záznamov implementácie
Kiki: signály · schválenie · obnova vykonávaniaPracovné vzorce sa z dostupnej histórie kanálov Slack vyťažia do profilov firiem a direktív pre jednotlivých agentov. Agent analýzy údržby prechádza cieľový projekt a zanecháva návrhy ako nepridelené tikety v backlogu; každý návrh sa zverejní v Slacku, kde ho človek reakciou schváli alebo odmietne. Keď sa schválený tiket pridelí agentovi, prácu vykoná externý vykonávací systém a stage reaper sleduje nedávnu aktivitu. Ak aktivita ustane, o pridelenie sa znova požiada s tiketom a riešiteľom; keď po sebe idúce neodpovede dosiahnu limit, opakované volania ustanú a prípad prejde na vedúceho alebo operátora.Signály SlackDostupná história kanálovPridelený agentExterné vykonávanieCieľový projektObsah sa nezobrazujeČlovek · schvaľuje, odmietaReakcia v SlackuVedúci · operátorNové pridelenie · upozornenieZber signálovVyťaženie vzorcov · bez botovStav firmyZlúčenie profilu firmyStav agentaDirektívy pre agentovPozorovanie behovNedávne behy · aktivitaAnalýza údržbyVolanie PO · prompt s vymedzeným rozsahomSystém tiketovNávrh · backlogTiket na vykonanie · todoZverejňovanie návrhovMapovanie správa ↔ tiketStage reaperKontrola uviaznutia · heartbeatObnovovacie volanieTiket + riešiteľStav neodpovedaniaNeodpovede · na tiketLimitZastaviť volania · cooldownSignály → direktívyExterné vykonávanieNávrh → ľudské schválenieObnova · eskalácia1 história kanálov · Signály Slack → Vyťaženie vzorcov · bez botov12 zlúčenie profilu · Vyťaženie vzorcov · bez botov → Zlúčenie profilu firmy23 regenerácia · Zlúčenie profilu firmy → Direktívy pre agentov34 vloženie direktív · Direktívy pre agentov → Pridelený agent41 rozsah cieľa · Cieľový projekt → Volanie PO · prompt s vymedzeným rozsahom12 tiket s návrhom · Volanie PO · prompt s vymedzeným rozsahom → Návrh · backlog23zverejnenie návrhu4správa Slack5reakcia6schválenie → todo7odmietnutie → cancelled8pridelenie1záznamy behov2posledná aktivita3neodpoveď +14nová aktivita → reset5 opakované volanie · Kontrola uviaznutia · heartbeat → Tiket + riešiteľ56tiket + riešiteľ7po 38nové pridelenie · upozornenie9len varovanie

Signály → direktívy

Profily a direktívy pre agentov vznikajú z histórie Slacku. Direktívy sú kontextom agenta a nezobrazujú sa ako príčina žiadneho návrhu.

  1. Signály SlackDáta: história kanálovVyťaženie vzorcov · bez botovZber signálov

    Zbiera sa dostupná história kanálov a správy botov a o pripojení či odchode sa odfiltrujú. Pôvodné správy sa na tejto stránke nezobrazujú.

  2. Vyťaženie vzorcov · bez botovZber signálovDáta: zlúčenie profiluZlúčenie profilu firmyStav firmy

    Vyťažené vzorce sa stanú záplatou profilu zlúčenou do profilu firmy. Ide o heuristické vzorce, nie o hodnotenie výkonu zamestnancov.

  3. Zlúčenie profilu firmyStav firmyDáta: regeneráciaDirektívy pre agentovStav agenta

    Direktívy pre jednotlivých agentov sa zo zlúčeného profilu vygenerujú znova a uložia.

  4. Direktívy pre agentovStav agentaSpustenie · rozhodnutie: vloženie direktívPridelený agent

    Direktívy sa dostanú do kontextu agenta pri jeho vytvorení. Neznamená to, že určitý návrh vzišiel z určitého signálu Slack.

Návrh → schválenie → pridelenie

Návrh najprv existuje ako nepridelený tiket v backlogu, reakcia človeka žiada o zmenu stavu a pridelenie a vykonanie patria externému systému.

  1. Cieľový projektDáta: rozsah cieľaVolanie PO · prompt s vymedzeným rozsahomAnalýza údržby

    Úloha údržby volá agenta PO s promptom vymedzeným na cieľový projekt. Obsah zdrojov sa nezobrazuje.

  2. Volanie PO · prompt s vymedzeným rozsahomAnalýza údržbyDáta: tiket s návrhomNávrh · backlogSystém tiketov

    Prompt žiada o návrhy len s overenými cestami, vo forme nepridelených tiketov v backlogu, a zakazuje spúšťať migrácie DB. Ide o pokyn produktovému agentovi, nie o deterministický mechanizmus vynútenia.

  3. Návrh · backlogSystém tiketovDáta: zverejnenie návrhuMapovanie správa ↔ tiketZverejňovanie návrhov

    Každý návrh sa zverejní v Slacku a mapovanie správy na tiket sa uloží. Už zverejnené návrhy sa znova nezverejňujú a uložené mapovanie drží posledných 50.

  4. Mapovanie správa ↔ tiketZverejňovanie návrhovDáta: správa SlackČlovek · schvaľuje, odmieta

    Človek vidí zverejnený návrh v Slacku.

  5. Človek · schvaľuje, odmietaSpustenie · rozhodnutie: reakciaMapovanie správa ↔ tiketZverejňovanie návrhov

    Reakcia na správu nájde tiket cez mapovanie. Automatické schvaľovanie neexistuje.

  6. Mapovanie správa ↔ tiketZverejňovanie návrhovSpustenie · rozhodnutie: schválenie → todoTiket na vykonanie · todoSystém tiketov

    Pri schválení sa odošle žiadosť o presun čakajúceho tiketu s návrhom do todo a aktualizuje sa mapovanie a upozornenie vo vlákne. Tento handler označí mapovanie ako schválené bez kontroly kódu odpovede, takže nejde o transakciu, ktorá sa pri zlyhaní uzavrie.

  7. Mapovanie správa ↔ tiketZverejňovanie návrhovSpustenie · rozhodnutie: odmietnutie → cancelledNávrh · backlogSystém tiketov

    Pri odmietnutí sa odošle žiadosť o presun toho istého tiketu do cancelled. Tiket existoval už pred schválením; schválenie ho nevytvára.

  8. Tiket na vykonanie · todoSystém tiketovSpustenie · rozhodnutie: prideleniePridelený agent

    Pridelenie a vykonanie tiketu todo patrí externému vykonávaciemu systému. Presun tiketu do todo nezaručuje, že práca začala.

Uviaznutie → obnova → človek

O pridelený tiket, ktorého aktivita ustala, sa znova požiada s tiketom a riešiteľom; keď po sebe idúce neodpovede dosiahnu limit, prejde na človeka.

  1. Pridelený agentPozorovanie · správa: záznamy behovNedávne behy · aktivitaPozorovanie behov

    Behy prideleného agenta a nedávne signály sa zaznamenávajú ako pozorovania. Aktivita nie je dokladom dokončenia.

  2. Nedávne behy · aktivitaPozorovanie behovPozorovanie · správa: posledná aktivitaKontrola uviaznutia · heartbeatStage reaper

    Reaper sleduje len tikety, ktoré nie sú done, cancelled ani blocked a majú riešiteľa, a počíta vek posledného signálu a fázy.

  3. Kontrola uviaznutia · heartbeatStage reaperDáta: neodpoveď +1Neodpovede · na tiketStav neodpovedania

    Po sebe idúce neodpovede sa počítajú pre každú dvojicu agent–tiket a ukladajú do stavu.

  4. Nedávne behy · aktivitaPozorovanie behovPozorovanie · správa: nová aktivita → resetNeodpovede · na tiketStav neodpovedania

    Nová aktivita počet vynuluje.

  5. Kontrola uviaznutia · heartbeatStage reaperSpustenie · rozhodnutie: opakované volanieTiket + riešiteľObnovovacie volanie

    Ak sa prekročil heartbeat a počet je pod limitom, vykoná sa obnovovacie volanie.

  6. Tiket + riešiteľObnovovacie volanieSpustenie · rozhodnutie: tiket + riešiteľTiket na vykonanie · todoSystém tiketov

    O pridelenie sa znova požiada s tiketom, prideleným agentom a vysvetľujúcim komentárom a odpoveď HTTP sa skontroluje. Cesta legacy to nahrádza jediným budiacim volaním.

  7. Neodpovede · na tiketStav neodpovedaniaZlyhanie · limit: po 3Zastaviť volania · cooldownLimit

    Keď po sebe idúce neodpovede dosiahnu limit (predvolene 3), opakované volania ustanú. Limit platí len vtedy, keď stavové hooky počet čítajú a zapisujú, a neúspešné uloženie ho môže oslabiť.

  8. Zastaviť volania · cooldownLimitSpustenie · rozhodnutie: nové pridelenie · upozornenieVedúci · operátor

    Podľa možností pridelí prípad znova vedúcemu a in_progress vráti do todo len vtedy, keď je táto funkcia zapnutá. Inak zanechá komentár a upozornenie best-effort a po dosiahnutí limitu zaznamená cooldown.

  9. Kontrola uviaznutia · heartbeatStage reaperPozorovanie · správa: len varovanieVedúci · operátor

    Keď fáza trvá príliš dlho, operátorom sa zanechá len varovný komentár. Stav sa automaticky nemení.

Každé spojenie s rovnakou váhou. Výber toku zvýrazní len jeho cestu s očíslovanými krokmi.

  • Plná čiara · smer vstupu, výsledkov a záznamov
  • Prerušovaná čiara · spustenie, rozhodnutie, požiadavka
  • Dlhé bodky · pozorovanie a vykazovanie, oddelene od rozhodnutia
  • Krátke čiarky · zlyhanie, zastavenie, limit
  • Hrubá čierna čiara · zvolený tok; čísla udávajú poradie
  • Rámček · hranica kódu alebo stavu, pomenovaná v hlavičke
  • Vnútorný štítok · komponent tejto hranice
  • Bodkovaný rámček · mimo tejto hranice
  • Oranžový obrys · miesto, kde rozhoduje model
  • Volanie agenta · obnovovacie volanie
  • Stav · záznamy
  • Kontrola uviaznutia · limit
  • Zber · zverejňovanie

Nakreslené podľa neverejných záznamov implementácie a vývoja. Identifikátory tímu, tiketov a Slacku a pôvodné správy sa nezobrazujú; nasadenie, kontajnery a prihlasovacie údaje patria vlastníkovi mimo tohto pluginu.

Jedno pozorovanie
Správa z April 28, 2026: pri ručnej diagnóze pred zmenou sa pri jednom tikete, ktorý 67 hodín nebežal, znova požiadalo o pridelenie s tiketom a riešiteľom a nový beh sa do 5 sekúnd zaradil do frontu. Dokončenie, priemerný čas obnovy ani efekt po nasadení sa nemerali.
Hranice spracovania schválení
Na rozdiel od obnovovacieho volania spracovanie schválení označí mapovanie ako schválené bez kontroly kódu odpovede. Neopisuje sa ako atomická transakcia schválenia ani ako transakcia, ktorá sa pri zlyhaní uzavrie.
Kedy limit platí
Limit 3 volaní je implementácia, ktorá platí, keď sú prítomné stavové hooky. Nezaručuje práve jednu eskaláciu pri každom zlyhaní.