Middleware s človekom v slučke v Pythone: Budovanie bezpečných AI agentov so schvaľovacími workflowmi

Middleware s človekom v slučke v Pythone: Budovanie bezpečných AI agentov so schvaľovacími workflowmi

AI Agents LangChain Python Middleware

Úvod

Budovanie AI agentov, ktorí dokážu autonómne vykonávať nástroje a prijímať akcie, je síce mocné, no nesie so sebou aj určité riziká. Čo sa stane, keď sa agent rozhodne odoslať e-mail s nesprávnymi informáciami, schváli veľkú finančnú transakciu alebo upraví kritické záznamy v databáze? Bez správnych bezpečnostných opatrení môžu autonómni agenti spôsobiť značné škody, kým si to niekto všimne. Práve tu sa middleware s človekom v slučke stáva nevyhnutným. V tomto komplexnom návode sa pozrieme na to, ako implementovať middleware s človekom v slučke v Pythone pomocou LangChainu, vďaka čomu si vybudujete AI agentov, ktorí sa pred vykonaním citlivých operácií zastavia na schválenie človekom. Naučíte sa pridávať schvaľovacie workflowy, implementovať možnosti úprav a zvládať zamietnutia – a to všetko pri zachovaní efektivity a inteligencie vašich autonómnych systémov.

Thumbnail for Middleware s človekom v slučke v Pythone

Pochopenie slučky AI agenta a vykonávania nástrojov

Predtým, než sa pustíme do middleware s človekom v slučke, je dôležité pochopiť, ako AI agenti v zásade fungujú. AI agent pracuje vo forme neustále sa opakujúcej slučky, ktorá pokračuje, kým agent nerozhodne, že svoju úlohu splnil. Základná slučka agenta pozostáva z troch hlavných častí: jazykového modelu, ktorý rozhoduje, čo robiť ďalej, sady nástrojov, ktoré môže agent vyvolať na vykonanie akcie, a systému správy stavu, ktorý sleduje históriu konverzácie a relevantný kontext. Agent začína tým, že prijme vstupnú správu od používateľa, potom jazykový model analyzuje tento vstup spolu s dostupnými nástrojmi a rozhodne, či má zavolať nástroj alebo poskytnúť finálnu odpoveď. Ak sa model rozhodne zavolať nástroj, tento sa vykoná a výsledky sa pridajú späť do histórie konverzácie. Tento cyklus pokračuje – uvažovanie modelu, výber nástroja, vykonanie nástroja, integrácia výsledkov – až kým model nerozhodne, že už nie sú potrebné ďalšie volania nástrojov a poskytne používateľovi finálnu odpoveď.

Tento jednoduchý, ale mocný vzorec sa stal základom pre stovky frameworkov AI agentov v posledných rokoch. Elegancia agentovej slučky spočíva v jej flexibilite: zmenou dostupných nástrojov môžete agentovi umožniť vykonávať úplne odlišné úlohy. Agent s e-mailovými nástrojmi môže spravovať komunikáciu, agent s databázovými nástrojmi môže dotazovať a aktualizovať záznamy a agent s finančnými nástrojmi môže spracovávať transakcie. Táto flexibilita však zároveň prináša riziko. Pretože agentova slučka funguje autonómne, neexistuje zabudovaný mechanizmus, ktorý by ju pozastavil a spýtal sa človeka, či by sa konkrétna akcia mala naozaj vykonať. Model sa môže rozhodnúť odoslať e-mail, vykonať databázový dotaz alebo schváliť finančnú transakciu – a kým si to človek všimne, akcia je už vykonaná. Tu sa v produkčných prostrediach ukazujú limity základnej agentovej slučky.

Prečo je ľudský dohľad v produkčných AI systémoch dôležitý

