Пишу, помогаю, обучаю, внедряю, консультирую по AI Coding
О канале https://t.me/the_ai_architect/2
Связь: @yatimur | Визитка: timurkhakhalev.t.me
Тимур Хахалев про AI Coding
Привет! Сделал перевод замечательного (очередного) поста от Anthropic об агентах. https://vas3k.club/post/26791/ Сначала хотел опубликовать на Хабре, написал перевод еще вечером в субботу, но модерацию так и не прошел, а сегодня увидел другой пост на основе…
В комментах в Вастрик.Клубе резонно указали, что не хватает примеров. Хорошее замечание, поэтому добавим больше примеров.

Давайте разберём описанные подходы на кейсе – ai fitness app.

Идея приложения – AI может анализировать видео записи тренировок пользователя, давать советы по технике. Может составить план тренировок, план питания, вести пользователя по этим планам.

Начнём по порядку:
1. Цепочка промптов
Тут всё просто – например, для после регистрации пользователя в системе, просим его рассказать о себе и о своих целях. Далее, мы можем: проанализировать инпут пользователя и понять, достаточно ли нам информации для того чтобы составлять курс тренировки или нужно запросить у пользователя еще информацию.
Если информации достаточно, то передаём её в воркфлоу, который составляет программу тренировок. Можем передать эту информацию в воркфлоу, который составляет программу питания. А можем сделать необольшой ричёрч и посмотреть, например, рекомендации ВОЗ по физической нагрузке для конкретного нашего пользователя.

2. Воркфлоу: Роутинг
Здесь можно привести такой пример – пользователь голосом отправляет сообщение, например, о том, что у него есть вопрос по питанию. Под капотом, после того как мы дешифруем голос в текст, мы отправляем этот текст в "роутер", которому в системный промпт добавляем все возможные действия нашего приложения (например, ответить на вопросы по питанию, тренировкам; составить программу тренировок; заменить упражнение и т. д.). Ну и роутер уже может выбрать действие соответствующее запросу юзера и передать флоу далее по пайплайну.

3. Воркфлоу: Параллелизация

Декомпозиция: разделяем запросы на генерацию силовых упражнений, кардио упражнений, а полученный результат анализируем и готовим отчёт по всем упражнениям.

Консенсус: просим LLM в несколько запросов оценить технику выполнения, анализируем полученные результаты, находим общие паттерны и используем их в качестве совета.

4. Воркфлоу: Оркестратор
Насколько я понимаю, такой подход применяется в Pro версии Perplexity – когда система сама сначала разбивает задачу на сабтаски, потом генерит промпт для поиска информации в интернете и оценивает результат.

Я пока что не видел хороших примеров использования такого подхода (если вы знаете такие примеры, пишите в комментах), кроме как в системах подобных Perplexity, так как никогда не хочется давать электронному дурачку большой выбор – я считаю, что его стоит держать в узде и ограничивать набор разрешённых действий.

4. Воркфлоу: Оценщик

Одним запросом LLM выполняет задачу, например, по составлению плана тренировки.
Другим запросом LLM смотрит на этот план тренировки и валидирует его по указанным правилам, и отправляет первую LLM'ку переделывать свою работу

5. Агент

В моём понимании, агент – это более комплекс различных воркфлоу, интеграций со сторонними сервисами и в целом автономная система, которая в состоянии обработать (не обязательно решить) любой запрос пользователя и дать ответ.
Привет!

Сделал перевод замечательного (очередного) поста от Anthropic об агентах.

https://vas3k.club/post/26791/

Во вчерашнем посту я упомянул, что у openai есть ограничения на длину ответа при использовании structured output. В комментах меня поправили, что речь скорее о размере всей схемы structured output при её определении, хоть и в документации это плохо объясняется.

Я кратко расскажу, почему я пришёл к такому выводу.

