MuninMunin
Logga inKom igång gratis
Home/Journal/Din kunskapsbas borde skriva sig själv.
Field note · 7 min read

Din kunskapsbas borde skriva sig själv.

Någon i ditt team har redan skrivit svaret. Det gick till en person och blev kvar i en tråd. Här är kureringsrundan som gör varje löst överlämning till en granskad kunskapsartikel — arkiverad inom sekunder, synlig bara för administratörer tills en människa lyfter den.

A small cobalt blue painted post box with its flap closed, mounted on a weathered fence post beside a gravel track along a Norwegian shoreline.
Lagt i lådan en gång, vid stigen nästa person går.

Förra tisdagen skrev någon i ditt team ett bra svar. Tre meningar, tio minuter att få rätt, levererat till exakt en person. Det ligger fortfarande i den tråden. Nästa månad kommer samma fråga från någon annan, och den som tar den kommer antingen att gräva efter den tråden eller skriva svaret från början igen. De flesta supportteam betalar för samma svar fyra eller fem gånger innan någon kommer på att skriva ner det.

Varför kommer samma fråga om och om igen?

För att svaret levererades, inte antecknades. Ett supportsvar är adresserat till en person och arkiverat i en konversation, så kunskapen i det blir aldrig sökbar för nästa person som behöver den. Varje upprepning efter den första är en dokumentationslucka som betalas i arbetstid, en tråd i taget.

Skälet till att ingen fixar det är att skriva ner det är en separat arbetshandling, gjord vid den sämsta tänkbara tidpunkten. Tråden är stängd, kunden är nöjd, nästa väntar. Dokumentation förlorar den tävlingen varje dag, och den förlorar mot något helt rimligt.

Kan AI göra supportärenden till kunskapsartiklar?

Ja, och tre leverantörer gör det i produktion. Zendesks Knowledge Builder grupperar historiska ärenden i avsikter och skriver ett utkast till en artikel för varje högvolymsavsikt. Intercom lyfter fram innehållsrekommendationer från konversationer Fin var tvungen att eskalera. Munin arkiverar en kandidat per besvarad fråga i en inkorg bara administratörer ser. Alla tre håller en människa mellan utkastet och kunden, vilket är den enda del som inte är valfri.

Vad Munin gör i det ögonblick en människa svarar

Utlösaren är precis, och det spelar roll att den är det. När en självbetjäningsagent inte kan svara från kunskapsbasen anropar den conv_request_handover — den stannar och ber om en person i stället för att generera något rimligt. En människa svarar. Överlämningen löses, och handoverResolvedAt stämplas på konversationen.

Den stämpeln är signalen. Den märker exakt den uppsättning konversationer där en fråga sprang ifrån kunskapsbasen och en person täppte till luckan för hand — vilket är precis den population en kunskapsartikel bör skrivas från. Inte alla ärenden. Inte de populära. De som bevisade att dokumentationen saknades.

Munin kör kureringsrundan i två lägen utifrån den signalen. En sidovagn avfyras på varje conversation.handover_resolved-händelse, så kandidaten finns inom sekunder efter att svaret gick ut. En veckovis batchsvep läser om de senaste sju dagarna som skyddsnät, ifall sidovagnen var nere. Båda kör samma fem steg.

  • 01Kontrollera vad som redan bedömts. kb_list_curation_decisions returnerar en rad per tidigare beslut, med avfärdningsskälet. De källkonversationerna faller bort innan skrivandet börjar — en operatörs nej går inte ut.
  • 02Hitta luckorna. conv_list_conversations med handover: "resolved" och ett since-fönster. Servern tillämpar filtret, så raderna som kommer tillbaka är redan den kvalificerade uppsättningen.
  • 03Läs paret. conv_get_conversation returnerar hela messages[]-arrayen. Slutanvändarens fråga, agentens överlämning, sedan den sista klungan mänskliga svar — den klungan är det kanoniska svaret.
  • 04Kontrollera att det inte redan täcks. kb_search på frågans kärna. Om ett dokument avgränsat till self_service-publiken redan besvarar den var luckan upptäckbarhet, inte täckning, och ingen kandidat arkiveras.
  • 05Arkivera utkastet. kb_propose_curation_candidate skriver ett FAQ-format utkast på 100–300 ord i kb-curation-inbox-utrymmet, taggat curation och candidate, med publik admin enbart.