Ako sa AI agenti stávajú schopnejšími a zavádzajú sa do reálneho biznis prostredia, potreba ľudského dohľadu je čoraz zásadnejšia. Dôležitosť autonómnych akcií agenta sa dramaticky líši v závislosti od kontextu. Niektoré volania nástrojov sú nízkorizikové a môžu sa vykonať okamžite bez ľudskej kontroly – napríklad prečítanie e-mailu alebo získanie informácií z databázy. Iné volania nástrojov sú vysoko rizikové a potenciálne nevratné, napríklad odoslanie komunikácie v mene používateľa, prevod financií, mazanie záznamov alebo záväzné rozhodnutia pre organizáciu. V produkčných systémoch môže chyba agenta pri vysoko rizikovej operácii stáť obrovské peniaze. Zle formulovaný e-mail odoslaný nesprávnej osobe môže poškodiť obchodné vzťahy. Nesprávne schválený rozpočet môže viesť k finančným stratám. Mazanie databázového záznamu omylom môže viesť k strate údajov, ktorú bude trvať hodiny či dni obnoviť zo záloh.

Okrem okamžitých operačných rizík existujú aj compliance a regulačné požiadavky. Mnohé odvetvia majú prísne predpisy, podľa ktorých určité typy rozhodnutí musia zahŕňať ľudský úsudok a schválenie. Finančné inštitúcie musia mať ľudský dohľad nad transakciami nad určitou hodnotou. Zdravotnícke systémy musia mať ľudskú kontrolu nad určitými automatizovanými rozhodnutiami. Právnické firmy musia zabezpečiť, aby boli komunikácie pred odoslaním v mene klienta skontrolované. Tieto regulačné požiadavky nie sú len byrokratickou záťažou – existujú preto, že dôsledky plne autonómneho rozhodovania v týchto oblastiach môžu byť vážne. Ľudský dohľad navyše poskytuje spätnú väzbu, ktorá pomáha agentovi časom sa zlepšovať. Keď človek skontroluje agentovu navrhnutú akciu a buď ju schváli, alebo navrhne úpravy, táto spätná väzba môže byť použitá na vyladenie promptov agenta, úpravu logiky výberu nástrojov alebo preškolenie základných modelov. Takto vzniká pozitívna spätná väzba, vďaka ktorej je agent spoľahlivejší a lepšie zladený s potrebami a toleranciou rizika danej organizácie.

Čo je middleware s človekom v slučke?

Middleware s človekom v slučke je špeciálny komponent, ktorý zasahuje do agentovej slučky v kľúčovom momente: tesne pred vykonaním nástroja. Namiesto okamžitého spustenia volania nástroja agentom middleware pozastaví vykonanie a navrhovanú akciu predloží človeku na kontrolu. Človek má potom viacero možností, ako reagovať. Môže akciu schváliť, čím ju umožní vykonať presne tak, ako agent navrhol. Môže akciu upraviť, teda zmeniť parametre (napríklad zmeniť adresáta e-mailu alebo upraviť obsah správy) pred vykonaním. Alebo môže akciu úplne zamietnuť a poslať agentovi spätnú väzbu s vysvetlením, prečo bola akcia nevhodná, a požiadať ho, aby svoj prístup prehodnotil. Tento trojcestný rozhodovací mechanizmus – schváliť, upraviť, zamietnuť – poskytuje flexibilný rámec pre rôzne potreby ľudského dohľadu.

Middleware funguje tak, že modifikuje štandardnú agentovú slučku o ďalší rozhodovací bod. V základnej slučke je postupnosť: model zavolá nástroje → nástroje sa vykonajú → výsledky sa vrátia modelu. S middleware s človekom v slučke je postupnosť: model zavolá nástroj → middleware preruší → človek skontroluje → človek rozhodne (schváli/upraví/zamietne) → ak schválené alebo upravené, nástroj sa vykoná → výsledky sa vrátia modelu. Vloženie ľudského rozhodovacieho bodu nenarúša agentovu slučku, práve naopak – rozširuje ju o bezpečnostný ventil. Middleware je konfigurovateľný, čiže môžete určiť presne, ktoré nástroje majú vyvolať ľudskú kontrolu a ktoré sa môžu vykonávať automaticky. Môžete chcieť prerušiť všetky e-mailové nástroje, ale povoliť čítacie dotazy do databázy bez kontroly. Táto detailná kontrola zabezpečuje, že ľudský dohľad pridávate tam, kde je potrebný, bez vytvárania zbytočných úzkych miest pri nízkorizikových operáciách.

Tri typy odpovedí: Schválenie, Úprava a Zamietnutie