В моём кейсе, промпт подразумевает, что LLM сделает анализ входного текста и выдаст мне результат анализа + сразу же вытащит некоторые параметры этого репорта в виде JSON, чтобы я мог из этих параметров сгенерить красивые диаграммки (для кейса это нужно). При анализе данных я ставлю температуру повыше, 0.8-1, т.к мы помним, что низкая температура может отуплять модель.

Сегодня я обнаружил закономерность - при использовании structured output, если вы ожидаете довольно длинный текст в одном из полей, необходимо как можно больше снижать температуру 🙂

Я провел краткий эксперимент. С одним и тем же промптом + инпутом я менял температуру и вот что получилось:
temp 1.0 - 175 tokens
temp 0.5 - 257 tokens
temp 0.2 - 588 tokens

Это количество токенов в одном поле, в котором я ожидаю полный анализ. Если что, я использую модель gpt-4o-2024-11-20.

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

Делаю вывод, что при повышении температуры, модель кумарит и ей становится лень работать 🙂🙂🙂
Только что до меня дошло, что у меня не было комментов на канале

Включил вроде 🐱
Технические заметки по одному текущему проекту

В последнее время много работаю с различными LLM и хочу поделиться некоторыми инсайтами.

Основную работу делаем через openai gpt-4o. Модель отлично справляется с извлечением JSON из текста, анализом информации, переводами и генерацией markdown таблиц. Кстати, забавный момент – пытались использовать gpt 4o-mini для оптимизации расходов, но столкнулись с тем, что она иногда игнорирует часть инструкций в промпте, особенно когда нужно и перевести текст с английского на русский, и сконвертировать его в markdown.

◾️ Structured output – база. Очень удобно вытаскивать нужную информацию из респонсов в виде JSON, а потом использовать в приложении.

◾️ Интеграция с zod (я пишу на node js) позволяет использовать схему для ответа модели еще и для типов в typescript.

◾️ Узнал, что у openai есть ограничения на длину ответа при использовании structured output - 15k символов (не токенов)

◾️ Кэширование на redis – мастхэв при разработке. В качестве ключей использую хэш system message + хэш user message, очень здорово экономятся токены.

Самый интересный технический челлендж возник при интеграции с Perplexity для получения актуальных данных. Оказалось, что их модели не очень дружит с русским языком – в ответах появляются китайские иероглифы 🤯 Потом обнаружил, что их модели основаны на llama 3.1, а эта модель не поддерживает русский язык. Пришлось выкручиваться: теперь формируем запросы на английском, а потом переводим через gpt-4o. Хотя качество перевода пока не идеальное, подумываем о подключении специализированного сервиса переводов.

Забавно, но даже если в англоязычном промпте для Perplexity попросить ответить на русском – модель упорно игнорирует эту часть запроса 😐
А вот и анонс от СЕО компании с цифрами бенчмарков!

