Вступ
Швидка еволюція штучного інтелекту (ШІ) і машинного навчання (ML) призвела до розвитку агентного ШІ, типу ШІ, який може виконувати дії та приймати рішення самостійно. Ця технологія має потенціал кардинально змінити наш підхід до архітектури програмного забезпечення та автоматизації DevOps. У цій статті ми розглянемо інтеграцію агентського штучного інтелекту, великих мовних моделей (LLM) і інструментів оркестровки, таких як LangChain і DSPy, для автоматизації архітектури програмного забезпечення, інфраструктури та процесів DevOps.
Що таке Agentic AI?
Агентний штучний інтелект відноситься до типу штучного інтелекту, який може виконувати дії та приймати рішення самостійно. Це на відміну від традиційних систем штучного інтелекту, які зазвичай розроблені для виконання конкретних завдань і дотримуються набору попередньо визначених правил. З іншого боку, системи агентського штучного інтелекту розроблені таким чином, щоб бути більш автономними та гнучкими, що дозволяє їм навчатися в навколишньому середовищі та приймати рішення на основі власних цілей і завдань.
Роль LLMs в Agentic AI
Великі мовні моделі (LLM) — це тип штучного інтелекту, який навчається на величезній кількості текстових даних і здатний генерувати мову, схожу на людину. LLM є ключовим компонентом агентних систем ШІ, оскільки вони забезпечують здатність розуміти та генерувати людську мову. Це дозволяє агентним системам ШІ спілкуватися з людьми та іншими системами більш природним та інтуїтивно зрозумілим способом.
Інструменти оркестровки: LangChain і DSPy
Такі інструменти оркестровки, як LangChain і DSPy, призначені для керування та координації взаємодії між різними системами та компонентами. Ці інструменти забезпечують спосіб визначення та виконання робочих процесів, які можуть включати такі завдання, як обробка даних, навчання моделі та розгортання.
LangChain
LangChain — це інструмент оркестровки з відкритим вихідним кодом, який надає гнучку та розширювану структуру для створення робочих процесів і керування ними. LangChain розроблений для роботи з широким спектром систем і компонентів, включаючи LLM, бази даних і API.
DSPy
DSPy — це інструмент оркестровки на основі Python, який забезпечує простий та інтуїтивно зрозумілий спосіб визначення та виконання робочих процесів. DSPy розроблений для роботи з широким спектром систем і компонентів, включаючи LLM, бази даних і API.
Автоматизація архітектури програмного забезпечення та процесів DevOps
Agentic AI, LLM та інструменти оркестровки, такі як LangChain і DSPy, можна використовувати для автоматизації широкого діапазону архітектур програмного забезпечення та процесів DevOps. Деякі приклади:
- Автоматична перевірка коду: системи Agentic AI можна використовувати для перевірки коду та виявлення потенційних проблем, таких як помилки та вразливі місця безпеки.
- Автоматизоване тестування: системи Agentic AI можна використовувати для автоматизації тестування, включаючи модульне тестування, інтеграційне тестування та наскрізне тестування.
- Автоматичне розгортання: системи Agentic AI можна використовувати для автоматизації розгортання, включаючи розгортання коду, конфігурації та інших ресурсів.
- Автоматичний моніторинг: системи Agentic AI можна використовувати для автоматизації моніторингу, включаючи моніторинг продуктивності системи, безпеки та інших показників.
Практична реалізація
У цьому розділі ми надамо простий приклад того, як використовувати 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 для аналізу коду, агентську систему AI для перегляду коду та інструмент розгортання для розгортання коду у робочому середовищі.
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:
{
"type": "бар",
"дані": {
"labels": ["Аналіз коду", "Огляд коду", "Розгортання коду"],
"набори даних": [
{
"label": "Кроки робочого процесу",
"дані": [10, 20, 30],
"backgroundColor": [
"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, LLMs та інструменти оркестровки, такі як LangChain і DSPy, мають потенціал кардинально змінити наш підхід до архітектури програмного забезпечення та автоматизації DevOps. Автоматизуючи такі завдання, як перевірка коду, тестування та розгортання, ми можемо підвищити ефективність і результативність наших процесів розробки. У цій статті ми дослідили інтеграцію цих технологій і надали простий приклад того, як використовувати їх для автоматизації архітектури програмного забезпечення та процесу DevOps.