Keď middleware s človekom v slučke preruší vykonanie nástroja agentom, človek má tri základné možnosti reakcie, z ktorých každá slúži inému účelu v schvaľovacom workflowe. Pochopenie týchto troch typov odpovedí je zásadné pre efektívny dizajn workflowov s človekom v slučke.

Schválenie je najjednoduchší typ odpovede. Keď človek skontroluje navrhované volanie nástroja a usúdi, že je vhodné ho vykonať presne podľa návrhu agenta, poskytne rozhodnutie o schválení. To signalizuje middleware, že nástroj sa má vykonať s presne tými parametrami, ktoré agent zadal. V prípade asistenta pre e-maily znamená schválenie, že koncept e-mailu je v poriadku a má byť odoslaný určenému adresátovi s daným predmetom a telom. Schválenie je najrýchlejšia cesta – umožňuje agentovi vykonať navrhovanú akciu bez úprav. Toto je vhodné vtedy, keď agent vykonal svoju úlohu dobre a človek s navrhovanou akciou súhlasí. Rozhodnutia o schválení sa zvyčajne vykonávajú rýchlo, čo je dôležité, aby ľudská kontrola nespomaľovala celý workflow.

Úprava je jemnejší typ odpovede, ktorý uznáva, že agentova základná úvaha je správna, ale niektoré detaily treba pred vykonaním upraviť. Keď človek poskytne odpoveď typu úprava, nezamieta agentovo rozhodnutie konať, ale spresňuje, ako má byť akcia vykonaná. V e-mailovom scenári môže úprava znamenať zmenu adresáta, upravenie predmetu na profesionálnejší alebo zmenu tela správy tak, aby obsahovalo ďalší kontext alebo odstránilo potenciálne problematický jazyk. Kľúčom úpravy je, že mení parametre nástroja pri zachovaní samotného volania nástroja. Agent sa rozhodol odoslať e-mail a človek súhlasí, že je to správna akcia, ale chce upraviť, čo sa v e-maile píše alebo komu je určený. Po poskytnutí úprav človekom sa nástroj vykoná s upravenými parametrami a výsledky sa vrátia agentovi. Tento prístup je obzvlášť cenný, pretože umožňuje agentovi navrhovať akcie, pričom človek môže doladiť výsledok podľa svojich odborných znalostí alebo organizačného kontextu, ktorý agentu môže chýbať.

Zamietnutie je najzásadnejší typ odpovede, pretože nielenže zabrání vykonaniu navrhovanej akcie, ale aj poskytne agentovi spätnú väzbu s vysvetlením, prečo bola akcia nevhodná. Keď človek zamietne volanie nástroja, hovorí, že navrhovaná akcia sa nemá vykonať vôbec, a poskytuje usmernenie, ako by mal agent svoj prístup prehodnotiť. V príklade s e-mailom môže k zamietnutiu dôjsť, ak agent navrhne odoslať e-mail schvaľujúci veľkú žiadosť o rozpočet bez dostatočných detailov alebo opodstatnenia. Človek túto akciu zamietne a poskytne agentovi správu vysvetľujúcu, že pred schválením je potrebné viac detailov. Táto zamietavá správa sa stáva súčasťou kontextu agenta, ktorý na základe spätnej väzby môže navrhnúť iný prístup, napríklad nový e-mail žiadajúci o viac informácií o návrhu rozpočtu. Zamietnutie je kľúčové na zabránenie opakovaného navrhovania tej istej nevhodnej akcie. Poskytnutím jasnej spätnej väzby pomáhate agentovi zlepšovať rozhodovanie.

Implementácia middleware s človekom v slučke: Praktický príklad

Prejdime si konkrétnu implementáciu middleware s človekom v slučke pomocou LangChainu a Pythonu. Použijeme príklad e-mailového asistenta – praktický scenár, ktorý demonštruje hodnotu ľudského dohľadu a je ľahko pochopiteľný. Asistent bude môcť odosielať e-maily v mene používateľa a pridáme middleware s človekom v slučke, aby bolo každé odoslanie e-mailu pred vykonaním skontrolované človekom.

