Vibe Takes

Claude
следит

Он читает каналы и собирает тейки про AI-инструменты. 61 автор — дизайнеры, разработчики, фаундеры.

Саммари на основе постов до 23 марта 2026 — все со ссылками на оригиналы.

LangChain

3 автора упоминают этот инструмент

melikhov.devmelikhov.dev2 ноября 2025 г.5.9K просмотров

Попробовал переписать с OpenAI API SDK на LangChain (говорят это база) и... что-то не понял. Абстракции они же должны вроде как сложность скрывать, но сложности в OpenAI Chat Completions API никакой (зря что ли ребята в Open AI потратили всего одни выходные чтобы его создать). А вот приносимой боли в дебаге немало — добраться до того, что там на самом деле происходит будет уже непросто.

Самое смешное, что claude code на вопрос «давай накинем дебага и узнаем, как там залетают в апи тулы» предложил мне просто переписать на OpenAI API SDK, потому что тот объём шума, который вываливает env LANGCHAIN_VERBOSE = "true"; он переварить не способен.

Да, есть LangSmith, но это уже какой-то оверкилл подрубать внешний платный SaaS-сервис для дебага обёртки над простеньким api.

В то же время вызов OpenAI API SDK элементарно превращается в обычный curl запрос, который ты можешь приложить к тикету в саппорт, если сам не разобрался.

Антон Непша.jsАнтон Непша.js21 ноября 2025 г.4.2K просмотров

Инструменты дебага LLM-приложений

Вот так в одном слайде могут уместиться результаты полутора лет экспериментов (см. дату моего первого поста про LLM), сравнения разных инструментов и попыток найти наиболее удобный и подходящий под нужды нашего проекта Developer Experience.

Sentry разворачивал через боль просто потому что уж очень хотелось посмотреть, что есть в их новой AI Agents Insights.

LangChain-стек первый год вообще не вызывал ничего, кроме отторжения и непонимания смысла в его лишних абстракциях. Из этого даже отдельный доклад родился. Разобрался, стало легче. Понравилась их студия, которая позволяет, собственно, «дебажить».

Уже позже пришел к Langfuse и Phoenix, и остановился на Langfuse из-за наиболее подходящего под мои нужды набора инструментов и OpenSource лицензии.

В общем, выступил сегодня на HolyJS с обзором возможностей Sentry, LangGraph Studio, Langfuse, Arize Phoenix, Mastra и Lunary в плане дебага, observability и удобства разработки. Самый главный слайд — перед вами)

Вся презентация выложена на сайте конференции. Как только доклад выложат в открытый доступ, тоже сразу поделюсь тут:)

Антон Непша.jsАнтон Непша.js8 мая 2025 г.2.7K просмотров

Используем модели от OpenAI и DeepSeek бесплатно

Способ подсказал мой коллега Андрей Власов, который лидирует и развивает технохаб Сбера в Казани.

На github есть раздел GitHub Models с каталогом разных LLM, включая OpenAI GPT-4.1, DeepSeek-V3-0324 и т.д., всего около 60 разных моделей. Каждую из них можно протестировать в плейграунде, или настроить их для работы в каком-нибудь вашем приложении.

Весь процесс настройки можно посмотреть в этом видео, но всё, что по сути требуется, это сгенерировать свой токен на GitHub и вызывать модели из своего приложения по отдельному гитхабовскому хосту, который на самом деле Microsoft Azure.

И всё. Абсолютно бесплатный девелоперский доступ к моделям. Там есть лимиты, но для небольших приложений и прототипов их должно хватить.

Использование с LangChain LangChain представляет собой абстракцию над разными API разных LLM. Он удобен, если вам нужно быстро переключаться между разными моделями, не переписывая при этом половину приложения.

Правда, из коробки LangChain вызывает отдельные эндпоинты и Auth-токены для каждой модели, а у нас моделей много, а эндпоинт и токен — общие.

К счастью, в LangChain можно перебить дефолтный baseURL при объявлении экземпляра модели. Что касается auth-токена, то у OpenAI он передаётся напрямую в конфиг, а DeepSeek можно хакнуть, переопределив переменную DEEPSEEK_API_KEY:

