Выкарыстанне Agentic AI для архітэктуры праграмнага забеспячэння і аўтаматызацыі DevOps | B4N1

Выкарыстанне Agentic AI для архітэктуры праграмнага забеспячэння і аўтаматызацыі DevOps

8 months ago · b4n1 Read time: 4 min

Уводзіны

Хуткая эвалюцыя штучнага інтэлекту (AI) і машыннага навучання (ML) прывяла да распрацоўкі агентурнага ІІ, тыпу ІІ, які можа самастойна выконваць дзеянні і прымаць рашэнні. Гэтая тэхналогія можа змяніць наш падыход да архітэктуры праграмнага забеспячэння і аўтаматызацыі DevOps. У гэтым артыкуле мы вывучым інтэграцыю агентскага штучнага інтэлекту, вялікіх моўных мадэляў (LLM) і інструментаў аркестроўкі, такіх як LangChain і DSPy, для аўтаматызацыі архітэктуры праграмнага забеспячэння, інфраструктуры і працэсаў DevOps.

Што такое Agentic AI?

Agentic AI адносіцца да тыпу AI, які можа выконваць дзеянні і прымаць рашэнні самастойна. Гэта ў адрозненне ад традыцыйных сістэм штучнага інтэлекту, якія звычайна прызначаны для выканання пэўных задач і прытрымліваюцца набору загадзя вызначаных правілаў. Сістэмы Agentic AI, з іншага боку, распрацаваны, каб быць больш аўтаномнымі і адаптаванымі, што дазваляе ім вучыцца ў навакольным асяроддзі і прымаць рашэнні на аснове ўласных мэтаў і задач.

Роля LLMs у Agentic AI

Вялікія моўныя мадэлі (LLM) - гэта тып штучнага інтэлекту, які навучаецца на велізарных аб'ёмах тэкставых даных і здольны генераваць мову, падобную да чалавека. LLM з'яўляюцца ключавым кампанентам сістэм агентурнага штучнага інтэлекту, паколькі яны даюць магчымасць разумець і ствараць чалавечую мову. Гэта дазваляе сістэмам агентурнага штучнага інтэлекту мець зносіны з людзьмі і іншымі сістэмамі больш натуральным і інтуітыўна зразумелым спосабам.

Інструменты аркестрацыі: LangChain і DSPy

Інструменты аркестрацыі, такія як LangChain і DSPy, прызначаны для кіравання і каардынацыі ўзаемадзеяння паміж рознымі сістэмамі і кампанентамі. Гэтыя інструменты дазваляюць вызначаць і выконваць працоўныя працэсы, якія могуць уключаць у сябе такія задачы, як апрацоўка даных, навучанне мадэлі і разгортванне.

LangChain

LangChain - гэта інструмент аркестроўкі з адкрытым зыходным кодам, які забяспечвае гнуткую і пашыраемую структуру для стварэння працоўных працэсаў і кіравання імі. LangChain прызначаны для працы з шырокім дыяпазонам сістэм і кампанентаў, уключаючы LLM, базы дадзеных і API.

DSPy

DSPy - гэта інструмент аркестроўкі на аснове Python, які забяспечвае просты і інтуітыўна зразумелы спосаб вызначаць і выконваць працоўныя працэсы. DSPy распрацаваны для працы з шырокім спектрам сістэм і кампанентаў, уключаючы LLM, базы дадзеных і API.

Аўтаматызацыя архітэктуры праграмнага забеспячэння і працэсаў DevOps

Штучны інтэлект Agentic, магістра і інструменты аркестроўкі, такія як LangChain і DSPy, можна выкарыстоўваць для аўтаматызацыі шырокага спектру архітэктур праграмнага забеспячэння і працэсаў DevOps. Некаторыя прыклады ўключаюць:

  • Аўтаматызаваны агляд кода: сістэмы Agentic AI можна выкарыстоўваць для прагляду кода і выяўлення патэнцыйных праблем, такіх як памылкі і ўразлівасці сістэмы бяспекі.
  • Аўтаматызаванае тэсціраванне: сістэмы штучнага інтэлекту Agentic можна выкарыстоўваць для аўтаматызацыі тэсціравання, уключаючы модульнае тэсціраванне, інтэграцыйнае тэсціраванне і скразное тэсціраванне.
  • Аўтаматызаванае разгортванне: сістэмы штучнага інтэлекту Agentic можна выкарыстоўваць для аўтаматызацыі разгортвання, уключаючы разгортванне кода, канфігурацыі і іншых рэсурсаў.
  • Аўтаматызаваны маніторынг: сістэмы штучнага інтэлекту Agentic можна выкарыстоўваць для аўтаматызацыі маніторынгу, уключаючы маніторынг прадукцыйнасці сістэмы, бяспекі і іншых паказчыкаў.

Практычная рэалізацыя

У гэтым раздзеле мы прывядзем просты прыклад таго, як выкарыстоўваць LangChain і DSPy для аўтаматызацыі архітэктуры праграмнага забеспячэння і працэсу DevOps.