Najprv definujeme e-mailový nástroj, ktorý bude náš agent používať. Tento nástroj prijíma tri parametre: adresu príjemcu, predmet a telo e-mailu. Nástroj je jednoduchý – reprezentuje akciu odoslania e-mailu. V reálnej implementácii by sa mohol integrovať s e-mailovou službou ako Gmail alebo Outlook, ale pre ukážku ho môžeme zjednodušiť. Tu je základná štruktúra:

def send_email(recipient: str, subject: str, body: str) -> str:
    """Odošle e-mail zadanému príjemcovi."""
    return f"E-mail odoslaný na {recipient} s predmetom '{subject}'"

Ďalej vytvoríme agenta, ktorý tento e-mailový nástroj používa. Budeme používať GPT-4 ako jazykový model a pridáme systémový prompt, ktorý agentovi oznámi, že je užitočný e-mailový asistent. Agent je inicializovaný s e-mailovým nástrojom a pripravený reagovať na požiadavky používateľa:

from langchain.agents import create_agent
from langchain_openai import ChatOpenAI

model = ChatOpenAI(model="gpt-4o")
tools = [send_email]

agent = create_agent(
    model=model,
    tools=tools,
    system_prompt="Si užitočný e-mailový asistent pre Sydney. Môžeš odosielať e-maily v mene používateľa."
)

V tomto bode máme základného agenta, ktorý vie odosielať e-maily. Zatiaľ však chýba ľudský dohľad – agent môže odosielať e-maily bez akejkoľvek kontroly. Teraz pridáme middleware s človekom v slučke. Implementácia je prekvapivo jednoduchá, vyžaduje len dva riadky kódu:

from langchain.agents.middleware import HumanInTheLoopMiddleware

agent = create_agent(
    model=model,
    tools=tools,
    system_prompt="Si užitočný e-mailový asistent pre Sydney. Môžeš odosielať e-maily v mene používateľa.",
    middleware=[
        HumanInTheLoopMiddleware(
            interrupt_on={"send_email": True}
        )
    ]
)

Pridaním HumanInTheLoopMiddleware a určením interrupt_on={"send_email": True} agentovi hovoríme, aby sa pred vykonaním akéhokoľvek volania send_email pozastavil a čakal na schválenie človekom. Hodnota True znamená, že všetky volania send_email vyvolajú prerušenie s predvolenou konfiguráciou. Ak by sme chceli detailnejšiu kontrolu, môžeme určiť, aké typy rozhodnutí sú povolené (schváliť, upraviť, zamietnuť) alebo poskytnúť vlastné popisy pre prerušenie.

Testovanie middleware s nízkorizikovými scenármi

Keď je middleware nastavený, otestujme ho na nízkorizikovom e-mailovom scenári. Predstavte si, že používateľ požiada agenta, aby odpovedal na neformálny e-mail od kolegyne Alice, ktorá navrhuje kávu na budúci týždeň. Agent spracuje požiadavku a rozhodne sa poslať priateľskú odpoveď. Čo sa stane:

  1. Používateľ pošle správu: “Prosím, odpovedz na Alicin e-mail o káve budúci týždeň.”
  2. Jazykový model agenta to spracuje a rozhodne sa zavolať send_email s parametrami recipient=“alice@example.com ”, subject=“Káva budúci týždeň?”, body=“Rád by som si s tebou dal kávu budúci týždeň!”
  3. Skôr než sa e-mail odošle, middleware preruší volanie nástroja a vyvolá prerušenie.
  4. Človek vidí navrhovaný e-mail a prečíta si ho. E-mail je vhodný – priateľský, profesionálny a rieši požiadavku používateľa.
  5. Človek schváli akciu kliknutím na schválenie.
  6. Middleware umožní vykonanie nástroja a e-mail sa odošle.

Tento workflow demonštruje základnú cestu schválenia. Ľudská kontrola pridáva bezpečnostnú vrstvu bez výrazného spomalenia procesu. Pri nízkorizikových operáciách je schválenie zvyčajne rýchle, lebo návrh agenta je rozumný a nevyžaduje úpravy.

Testovanie middleware vo vysoko rizikových scenároch: Odpoveď typu Úprava