jsoncen kandidat, arkiverad för granskning
{
  "name": "kb_propose_curation_candidate",
  "arguments": {
    "subject": "Öppettider på helgen",
    "draftBody": "Vi har öppet **10–16 på lördagar** och 12–16 på söndagar. Butiken i centrum håller vardagstider alla dagar.",
    "sourceConversationId": "ccv_…",
    "proposedTargetSpaceSlug": "support-faq"
  }
}

Varför går utkastet inte rakt till kunderna?

För att en publik är ett fält, inte ett hopp. Kandidaten skapas med publiken admin, i ett utrymme slutanvändaragenter inte kan läsa. Dina kunder fortsätter lämnas över till en människa på den frågan tills någon lyfter utkastet — vilket är rätt felbeteende, eftersom alternativet är att publicera ett oläst LLM-utkast till dem som betalar dig.

Lyftet sker i dashboardens kureringsinkorg, där en människa lyfter den: dokumentet flyttas in i målutrymmet, kandidattaggarna faller bort, och publikerna sätts — med ['admin', 'self_service'] som standard, så att självbetjäningsagenten hittar det nästa gång. Avfärdande är kb_dismiss_curation_candidate med ett skäl, vilket raderar utkastet och registrerar beslutet så att ingen senare runda tyst kan arkivera samma konversation igen.

Publicering är bunden till den text som granskades

Lyftet från kureringsinkorgen är bundet till en ifVersion — kandidatens version så som granskaren läste den. Har utkastet flyttat sig däremellan, från din egen redigering eller någon annans, misslyckas lyftet med kb_version_conflict och inget skrivs till målutrymmet.

Frestelsen är att läsa om dokumentet och försöka igen med den nya versionen. Gör inte det. Då publicerar du text granskaren aldrig såg. Läs om den, visa dem den aktuella texten, och få deras ord på just den. Samma vägran skyddar en föråldrad Slack-knapp eller ett kort i en panel som renderades före redigeringen.

Ett utkast ingen läste är inte dokumentation. Det är en hallucination med en URL och din logotyp på.

Vad vägrar rundan skriva ner?

Fyra saker, och disciplinen är det mesta av värdet. En kunskapsbas fylls med brus snabbare än den fylls med kunskap, och när den väl gör det blir varje agent som läser ur den sämre.

Ettordssvar. ”Ja.” ”Visst.” Det finns ingen artikel i det.

Kundspecifikt tillstånd. Ditt konto är spärrat för att vi flaggade en återkrav förra veckan är sant om en person och hör inte hemma i närheten av ett dokument hela din kundbas kan söka i. Namn, e-postadresser, kontonummer och interna ärendereferenser rensas när utkastet skrivs.

Allt som redan täcks. Det är steg 04. Ett dubblettdokument är sämre än inget dokument, eftersom hybrid hämtning — fulltext plus embeddingar — nu har två kandidater att vara oense om.

Driftstatus. ”Vi är nere för underhåll till 15” är en statussida, inte kunskap.

En till, på gränsen: kom båda halvorna av paret från agenter — självbetjäningsagenten och en adminagent som talar med varandra — arkiveras inget. Ingen människa bekräftade det svaret, så det finns inget att lyfta.

Hur skiljer sig det här från Zendesk Knowledge Builder eller Intercoms rekommendationer?