import { ChatOpenAI } from "@langchain/openai" import { ChatDeepSeek } from "@langchain/deepseek";

const openAiModel = new ChatOpenAI({ model: "openai/gpt-4.1", configuration: { baseURL: "https://models.github.ai/inference", apiKey: process.env.GITHUB_TOKEN } })

process.env.DEEPSEEK_API_KEY = process.env.GITHUB_TOKEN

const deepSeekModel = new ChatDeepSeek({ model: "deepseek/DeepSeek-V3-0324", configuration: { baseURL: "https://models.github.ai/inference" } })

Завтра поделюсь ещё мыслями по поводу использования этого способа. А если у вас есть свои идеи или лайфхаки по использованию LLM — делитесь в комментах или в личку)

Антон Непша.jsАнтон Непша.js4 июля 2025 г.2.5K просмотров

Материалы с доклада про LangChain

Вчера рассказал этот доклад на @moscowjs. Если вы не были на митапе — есть ссылка на запись. Если были — ссылка на форму обратной связи по организации митапа))

Делюсь презентацией и ответами на первую половину вопросов к докладу (вторая половина будет завтра).

У GigaChat стоимость токенов в 7 раз выше, чем у DeepSeek/Gemini/ChatGPT. Почему GigaChat стоит дороже иностранных ИИ в 7 раз? Сами какую ИИ используете на постоянку? В основном использую как раз GigaChat из-за простоты оплаты в РФ. Там есть Free Tier токены, а платного пакета мне хватает почти на год использования. Последний раз пополнял баланс в декабре прошлого года, израсходовано чуть больше половины.

Как на спам сообщениях не разориться на токенах? Я сейчас доделываю whitelist, чтобы проверка на спам не выполнялась для комментариев от доверенных авторов (которых у меня в канале почти 100%). Но если будет резкий наплыв с тысячами комментов в час — разорюсь, конечно. Сначала израсходуются токены GigaChat на оставшиеся 800 рублей, потом израсходуются мои $8.5 из OpenRouter, и дальше антиспам будет падать в ошибки, придётся закрывать комментарии и вручную чистить спам. Но скорее всего я закрою комментарии раньше, чем израсходуются все токены — бот мне репортит в личку каждый раз, когда удаляет чьи-то комментарии.

Есть ли в LangChain.js встроенные механизмы для уменьшения затрат на API-запросы (например, кэширование, чанкинг)? Про caching на стороне LangChain есть только вот эта дока, которая наполовину депрекейтед (используется старый класс Openai). Но сам способ в ней описан рабочий — если передать cache: true при объявлении экземпляра класса работы с LLM, то при одинаковых вводных параметрах LLM второй раз не вызовется. Ну и плюс на стороне самих моделей есть механизмы кэширования, правда они везде свои. У GigaChat, например, это вообще заголовок, который через LangChain.js туда не передать. Это как раз один из кейсов, когда приходится вызывать LLM напрямую, минуя LangChain.

В LangChain для каждой нейросети нужно вставлять токен? А если у какой-то нейросети токен закончится — что будет? Будет то же самое, что и без LangChain. LangChain отправит запрос, нейросеть ответит какой-нибудь 403 ошибкой. Но на эти случаи в LangChain можно делать fallback на другие модели.

У вас было много ИИ, все платные, видел DeepSeek, OpenAI, GigaChat, нет ли проблем с оплатой, поддержанием всего этого? А главное зачем? Если они все примерно одинаковые и можно использовать одну ИИ с тем же результатом. А для многих ИИ ещё и прокси нужны, нет ли сложности поддерживать весь этот зоопарк ИИ? С поддержкой проблем нет, LLM для LangChain это всего-лишь строчка с ключом в .env файле и экземпляр класса LLM, который лежит спокойно себе в каком-нибудь файле models.ts в проекте. В этом LangChain как раз и удобен — переключаться между разными LLM с ним очень просто. А вот с оплатой OpenAI и DeepSeek проблемы, конечно, есть. Я писал пост о том, как вызывать OpenAI бесплатно через github models, но там лимит на 50 запросов в сутки, и меня там забанили. Поэтому GigaChat, тем более там 1 млн токенов GigaChat Lite выдаётся бесплатно)

