Kelių agentų AI sistemų koordinavimas, siekiant pagerinti programinės įrangos kūrimo efektyvumą naudojant DSPy ir LangChain | B4N1

Kelių agentų AI sistemų koordinavimas, siekiant pagerinti programinės įrangos kūrimo efektyvumą naudojant DSPy ir LangChain

7 months ago · b4n1 Read time: 4 min

Įvadas

Programinės įrangos kūrimo procesas tampa vis sudėtingesnis, jame dalyvauja daug suinteresuotųjų šalių, užduočių ir technologijų. Dėl to kūrėjai susiduria su dideliais iššūkiais valdydami ir koordinuodami šiuos įvairius komponentus, kad laiku pateiktų aukštos kokybės programinę įrangą. Vienas iš perspektyvių būdų sprendžiant šiuos iššūkius yra kelių agentų AI sistemų, kurios gali automatizuoti ir supaprastinti kūrimo procesus, naudojimas. Šiame straipsnyje mes išnagrinėsime kelių agentų AI orkestravimo įrankių, tokių kaip DSPy ir LangChain, techninį įgyvendinimą, sutelkdami dėmesį į jų potencialą pagerinti programinės įrangos kūrimo efektyvumą.

Kas yra kelių agentų AI sistemos?

Kelių agentų AI sistemos susideda iš kelių autonominių agentų, kurie sąveikauja tarpusavyje siekdami bendro tikslo. Šie agentai gali būti programinės įrangos programos, žmonės arba abiejų derinys. Kiekvienas agentas turi savo galimybių, žinių ir tikslų rinkinį, kurie koordinuojami naudojant bendrą aplinką arba komunikacijos protokolą. Agentai gali mokytis vieni iš kitų, prisitaikyti prie besikeičiančių aplinkybių ir priimti sprendimus remdamiesi savo individualiomis ir kolektyvinėmis žiniomis.

Kas yra DSPy?

DSPy yra Python biblioteka, skirta kurti ir valdyti kelių agentų AI sistemas. Tai paprasta ir intuityvi API, skirta agentams kurti, jų elgsenai apibrėžti ir sąveikai koordinuoti. DSPy sukurta taip, kad būtų labai lanksti ir keičiamo dydžio, todėl kūrėjai gali lengvai kurti sudėtingas sistemas. Kai kurios pagrindinės DSPy funkcijos:

  • Agento kūrimas: DSPy leidžia kūrėjams kurti agentus, turinčius pasirinktinį elgesį, žinias ir tikslus.
  • Agentų koordinavimas: DSPy suteikia agentų komunikacijos ir veiksmų koordinavimo mechanizmus.
  • Mastelio keitimas: DSPy sukurtas valdyti daug agentų ir sudėtingų sistemų.

Kas yra „LangChain“?

„LangChain“ yra „Python“ biblioteka, skirta kelių agentų AI sistemoms kurti ir valdyti naudojant natūralios kalbos apdorojimo (NLP) metodus. Jame yra įvairių įrankių ir API, skirtų sukurti agentus, kurie gali suprasti ir generuoti į žmogų panašią kalbą. „LangChain“ sukurta taip, kad būtų labai lanksti ir keičiamo dydžio, todėl kūrėjai gali lengvai kurti sudėtingas sistemas. Kai kurios pagrindinės „LangChain“ funkcijos:

  • Natūralus kalbos supratimas: „LangChain“ teikia API, kad agentai suprastų žmonių kalbą ir gautų reikiamą informaciją.
  • Natūralios kalbos generavimas: „LangChain“ suteikia agentams API, skirtus žmonėms panašiai kalbai kurti ir bendrauti su kitais agentais.
  • Mastelio keitimas: „LangChain“ sukurta tvarkyti didelius kalbos duomenų kiekius ir sudėtingas sistemas.

Techninis įgyvendinimas

Norėdami pademonstruoti techninį DSPy ir LangChain įgyvendinimą, panagrinėkime paprastą daugiaagentės AI sistemos, skirtos programinės įrangos kūrimui, pavyzdį. Šiame pavyzdyje sukursime du agentus: Kūrėjo agentą ir Projektų vadovo agentą.

Kūrėjo agentas

Kūrėjo agentas yra atsakingas už kodo rašymą, testavimą ir derinimo programinę įrangą. Jis naudoja DSPy, kad sukurtų elgsenos rinkinį, kuris apibrėžia jo veiksmus ir sąveiką su kitais agentais.

importuoti dspy

# Sukurkite kūrėjo agentą
developer_agent = dspy.Agent(
    name = "Kūrėjas",
    elgesys=[
        dspy.Behavior(
            name="rašyti_kodas",
            action=dspy.Action("write_code", {"kodas": "def hello_world(): print('Sveikas pasauli!')"}),
            conditions=[dspy.Condition("projekto_vadovas_priskirta_užduotis")]
        ),
        dspy.Behavior(
            name="test_code",
            action=dspy.Action("test_code", {"test_cases": ["test_hello_world"]}),
            conditions=[dspy.Condition("code_written")]
        )
    ]
)

Projekto vadovo agentas

Projekto vadovo agentas yra atsakingas už užduočių paskyrimą, pažangos stebėjimą ir kūrimo proceso valdymą. Jis naudoja „LangChain“, kad sukurtų elgsenos rinkinį, apibrėžiantį jo veiksmus ir sąveiką su kitais agentais.

