Comments 7
Статья чуть устарела, полежала весь май в песочнице. Я чуть допилил Ануфрия, но стараюсь, чтобы он оставался таким же простым, в архитектурном плане. Если будут вопросы, рад ответить.
Без боли то оно может и без боли, но:
Агент имеет доступ к терминалу через shell=True. Реализованный черный список команд обходится банальным разделением через ; или &&. Любая prompt-инъекция из интернета или файлов проекта может выполнить rm -rf или выкачать ваши ключи или еще чего натворить. Вывод: запускать строго в изолированном Docker-контейнере.
В коде зачем -то фигурируют ссылки на телеграмм канал t.me/itpolice. Намеренно?
main.py на 700+ строк, копипаст парсинга поисковой выдачи, пустые блоки except и неиспользуемые импорты. Короче - код сырой. Я бы не стал такое запускать на реальном хосте без допиливания надфилем. В целом - интересно, issue оставил вам
О, спасибо, что изучили код) Да, main выглядит печально, но моя основная задача - сделать архитектуру простой и наглядной. В этом файле содержатся базовые инструменты и инструкции для LLM, разнести их не составит большого труда. Но сейчас пробежавшись глазами сразу понятно, как оно работает, буквально за пару минут.
В коде фигурируют ссылки на мой канал, это тоже намеренно сделано, просто привет от автора.
Доступ к терминалу агент имеет полный, насморя на встроенные ограничения, иногда и промпт инъекция может не понадобиться, чтобы LLM под галюном их обошла. Поэтому запускать его лучше в изолированной среде, это верно.
И да, каждый разработчик должен допилить Ануфрия напильником под себя. Я же пытаюсь создать удобную базу, чтобы допилить совего агента было как можно проще.
Хочу попробовать. Он полностью бесплатный или за токены нужно платить?
Агент - это всего лишь алгоритм над большой языковой моделью. Если использовать провайдера LLM, то конечно, придется платить. Если развернуть LLM локально, то работать будет автономно и бесплатно. Но для хороших моделей нужно достаточно мощное железо, а для топовых домашнего железа все равно не хватит...
Прошу прощение за оффтоп. Ну почти. Просто позабавила фраза автора: "заняться старыми пет-проектами и наконец реализовать давнюю идею: написать простую базу для создания AI-агента". У меня недалеко живет пожилая женщина, для которой уже в сознательном возрасте, воспринималась возможность использования обычного, дискового телефона и телевизора, как чудо. Вот это на мой взгляд, "старые проекты". А вы, когда успели свои проекты "состарить"? Искины, толком еще и не перекочевали из фантастики.)) Прошу тапками не кидаться, комментарий исключительно благожелательный. За информацию, спасибо.
Я стараюсь не забрасывать проекты на десятилетия, поэтому они у меня относительно старые. То что я начал когда-то делать и забросил. Этот проект стараюсь развивать теперь. Агент стал заметно шустрее и менее прожролив по токенам, ппримерно раза в три от момента публикации этой статьи. Спасибо за комментарий.
AI-агент своими руками: память, браузер, задачи и навыки — без боли