Хабы: Rust, Искусственный интеллект
С тех пор как я стал регулярно пользоваться ChatGPT в повседневной работе, меня не оставляла мысль о создании виртуального секретаря, который бы записывал все мои разговоры, сохранял места в которых я бываю, а также регистрировал занятия, которыми я занимаюсь в течение дня. С помощью такого помощника всегда можно было бы вспомнить с кем о чём говорил или что делал в любой интересующий момент прошлого. Также было бы здорово получать советы по планированию с учётом накопленных обо мне знаний.
Однако реализация такого проекта кажется слишком сложной и ресурсоёмкой. К тому же, нет уверенности, что подобный инструмент будет действительно востребован. Поэтому я решил сузить задачу до создания виртуального помощника, способного решать задачи администрирования компьютера по запросам на естественном языке. Тем не менее, даже такая задача оказывается далеко не простой. Чтобы быть полезным, помощник должен хорошо понимать операционную систему, отслеживать действия пользователя и уметь создавать и выполнять скрипты для решения поставленных задач.
В итоге я решил начать с более реалистичного подхода — разработать небольшую CLI-утилиту, которая преобразует запросы на естественном языке в вызовы встроенных инструментов. Напрашивается идея генерации и выполнения shell-команд, но на практике этот подход неэффективен. LLM часто путаются в аргументах командной строки и не всегда корректно интерпретируют вывод. К тому же, возникают проблемы с безопасностью предоставления LLM доступа к командной строке. Поэтому я сосредоточился на обработке запросов с помощью ограниченного набора заранее определённых инструментов.
Читать далее