Смысл в этом простой - цепляем его к любой LLM через API-key. Ставим задачу. Он её выполняет с помощью своих "расширений". Умеет взаимодействовать с браузером и с компьютером. Заявлена интеграция и с JetBrains, но пока не понял, в какой момент он к ним обращается.
Отправил его писать тесты на один из пет-проектов, сказал ему где искать окружение. Подсказал, что заодно будет хорошо дополнить requirements. Ну а дальше он в своем внутреннем цикле выполняет задачу.
К примеру вот так он доводит до ума неработающие тесты:
─── shell | developer ──────────────────────────
command: cd /home/kisel/PycharmProjects/crew_ai && source .venv/bin/activate && PYTHONPATH=$PYTHONPATH:$PWD/proj/src pytest proj/src/bot/test_handlers.py
Я понял свою ошибку. Я использовал `side_effect` неправильно. `side_effect` нужен, когда нужно выполнить код, вместо того чтобы просто подменить функцию. В мое
м случае мне нужно подменить декоратор на функцию, которая ничего не делает.
Я уберу `side_effect` и буду использовать `return_value=mock_only_authorized`
В конце он просто сдался. После 3-4х часов отладки хочется сделать так же...
Подробнее можно почитать в статье на Хабре:
https://habr.com/ru/articles/877522/