У кого-то из чата уже заработали аудио-ввод и вывод (генерация речи), у меня пока нет(

https://blog.google/technology/google-deepmind/google-gemini-ai-update-december-2024/

Ссылка попробовать в AI Studio БЕСПЛАТНО: тык
Reddit, крупнейшая площадка с пользовательским контентом, откуда Perplexity и другие AI берут самые полезные ответы, добавила поиск с ИИ - Reddit Answers.

По сути это диалоговый интерфейс поверх существующих обсуждений. Задаешь вопрос и получаешь релевантные куски с разных тредов, с прямыми ссылками на источники. Результаты можно читать прямо в поиске или переходить в оригинальные дискуссии.

Пока запустили только в США на английском. Обещают добавить другие страны и языки позже, можно подписаться на уведомления о запуске в своем регионе.

В отличие от генеративных чатботов, система не придумывает ответы, а собирает их из реальных обсуждений. Это логичный апгрейд поиска по Reddit - платформа давно пыталась сделать свой контент более доступным для поиска.
Поигрался с новым протоколом mcp, запилил парсер страничек в интернете на основе jina.ai (бесплатный сервис, можно получать страницу в виде markdown) на typescript/nodejs

В целом прикольно, хоть и сыровато пока что. На маке пока что не поддерживается работа с nvm (пакетный менеджер), необходимо вручную указывать путь до нужной версии ноды
Anthropic представили Model Context Protocol

Протокол MCP предназначен для того чтобы дать возможность LLM использовать 3rd-party приложения.

На сегодняшний день MCP поддерживают: Claude Desktop, Zed (IDE для маков), Cody (автокомплит для IDE).
Протокол open-source, так что любой разработчик может интегрировать его в свои приложения.

Здесь описан весь стандарт.

Протокол представляет собой типичную client-server архитектуру, где, на данный момент, clients – Claude Desktop, Zed, etc, server – 3rd-party apps. Участники протокола могут общаться между собой с помощью различных протоколов, можно даже создать свой, здесь подробнее.

На данный момент клиенты могут подключаться только к локальным серверам, позже обещают дать доступ для удалённых серверов.

В прикреплённом видео показывается пример того как пользователь просит Claude создать простую html страничку, опубликовать её в Github (с помощью созданного MCP сервера), создать Issue.

Таким образом, пользователь может в своём любимом UI (Claude, IDE, etc) просить LLM выполнить некоторые действия со сторонним приложением. Получился такой function calling на стероидах.

Ещё один шаг к распространению тренда на AI agents, пик которого ожидается на 2025 год.
Обнаружил у себя первых подпищеков, всем спасибо за подписку 💜

Пока думаю над следующим постом, ищу интересных авторов на сабстаке и в твитторе, наткнулся на сабстак Jeremy Caplan, который обозревает новые AI тулы разного вида. Вот, например
https://wondertools.substack.com/p/aidata?utm_source=profile&utm_medium=reader2
https://wondertools.substack.com/p/heres-my-ai-toolkit?utm_source=profile&utm_medium=reader2

Я для себя ничего полезного не нашёл, но может кому-то будет полезно
Зарезервированное сообщение 5
Зарезервированное сообщение 4
Зарезервированное сообщение 3
Зарезервированное сообщение 2
👋 Привет! Давайте знакомиться и кодить с AI.

Меня зовут Тимур Хахалев, я AI Solutions Architect, и этот канал посвящен AI Coding.

Здесь я делюсь своим опытом, полезными инструментами, лайфхаками и мыслями.

👉 Мои лекции

Claude Code Deep Dive – Архитектура и Топовый Workflow. Как устроен Claude Code под капотом: агенты, контекст, оркестрация и планирование

Plan & Act – Разбор Работающего AI Coding Workflow. Как я автоматизирую разработку с помощью AI-агентов: планирование, оркестрация и исполнение

🧠 Навигация по каналу

Мой актуальный воркфлоу: Как я пишу код с AI: пост

Мои прошлые воркфлоу: Как я пишу код с AI
Часть 1 , часть 2, часть 3

Context Engineering: Главный навык в AI кодинге
Почему "Garbage In, Garbage Out" — это главный принцип работы с LLM.
Тёмная сторона вайб-кодинга: реальный кейс

Как изучать новые технологии с помощью ИИ

Как сэкономить деньги на AI Coding Agents

Про безопасность AI Coding, пост 1, пост 2

Выключайте MCP-сервера

AI Coding Tools Landscape: от простого автокомплита до автономных агентов

Теги на канале:
- #ai_coding@the_ai_architect – все посты про AI Coding
- #performance@the_ai_architect – все посты про мои публичные выступления

👨‍💼 Бизнес и консультации

Я провожу платные консультации по AI Coding. Если вы хотите начать использовать AI Coding в своей работе, но не знаете как – обратитесь ко мне.
Если вы уже используете AI Coding, но сталкиваетесь с проблемами – обратитесь ко мне.

Заполнить бриф перед консультацией можно здесь: ai.khakhalev.com
Связь со мной: @yatimur
Моя визитка: timurkhakhalev.t.me
Back to Top