Teraz zvážme závažnejší scenár, kde je úprava dôležitá. Predstavte si, že agent dostane požiadavku odpovedať na e-mail od startupového partnera, ktorý žiada používateľa o schválenie rozpočtu na 1 milión dolárov na Q1. Ide o vysoko rizikové rozhodnutie, ktoré si vyžaduje dôkladné zváženie. Agent môže navrhnúť e-mail: “Preštudoval(a) som a schvaľujem návrh rozpočtu na 1 milión dolárov pre Q1.”

Keď tento navrhovaný e-mail príde k človeku cez middleware, človek si uvedomí, že ide o významný finančný záväzok, ktorý nemožno schváliť bez ďalšieho zváženia. Človek nechce zamietnuť celú myšlienku odpovede, ale chce odpoveď upraviť na opatrnejšiu. Človek poskytne odpoveď typu úprava, ktorá upraví telo e-mailu napríklad takto: “Ďakujem za návrh. Rád by som si detaily preštudoval(a) podrobnejšie pred schválením. Môžete mi poslať rozpis, ako bude rozpočet rozdelený?”

Takto vyzerá odpoveď typu úprava v kóde:

edit_decision = {
    "type": "edit",
    "edited_action": {
        "name": "send_email",
        "args": {
            "recipient": "partner@startup.com",
            "subject": "Návrh rozpočtu na Q1",
            "body": "Ďakujem za návrh. Rád by som si detaily preštudoval(a) podrobnejšie pred schválením. Môžete mi poslať rozpis, ako bude rozpočet rozdelený?"
        }
    }
}

Keď middleware prijme túto úpravu, vykoná nástroj s upravenými parametrami. E-mail sa odošle s revidovaným obsahom podľa človeka, čo je vhodnejšie pri vysoko rizikovom finančnom rozhodnutí. To ukazuje silu odpovede typu úprava: umožňuje ľuďom využiť návrh agenta, ale zabezpečiť, že výsledok odráža ľudský úsudok a štandardy organizácie.

Testovanie middleware so zamietnutím a spätnou väzbou

Odpoveď typu zamietnutie je obzvlášť silná, pretože nielenže zastaví nevhodnú akciu, ale zároveň poskytuje spätnú väzbu, ktorá pomáha agentovi zlepšiť uvažovanie. Zvážme opäť scenár s rozpočtovým e-mailom. Povedzme, že agent navrhne: “Preštudoval(a) som a schvaľujem rozpočet na 1 milión dolárov pre Q1.”

Človek to vidí a vie, že je to príliš unáhlené. Záväzok na 1 milión dolárov by nemal byť schválený bez dôkladnej kontroly, diskusie s partnermi a detailného pochopenia rozpočtu. Človek nechce len upraviť e-mail, ale chce zamietnuť celý prístup a požiadať agenta, aby to zvážil inak. Človek poskytne zamietavú odpoveď so spätnou väzbou:

reject_decision = {
    "type": "reject",
    "message": "Tento rozpočet nemôžem schváliť bez ďalších informácií. Prosím, priprav e-mail so žiadosťou o podrobný rozpis návrhu, vrátane spôsobu rozdelenia prostriedkov medzi jednotlivé inžinierske tímy a očakávaných špecifických výstupov."
}

Keď middleware prijme túto zamietavú odpoveď, nástroj sa nevykoná. Namiesto toho odošle zamietnutie agentovi ako súčasť konverzačného kontextu. Agent teraz vie, že jeho navrhovaná akcia bola zamietnutá a prečo. Môže na základe tejto spätnej väzby navrhnúť iný prístup – napríklad nový e-mail so žiadosťou o viac detailov k rozpočtu, čo je primeranejšia reakcia na vysoko rizikovú finančnú požiadavku. Človek môže tento nový návrh opäť skontrolovať a buď schváliť, ďalej upraviť alebo opäť zamietnuť.

Tento iteratívny proces – návrh, kontrola, zamietnutie so spätnou väzbou, nový návrh – je jedným z najcennejších aspektov middleware s človekom v slučke. Vytvára kolaboratívny workflow, kde sa rýchlosť a uvažovanie agenta spája s ľudským úsudkom a odbornými znalosťami.

Zrýchlite svoj workflow s FlowHuntom

Zažite, ako FlowHunt automatizuje vaše AI a SEO workflowy – od výskumu a generovania obsahu až po publikovanie a analytiku – všetko na jednom mieste.