Прыклад: аўтаматызацыя праверкі кода

У гэтым прыкладзе мы будзем выкарыстоўваць LangChain і DSPy для аўтаматызацыі праверкі кода. Мы вызначым працоўны працэс, які ўключае наступныя этапы:

  1. Аналіз кода: працоўны працэс будзе выкарыстоўваць LLM для аналізу кода і выяўлення магчымых праблем.
  2. Праверка кода: працоўны працэс будзе выкарыстоўваць сістэму агентурнага штучнага інтэлекту для праверкі кода і выяўлення магчымых праблем.
  3. Разгортванне кода: працоўны працэс будзе выкарыстоўваць інструмент разгортвання для разгортвання кода ў вытворчай асяроддзі.

Вось прыклад таго, як рэалізаваць гэты працоўны працэс з дапамогай LangChain і DSPy:

імпарт Langchain
ад langchain import LLM

# Вызначэнне LLM
llm = LLM("text-davinci-003")

# Вызначце сістэму агентурнага штучнага інтэлекту
ai_system = langchain.AgenticAI()

# Вызначце працоўны працэс
працоўны працэс = langchain.Workflow(
    крокі=[
        langchain.Step(
            name="Аналіз кода",
            func=llm.analyze_code,
            inputs={"code": "def hello_world(): print('Hello World')"},
        ),
        langchain.Step(
            name="Прагляд кода",
            func=ai_system.review_code,
            inputs={"code": "def hello_world(): print('Hello World')"},
        ),
        langchain.Step(
            name="Разгортванне кода",
            func=langchain.deploy_code,
            inputs={"code": "def hello_world(): print('Hello World')"},
        ),
    ]
)

# Выкананне працоўнага працэсу
workflow.execute()

Гэты код вызначае працоўны працэс, які ўключае тры этапы: аналіз кода, агляд кода і разгортванне кода. Рабочы працэс выкарыстоўвае LLM для аналізу кода, агентурную сістэму штучнага інтэлекту для прагляду кода і інструмент разгортвання для разгортвання кода ў вытворчай асяроддзі.

5-10 найбольш часта выкарыстоўваюцца каманд/фрагментаў

Вось 5-10 найбольш часта выкарыстоўваюцца каманд/фрагментаў для LangChain і DSPy:

  1. langchain.Workflow(steps=[...]): вызначце працоўны працэс з некалькімі этапамі.
  2. langchain.Step(name="...", func=..., inputs={...}): вызначце адзін крок у працоўным працэсе.
  3. llm.analyze_code(inputs={"code": ...}): Выкарыстоўвайце LLM для аналізу кода.
  4. ai_system.review_code(inputs={"code": ...}): Выкарыстоўвайце сістэму агентурнага штучнага інтэлекту для прагляду кода.
  5. langchain.deploy_code(inputs={"code": ...}): разгортванне кода ў вытворчай асяроддзі.
  6. langchain.AgenticAI(): Стварэнне асобніка агентскай сістэмы штучнага інтэлекту.
  7. langchain.LLM(): Стварэнне асобніка LLM.
  8. langchain.deploy_code(): разгортванне кода ў вытворчай асяроддзі.
  9. langchain.execute_workflow(): Выкананне працоўнага працэсу.
  10. langchain.get_workflow_status(): атрымаць статус працоўнага працэсу.

Візуалізацыя

Вось прыклад візуалізацыі працоўнага працэсу з дапамогай Chart.js:

{
  "тып": "бар",
  "дадзеныя": {
    "labels": ["Аналіз кода", "Агляд кода", "Разгортванне кода"],
    "наборы дадзеных": [
      {
        "label": "Этапы працоўнага працэсу",
        "дадзеныя": [10, 20, 30],
        "фонавы колер": [
          "rgba(255, 99, 132, 0,2)",
          "rgba(54, 162, 235, 0,2)",
          "rgba(255, 206, 86, 0,2)"
        ],
        "borderColor": [
          "rgba(255, 99, 132, 1)",
          "rgba(54, 162, 235, 1)",
          "rgba(255, 206, 86, 1)"
        ],
        "borderWidth": 1
      }
    ]
  },
  "параметры": {}
}

Гэты код вызначае гістаграму з трыма пазнакамі: аналіз кода, агляд кода і разгортванне кода. Дыяграма паказвае колькасць крокаў на кожным этапе працоўнага працэсу.

Выснова

Agentic AI, LLM і інструменты аркестроўкі, такія як LangChain і DSPy, могуць змяніць наш падыход да архітэктуры праграмнага забеспячэння і аўтаматызацыі DevOps. Аўтаматызуючы такія задачы, як праверка кода, тэставанне і разгортванне, мы можам павысіць эфектыўнасць і выніковасць нашых працэсаў распрацоўкі. У гэтым артыкуле мы даследавалі інтэграцыю гэтых тэхналогій і далі просты прыклад таго, як выкарыстоўваць іх для аўтаматызацыі архітэктуры праграмнага забеспячэння і працэсу DevOps.


Have Questions?

Let's Talk

Contact me on LinkedIn