Уводзіны
Хуткая эвалюцыя штучнага інтэлекту (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 для аўтаматызацыі праверкі кода. Мы вызначым працоўны працэс, які ўключае наступныя этапы:
- Аналіз кода: працоўны працэс будзе выкарыстоўваць LLM для аналізу кода і выяўлення магчымых праблем.
- Праверка кода: працоўны працэс будзе выкарыстоўваць сістэму агентурнага штучнага інтэлекту для праверкі кода і выяўлення магчымых праблем.
- Разгортванне кода: працоўны працэс будзе выкарыстоўваць інструмент разгортвання для разгортвання кода ў вытворчай асяроддзі.
Вось прыклад таго, як рэалізаваць гэты працоўны працэс з дапамогай 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:
langchain.Workflow(steps=[...]): вызначце працоўны працэс з некалькімі этапамі.langchain.Step(name="...", func=..., inputs={...}): вызначце адзін крок у працоўным працэсе.llm.analyze_code(inputs={"code": ...}): Выкарыстоўвайце LLM для аналізу кода.ai_system.review_code(inputs={"code": ...}): Выкарыстоўвайце сістэму агентурнага штучнага інтэлекту для прагляду кода.langchain.deploy_code(inputs={"code": ...}): разгортванне кода ў вытворчай асяроддзі.langchain.AgenticAI(): Стварэнне асобніка агентскай сістэмы штучнага інтэлекту.langchain.LLM(): Стварэнне асобніка LLM.langchain.deploy_code(): разгортванне кода ў вытворчай асяроддзі.langchain.execute_workflow(): Выкананне працоўнага працэсу.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.