Какой конкретный бизнес профит от этого использования? Если не брать в учет арбузики Как это не брать в учёт арбузики? А вообще, если вопрос о бизнес-профите канала, то его нет, это хобби. А если речь о том, есть ли бизнес-профит в LangChain — тут скажу, что трейсинг запросов через инструменты вроде LangSmith порядочно ускоряет разработку. Порог входа в сам LangChain не самый простой (по крайней мере, лично для меня), но в последствии разрабатывать тоже получается быстрее за счёт того, что часть костылей написано за вас сообществом LangChain.

Какие прокси используете для доступа к ИИ Gemini/OpenAI которые закрыты из РФ с их стороны? Я использую OpenRouter, но его тоже приходится пополнять только с помощью друзей-держателей карт зарубежных банков. В комментариях к этому посту советовали ещё и другие сервисы, но я даже не успел их все попробовать.

Антон Непша.jsАнтон Непша.js9 февраля 2026 г.1.1K просмотров

Инструменты дебага LLM-приложений на JS

Опубликовали запись моего доклада с HolyJS 2025 Autumn, в котором я сравнивал observability- и дебаг-инструменты для LLM-приложений.

Доклад теперь можно посмотреть на YouTube и в VK Видео, а презентацию я уже выгладывал в одном из предыдущих постов.

атлант расправил плечиатлант расправил плечи23 августа 2025 г.606 просмотров

НЕ УСЛОЖНЯЙ! Когда агенты не нужны? 🤯

Недавно работал над одним проектом (о котором расскажу чуть позже) и в целом проект был достаточно сложный, но когда я его завершил - оглядываюсь назад и вижу ошибки, которые сам же совершил. И самая главная - я усложнял там, где это не нужно.

Как все начиналось В этом проекте была система онбординга пользователей, и я решил, что её нужно сделать агентской. Начиналось все с простенького агента на Responses API с Tool Use, а закончилось Agents SDK с мульти-агентами. Как это работает в итоге? Просто LLM workflow (промпт + SO answer с функциями ask/finalize).

По началу у меня действительно очень хорошо работал базовый агент с тулами, но в какой-то момент он начал: - Где-то выкидывать function call, где это не нужно - Где-то выкидывать function call вместе с последним ответом (который должен был доставиться пользователю) - Где-то завершать раньше, чем нужно

Спираль усложнения Что же решил я? Что надо усложнять 🤦‍♂️

Я начал разбираться в том, как работает Agents SDK (до этого не сталкивался ни разу, а LangChain/LangFuse не люблю из-за их сложности и в целом они мне как-то не по вайбу). Начал с одного агента, потом разделил на двух - один отвечал за общение с пользователем, другой за финализацию и возвращение информации о пользователе, потом понял, что надо как-то роутить между ними и сделал ещё одного агента-роутера.

В моменте все стало выглядеть настолько сложно, что я сам запутался в том, что построил.

Самое болезненное САМОЕ интересное - что мне было тяжело признаться самому себе, что я усложняю, и было просто обидно остановиться и признать промежуточное поражение. Скорее было обидно то, что потратил на это 12+ часов - и не хотелось просто взять и снести под корень.

В итоге в какой-то момент я все-таки признал это - и решил попробовать свести все к одному промпту с CoT и SO (как завещал Ринат @llm_under_hood).

Простое решение В итоге это работает так: LLM собирает инфу с пользователем через ask с вопросом, а когда считает, что достаточно информации собрано - отвечает SO finalize. По сути такой function calling - только упрощённый.

Результат - работает прекрасно, система уже в продакшене ✅

Выводы Вывод очень простой - не усложняйте там, где это не нужно. Агенты - звучит круто, мне очень нравится их делать, но зачем их делать там, где они объективно не нужны?

Большинство задач по интеграции ИИ в бизнес можно решить куда более простыми методами (не говорю, что ван-шот промпт, но и не мульти-агентная система с роутером).

А ещё - не бойтесь признавать свои же ошибки и поражения. Это нас закаляет 💪 А у вас были такие ситуации? Делитесь в комментариях. Интересно будет обсудить)

Часто упоминают вместе с LangChain