Hoppa till innehållet
AI-grafen
F· AI engineeringagenter-verktyg· ca 90 min· volatil — kontrolleras ofta· verifierad 2026-09-20

Multiagentsystem

Kunna bygga samarbetande agenter med roller och mäta om det slår en enda agent.

Förkunskaper

Intuition

Multiagent betyder flera LLM-instanser med olika roller och prompter som skickar arbete mellan sig: planerare, utförare, granskare, sammanställare.

Argumentet för: varje roll får en fokuserad prompt och egen kontext, granskaren ser arbetet med «nya ögon», och delarna kan köras parallellt.

Argumentet emot: varje överlämning sker i naturligt språk och tappar precision; kostnaden multipliceras; felsökningen blir svårare; och fördelarna kommer ofta från att uppgiften delades upp — inte från att flera modeller «samarbetar».

Regeln: bygg alltid enagent-varianten först och mät den. Multiagent måste bevisa att den är bättre nog att motivera 3–10× kostnaden.

Kod

from dataclasses import dataclass

@dataclass
class Roll:
    namn: str
    system: str
    verktyg: list[str]

ROLLER = [
    Roll("planerare", "Bryt ner uppgiften i 3–5 delmål. Utför inget själv.", []),
    Roll("utforare", "Utför ETT delmål med verktygen. Rapportera resultat och osäkerhet.", ["sok", "las"]),
    Roll("granskare", "Granska resultatet mot delmålet. Svara GODKÄNT eller lista brister.", []),
]

def multiagent(uppgift, llm, verktyg, max_rundor=3):
    plan = llm.kor(ROLLER[0], uppgift)
    resultat, logg = [], []
    for delmal in plan["delmal"]:
        for runda in range(max_rundor):
            r = llm.kor(ROLLER[1], delmal, verktyg=verktyg, tidigare=resultat)
            g = llm.kor(ROLLER[2], {"delmal": delmal, "resultat": r})
            logg.append({"delmal": delmal["id"], "runda": runda, "granskning": g["status"]})
            if g["status"] == "GODKÄNT":
                resultat.append(r); break
            delmal["feedback"] = g["brister"]        # utföraren får konkret kritik
        else:
            resultat.append({**r, "osaker": True})   # gav upp efter max_rundor
    return {"resultat": resultat, "logg": logg}

Mätningen som avgör om det var värt det — kör båda på samma evalsvit:

lösningsgradtokens/uppgifttid
en agent (ReAct)0,7118 k22 s
multiagent0,7896 k71 s

+7 procentenheter för 5,3× kostnaden. Om det är värt det beror på uppgiftens värde — men beslutet ska fattas på siffror, inte på att arkitekturen låter sofistikerad.

Behärskning innebär

  • Bygger samarbetande agenter med roller
  • Mäter om uppdelningen slår en enda agent
  • Känner igen när kostnaden inte motiveras

Logga in för att göra övningarna och bygga upp din behärskning.

Källor

Alla källor och licenser