Pokročilá konfigurácia: Detailná kontrola nad prerušeniami

Aj keď je základná implementácia middleware s človekom v slučke jednoduchá, LangChain poskytuje pokročilé možnosti konfigurácie, ktoré vám umožnia detailne nastaviť, ako a kedy prerušenia nastávajú. Jednou z dôležitých možností je určiť, aké typy rozhodnutí sú povolené pre jednotlivé nástroje. Napríklad, možno chcete povoliť schválenie a úpravu pri odosielaní e-mailov, ale nie zamietnutie. Alebo povoliť všetky tri typy rozhodnutí pri finančných transakciách, ale iba schválenie pri čítacích dotazoch na databázu.

Tu je príklad detailnejšej konfigurácie:

from langchain.agents.middleware import HumanInTheLoopMiddleware

agent = create_agent(
    model=model,
    tools=tools,
    middleware=[
        HumanInTheLoopMiddleware(
            interrupt_on={
                "send_email": {
                    "allowed_decisions": ["approve", "edit", "reject"]
                },
                "read_database": False,  # Automatické schválenie, žiadne prerušenie
                "delete_record": {
                    "allowed_decisions": ["approve", "reject"]  # Úpravy pri mazaní nie sú povolené
                }
            }
        )
    ]
)

V tejto konfigurácii budú odosielania e-mailov vyvolávať prerušenie a umožnia všetky tri typy rozhodnutí. Čítacie operácie sa vykonajú automaticky bez prerušenia. Mazanie záznamov bude prerušené, ale úprava parametrov nebude povolená – človek môže len schváliť alebo zamietnuť, nie meniť parametre mazania. Táto detailná kontrola umožňuje pridávať ľudský dohľad presne tam, kde je potrebný, a zároveň sa vyhnúť zbytočným úzkym miestam pri nízkorizikových operáciách.

Ďalšou pokročilou funkciou je možnosť poskytnúť vlastné popisy prerušenia. Predvolene middleware poskytuje generický popis ako “Vykonanie nástroja vyžaduje schválenie.” Môžete si to prispôsobiť pre konkrétny kontext:

HumanInTheLoopMiddleware(
    interrupt_on={
        "send_email": {
            "allowed_decisions": ["approve", "edit", "reject"],
            "description": "Odosielanie e-mailov vyžaduje schválenie človekom pred vykonaním"
        }
    }
)

Dôležité implementačné aspekty: Checkpointery a správa stavu

Jedným z kľúčových aspektov implementácie middleware s človekom v slučke, na ktorý sa ľahko zabúda, je potreba checkpointera. Checkpointer je mechanizmus, ktorý uloží stav agenta v momente prerušenia, takže workflow možno neskôr obnoviť. To je dôležité, pretože ľudská kontrola sa nedeje okamžite – medzi prerušením a rozhodnutím človeka môže uplynúť čas. Bez checkpointera by sa stav agenta počas tejto prestávky stratil a workflow by ste nemohli správne obnoviť.

LangChain poskytuje viacero možností checkpointerov. Na vývoj a testovanie môžete použiť checkpointer v pamäti:

from langgraph.checkpoint.memory import InMemorySaver

checkpointer = InMemorySaver()

agent = create_agent(
    model=model,
    tools=tools,
    checkpointer=checkpointer,
    middleware=[
        HumanInTheLoopMiddleware(
            interrupt_on={"send_email": True}
        )
    ]
)

V produkčných systémoch budete typicky používať perzistentný checkpointer, ktorý ukladá stav do databázy alebo súborového systému, aby bolo možné workflow obnoviť aj po reštarte aplikácie. Checkpointer uchováva kompletný záznam stavu agenta v každom kroku, vrátane histórie konverzácie, volaní nástrojov a výsledkov týchto volaní. Keď človek poskytne rozhodnutie (schváli, upraví alebo zamietne), middleware pomocou checkpointera načíta uložený stav, aplikuje rozhodnutie človeka a obnoví agentovu slučku od tohto bodu.

Reálne aplikácie a využitie

