Внедрение агентного ИИ в автоматизацию детерминированного тестирования с помощью LangChain и DSPy
Введение
Растущая сложность программных систем сделала автоматизацию тестирования важнейшим аспектом разработки программного обеспечения. Традиционные среды автоматизации тестирования полагаются на скриптовые подходы, которые могут быть хрупкими и сложными в обслуживании. В последние годы появление агентного искусственного интеллекта и инструментов оркестрации открыло новые возможности для автоматизации сложных сценариев тестирования. В этой статье мы рассмотрим пересечение агентного искусственного интеллекта, инструментов оркестрации и разработки программного обеспечения для автоматизации сложных сценариев тестирования с использованием LangChain и DSPy.
Что такое агентный ИИ?
Агентический ИИ относится к типу искусственного интеллекта, который предназначен для выполнения действий от имени пользователя или системы. Агентные системы искусственного интеллекта способны принимать решения, учиться на опыте и адаптироваться к новым ситуациям. В контексте автоматизации тестирования Agentic AI можно использовать для автоматизации сложных сценариев тестирования путем моделирования взаимодействия с пользователем, принятия решений на основе тестовых данных и адаптации к изменяющимся условиям тестирования.
Что такое LangChain?
LangChain — это инструмент оркестрации с открытым исходным кодом, который позволяет разработчикам создавать сложные системы искусственного интеллекта с использованием различных языков программирования, включая Python, Rust и Go. LangChain предоставляет гибкую модульную архитектуру, которая позволяет разработчикам интегрировать различные компоненты искусственного интеллекта, такие как обработка естественного языка (NLP) и компьютерное зрение, для создания сложных систем искусственного интеллекта.
Что такое DSPy?
DSPy — это библиотека Python, предоставляющая набор инструментов для создания и развертывания систем искусственного интеллекта. DSPy разработан для бесперебойной работы с LangChain и предоставляет ряд функций, включая обработку данных, машинное обучение и глубокое обучение.
Внедрение агентного ИИ в автоматизацию детерминированных испытаний
Чтобы реализовать агентный ИИ в детерминированной автоматизации тестирования, мы можем использовать LangChain и DSPy для создания среды автоматизации тестирования, которая имитирует взаимодействие пользователей, принимает решения на основе тестовых данных и адаптируется к изменяющимся условиям тестирования.
Вот простой пример того, как мы можем использовать LangChain и DSPy для автоматизации сценария тестирования:
импорт лангчейна
из langchain.chains импортировать LLMChain
из langchain.llms импортировать DSPyLLM
test_scenario = {
"user_input": "логин",
"expected_output": "вход успешен"
}
# Определите агента Agentic AI
агент = LLMChain(
llm=DSPyLLM(),
input_type="текст",
выходной_тип="текст"
)
# Определить функцию автоматизации тестирования
защита test_automation (test_scenario):
# Имитировать взаимодействие с пользователем
user_input = test_scenario["user_input"]
# Принимайте решение на основе тестовых данных
решение = Agent.run(user_input)
# Адаптация к изменяющимся условиям испытаний
если решение == «вход успешен»:
print("Тест пройден")
еще:
print("Тест не пройден")
# Запускаем функцию автоматизации тестирования
test_automation (test_scenario)
В этом примере мы определяем сценарий тестирования, который включает в себя моделирование взаимодействия с пользователем, принятие решения на основе тестовых данных и адаптацию к изменяющимся условиям тестирования. Затем мы определяем агента Agentic AI с помощью LangChain и DSPy и используем его для автоматизации сценария тестирования.
Топ-5–10 наиболее часто используемых команд/фрагментов
Вот 5-10 наиболее часто используемых команд/фрагментов для LangChain и DSPy:
langchain.LLMChain(llm=DSPyLLM()): создает агента AI с использованием LangChain и DSPy.DSPyLLM(): инициализирует экземпляр DSPy LLM (большая языковая модель).LLMChain(input_type="text", output_type="text"): Создаёт агента AI с типами текстового ввода и вывода.agent.run(user_input): запускает агент Agentic AI с вводом пользователя.test_scenario = {"user_input": "login", "expected_output": "вход успешный"}: определяет тестовый сценарий с пользовательским вводом и ожидаемым результатом.langchain.chains.LLMChain(llm=DSPyLLM()): создает агента AI с использованием LangChain и DSPy.DSPyLLM().predict(user_input): прогнозирует выходные данные DSPy LLM с учетом пользовательского ввода.LLMChain(input_type="text", output_type="text").run(user_input): запускает агент Agentic AI с типами текстового ввода и вывода.test_automation(test_scenario): запускает функцию автоматизации тестирования с использованием тестового сценария.langchain.chains.LLMChain(llm=DSPyLLM()).run(user_input): запускает агент Agentic AI с пользовательским вводом.
Визуализация
Вот визуализация агента Agentic AI с использованием Chart.js:
{
"тип": "бар",
"данные": {
"labels": ["Ввод пользователя", "Решение", "Адаптация"],
"наборы данных": [
{
"label": "Агентный ИИ-агент",
«данные»: [10, 20, 30],
"backgroundColor": "rgba(255, 99, 132, 0.2)",
"borderColor": "rgba(255, 99, 132, 1)",
"borderWidth": 1
}
]
},
"варианты": {
"название": {
«дисплей»: правда,
"text": "Агентный ИИ-агент"
},
"весы": {
"yAxes": [
{
"тикает": {
«beginAtZero»: правда
}
}
]
}
}
}
Эта визуализация демонстрирует эффективность агента Agentic AI при моделировании взаимодействия с пользователем, принятии решений на основе тестовых данных и адаптации к изменяющимся условиям тестирования.
Заключение
В этой статье мы исследовали пересечение агентного искусственного интеллекта, инструментов оркестрации и разработки программного обеспечения для автоматизации сложных сценариев тестирования с использованием LangChain и DSPy. Мы реализовали простой пример агентного ИИ для автоматизации детерминированного тестирования и предоставили ряд команд/фрагментов для LangChain и DSPy. Мы также визуализировали производительность агента Agentic AI с помощью Chart.js. Используя агентный искусственный интеллект и инструменты оркестрации, разработчики могут создавать сложные среды автоматизации тестирования, которые имитируют взаимодействие с пользователем, принимают решения на основе тестовых данных и адаптируются к изменяющимся условиям тестирования.