importuoti langchain

# Sukurkite projektų vadovo agentą
project_manager_agent = langchain.Agent(
    name="projekto vadovas",
    elgesys=[
        langchain.Behavior(
            name = "priskirti_užduotis",
            action=langchain.Action("assign_task", {"task": "Įdiegti prisijungimo funkciją"}),
            conditions=[langchain.Condition("developer_available")]
        ),
        langchain.Behavior(
            name="track_progress",
            action=langchain.Action("track_progress", {"progress": "50%"}),
            conditions=[langchain.Condition("developer_made_progress")]
        )
    ]
)

5–10 dažniausiai naudojamų komandų / fragmentų

Štai keletas dažniausiai naudojamų DSPy ir LangChain komandų ir fragmentų:

DSPy

  • dspy.Agent(name="Agent", elgesio =[...]): sukurkite naują agentą su nurodytu vardu ir elgsena.
  • dspy.Behavior(name="Behavior", action=dspy.Action("Veiksmas", {...})): sukurkite naują elgseną su nurodytu pavadinimu ir veiksmu.
  • dspy.Condition(name="Sąlyga", predicate=dspy.Predicate("Predikatas", {...})): sukurkite naują sąlygą su nurodytu pavadinimu ir predikatu.
  • dspy.Action(name="Veiksmas", {...}): sukurkite naują veiksmą su nurodytu pavadinimu ir parametrais.
  • dspy.Predicate(name="Predikatas", {...}): sukurkite naują predikatą su nurodytu pavadinimu ir parametrais.

LangChain

  • langchain.Agent(name="Agent", elgesio =[...]): sukurkite naują agentą su nurodytu vardu ir elgsena.
  • langchain.Behavior(name="Behavior", action=langchain.Action("Veiksmas", {...})): sukurkite naują elgseną su nurodytu pavadinimu ir veiksmu.
  • langchain.Condition(name="Sąlyga", predikatas=langchain.Predicate("Predikatas", {...})): sukurkite naują sąlygą su nurodytu pavadinimu ir predikatu.
  • langchain.Action(name="Veiksmas", {...}): sukurkite naują veiksmą su nurodytu pavadinimu ir parametrais.
  • langchain.Predicate(name="Predikatas", {...}): sukurkite naują predikatą su nurodytu pavadinimu ir parametrais.

Vizualizacija

Norėdami vizualizuoti kelių agentų AI sistemą, galime naudoti diagramą, vaizduojančią agentus, elgesį ir sąveiką. Čia yra diagramos, naudojant Chart.js, pavyzdys:

{
    "tipas": "pyragas",
    "duomenys": {
        "labels": ["Kūrėjo agentas", "Projektų vadovo agentas"],
        "duomenų rinkiniai": [
            {
                "label": "Elgesys",
                "duomenys": [3, 2],
                "backgroundColor": ["#4CAF50", "#FF9800"]
            }
        ]
    },
    "parinktys": {
        "pavadinimas": {
            "display": tiesa,
            "text": "Kelių agentų AI sistema"
        },
        "legenda": {
            ekranas: tiesa
        }
    }
}

Šioje diagramoje parodyta dviejų agentų, kūrėjo agento ir projektų vadovo agento, atitinkama elgsena. Diagramą galima pritaikyti taip, kad būtų rodoma papildoma informacija, pvz., agentų sąveikų skaičius arba elgsenos sudėtingumas.

Išvada

Šiame straipsnyje mes ištyrėme kelių agentų AI orkestravimo įrankių, tokių kaip DSPy ir LangChain, techninį įgyvendinimą kuriant programinę įrangą. Mes parodėme, kaip šie įrankiai gali būti naudojami kuriant sudėtingas sistemas su keliais agentais, elgesiu ir sąveika. Taip pat pateikėme paprastą programinės įrangos kūrimo kelių agentų AI sistemos pavyzdį ir pabrėžėme kai kurias dažniausiai naudojamas komandas ir fragmentus DSPy ir LangChain. Galiausiai, mes vizualizavome kelių agentų AI sistemą, naudodami diagramą, vaizduojančią agentus, elgesį ir sąveiką.

Ateities darbas

Yra kelios sritys, kuriose ateityje dirbsite su kelių agentų AI orkestravimo įrankiais, tokiais kaip DSPy ir LangChain. Kai kurios galimos sritys apima:

  • Mastelio keitimas: įrankių, galinčių valdyti daugybę agentų ir sudėtingų sistemų, kūrimas.
  • Lankstumas: įrankių, kuriuos galima lengvai pritaikyti ir išplėsti, kad atitiktų konkrečius poreikius, kūrimas.
  • Sąveika: įrankių, kuriuos galima integruoti su kitomis sistemomis ir technologijomis, kūrimas.
  • Paaiškinamumas: įrankių, galinčių suteikti įžvalgų apie agentų ir visos sistemos sprendimų priėmimo procesus, kūrimas.

Spręsdami šias sritis galime toliau gerinti programinės įrangos kūrimo procesų efektyvumą ir efektyvumą bei sukurti sudėtingesnes ir sudėtingesnes sistemas.


Have Questions?

Let's Talk

Contact me on LinkedIn