De tre produkterna löser samma problem från tre olika ändar, och skillnaderna är verkliga snarare än marknadsföring.

  • Zendesk Knowledge BuilderÅterfyllnad i volym. Den läser historiska ärenden, grupperar dem i avsikter, och skriver ett utkast till en artikel för varje högvolymsavsikt, så att ett hjälpcenter kan finnas där det inte fanns något. Allmänt tillgängligt för kunder med Knowledge-produkten; de generativa redigeringsfunktionerna i Knowledge kräver tillägget Advanced AI. AI-agentanvändning faktureras per automatiserad lösning, finansierad av en lösningskvot, med satsen offererad av sälj snarare än publicerad.
  • Intercoms innehållsrekommendationerLuckdetektering på det du redan publicerar. Fin lyfter fram förslag på nya artiklar och utdrag från konversationer den var tvungen att eskalera, och flaggar dubbletter och motsägelser i befintligt innehåll. Intercom föreslår en veckovis granskningsrunda. Fin själv faktureras till 0,99 dollar per Fin-utfall ovanpå minst en plats.
  • Munins kureringsrundaHändelseformad, en konversation i taget. En löst överlämning ger en kandidat inom sekunder, i ett utrymme bara administratörer ser, skrivet av vilken modell du än riktar mot verktygen. Proceduren är markdown du kan läsa och redigera innan du litar på den, och hela plattformen är MIT-licensierad.

Vilken bör du använda?

Kör du redan Zendesk och sitter på två års ärenden du gärna vill ha omgjorda till ett hjälpcenter till fredag, använd Knowledge Builder. Historisk återfyllnad i bulk grupperad efter avsiktsvolym är precis det jobb den byggdes för, och Munins runda är formad annorlunda: den är händelsedriven, en löst överlämning i taget, och den börjar producera från den dag du slår på den snarare än från ditt arkiv. Vill ditt team ha en decennieldjup redaktions- och rapporteringssvit runt kunskap har Zendesk och Intercom båda en.

Välj Munin när begränsningen ligger någon annanstans — och för många team gör den det.

Svaret och kundposten ligger i samma databas. Ett kurerat dokument, konversationen det kom från, och kontakten som frågade bor alla i ett Postgres-schema med en contacts-tabell, så rundan läser en tråd och skriver ett dokument utan en integration emellan. Inget synkas, för inget är isär.

Rundan kör där du redan arbetar. Det är MCP-verktyg och en markdown-procedur, inte en funktion inne i ett gränssnitt du måste logga in i — så den kör från Claude Code, Cursor, ChatGPT, OpenAI Agents SDK, eller en körare du skrev själv, mot samma 200-något verktyg och samma revisionslogg. Samma katalog, vem som än ringer.

Du kan läsa proceduren innan du litar på den. Kureringsfärdigheten är en av 60 medföljande markdown-färdigheter. Den talar om för agenten vad den ska hoppa över, hur långt ett utkast bör vara, och att den aldrig får lyfta automatiskt. När den är fel för ditt team redigerar du markdownen och beteendet ändras vid nästa körning — inget ärende, ingen roadmap.

Och prismätaren är inte fäst vid utfallet. Munin Cloud Free kostar 0 € i månaden med 5 000 MCP-anrop, 250 kontakter och 100 MB lagring — nog för att köra den här rundan på en verklig supportdesk. Egen drift är docker compose up under en MIT-licens utan någon enterprise/-katalog som håller den användbara hälften. AI-kostnaden är vad din modelleverantör tar, inte en avgift per lösning till oss. Det är samma argument jag förde om mätare per plats och per lösning generellt, tillämpat på den enda funktion där mätaren skulle bita hårdast.

1
kandidat per besvarad fråga, arkiverad för granskning
100–300
ord i ett kureringsutkast
admin
den enda publik som ser den innan du lyfter den
0 €
för att köra rundan på Munin Cloud Free

Hur ser det ut efter en månad?

En kort kö och en kunskapsbas som växte utan att någon schemalade tid för att skriva den. Tio eller tolv kandidater i månaden är normalt för en liten desk. De flesta är två stycken, de flesta är rätt, och att arbeta igenom dem tar en kaffes värde uppmärksamhet: läs, dra åt en mening, lyft eller avfärda med ett skäl.

