Transcription
На данный момент я в основном уже охватил все технологии, которые использую в своем контенте. Но чего я никогда раньше не делал, так это не создавал ни одного видео, посвященного всему моему технологическому стеку и объясняющего, почему я использую те инструменты, которые использую. И вот это, мой друг, я и представляю вам сегодня. Итак, если вы планируете создавать какое-либо программное обеспечение в 2026 году, прислушайтесь, потому что у меня есть для вас несколько действительно надежных рекомендаций. Мой технологический стек ориентирован на ИИ, потому что я действительно не вижу другого способа сделать это в наши дни. И я использую практически тот же технологический стек, за исключением некоторых новейших технологий, уже более года. Так что он не меняется часто. Он очень стабилен. И я считаю это хорошим. На самом деле, прежде чем мы даже перейдем ко всем отдельным инструментам здесь, самая большая рекомендация, которую я могу дать вам, это найти то, что хорошо работает для вас, и просто придерживаться этого. Теперь вы все равно хотите быть гибкими. Иногда есть инструменты за пределами вашего обычного стека, которые лучше решают проблему. Вы хотите это сделать. Но в целом, просто найдите то, что хорошо работает для вас. Мантра, которую я всегда придерживаюсь, это возможности важнее инструментов. И что это означает конкретно для этого видео, так это то, что вместо того, чтобы погружаться в мельчайшие детали каждого инструмента здесь и одерживаться ими, я скорее хочу, чтобы это было для вас ресурсом. Если когда-нибудь возникнет определенная технология как часть вашего стека, в которой вы не уверены, просто примите мою рекомендацию, чтобы вы могли сразу же приступить к решению реальной проблемы, созданию реального программного обеспечения, вместо того, чтобы беспокоиться об инструментах, потому что в конечном итоге проблемы стоят на первом месте. И вот что я представляю вам в этом видео.
Хорошо, вот как я разбил все для вас по категориям. Я начну с рассмотрения моей основной инфраструктуры, технологий, которые применимы практически ко всему, что я создаю. А затем я разделил вещи по различным типам приложений. Итак, технологии, которые я использую для всех моих ИИ-агентов, то, что я использую для RAG-агентов в частности, затем агенты, основанные на веб-автоматизации. Затем я перейду к моему технологическому стеку для полнофункциональной разработки. И затем я закончу развертыванием и инфраструктурой, а также вариантами самостоятельного хостинга для вещей, которые я еще не охватил, потому что локальный ИИ является большой частью того, что я делаю. И для каждой из технологий я также буду рассматривать альтернативы, например, пару альтернатив для Postgress, например. Я думаю, это действительно поможет понять, как технология вписывается в мой стек, а также просто покажет вам, что я не просто пытаюсь дать вам один инструмент как панацею. Я хочу поговорить о некоторых альтернативах и о том, как это связано с тем, что я в итоге использую, и почему я использую это вместо некоторых других доступных вариантов.
Итак, начиная с моей основной инфраструктуры, основы, которая обеспечивает работу всего. Не то чтобы я использовал эти технологии все время, но они применимы к каждому типу программного обеспечения, которое я создаю. Итак, для моей базы данных, большую часть времени я использую Postgress, и я использую ее либо через Neon, либо через Superbase в целом. Так что это обе платформы, которые размещают Postgress под капотом, и я использую Superbase дольше, но экспериментирую с Neon больше в последнее время, особенно из-за их масштабируемости. Обе выглядят очень похоже и работают аналогично. Вот моя панель управления для Superbase. Вот и для Neon, обе работают на Postgress под капотом, а затем у меня также есть Postgress через Superbase как часть пакета локального ИИ. Так что большая часть стека, который я сегодня охватываю, является открытым исходным кодом, я включил это в единый пакет, чтобы вы могли запускать все на своем собственном оборудовании, итак, Postgress фантастичен, и для всего, что является открытым исходным кодом, в дальнейшем, кстати, у меня будет эта галочка и метка OSS прямо здесь, чтобы мне не приходилось говорить это каждый раз, потому что это одно из преимуществ многих вещей, которые я охватываю в этом видео. Что касается альтернатив, у нас есть MongoDB и Firestore. И вот я говорю о паре альтернатив NoSQL. И я раньше был большим поклонником Firestore, даже немного использовал MongoDB, может быть, лет четыре-пять назад. И недавно я перешел на SQL, потому что это, безусловно, отраслевой стандарт для создания ИИ-агентов. И я чувствую, что LLM понимают SQL гораздо больше, чем написание запросов для NoSQL, таких как Firestore и MongoDB. И из-за ценообразования и масштабирования я знаю много людей, включая себя, которые перешли на SQL. И Postgress — это стандарт для этого. Так что это моя база данных, которая обеспечивает работу большинства вещей. Мы будем часто видеть Postgress и в дальнейшем.
А затем для кэширования в частности, я использую Redis. Он невероятно быстрый. А также у нас есть Valkyrie как альтернатива с открытым исходным кодом. Это одна из вещей, которые у меня есть в пакете локального ИИ. И он полностью совместим. Так что я могу использовать Redis, если мне нужно что-то размещенное и удобное, а затем всегда переключаться на что-то локальное, если захочу. И, о, я упомянул, что он невероятно быстрый? Так что отличный инструмент для кэширования.
А затем для моего ИИ-ассистента по кодированию, честно говоря, вероятно, инструмент, который я чаще всего открываю на своем компьютере, это Claude Code. И я всегда использую его с Archon, который является моим проектом с открытым исходным кодом. Я дам ссылку на видео прямо здесь. Это управление знаниями и задачами для ИИ-ассистентов по кодированию. И это значительно улучшает мой опыт ИИ-кодирования, но Cloud Code — мой основной драйвер. Есть несколько фантастических альтернатив, таких как Cursor с их новым 2.0. Codeex определенно догоняет Cloud Code, но в настоящее время он считается лучшим ИИ-ассистентом по кодированию, хотя он немного дороже и имеет некоторые проблемы с ограничениями скорости, с которыми люди сталкиваются прямо сейчас, но это все еще мой ежедневный драйвер. И просто функции, которые у них есть в отношении команд слэш, под-агентов и новых навыков Claude, очень, очень крутые. И поэтому я использую Archon вместе с ним для всего, что я создаю. Например, буквально все типы программного обеспечения, которые вы увидите в остальной части этого видео, я создаю с помощью Claude Code. И насколько я постоянно использую ИИ-ассистентов по кодированию, я все еще люблю использовать no-code инструменты, чтобы помочь мне прототипировать то, что я создаю, особенно когда я создаю ИИ-агентов. И есть несколько хороших альтернатив, таких как Langflow и Flowwise. Я даже однажды освещал Flowwise на своем канале, и он также входит в пакет локального ИИ. Но N8N для меня — это то, что нужно, и я чувствую, что так будет и в долгосрочной перспективе. Это феноменальная платформа, которую я так много освещал на своем канале, создавая такие вещи, как RAG-агенты, как вы видите здесь. И поэтому я буду использовать его как инструмент для быстрого прототипирования идей, проверки инструментов, которые я даю своим агентам, и системных подсказок, и тому подобного. А затем я обычно перехожу к кодированному решению, как только я уверен в своем прототипе. И N8N отлично подходит благодаря всем их интеграциям с приложениями. Он очень ориентирован на ИИ. Они постоянно создают функции, помогающие создавать агентов. И, конечно же, он с открытым исходным кодом и может быть размещен самостоятельно. И снова, я не буду упоминать это как преимущество в дальнейшем, но вы увидите метку прямо здесь.
И когда мы переходим от основной инфраструктуры, последнее, что я хочу сказать, когда я прохожу через все здесь, это то, что, очевидно, я не перечисляю все альтернативы, но я просто хочу перечислить несколько, чтобы помочь сформировать разговор здесь. А затем также для некоторых инструментов у меня на самом деле нет альтернатив, потому что я просто не пробовал ничего сравнимого или я просто искренне не думаю, что есть другой инструмент, на который стоит обратить внимание. И поэтому с этим мы перейдем к следующей категории здесь для инструментов, которые я использую для всех ИИ-агентов, которые я создаю.
Теперь, для моего фреймворка ИИ-агентов, прямо сейчас я почти исключительно использую Pydantic AI, о чем меня постоянно спрашивают, потому что существует так много хороших альтернатив, даже без использования какого-либо фреймворка. Многие люди любят просто использовать необработанные вызовы LLM, и я тоже уважаю это, потому что многие из этих фреймворков — это то, что я называю отвлечением абстракции. Вы в конечном итоге боретесь с фреймворком больше, чем он вам на самом деле помогает, потому что трудно по-настоящему настроить вещи, когда вы углубляетесь в мельчайшие детали создания ваших агентов. Но я чувствую, что у меня нет этой проблемы с Pydantic AI. Мне гораздо проще создавать агентов, чем просто необработанные вызовы LLM, особенно когда я переключаюсь между разными поставщиками. Но я все еще чувствую, что у меня есть вся гибкость и контроль, которые мне нужны, как если бы я делал необработанные вызовы LLM. Плюс, Pydantic AI постоянно поддерживает новые протоколы, такие как MCPU, когда он только появился, A2A для потоков событий пользовательского интерфейса. У нас есть AGUI, новый протокол потоковой передачи данных от Vercel. И поэтому легко строить на основе последних достижений в области ИИ благодаря Pydantic AI.
А затем для мульти-агентов в частности, я люблю использовать LangGraph. И часто я буду использовать эти два вместе. Так что Pydantic AI — это то, как я создаю своих отдельных агентов. А затем LangGraph — это то, как я соединяю их в более сложные рабочие процессы, когда сценарий использования действительно требует мульти-агента. Я не хочу чрезмерно усложнять и всегда использовать мульти-агента. Поэтому я использую LangGraph только для более сложных сценариев использования, но это спасение. Очень легко управлять состоянием, человеческим вмешательством для более сложных рабочих процессов, маршрутизацией между моими различными агентами, сохранением графа. У них есть пользовательский интерфейс, который помогает нам визуализировать наши графы. LangGraph потрясающий, и есть несколько альтернатив, например, многим нравится использовать CrewAI для создания мульти-агентов. Pydantic AI графы, и поэтому я мог бы фактически использовать тот же фреймворк для создания мульти-агентов, который я использую для создания одиночных, но я чувствую, что LangGraph является наиболее зрелым в обработке некоторых основных компонентов этих более сложных рабочих процессов, таких как человеческое вмешательство, например.
Теперь фреймворки, такие как Pydantic AI, делают добавление инструментов в наши ИИ-агенты очень простым, но они не обрабатывают авторизацию агентов и безопасность инструментов. Вот где вступает в игру Arcade. И поэтому, например, если вашему ИИ-агенту нужно получить разрешение на доступ к учетной записи пользователя, например, для просмотра электронной почты в его Gmail, отправки сообщения от его имени в Slack, агенту нужен какой-то способ авторизоваться с этими учетными записями, и именно здесь вступает в игру Arcade. Это очень сложная вещь для разработки без такого инструмента, как Arcade, и я на самом деле не знаю никаких альтернатив, которые делают это так, как они. Плюс, они недавно выпустили SDK для сервера MCPU, поэтому мы можем создавать безопасные MCPU-серверы непосредственно с Arcade, используя их наборы инструментов, используя их авторизацию инструментов прямо в платформе. И поэтому я на самом деле быстро покажу вам документацию. У них есть полное руководство о том, как мы можем создать свой собственный MCPU-сервер. Так что это, по сути, создание MCPU-серверов, таких как FastAPI, если вы когда-либо создавали сервер на Python с этим раньше. Но теперь мы можем встроить авторизацию инструментов Arcade прямо в эти серверы. И вот пример Reddit. У нас есть разные инструменты, такие как получение постов из сабреддита, например, получение контента поста. Но для тех, которые требуют авторизации, мы просто добавляем этот декоратор, чтобы при вызове этого инструмента он отправлял пользователя через OAuth-поток. Так что у агента есть доступ к их учетной записи Reddit, чтобы, например, получить их имя пользователя или отправить текст от их имени. Так что наш агент может делать вещи для отдельных пользователей. Теперь такой тип авторизации очень сложно реализовать без чего-то вроде Arcade. И в видео на моем канале, на которое я дам ссылку здесь, я продемонстрировал интеграцию Arcade в LangGraph. Так что у меня есть этот ИИ-агент, где, например, я могу сказать: "Какая у меня электронная почта за сегодня?". И посмотрите на это. У агента еще нет доступа к моей учетной записи. И поэтому он отправляет мне эту ссылку. Так что я нажимаю на эту ссылку, чтобы пройти через OAuth-поток. Так что я прохожу через это, я вхожу в Arcade. Теперь у ИИ-агента в дальнейшем будет доступ к моей учетной записи для выполнения действий от моего имени, но также и с разрешениями, которые я установил в приложении. Так что это также очень безопасно, очень гранулярно. И поэтому авторизация прошла успешно. Теперь, если я вернусь к своему агенту, он перечислит мою электронную почту. И вы можете пройти весь этот OAuth-поток непосредственно через MCPU. Я просто хотел показать вам пример из моего более длинного видео на случай, если вы заинтересованы в его просмотре. Но да, последнее, что является основой всех моих ИИ-агентов, это Langfuse. Это для наблюдаемости агентов. И вы не можете пропустить этот шаг. Это очень важно, особенно когда ваши агенты работают в продакшене, чтобы иметь возможность отслеживать их. Так что для каждого запуска вы можете видеть использование токенов, общую стоимость, задержку, вызовы инструментов, которые делают ваши агенты. И с их интеграцией LangGraph, так же, как и Arcade, они интегрируются с LangGraph. Все мои инструменты работают очень хорошо вместе. Вы также можете видеть различные агенты в мульти-агентной системе. и решения, которые принимаются, например, к каким агентам происходит маршрутизация в этом выполнении. Так что без чего-то подобного невозможно настроить оценки, A/B-тестирование или системные подсказки, например. Когда вы серьезно относитесь к тому, чтобы сделать ваших агентов надежными, вам нужен такой инструмент для наблюдаемости. Есть и другие хорошие варианты, такие как LangSmith и Helicone, например. Но я считаю, что Langfuse наиболее богат функциями. И LangSmith очень популярен, но также не на 100% с открытым исходным кодом и не может быть размещен самостоятельно. И поэтому это одна из вещей, которые мне нравятся в Langfuse. Это еще одна из тех технологий, которые у меня есть в пакете локального ИИ.
Далее я хочу поговорить обо всех инструментах, которые я использую для RAG-агентов в частности. Итак, я только что осветил то, что я использую для всех ИИ-агентов. Так что эти четыре в целом применимы и к RAG-агентам, но теперь это инструменты, специально предназначенные для извлечения данных. У нас есть хранилище данных, графы знаний, а затем evalarch, я бы включил в RAG. И поэтому, во-первых, для извлечения данных вам не всегда нужен фреймворк, но для более сложных документов, в частности, таких как PDF с диаграммами, файлы Excel, полезно иметь что-то готовое, такое как Docling, чтобы помочь. И есть несколько хороших альтернатив, таких как LlamaIndex, у него много. Это фреймворк агентов, специально предназначенный для RAG. У нас есть Unstructured, но, черт возьми, Docling отлично справляется со мной в последнее время. Это на самом деле одно из новейших дополнений к моему технологическому стеку. До этого я в основном занимался ручным извлечением без фреймворка, но это значительно упростило мне задачу, и его легко использовать с локальными моделями, и он полностью с открытым исходным кодом, в отличие от многих инструментов извлечения данных.
А затем для веб-данных в частности, я использую Crawl4AI. Он очень быстрый и эффективный. Он автоматически очищает мусор. У них есть интеграции с LLM. Вы можете отправить его на веб-сайт и использовать LLM и просто как бы спросить его, какой текст вы хотите извлечь конкретно. Так что он очень, очень богат функциями. И поэтому думайте об этом так, и я перейду к документации здесь. Если вы работаете с файлами, используйте Docling. Если вы работаете с веб-сайтами, используйте Crawl4AI. Таков мой процесс принятия решений. Это два основных инструмента, которые я использую специально для извлечения данных.
А затем для хранения, я люблю использовать Postgress. Так что не только это моя обычная база данных, которая обеспечивает работу всех моих приложений, но благодаря PGVector я могу фактически использовать Postgress как векторную базу данных. Теперь это не выделенная векторная база данных, такая как Quadrant или Pinecone. Это альтернативы, которые будут быстрее. Так что это компромисс. Когда у вас есть выделенная векторная база данных, они быстрее. Но причина, по которой мне нравится использовать Postgress, заключается в том, что многие мои RAG-стратегии также нуждаются в обычной базе данных. например, им просто нужна SQL-база данных для хранения данных документов или для хранения данных пользователей, связанных с RAG. И поэтому мне очень нравится использовать Postgress для таких вещей, и он также отлично масштабируется.
А затем для долговременной памяти в частности, причина, по которой я включил это в свои инструменты RAG-агентов, заключается в том, что долговременная память — это просто форма RAG. Это реализация RAG, и я люблю использовать Memgraph, я также освещал это на своем канале. Кстати, я буду продолжать ссылаться на видео, связанные с этими технологиями, потому что, как я уже сказал, я уже осветил большинство из них в своем контенте. Но я люблю Memgraph, потому что он интегрируется практически с любой базой данных, которую я хочу. Так что я могу использовать Memgraph непосредственно с PGVector, что очень приятно. Они находятся рядом друг с другом и также интегрируются. И его очень легко добавить в любой ИИ-агент. Так что есть и другие отличные фреймворки для долговременной памяти. Например, я не включаю это сюда, потому что это на самом деле больше фреймворк ИИ-агентов, ориентированный на долговременную память. Но Memgraph мы можем интегрировать с любым ИИ-агентом, например, я могу создать своего агента с помощью Pydantic AI, а затем я могу искать воспоминания, вставлять их в системную подсказку, а затем извлекать воспоминания после. Так что я могу как бы прослоить своего агента, независимо от того, как я его создаю, с помощью Memgraph. А затем Zep — это альтернатива, которая не является открытым исходным кодом, как Memgraph, поэтому я обычно предпочитаю его. Так что это долговременная память.
Теперь я хочу перейти к самой интересной части — графам знаний. Я недавно сделал много контента о графах знаний. И поэтому для графов знаний есть две части. У нас есть база данных графа, а затем, как правило, вы будете использовать какую-то библиотеку, которая поможет вам вставлять данные и искать данные в ваших графах знаний. И поэтому для базы данных графа, которую я люблю называть движком, я люблю использовать Neo4j. У них действительно красивый пользовательский интерфейс. Легко запрашивать наши данные и работать с ними. А также одна из замечательных вещей в Neo4j заключается в том, что он поддерживается большинством библиотек графов знаний, например, парой, о которых я расскажу через секунду. Он также очень высокоскоростной и очень масштабируемый. Теперь лицензирование Neo4j не идеально, даже если он с открытым исходным кодом. Так что, когда вы переходите к коммерческому использованию, это то, что стоит изучить, если вы заинтересованы в Neo4j. Есть также отличные альтернативы, такие как Memgraph и FolkloreDB.
А теперь для библиотеки, которая поможет нам вставлять данные в Neo4j и искать наши графы знаний здесь, я люблю использовать Graffiti. Я также освещал это на своем канале. Это очень интеллектуальное извлечение сущностей и отношений. И поэтому, возвращаясь к нашему графу, у нас есть эти различные сущности, а затем у нас также есть информация или метаданные о том, как они связаны друг с другом. И, очевидно, если у нас нет супер-специфического сценария использования, где мы можем как-то извлечь это детерминированно, нам нужно использовать большую языковую модель для извлечения сущностей и отношений из необработанного текста, и именно с этим помогает Graffiti. Так что здесь мы храним данные. Вот как мы получаем данные в формате для хранения и как мы их ищем. Lightrag — это еще одна альтернатива, которую я много освещал на своем канале. Но Lightrag больше похож на векторную базу данных и граф знаний. Graffiti фокусируется только на графах знаний, и мне нравится разделять их, и поэтому я даже делал реализации на своем канале, где у меня есть агент RAG. Я даю ИИ-агенту возможность искать как в векторной базе данных, так и в графе знаний в зависимости от вопроса пользователя. Очень мощные вещи.
Для оценки я люблю использовать Regos. Я не уверен, правильно ли я произношу это, Regos. Я не знаю, правильно ли я произношу, но я люблю использовать его для настройки конвейеров оценки. И поэтому специализированные метрики для RAG, такие как достоверность, релевантность, очень, очень мощные. Такой инструмент, как Langfuse, мы можем использовать для оценки агентов в целом, но это больше связано с вызовами инструментов агентов. Но когда вы хотите посмотреть на такие вещи, как эти метрики в частности, тогда Regos фантастичен. Он также помогает с автоматической генерацией наборов тестовых данных и работает с любым поставщиком LLM.
И последнее, но не менее важное здесь — веб-поиск. Вы могли бы рассматривать это как часть агентов веб-автоматизации, но также это просто было последнее место, которое мне нужно было заполнить в этом разделе. И это часть RAG, верно? Как ретривально-дополненная генерация. Это не просто поиск ваших собственных знаний. Это просто поиск общих знаний, более широкого Интернета. И с этим мне помогает Brave. И Perplexity — отличный инструмент для этого. Я определенно использую оба. Это больше похоже на высокоуровневую быструю реализацию. А затем Perplexity более детальный, но медленнее для использования ИИ-агентами. И Brave ориентирован на конфиденциальность и не отслеживает. Так что он не глупый, как наши ИИ-браузеры, такие как Atlas прямо сейчас. Независимый индекс, без прокси Google. И у них также есть встроенная функция ИИ-поиска, которую я довольно часто использую.
Далее у нас веб-автоматизация агентов. Теперь разница между этими двумя заключается в том, что когда я занимаюсь извлечением данных, например, с помощью Crawl4AI, для Интернета, это когда я заранее извлекаю документацию для хранения в моей базе знаний. Но для веб-автоматизации это когда я даю инструменты моему ИИ-агенту для получения информации из Интернета в реальном времени. И поэтому иногда я даю своим агентам инструмент Crawl4AI, чтобы он мог извлекать текст из конкретного URL в реальном времени, а не как часть моего RAG-конвейера. Firecrawl — еще одна хорошая альтернатива для этого. Но да, Crawl4AI с открытым исходным кодом, быстрый и очень богатый функциями. И затем единственное, с чем он не справляется хорошо, это социальные платформы, в частности, такие как LinkedIn, X, Instagram. Агенты, которые должны работать с этим, я часто использую что-то вроде Ampify или Bright Data.
А затем для более простой автоматизации браузера, когда я просто хочу быстро написать некоторую автоматизацию для тестирования веб-сайтов или использовать сервер Playwright MCPU для моего ИИ-ассистента по кодированию, чтобы визуально проверять изменения веб-сайтов, которые он вносит, я люблю использовать Playwright. А также Puppeteer и Selenium — хорошие варианты. Я использовал Selenium годами и годами, но за последний год перешел на Playwright. И поэтому, да, это отличная поддержка нескольких браузеров. На мой взгляд, это король детерминированной веб-автоматизации. Как я уже сказал, Playwright MCPU — это золотая жила. Это действительно потрясающе, когда вы используете ассистентов по кодированию для работы над вашим фронтендом.
И последнее, но не менее важное, я сохранил Browserbase. Когда я хочу пойти дальше и позволить агенту управлять браузером для меня в реальном времени, тогда я буду использовать Browserbase. И это красивый инструмент. Я не нашел ничего подобного. Я знаю, что есть некоторые альтернативы, но, черт возьми, это король для меня. Управляемая инфраструктура. Все сеансы записываются и хранятся. Так что у вас есть сервер Stagehand MCPU, где вы просто с помощью естественного языка описываете запрос. Он запустит этот сеанс для вас, который имеет защиту от ботов. Он очень безопасен. Это управляемая инфраструктура. Он будет перемещаться по веб-сайтам, чтобы найти нужную вам информацию. А затем вы можете вернуться позже и фактически просмотреть сеанс. Так что я могу воспроизвести сеанс в реальном времени, чтобы увидеть, что он сделал, чтобы извлечь нужную информацию на основе моего запроса. Так что потрясающая платформа. А затем у них также есть Director, который, кстати, Stagehand и Director построены на основе Playwright и расширены для работы с некоторыми другими инструментами, такими как Puppeteer и Selenium. Так что это детерминированная веб-автоматизация, но с применением ИИ поверх нее для управления браузером. Так что с Director, например, я могу сказать: "Найди мне последнюю цену на протеиновый порошок Body Fortress на Amazon". Любая веб-задача, которая у меня есть для него, и он пройдет через все. Он покажет мне пошагово, что он сделал, даже скриншоты, чтобы сопровождать его. Очень, очень круто. В конце он дает мне окончательный ответ. Но затем другая вещь, которую я могу сделать, это перейти на вкладку артефактов здесь. Я могу перейти к коду и посмотреть на это. Я могу фактически скопировать код напрямую. Так что я могу перенести это в свою собственную кодовую базу, свои собственные автоматизации, которые у меня есть для тестирования, или просто веб-автоматизации в целом. Это потрясающая платформа, и снова, она просто использует эти инструменты под капотом. но применяет ИИ поверх них.
Итак, пример одного из них, как я использую эти инструменты, которые хорошо работают вместе, а также как у меня есть вещи в моем стеке, которые очень ориентированы на ИИ, потому что, как я уже сказал, я не вижу другого способа в наши дни. Это просто настолько мощные инструменты, к которым у нас есть доступ. Итак, на данный момент я охватил практически все для ИИ-агентов в частности, потому что именно этому я уделяю большую часть своего времени, но я все еще занимаюсь полнофункциональной разработкой, особенно потому, что нашим ИИ-агентам по-прежнему нужны бэкенды и фронтенды для многих наших реализаций. Например, это фронтенд-приложение, которое я создал для курса Dynamis AI Agent Mastery, используя практически все технологии, которые я рассмотрю с вами в ближайшие несколько минут. Итак, интерфейс, похожий на ChatGPT, для взаимодействия с некоторыми мульти-агентными рабочими процессами, которые у меня есть за кулисами, как этот, который вы видите здесь, который помогает нам с SEO-исследованиями, исследованиями в социальных сетях, исследованиями конкурентов, все параллельно. Так что очень крутая реализация. Это одна из многих реализаций, которые я делаю в курсе Dynamis AI Agent Mastery. Но да, я создал это практически со всеми технологиями, которые мы видим здесь.
Итак, для моих API я всегда использую FastAPI, потому что мне нравится создавать своих ИИ-агентов на Python. И поэтому я хочу, чтобы мой фреймворк API также был на Python. Flask тоже хорош, но я думаю, что FastAPI более богат функциями. А затем, если вы хотите создавать своих агентов и бэкенды на TypeScript, то я думаю, что Express фантастичен. А затем для моей базы данных, Postgress, как обычно. Не буду повторяться. Очень, очень стандартно. А затем для более простой аутентификации, Superbase отлично справляется со мной уже давно. И я знаю, что Neon также имеет это, но конкретно, когда я использовал Neon, я не использовал его для аутентификации. Так что да, Superbase — мой выбор. А также интегрируется с Auth0, когда вам нужна более корпоративная аутентификация, но вы все еще хотите использовать Superbase в качестве своей базы данных, вы все равно можете воспользоваться преимуществами, например, безопасности на основе ролей, которую он предлагает. Но когда у вас есть более корпоративные потребности для MFA, универсального входа с большим количеством поставщиков, корпоративного SSO с SAML или Active Directory, тогда Auth0 имеет решающее значение. И есть и другие платформы, которые также фантастичны, такие как Clerk и Okta. Я буду полностью прозрачен здесь. Auth0, как корпоративная аутентификация, это единственное, что из практически всего в этом технологическом стеке, где я изначально выбрал Auth0, и я на самом деле не пробовал эти другие, я просто знаю, что они также считаются очень фантастическими. Но это то, что я использовал большую часть времени, если я не просто придерживаюсь простой аутентификации Superbase.
А затем для моей фронтенд-библиотеки, я просто всегда использую React. React настолько прост. Это то, что все ваши ИИ-ассистенты по кодированию будут предпочитать использовать, и ваши фронтенд-билдеры, такие как Lovable, о котором мы поговорим через секунду. А затем Vite, чтобы идти вместе с этим для инструмента сборки. И поэтому React плюс Vite приводит к очень шустрым, быстро создаваемым, легким приложениям, фронтендам для таких вещей, как ваши агенты. Я много работал с Next.js в прошлом, и я все еще очень уважаю его, но особенно потому, что многое изменилось между недавними версиями, такими как Next.js 12, 13, 14, 15. Он постоянно ломает мой код. Так что я отошел от Next.js, честно говоря, хотя мне он очень нравится. Vue — еще один хороший вариант.
А затем для моей библиотеки компонентов и библиотеки стилей, много хороших вариантов, но ShadCN отлично подходит для меня. А затем Tailwind CSS для стилизации. И поэтому, да, особо нечего сказать по этому поводу. Это довольно стандартно в наши дни, и они работают фантастически. А затем я люблю использовать Claude Code для большей части моего ИИ-управляемого кодирования, но единственное, с чем он не справляется лучше всего для меня, это создание красивых пользовательских интерфейсов. И поэтому я люблю использовать агентный фронтенд-билдер, такой как Lovable, например, который имеет много системных подсказок для их агентного билдера за кулисами о том, как на самом деле создавать красивые пользовательские интерфейсы. Так что это то, что я мог бы просто сделать в Claude Code или моем стандартном ИИ-ассистенте, но я люблю использовать такие инструменты, как Lovable, Bolt New или наш собственный Bolt.diy DIY, если вы хотите полностью открытую версию для агентного фронтенд-билдера. Но да, Lovable просто имеет отличные интеграции, и их новый агентный режим отлично справляется со мной в последнее время. А затем последняя библиотека пользовательского интерфейса, которую я хочу осветить, это Streamlit. И поэтому это самые простые пользовательские интерфейсы, которые вы можете создать, потому что вы создаете их непосредственно на Python. И поэтому я люблю использовать это как инструмент для прототипирования таких вещей, как мой ИИ-агент. Так что у меня все еще есть приятный пользовательский интерфейс для чата с агентом, но мне еще не нужно создавать полноценное React-приложение. И поэтому, просто определяя мои пользовательские интерфейсы в коде Python, не создавая связи между бэкендом и фронтендом и тому подобное.
И поэтому мой общий процесс создания ИИ-агента, вы можете понять из моего технологического стека здесь, заключается в том, что я начну с прототипирования агента в N8N. Я переведу его в код, но все еще буду иметь простой фронтенд со Streamlit. А затем, когда я буду готов, я создам полноценное React-приложение с помощью чего-то вроде Lovable. И тогда я действительно начну создавать свой MVP.
А затем для мониторинга приложений и аналитики я люблю использовать Sentry. PostHog также очень популярен. Я использовал это и Google Analytics раньше. Но да, Sentry просто имеет отличную аналитику в реальном времени для всего, что вам нужно. И они работают над нативными функциями ИИ, поэтому я начинаю склоняться к нему больше, чем к другим инструментам, и просто ко всем их интеграциям. А затем для платежей я всегда использовал Stripe. И поэтому, я думаю, это похоже на корпоративный Auth0 с Auth0, где я знаю о других вариантах, таких как Lemon Squeezy и Paddle. Но да, Stripe просто имеет лучший опыт разработчика, насколько я знаю, и фантастическую документацию.
Далее у нас развертывание и инфраструктура, все для вывода кода в продакшн. Так что платформы развертывания, такие как CI/CD, тестирование и проверка кода ИИ. И поэтому, во-первых, платформы развертывания. И поэтому Render — самая простая, на которую я часто полагаюсь, из-за ее простоты. Есть много других вариантов PaaS, таких как Fly.io или Netlify. То, что мне больше всего нравится в Render, и это довольно специфично, иначе они довольно похожи, но вы можете определить свою инфраструктуру как код в YAML для Render, чтобы сделать ваши развертывания автоматизированными. Его просто так легко использовать. Также развертывания на основе Git, так что вы нажимаете в репозиторий в определенную ветку, и он автоматически обновит, например, ваш фронтенд, он бесплатный для хостинга фронтендов и масштабируется практически бесконечно с их CDN, фоновыми рабочими процессами и заданиями cron. Единственное, что я скажу, это то, что если у меня есть требование перейти на более корпоративный уровень для определенного клиента, например, из-за SLA или соответствия требованиям, и я хочу использовать, знаете ли, базовые вещи, такие как AWS или Google Cloud, я люблю использовать Google Cloud, GCP в частности, особенно с их бессерверными функциями. Это действительно, действительно приятно, у вас нет истинно бессерверных функций, когда вы используете PaaS, такой как Render. А затем, когда я запускаю рабочие нагрузки, требующие большого количества GPU, такие как запуск вещей с локальным ИИ, которые я хочу развернуть в облаке, я люблю использовать RunPod. Есть альтернативы, такие как TensorDock, если вам нужно что-то действительно, действительно дешевое, но не такое надежное. Lambda Labs также. Но да, RunPod, что касается надежного хостинга GPU, это самое дешевое, насколько я знаю, а также спотовые экземпляры для снижения затрат. И поэтому, да, если вы готовы пожертвовать некоторой надежностью ради стоимости, вы получите и это. И это просто так, как будто вы получаете свои GPU мгновенно. Нет очереди. Они всегда будут доступны для вас, по крайней мере, по моему опыту. Фантастическая платформа.
А затем последнее для виртуальных машин в частности. Так что, например, Render управляет инфраструктурой для вас. Если вы хотите владеть машиной и управлять ею, DigitalOcean — это то, что я использую. Например, для хостинга пакета локального ИИ в облаке, я делаю это на DigitalOcean. Я знаю, что многие другие любят использовать Hostinger с их предложением KVM или Hetzner. Hetzner также очень доступен. Так что да, DigitalOcean немного дороже этих двух, но очень надежный и имеет предсказуемое ценообразование. Мне также нравятся интеграции, которые они начинают добавлять в ИИ, например, у них есть App Platform для управляемых баз данных и хостинга локальных LLM. У них есть вещи для RAG, встроенные в платформу. Так что очень богатый функциями.
А затем, что касается контейнеризации, которая является способом развертывания всех моих приложений, за исключением некоторых фронтендов, я использую Docker. Так что это действительно просто отраслевой стандарт для развертывания приложений, создания изолированных сред для запуска вещей, чтобы решить проблему "работает на моей машине", верно? Например, иногда вы размещаете приложение на своей машине или на каком-то VM в облаке, и у вас есть зависимости, на которые вы полагаетесь, и поэтому, когда вы переходите на другую машину или к другому облачному провайдеру, это ломается. Но если у вас все в Docker, то гарантировано, что если оно работает в одном месте, пока контейнер запущен, оно будет работать в другом месте. И я знаю, что многим нравится использовать Podman из-за некоторых лицензионных соглашений с Docker, которые не совсем идеальны. Так что да, Podman — хорошая альтернатива. Я много использовал это раньше. На самом деле, моя старая компания, в которой я работал до того, как занимался всем, связанным с YouTube и Dynamis, мы перешли с Docker на Podman из-за стоимости лицензирования. Это было как сотни тысяч долларов для компании. Но затем мы в итоге вернулись с Podman на Docker, и это было на самом деле после того, как я ушел из компании, так что я просто услышал от своей команды после. Так что я знаю, что Podman не такой надежный, как Docker, но это все еще хорошая альтернатива.
А затем, спускаясь вниз, для CI/CD я всегда использую GitHub Actions. Это так просто, интегрировано прямо в мои репозитории, которые у меня также всегда есть на GitHub. Это бесплатно для публичных репозиториев, но очень щедрое ценообразование для частных репозиториев. И огромный рынок действий. И, кстати, это бесплатно в основном для частных репозиториев. Я думаю, это только когда вы добавляете членов команды. Я не знаю точных цен, но это очень, очень щедро. И да, просто очень легко настроить. И ИИ-ассистенты по кодированию, кстати, очень хороши в создании YAML для ваших рабочих процессов GitHub Actions. Они могут помочь вам автоматизировать такие вещи, как тестирование в вашем репозитории GitHub.
Так что для тестирования на Python я использую Pytest. Для TypeScript я использую Jest. Как очень, очень стандартно. Оба очень просты в использовании и помогают с такими вещами, как моки и фикстуры, которые очень важны для обеспечения надежности ваших тестов. И просто делать это правильно. А затем последнее, но не менее важное в нашем разделе по развертыванию и инфраструктуре — это проверка кода ИИ. И я люблю использовать CodeRabbit. И поэтому, например, в рамках Archon, моего инструмента с открытым исходным кодом, который я показывал ранее для управления знаниями и задачами, каждый запрос на вытягивание, поступающий в Archon, автоматически проверяется CodeRabbit. И, черт возьми, он тщательный. Честно говоря, иногда он слишком тщательный, но есть способы настроить его в панели управления CodeRabbit. И самая большая причина, по которой мне нравится его использовать, заключается в том, что он полностью бесплатен для репозиториев с открытым исходным кодом, таких как Archon. Так что, если это публичный репозиторий, вы можете получить бесконечные проверки кода ИИ, которые очень подробны, совершенно бесплатно. И он также включает обнаружение уязвимостей безопасности.
А затем очень быстро, просто для некоторых из открытых исходных кодов, которые не вписались в другой раздел, я люблю использовать Open WebUI как платформу для чата с локальными LLM. Так что это похоже на ChatGPT, но работает полностью локально. Вы можете добавлять свои собственные пользовательские агенты через функции и конвейеры. Он просто очень богат функциями. У них есть такие вещи, как RAG, встроенные прямо в него. AnythingLLM — еще один хороший вариант. А затем для полностью локального веб-поиска я люблю использовать CRXNG. Кстати, все это у меня интегрировано в пакет локального ИИ, включая Ollama для обслуживания локальных LLM. Практически любую большую языковую модель с открытым исходным кодом, которую вы хотите запускать локально, вы можете сделать это с помощью Ollama. А затем VLM и LiteLLM также хороши. Я просто считаю Ollama самым простым в использовании, и он автоматически использует несколько GPU, так что вам не нужно настраивать сложную конфигурацию и тому подобное. Но также есть некоторые вещи, которые вы можете настроить для квантования, например, у них всегда есть все различные квантованные версии моделей. Вы можете настроить предел контекста для ваших LLM, чтобы защитить вашу память. Очень, очень приятно.
А затем для платформы HTTPS и TLS, чтобы я мог иметь свои домены для вещей, которые я запускаю сам, я люблю использовать Caddy. А затем Traefik и Nginx — отличные варианты. Я считаю Caddy самым простым, поэтому я включил его сюда. Но да, они тоже отличные. И я знаю некоторых людей в сообществе Dynamis, которые очень любят использовать Traefik. Так что да, это не имеет большого значения. Я просто считаю Caddy самым простым. Так что вот. Это мой полный технологический стек для агентной инженерии. И помните, просто воспринимайте это как рекомендации. Самое главное — найти то, что работает для вас, и просто придерживаться этого. Будьте готовы быть адаптивными. Потому что помните, самое главное — быть решателем проблем, а не тем, кто становится экспертом в конкретных инструментах. И поэтому просто используйте эти рекомендации как способ заполнить пробелы в вашем технологическом стеке, если вы не уверены, что использовать.
Последнее, что я хочу сказать, это то, что, естественно, как создатель контента, я в конечном итоге работаю с некоторыми из этих команд для инструментов, которые я выбрал для себя. Browserbase и Arcade — два из них. И поэтому я связался с ними для этого видео, особенно потому, что есть много разных способов использовать их инструменты. Я просто хотел узнать, как они хотели, чтобы я продемонстрировал их инструменты. И поэтому спасибо им за сотрудничество со мной в этом. И поэтому, если вам понравилось это видео, вы с нетерпением ждете большего о кодировании ИИ и создании ИИ-агентов, я был бы очень признателен за лайк и подписку. И с этим я увижу вас в следующем видео.