← Lesson
Orchestration: Sequential, Handoff, Supervisor
Joeven
Run
Reset
Python loads on first run
workers = { "intake": lambda t: {"cat": "billing" if "invoice" in t.lower() else "tech"}, "billing": lambda t: {"answer": "Refunds take 5-7 days"}, "tech": lambda t: {"answer": "Restart the runner"}, } def sequential(ticket): cat = workers["intake"](ticket)["cat"] specialist = "billing" if cat == "billing" else "tech" out = workers[specialist](ticket) return {"mode": "sequential", "path": ["intake", specialist], "answer": out["answer"]} def handoff(ticket, max_hops=4): path = [] nxt = "intake" for _ in range(max_hops): path.append(nxt) if nxt == "intake": cat = workers["intake"](ticket)["cat"] nxt = "billing" if cat == "billing" else "tech" continue out = workers[nxt](ticket) return {"mode": "handoff", "path": path, "answer": out["answer"]} return {"mode": "handoff", "path": path, "error": "max hops"} def supervisor(ticket): cat = workers["intake"](ticket)["cat"] assign = "billing" if cat == "billing" else "tech" out = workers[assign](ticket) return {"mode": "supervisor", "assigned": assign, "answer": out["answer"]} msg = "Where is my invoice refund?" print(sequential(msg)) print(handoff(msg)) print(supervisor(msg))
Run to execute this in your browser. Nothing is sent to a server.