Det du faktiskt märker är av andra ordningen. Överlämningsvolymen på de frågor du redan besvarat en gång börjar falla, eftersom självbetjäningsagenten nu kan citera ett dokument i stället för att hämta en människa. Rundan är i praktiken en återkopplingsslinga som betalar av precis den skuld den upptäcker — och den har samma form som att hålla CRM:et aktuellt utifrån samtal du redan hade. Läs tråden du redan har. Skriv posten ingen hade tid till. Stanna före den oåterkalleliga biten och fråga.

Det som är kvar på ditt bord är omdömet: är det här generellt nog att publicera, är det formulerat så som en kund skulle söka efter det, motsäger det något vi redan säger.

Vanliga frågor

Kan AI skriva kunskapsartiklar från mina supportärenden? Ja. Munin skriver utkast till ett FAQ-format dokument per besvarad fråga — en agenten inte kunde besvara och en människa sedan besvarade — och arkiverar det för granskning. Zendesks Knowledge Builder gör samma jobb i bulk från ärendehistorik, och Intercom rekommenderar innehåll från konversationer Fin eskalerade. I alla tre är det en person som publicerar.

Kommer en AI-skriven hjälpartikel ut utan att någon läst den? Nej. I Munin skapas kandidaten med publiken admin i ett utrymme slutanvändaragenter inte kan läsa, och bara en människa som lyfter den från kureringsinkorgen flyttar den till ett kundvänt utrymme med self_service-publik. Det finns ingen konfidenströskel som hoppar över människan.

Vad händer om någon redigerar utkastet medan det väntar på granskning? Lyftet vägrar. Det är bundet till ifVersion — versionen granskaren läste — och misslyckas med kb_version_conflict om texten flyttat sig, så inget når kunder som en person inte godkänt i dess nuvarande form.

Kan jag importera hjälpcentret jag redan har? Ja. Färdigheten kb/import-articles-in-bulk laddar befintliga artiklar från CSV eller JSON, och det finns färdigheter för att dela upp långa dokument så att hybrid hämtning presterar bra. Kurering lägger sedan till på den basen från levande konversationer snarare än att börja från noll.

Vilken AI-modell skriver utkasten? Vilken som helst av dem. Rundan är en markdown-procedur plus MCP-verktyg, så den kör på Claude, ChatGPT, Gemini, Codex eller en modell du driftar själv — och modellen du väljer är en konfigurationsrad, inte en migrering.

Vad kostar det att köra? Munin Cloud Free kostar 0 € per månad och innehåller 5 000 MCP-anrop, vilket täcker en liten desks kurering bekvämt. Egen drift under MIT är fri från licenskostnad. Din enda rörliga utgift är vad din modelleverantör tar för skrivandet.

Kortversionen

  • Svaret finns redan — det ligger i en tråd. Kurering flyttar det dit nästa kund, och nästa agent, kan hitta det.
  • Utlösaren är en löst överlämning: en fråga agenten inte kunde besvara och en människa sedan gjorde. Den uppsättningen är exakt där dokumentationen saknas.
  • En kandidat per besvarad fråga, arkiverad inom sekunder i ett utrymme dina kunder inte kan läsa.
  • Publicering binds med ifVersion till exakt den text granskaren läste, så en redigering däremellan vägrar snarare än att skicka ogranskad prosa till kunder.
  • Rundan hoppar över ettordssvar, privat kontotillstånd, driftmeddelanden och allt kb_search visar redan täcks — och arkiverar aldrig om en konversation en operatör redan bedömt.
  • Zendesk Knowledge Builder återfyller från ärendehistorik; Intercom flaggar luckor från eskaleringar; Munins runda är händelseformad, MIT-licensierad, och kör på den MCP-klient och modell du redan använder.

Kureringsproceduren är markdown du kan läsa innan du litar på den — den finns i dokumentationen, och Munin Cloud är gratis att köra en runda på.

Ett svar som bor i en tråd är inte kunskap. Det är en tjänst du gjorde en gång.

Kjell Rune Monsø, grundare.