Middleware s človekom v slučke je použiteľný v širokej škále reálnych scenárov, kde autonómni agenti majú vykonávať akcie, ktoré však vyžadujú ľudský dohľad. Vo finančných službách môžu agenti, ktorí spracovávajú transakcie, schvaľujú úvery alebo spravujú investície, používať middleware s človekom v slučke na zabezpečenie, že rozhodnutia s vysokou hodnotou skontroluje kvalifikovaný človek pred vykonaním. V zdravotníctve môžu agenti, ktorí odporúčajú liečbu alebo pristupujú k záznamom pacientov, využívať middleware na zabezpečenie súladu s predpismi o ochrane súkromia a klinickými protokolmi. V právnych službách môžu agenti, ktorí pripravujú komunikáciu alebo pristupujú ku dôverným dokumentom, využívať middleware na zachovanie právnického dohľadu. V zákazníckych službách môžu agenti, ktorí vydávajú refundácie, robia záväzky voči zákazníkom alebo eskalujú problémy, využívať middleware na zabezpečenie súladu s firemnou politikou.

Okrem týchto odvetvových aplikácií je middleware s človekom v slučke cenný v každej situácii, kde je náklad chyby agenta významný. Patria sem systémy moderovania obsahu, kde agenti môžu odstraňovať používateľský obsah, HR systémy, kde agenti spracúvajú rozhodnutia o zamestnaní, a logistické systémy, kde agenti zadávajú objednávky alebo upravujú zásoby. Spoločným znakom týchto aplikácií je, že navrhované akcie agenta majú reálne dôsledky a tie sú dostatočne významné na to, aby si vyžadovali ľudskú kontrolu pred vykonaním.

Porovnanie s alternatívnymi prístupmi

Oplatí sa zvážiť, ako middleware s človekom v slučke obstojí v porovnaní s alternatívnymi spôsobmi pridania ľudského dohľadu

Najčastejšie kladené otázky

Čo je middleware s človekom v slučke?

Middleware s človekom v slučke je komponent, ktorý pozastaví vykonávanie AI agenta pred spustením konkrétnych nástrojov a umožní človeku schváliť, upraviť alebo zamietnuť navrhovanú akciu. Takto sa pridáva bezpečnostná vrstva pre drahé alebo rizikové operácie.

Kedy mám použiť middleware s človekom v slučke?

Použite ho pre operácie s vysokým rizikom, ako je odosielanie e-mailov, finančné transakcie, zápisy do databázy alebo akékoľvek vykonanie nástroja, ktoré vyžaduje compliance dohľad alebo by mohlo mať vážne následky, ak by bolo nesprávne vykonané.

Aké sú tri hlavné typy odpovedí v middleware s človekom v slučke?

Tri hlavné typy odpovedí sú: Schválenie (vykonať nástroj podľa návrhu), Úprava (zmeniť parametre nástroja pred vykonaním) a Zamietnutie (odmietnuť vykonanie a poslať spätnú väzbu modelu na prepracovanie).

Ako implementujem middleware s človekom v slučke v LangChain?

Importujte HumanInTheLoopMiddleware z langchain.agents.middleware, nastavte ho s nástrojmi, na ktorých chcete pozastavovať, a odovzdajte ho funkcii na vytvorenie agenta. Budete tiež potrebovať checkpointer na udržiavanie stavu počas prerušenia.

Arshia je inžinierka AI workflowov v spoločnosti FlowHunt. S pozadím v informatike a vášňou pre umelú inteligenciu sa špecializuje na tvorbu efektívnych workflowov, ktoré integrujú AI nástroje do každodenných úloh, čím zvyšuje produktivitu a kreativitu.

Arshia Kahani
Arshia Kahani
Inžinierka AI workflowov

Automatizujte svoje AI workflowy bezpečne s FlowHuntom

Vytvárajte inteligentných agentov so zabudovanými schvaľovacími workflowmi a ľudským dohľadom. FlowHunt uľahčuje implementáciu automatizácie s človekom v slučke pre vaše podnikové procesy.

Zistiť viac

MCP Run Python
MCP Run Python

MCP Run Python

Integrujte FlowHunt s MCP Run Python na bezpečné spúšťanie Python kódu v izolovanom prostredí. Využite Pyodide a Deno na bezpečné vzdialené spúšťanie kódu, auto...

4 min čítania
AI Python +5