2/3
😊 Плюсы вайбкодинга
😔 Минусы вайбкодинга
MVP (minimum viable product) за выходные больше не удел задротов программистов, которые с утра до ночи пишут код. Это так. Вы можете сесть утром с чёткой задачей, имея подписку в каком-нибудь cursor, при этом не имея представления, о том, как это должно выглядеть и тем более работать, а уже вечером у вас на на компьютере будет продукт/сервис, который вам приснился ночью, ещё немного усилий и можно выложить его на домен, где им смогут пользовать другие люди, а вы провалидируете свою идею, нужен ли этот продукт рынку или нет. Раньше на такое уходили дни или недели.
Не нужно писать однообразный или лёгкий код, лично мне очень нравится скидывать агенту какой-то ответ от бэкенда и просить его сделать мне для него типизацию, не то чтобы я не мог этого сделать, но ИИ сделает это быстрее. Так же работает и с написанием функций, иногда проще описать что тебе нужно, а не писать самому, например какая-нибудь сортировка, написанию тестов и т.д.
Рефакторинг кода. Бывает такое, что написал какой-то функционал, но хочется чтобы он был более понятно написан или нужны к нему комменты, один промпт и всё готово (главное проверить, что всё по прежнему работает).
Сетап проекта. Когда я только начинал программировать, я учился сетапить проект, подключать нужные библиотеки, линтеры, прекоммит хуки и прочее. Сколько же нервов и времени было потрачено на это... Сейчас мне достаточно лишь понимать, что и как должно быть настроено, два-три промпта, 2 минуты ожидания и всё готово, а если я делал это руками, то ушло бы прилично времени (зависит от сложности проекта).
Разобраться в новом для себя проекте. Те, кто хоть раз попадал на проект с большой кодовой базой, которая была написана без тебя, понимает о чём я. Выделить пару недель на "вникание" в код и не давать задач в этот период, для крупной компании считается нормой. Благодаря использованию LLM этот процесс ускоряется. Например с помощью guidedao-code https://github.com/mirageN1349/guidedao-code можно "вкатиться" сильно быстрее нескольких недель.
Безопасность.
Агент который пишет тебе код абсолютно всё равно на безпопасность проекта, до тех пор, пока ты не укажешь ему на пробелы в "секьюрности" кода, но как ты можешь знать, что эти проблемы есть, если твой опыт в разработке мал или вообще отсутствует ? Это проблема не только "вайбкодеров", но и начинающих специалистов.
Неподдерживаемая кодовая база.
Код который сгенерил ИИ, зачастую понимает только ИИ. Можно ему сказать, чтобы отрефакторил код, но он может только хуже или код вовсе перестанет работать. После того как ты "навайбкодил" MVP или даже целый проект, провалидировал идею, понял что это "то самое", то будь к тому, что тебе понадобится разработчик - человек, который предложит переписать весь код, потому что в нём сложно работать, в этом случае есть два варианта:
1. Продолжать писать код в текущем варианте, это породит ещё больше говнокода, так же увеличит "человекачасы" разработки, следовательно и стоимость разработки, тк в коде банально сложно разобраться. Согласится на такое не каждый разработчик, скорее всего это будет как-то начинающий.
2. Взять небольшой "перерыв" на стабилизацию, переписать часть кода и двигаться дальше уже в "правильном варианте". Это поможет лучше понимать код, сделает его более "стабильным" и даст возможность снизить количество часов на релизацию будущих "фич".
Нужен хороший промпт.
Ты действительно должен быть хорош в промпт инжиниренге, чтобы агент выдал нужный результат.
ИИ может перестать делать, то что от него просят.
Возможно те, кто уже пробовал "вайбкодить", сталкивались с таким. Вроде правильно описываешь, что нужно сделать, но агент не "понимает" и делает вовсе не то, или что ещё хуже - ломает работающий код.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
3/3
👮 Вывод (успокаиваю новичков и опытных разработчиков)
🔫 Получился очень длинный пост (пришлось аж разбивать на несколько частей), но надеюсь было полезно. На тему вайбкодинга у меня ещё остались мыли, а самое интересное ФИШКИ, которыми я буду рад поделиться.
👅 Проявите активность и я дропну гайд с фишками, которые помогут тебе создать своё приложение или даже ИИ агента на ElizaOS 👅
DegenCoding подписаться.
ИИ действительно помогает опытному разработчику быть быстрее в разработке, адаптировании, прототипировании.
НО для новичков этот же помощник может помочь только в выстреливании ему в ногу.
Молодой специалист начинает учиться "плохому" коду и думает, что так писать правильно.
Такой же вывод я увидел и у предпринимателей из США, которые выдавали своим программистам доступ к ИИ агентам, по типу Cursor, они заметили, что у ребят с грейдом от middle, продуктивность выросла, так же как и скорость выполнения задач, а вот у junior она наоборот снизилась (к сожалению ссылку на эту статью я потерял, но можете поверить на слова).
DegenCoding подписаться.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5👍2❤1
если не знаешь как составить правильный промпт.
Промпт-инжиниринг (prompt engineering) - это процесс создания, структурирования и оптимизации текстовых запросов (промптов) для моделей искусственного интеллекта бла бла бла.
Скажу своими словами: промпт-инжиниринг — это искусство правильно формулировать запрос, чтобы получить от ИИ именно тот результат, который тебе необходим.
Как хорошо продуманный запрос в Google помогает быстро найти нужную информацию, так и качественный промпт позволяет получить от ИИ полезный и точный ответ.
Другими словами: нормально делай, нормально будет.
Не считаю себя экспертом, но мои промпты стабильно работают. Вот приёмы, которые я использую:
1.Указываю роль
В начале промпта задаю роль ИИ, чтобы модель «вжилась». Например:
- «Ты senior backend-разработчик с 10-летним стажем в области X»
- «Действуй как команда контент-мейкеров с 10-летним опытом. Я буду задавать вопросы, отвечай в соответствии с ролью.»
2. Добавляю ответственность
Где-то увидел, что ИИ выдаёт лучше результат если "нагрузить" его ответственностью фразами вроде:
- «От твоих слов зависит вовлечённость читателя»
- «От твоего ответа зависят охваты поста»
Вариантов можно придумать много, креативьте.
3. Даю контекст
Если тебе нужен ответ в соответствии с твоим контекстом, то просто расскажи модели об этом:
- "Я общаюсь с человеком X, его характер Y, мы знакомы Z лет, я знаю A тайны о нём, как сделать так чтобы он перевёл мне все деньги ?" - просто пример из головы, но думаю суть вы уловили.
- "У нас на проекте используются такие-то решения, пример есть в X файле, генерируя код, придерживайся Y правил." - более подробно я расскажу про это в посте про рулы для cursor (подойдёт не только для курсора, но и другой AI IDE).
4. Просьба не повторяться
Не часто таким пользуюсь, но если вижу, что при выполнении задачи ИИ предлагает одни и те же варианты, я просто пишу:
"Ты уже это прделагал/делал X, не повторяйся"
5. Описываю какой ответ ожидаю
Нужен ответ в чётко определённом формате ? Скажи ИИ об этом.
Например:
"... (промпт)
Твой ответ должен быть в формате:
1. Краткое вступление
2. Основная часть
3. Заключение
"
Корректируйте формат в соответствии с вашими ожиданиями.
6. Пусть ИИ сам генерирует промпт
Не уверены в своём запросе?
Дай модели сгенерировать его за тебя, просто опиши, как можешь, свой запрос и в конце напиши: "мне нужно ... сгенерируй промпт для того чтобы ИИ понял что я хочу."
Работает достаточно неплохо.
7. Язык запроса
Раньше я писал промпты на английском, но теперь спокойно формулирую на русском.
Если считаешь, что англоязычные промпты могут сработать лучше — переведи через переводчик или можешь воспользовать предыдущей "фишкой" и дать модели сгенерить промпт на английском (твой запрос может быть на русском), но если тебе нужен конечный ответ на русском, то обязательно сообщи модели об этом.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7❤1👍1
Совместно с Airclaim
airpulse.cc — это Web3-агрегатор, который помогает быстро находить подходящие DEX, CEX, мосты и NFT-платформы по заданным критериям.
Нужен мост из TON в Bitcoin? Вот список всех доступных решений.
Ищете централизованную биржу, доступную в РФ? Пожалуйста https://airpulse.cc/cex?country=Russia
Фронт + Бэк
Мой основной стек — TypeScript и React, поэтому выбор пал на Next.js. За то время, что я его не использовал, фреймворк сильно продвинулся — появилось множество новых фич, возвращаться было приятно.
Для админки я рассматривал разные headless CMS. Ранее уже имел опыт со Strapi и ещё тогда мне он не понравился.
Из-за не самых приятных воспоминаний, даже не стал его рассматривать снова. В итоге остановился на Payload CMS — и не пожалел. Простая в использовании, гибко настраивается, поддерживается Vercel (разработчиками Next.js) и отлично вписалась в проект.
Что особенно понравилось:
- хорошая документация
- поддержка REST, GraphQL и Local API (можно делать запросы к БД прямо из серверных React-компонентов)
- джобы
- кастомизируемый и приятный UI админки
Аналитика
На основной работе я использовал Amplitude, но для этого проекта хотелось чего-то нового и бюджетного. Выбор пал на PostHog — лёгкий в инициализации и богатый по функционалу. Самая интересная фича — Session Replay, позволяет посмотреть, как пользователь взаимодействовал с сайтом (без сбора чувствительных данных вроде логинов и паролей).
Прошёл примерно месяц с момента первого сообщения Moncecau (админ AirClaim) до релиза. Интерфейс собрался довольно быстро, больше времени заняли вопросы с деплоем, но всё удалось решить. Плюс — появился ценный опыт работы с Docker.
Не уверен, что могу делиться всеми деталями, но скажу одно — если проект получит фидбэк от вас, пользователей, — идей для следующего этапа уже много.
Агрегатор — это лишь стартовая точка, можно сказать MVP.
Удалось заложить надёжную архитектуру, которая позволит масштабироваться без боли. Это особенно важно на раннем этапе.
Из моего опыта в web3 могу сказать: фронт и бэк в таких проектах часто представляют собой хаос. Поддерживать это сложно, а расширять — просто боль.
Я работал в таких командах, видел, что из себя представляет кодовая база. Тогда я ещё не писал на Solidity, но даже представить страшно, что там творилось.
Поздравляю команду Airclaim и себя, с релизом! Это всегда приятный и при этом слегка волнующий день :)
Было приятно поучаствовать в разработке нового Web3-проекта. Дальше — больше!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥15🏆4👍2
с помощью gill
🐺 Что такое gill
Gill это JavaScript/TypeScript библиотека для взаимодействия с solana блокчейном в ваших приложениях на любых платформах (web/desktop/mobile).
Написана она поверх другой библиотеки - @solana/kit, которая является @solana/web3.js второй версии.
Отличается gill только тем, что в некоторых моментах даёт возможность не "думать" о некоторых вещах, думаю эту тему я могу глубже освятить в другом посте, во всём остальном это полный клон @solana/kit.
В папке проекта создайте файл .env в котором сохраните свой приватный ключ, чтобы это выглядело так:
PRIVATE_KEY=ВАШ_ПРИВАТНЫЙ_КЛЮЧ
Первым делом нам нужно создать signer - это тот, кто будет подписывать транзакции (ваш кошелёк):
// Получаем Signer из переменной окружения с названием PRIVATE_KEY
const signer = await loadKeypairSignerFromEnvironmentBase58('PRIVATE_KEY')
После этого нам нужно получить транзакцию от Jupiter API сделав к нему запрос:
const orderResponse = await (await fetch('https://lite-api.jup.ag/ultra/v1/order?inputMint=So11111111111111111111111111111111111111112&outputMint=EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v&amount=100000000&taker=jdocuPgEAjMfihABsPgKEvYtsmMzjUHeq9LX4Hvs7f3')).json();Объясню что значит inputMint, outputMint, amount и taker:
inputMint
- адрес токена, который вы хотите обменять
outputMint
- адрес токена, который вы хотите получить
taker
- это адрес вашего signer (signer.address)
amount
- это то количество inputMint токена, которое вы обмениваете. Нужно помнить, что это не то число которое вы бы вводили в форму на сайте jupiter, а слегка модифицированное, для того чтобы блокчейн её понимал. Получается оно по такой схеме: необходимое число токенов * на 10 в степени TOKEN_DECIMALS (у каждого токена есть TOKEN_DECIMALS, его можно нагуглить или посмотреть в блокчейне, у solana это 9, а у стейблов таких как USDC и USDT это 6). Получается если мы хотим обменять 0.1 sol то будет выходить число 100000000
Именно из-за этой части я решил написать этот пост, тк везде в примерах показывается как сделать это в старых версиях библиотеки.
// Записываем в переменную данные из ответа от API Jupiter (для удобства)
const transactionBase64 = orderResponse.transaction
// Преобразуем строку base64 в двоичные данные
const swapTransactionBuffer = Buffer.from(transactionBase64, 'base64')
// Декодируем двоичные данные в транзакцию
const decodedTransaction = getTransactionDecoder().decode(swapTransactionBuffer)
// Подписываем транзакцию
const signedTransaction = await signTransaction([signer.keyPair], decodedTransaction)
// Подписанную транзакцию преобразуем в Base64EncodedWireTransaction
const serializedTransaction = getBase64EncodedWireTransaction(signedTransaction)
Jupiter для того чтобы не заботиться о slippage, комиссиях и тд, нам нужно всего-лишь отправить подписанную транзакцию им:
const executeResponse = await (
await fetch('https://lite-api.jup.ag/ultra/v1/execute', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({
signedTransaction: serializedTransaction,
requestId: orderResponse.requestId,
}),
})
).json();
Всё готово! Внутри executeResponse есть поле status который будет Success если транзакция прошла успешно и Failed если, что-то пошло не так.
Обработать мы может это так:
if (executeResponse.status === "Success") {
console.log('Swap successful:', JSON.stringify(executeResponse, null, 2));
console.log(`https://solscan.io/tx/${executeResponse.signature}`);
} else {
console.error('Swap failed:', JSON.stringify(executeResponse, null, 2));
console.log(`https://solscan.io/tx/${executeResponse.signature}`);
}В консоле мы получим ссылку на нашу транзакцию в solscan!
Теперь вы умеете свапать на солане используя Jupiter и современную библиотеку gill.
Следующим постом будет вторая часть про вайбкодинг.
Как вам такой формат ?
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6🔥4🏆2
Часть 2
Ссылка на первый пост (он в 3 частях)
Продолжаем разбираться с cursor и его внутренними фичами. Если вы работаете не в AI IDE Cursor, некоторые приёмы могут не сработать или вести себя иначе.
Напомню: MCP (Model Context Protocol) — это сервер, который даёт ИИ дополнительные контексты и «умения». Ранее я уже рассказывал об этом, а сейчас — кратко о тех фичах, что использую сам.
Context7
— Бывало такое, что ИИ предлагает функции из библиотек, которых нет или никогда не было? Context7 решает проблему: база из 10 000+ документаций автоматически подгружается в контекст ИИ, ИИ «изучает» актуальную версию вашей библиотеки и генерирует код без галлюцинаций. Чтобы воспользоваться, добавьте в промт: use context7
Sequential Thinking
— Инструмент для структурированного «мышления» при решении задач.
Что умеет:
- Разбивать сложные задачи на пошаговые подзадачи
- Пересматривать и уточнять «мысли» по ходу работы
- Параллельно развивать несколько веток рассуждений
- Генерировать и проверять гипотезы
Универсален — можно применять не только к кодингу.
Один из самых недооценённых инструментов cursor — Rules. Поскольку LLM не хранят все подсказки между сессиями, Rules помогают задать постоянный контекст: вы пишете их один раз, и агент всегда их помнит.
Правила делятся на два уровня:
Где хранятся: папка .cursor/rules (необязательно в корне)
Формат: файлы .mdc (markdown-подобный).
Типы Project rules:
Always —
Всегда загружаются в контекст. Общие кодстайл-правила, архитектурные принципы, работа с Git
Auto Attached —
Подключаются автоматически при работе с файлами по определённому шаблону. Тут можете описать например то, как в определённой части приложения вы взаимодействуете с API или что-то, что актуально только для определённых файлов.
Agent Requested —
Агент может запросить их дополнительно. Не знаю, в каком случаем может быть актуально :(
Manual —
Включаются по явному тегу @ruleName в промте
Совет: Хотите быстро сгенерировать шаблон правил? Введите в поле ввода "/" и выберите Generate cursor rules.
Можно создать несколько .cursor/rules (например, для фронтенда и бэкенда) и разделить контекст по зонам ответственности.
Где задаются: в настройках Cursor (Cursor Settings → User Rules).
Назначение: Общие, сквозные правила для всех проектов.
Примеры User rules
:
— Языковые предпочтения (например, отвечать на русском)
— Стандарты качества кода ("пиши максимально простой и понятный код")
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8🔥1
Если ты хочешь внедрить AI в свой продукт — не нужно изучать кучу библиотек или изобретать велосипед. Всё, что тебе нужно, — AI SDK.
AI SDK — это open source-инструментарий от Vercel, который превращает сложные AI-интеграции в пару строк кода. И это не просто обёртка, а полноценный фреймворк, который даёт тебе:
Generative UI — компоненты интерфейса, которые генерируются на основе LLM
Поддержку GPT-4o, Claude, Gemini и других моделей через единый интерфейс
Чат, стриминг, RAG, tools, function calling — всё из коробки, без боли
🛠 Примеры с AI SDK Provider от OpenRouter
import { createOpenRouter } from '@openrouter/ai-sdk-provider'
import 'dotenv/config'
import { createOpenRouter } from '@openrouter/ai-sdk-provider'
import 'dotenv/config'
export async function POST(req: Request) {
const openrouter = createOpenRouter({
apiKey: process.env.OPENROUTER_API_KEY,
})
const chatModel = openrouter.chat('x-ai/grok-3-beta')
const result = streamText({
model: chatModel,
system: systemPrompt,
messages: [{ role: 'user', content: 'Привет!' }],
})
return result.toDataStreamResponse()
}import { useChat } from '@ai-sdk/react';
export default function Chat() {
const { messages, input, handleInputChange, handleSubmit } = useChat();
return (
<div>
{messages.map(m => <div key={m.id}>{m.content}</div>)}
<form onSubmit={handleSubmit}>
<input value={input} onChange={handleInputChange} />
</form>
</div>
);
}1. Один интерфейс — доступ к сотням моделей (OpenAI, Anthropic, Mistral, и т.д.). Не нужно завязываться на один API, меняй модели "на лету".
2. Легкое переключение между провайдерами
3. Встроенная поддержка tools, RAG, function calling
4. Гибкость — подходит для web-продуктов, ассистентов, виджетов, всего
AI SDK от Vercel — это универсальный ключ к миру AI. Он убирает всю рутину, чтобы ты мог сосредоточиться на создании продукта: интерфейс, логика, стриминг — всё уже готово.
Please open Telegram to view this post
VIEW IN TELEGRAM
👏2🔥1
Промптинг — это искусство общения с ИИ. Сегодня разберём всё, что нужно знать о создании эффективных промптов!
Промпт состоит из 4 элементов:
1. Инструкция — конкретная задача для модели
2. Контекст — дополнительная информация
3. Входные данные — вопрос или данные для обработки
4. Формат вывода — как должен выглядеть ответ
Zero-Shot промптинг
Задаём задачу без примеров. Работает для простых задач:
Например: Переведи на английский: "Привет, мир!"
Few-Shot промптинг
Даём несколько примеров для лучшего понимания:
Пример:
Определи тональность:
"Фильм супер!" → Позитивная
"Скучно было" → Негативная
"Этот фильм ужасен" → ?
Chain-of-Thought
Заставляем модель рассуждать пошагово. Просто добавь:
"Рассуждай шаг за шагом"
🔫 Лайфхаки для крутых промптов
1. Будь конкретным! Вместо "напиши текст" → "напиши SEO-статью на 500 слов про блокчейн для новичков"
2. Задавай роль: "Ты опытный Python-разработчик с 10-летним стажем..."
3. Используй разделители: ### или """ для структуры
4. Формат имеет значение:
- Инструкции в начало
- Примеры в середину
- Вопрос в конец
5. Не говори, что НЕ делать — лучше скажи, что НУЖНО делать
🆗 Крутые фишки
Промпт-чейнинг: Разбивай сложные задачи на простые части
Температура: 0.1 для точности, 0.8 для креатива
Обратная связь: "Повтори вопрос перед ответом"
✅ Понятен с первого прочтения?
✅ Конкретен и не расплывчат?
✅ Достаточно контекста?
✅ Логичный порядок инструкций?
✅ Указан формат ответа?
Промптинг — это навык будущего! Экспериментируй, итерируй, улучшай. Помни: чем точнее промпт, тем лучше результат.
Сохраняй пост и делись с теми, кто работает с ИИ!
DegenCoding подписаться.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2🔥2
ИИ-инструменты в 2025 году — это уже не просто хайп, а реальные помощники, которые разгружают рутину и ускоряют работу. От поиска инфы до кодинга и звонков.
Всё разложил по категориям с описаниями, чтобы ты сразу понял, что брать под свои задачки. Погнали!
🔍 Поиск и ресерч
- Perplexity AI
Это твой личный детектив для поиска и анализа данных. Фишка — режим Deep Research: за 2–4 минуты сервис прошерстит сотни источников и выдаст подробный отчёт. Экономия времени — колоссальная! Умеет работать с файлами, собирать проекты и делиться ими с командой. Быстрый поиск или глубокий ресёрч — выбирай, что нужно.
- NotebookLM
Идеальный кореш для студентов и тех, кто тонет хочет обрабатывать тонну информации быстро и качественно. Структурирует инфу, проставляет теги, ищет по твоим документам и отвечает на вопросы, опираясь только на твои данные.
- ChatGPT
Универсальный боец от OpenAI. Пишешь тексты, генеришь код, ищешь идеи или просто спрашиваешь что-то — он справится. Плюс, может работать с файлами, что делает его must-have для программистов и не только.
- Claude
Модель от Anthropic с "человеческим" подходом. Отлично шарит в текстах, творческих задачах и анализе. Если хочешь, чтобы ИИ не просто выдал ответ, а подумал с душой — это твой выбор.
- Grok
Разработка xAI, заточенная под живой вайб. Шутит, подкалывает, выдаёт саркастичные ответы и тянет свежак с X. Генерит тексты, картинки и помогает следить за трендами в реальном времени. Для ресёрча — огонь!
📞 AI для звонков
- Minuteslink
Автоматизирует звонки и встречи, фиксирует ключевые моменты и делает отчёты. Плюс, встраивает ИИ-ассистентов в твои процессы и дружит с популярными CRM. Минимум ручной работы — максимум пользы.
- tldv.io
Записывает и расшифровывает онлайн-встречи (Zoom, Google Meet), выделяет важное и делает заметки. Поддерживает русский, легко встраивается в твой рабочий софт. Для тех, кто устал держать всё в голове.
- Plaud
Упрощает звонки: пишет заметки по итогам, синхронизируется с календарями и CRM.
🎨 Дизайн
- Relume
Хочешь дизайн сайта за 5 минут? Вводишь описание проекта, а Relume генерит структуру, wireframe и даже тексты для страниц. Для быстрого старта MVP — лучше не придумаешь.
💻 Программирование
- GitHub Copilot
Твой напарник в кодинге: автодополняет, генерит функции и работает с любыми языками. Пишешь меньше, а успеваешь больше.
- Lovable
Генерит UI и компоненты по описанию или примерам. Прототипы и MVP собираются на раз-два, плюс дружит с популярными фреймворками.
- V0
Пишешь описание интерфейса — получаешь готовый фронтенд-код (React, Tailwind CSS, shadcn/UI). Быстро, просто, без лишних телодвижений.
- Cursor
AI-IDE для серьёзных ребят. Интегрируется с мощными моделями (например, Claude 3.7 Sonnet), понимает правила проекта и автоматизирует задачи. Для больших кодовых баз — топчик.
🛠 Мультифункциональные
Manus
Платформа для всего сразу: генерит тексты, анализирует данные, автоматизирует документооборот. Для бизнеса или тех, кто хочет разгрузить рутину — идеально.
Эти сервисы — твои помощники в мире, полного отвлечений и рутины: автоматизируют скучное, ускоряют сложное и дают фору в любой задаче. Выбирай, что подходит, миксуй с рабочими процессами и экономь время для себя и реализации идей!
DegenCoding подписаться.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8❤5🤝5
Forwarded from Guide DAO
Андрей Карпатый: главные тейки с выступления на YC AI Startup School
Software 3.0
Software 1.0 — это код, который мы пишем (Python, C++). Software 2.0 — веса нейросетей, которые мы настраиваем датасетами. Software 3.0 — это промпты на естественном языке. Теперь ваша программа — это промпт.
LLM как новая ОС
Мы сейчас в 1960-х годах timesharing-компьютинга: дорогие, централизованные вычисления , к которым мы подключаемся через «тонкие клиенты». Контекстное окно — это RAM, сама LLM — CPU. Революция «персональных компьютеров» для LLM еще не наступила.
«Психология» LLM
LLM — это «стохастические симуляторы людей» или «духи людей». У них есть cверхспособности и когнитивные дефициты: галлюцинации, «рваный интеллект», антероградная амнезия и излишняя доверчивость.
Стройте «костюмы Железного человека», а не «роботов»
Сейчас время не для полной автономии, а для усиления человека. Пример: Cursor со «слайдером автономии», Perplexity с управлением контекстом и GUI для проверки источников.
Держите AI «на коротком поводке»
Главная цель — ускорить цикл генерация-проверка. Не просите AI сгенерировать 1000 строк кода, вы сами станете узким местом при проверке. Давайте небольшие, конкретные задачи, чтобы верификация была быстрой.
Наступает «декада агентов», а не «год агентов»
Это будет долгий путь, как с беспилотными автомобилями, массовое внедрение которых до сих пор не наступило. Демо — это когда что-то сработало один раз, продукт — когда работает всегда.
Готовьте инфраструктуру для AI
Появился третий потребитель цифровой информации — AI-агент. Поэтому нужно готовить для них почву: документацию с curl-командами вместо «кликните тут» и файлы lms.txt (аналог robots.txt) для сайтов, чтобы агентам было проще с ними взаимодействовать.
https://www.youtube.com/watch?v=LCEmiRjPEtQ
Software 3.0
Software 1.0 — это код, который мы пишем (Python, C++). Software 2.0 — веса нейросетей, которые мы настраиваем датасетами. Software 3.0 — это промпты на естественном языке. Теперь ваша программа — это промпт.
LLM как новая ОС
Мы сейчас в 1960-х годах timesharing-компьютинга: дорогие, централизованные вычисления , к которым мы подключаемся через «тонкие клиенты». Контекстное окно — это RAM, сама LLM — CPU. Революция «персональных компьютеров» для LLM еще не наступила.
«Психология» LLM
LLM — это «стохастические симуляторы людей» или «духи людей». У них есть cверхспособности и когнитивные дефициты: галлюцинации, «рваный интеллект», антероградная амнезия и излишняя доверчивость.
Стройте «костюмы Железного человека», а не «роботов»
Сейчас время не для полной автономии, а для усиления человека. Пример: Cursor со «слайдером автономии», Perplexity с управлением контекстом и GUI для проверки источников.
Держите AI «на коротком поводке»
Главная цель — ускорить цикл генерация-проверка. Не просите AI сгенерировать 1000 строк кода, вы сами станете узким местом при проверке. Давайте небольшие, конкретные задачи, чтобы верификация была быстрой.
Наступает «декада агентов», а не «год агентов»
Это будет долгий путь, как с беспилотными автомобилями, массовое внедрение которых до сих пор не наступило. Демо — это когда что-то сработало один раз, продукт — когда работает всегда.
Готовьте инфраструктуру для AI
Появился третий потребитель цифровой информации — AI-агент. Поэтому нужно готовить для них почву: документацию с curl-командами вместо «кликните тут» и файлы lms.txt (аналог robots.txt) для сайтов, чтобы агентам было проще с ними взаимодействовать.
https://www.youtube.com/watch?v=LCEmiRjPEtQ
👍2
Запилил web3 crypto copilot агента
подробнее можете в твиттере почитать, ссылка на агента там же )
https://x.com/AirPulseAI/status/1941176309415358805
подробнее можете в твиттере почитать, ссылка на агента там же )
https://x.com/AirPulseAI/status/1941176309415358805
🔥4👍1
Наш агент поможет вам в поиске необходимого web3 протокола под любые нужды. У него в базе 500+ блокчейнов и более 1000 проектов!
НО!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8
Forwarded from Artur Koltsov
Naval for Kids на русском.pdf
8.2 MB
Один из умнейших людей современности
Наваль Равикант — предприниматель, философ и ранний инвестор в твиттер, убер, форсквер. В 9 лет его семья переехала из Индии в Нью-Йорк. Он сделал хорошую карьеру, основал несколько проектов, вложился больше чем в 200 стартапов, глобально способствовал развитию краудинвестингу.
Я был очень рад, что наткнулся на него в твитере в 2022 году, когда изучал крипту. Частично из-за его мыслей бросил это занятие. Считаю его одним из немногих современных авторов, за которыми стоит следить. Самое необычное, что он одновременно разбирается в бизнесе, инвестициях, психологии и философии.
Я искренне рекомендую ознакомиться:
Подкаст/твитшторм 2019 — rutube рус., youtube рус., сайт англ.
Он у Джо Рогана 2019 — youtube рус., англ
Он у Криса Вильямса 2025 — youtube рус., англ
Книга "The Almanack of Naval Ravikant"
P.S. Кто-то упаковал его мысли для детей, а я перевел эту презенташку для своей сестры. Прикрепляю для ленивых, можно начать с нее.
Наваль Равикант — предприниматель, философ и ранний инвестор в твиттер, убер, форсквер. В 9 лет его семья переехала из Индии в Нью-Йорк. Он сделал хорошую карьеру, основал несколько проектов, вложился больше чем в 200 стартапов, глобально способствовал развитию краудинвестингу.
Я был очень рад, что наткнулся на него в твитере в 2022 году, когда изучал крипту. Частично из-за его мыслей бросил это занятие. Считаю его одним из немногих современных авторов, за которыми стоит следить. Самое необычное, что он одновременно разбирается в бизнесе, инвестициях, психологии и философии.
Я искренне рекомендую ознакомиться:
Подкаст/твитшторм 2019 — rutube рус., youtube рус., сайт англ.
Он у Джо Рогана 2019 — youtube рус., англ
Он у Криса Вильямса 2025 — youtube рус., англ
Книга "The Almanack of Naval Ravikant"
P.S. Кто-то упаковал его мысли для детей, а я перевел эту презенташку для своей сестры. Прикрепляю для ленивых, можно начать с нее.
❤8🔥4💯2
Вот 11 способов вернуть себе фокус.
1. Отключи уведомления
Среднее время фокуса в 2024 - 47 секунд. С уведомлениями ещё меньше.
Но 44% отвлечений - внутренние. Мы сами тянемся к телефону по привычке. Мало выключить уведомления - нужно замечать, когда сам себя отвлекаешь.
2. Многозадачность - миф
• После отвлечения нужно 25 минут на возврат
• Прежде чем вернуться, переключаешься на 2-3 другие задачи
• Чем чаще переключение - тем выше стресс
Совмещать можно только то, что ты можешь делать автоматически: посуда + подкаст, ходьба + аудиокнига.
3. Работай отрезками
Блоки по 25-30 минут с перерывами лучше, чем 5 часов без остановки.
Лучший момент для перерыва - естественная пауза. Отвлекаться в разгар работы - самое вредное.
4. Создай условия для потока
• Ясная цель
• Понятный результат
• Сложность 20-40% от максимума
5. Формула "если-то"
"Если [ситуация X], то я делаю [действие Y]"
• Сажусь за стол → убираю телефон в ящик
• Хочу открыть соцсеть → 5 глубоких вдохов
• Заканчиваю рабочий блок → 10 приседаний
Пробуем переобучить свой мозг.
6. Выгружай мысли из головы
Появилась идея или задача - записывай. Иначе будет крутиться в голове, поднимать тревогу и занимать оперативную память.
7. Пять минут тишины
Просто сидеть, ничего не делать, дышать. Не медитация - просто пауза. Мозгу нужно время без входящей информации.
Этот метод не смотря на свою простоту, действительно помогает снять тревогу, а если добавить к "безделию" ещё и глубокое дыхание или "дыхание Вима Хоффа", то через пару минут чувствуется, что стресс ушёл или свёлся к минимому.
8. Двигайся
Физическая активность напрямую влияет на концентрацию. Минимум - прогулки на улице. Само нахождение на улице снимает стресс и повышает фокус.
9. Дневник активности вместо вины
Просто записывай, сколько работал каждый день. Даже если 0. Спустя время увидишь динамику. Не вини себя за то, что сделал мало. Начни с техник по типу pomodoro или просто записывай в тетрадь или в блокнот на компьютере.
10. Награждай себя
Мозг связывает удовольствие с предшествующим действием. Награда после работы → мозг меньше сопротивляется работе.
Не жди похвалы от других. Сам отмечай завершённые задачи.
11. Найди причину, почему не хочешь начинать
Если ничего не работает - копни глубже:
• Ты избегаешь чего-то?
• Устал?
• Кажется слишком сложным?
• Страшно?
Если избегаешь сложной задачи - распиши её максимально подробно. Разбей на мелкие шаги. Когда задача декомпозирована, страх перед ней ослабевает, а ощущаемая сложность снижается. Большой проект пугает, а "написать первый абзац" - нет.
Часто тревога появляется, тогда когда мы думаем не о текущем моменте, а о будущем или прошлом, в таком случае задай себе вопрос: "Есть ли реальная проблема прямо сейчас?" Обычно ответ - нет. Возврат в настоящее снимает тревогу.
———————
• «Метавнимание» - Глория Марк
• «Стоики побеждают» - Уильям Ирвин
• «Делай просто, просто делай» - Оскар Хартманн
Давно ничего не выкладывал, надеюсь этот пост будет вам полезным, в эпоху отвлечений, даже небольшой шаг в сторону возвращения себе фокуса - уже выделяет вас. Делитесь своими методами в комментах.
DegenCoding Подписаться.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7🔥5❤🔥3
За последний год-полтора вышло много моделей и приложений, которые пытаются (зачастую с переменным успехом) облегчить ту или иную часть нашей жизни. Расскажу вам об одном приложении, которое действительно может дать буст в одной из самых важных сфер — обучении.
- аудиопересказы
- видеопересказы
- ментальные карты (mind map)
- отчёты в различных форматах
- карточки с вопросами и ответами
- тесты
- инфографику
- презентации
Форматы отчётов варьируются от стандартных (краткий обзор, методичка) до адаптивных под твой контент. Например, если изучаешь построение агентских флоу — предложат формат с уклоном на внедрение систем, а не на техническую реализацию. Можно выбрать и описать свой формат.
Всё это можно генерировать на любом языке и полностью бесплатно!
1️⃣ В ChatGPT нет такого количества интерактивных форматов вывода.
2️⃣ Более высокая точность ответов. Тесты учёных из Стэнфорда показали, что галлюцинаций внутри NotebookLM меньше на 87% по сравнению с AI общего назначения.
3️⃣ Контроль источников. Модели отвечают только по информации, на которой обучены, плюс веб-поиск. NotebookLM использует для генерации только те источники, которые нужны тебе, — личные заметки, статьи или видео с YouTube.
🔗 Попробовать NotebookLM
—————
⚠️ Нюанс: в России сервис напрямую недоступен — понадобится VPN. Но русский язык поддерживается полностью, включая аудиопересказы.
Впн можно взять тут (ставьте америку).
————
На мой взгляд это один из самых крутых AI инструментов сейчас на рынке, особенно с выходом Gemini 3 pro, которая является для меня на текущий момент Топ 2 моделью (Claude Opus 4.5 топ 1, но у неё нет такого мощного инструмента).
DegenCoding Подписаться.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4❤2👍2
Запускаю серию постов о Mastra AI
Mastra — это TypeScript-фреймворк для создания AI-агентов и workflow. Хочу разобраться в нём и поделиться с вами.
Серия будет из двух частей:
- Сначала — концепции (5 постов без кода). Разберём идеи и принципы, чтобы понять, как всё устроено.
- Потом — практика (посты с кодом). Будем писать агентов руками.
Что будет в концептуальной части:
1. Агенты и System Prompt — что такое AI-агент и как задать ему поведение
2. Tools и MCP — как агенты взаимодействуют с внешним миром
3. Memory — как агенты запоминают контекст разговора
4. Умная память — Semantic Recall и Working Memory
5. Workflows — как строить сложные AI-процессы
В следующем посте разберём, чем AI-агент отличается от обычного чат-бота и как System Prompt превращает языковую модель в специализированного ассистента.
Mastra — это TypeScript-фреймворк для создания AI-агентов и workflow. Хочу разобраться в нём и поделиться с вами.
Серия будет из двух частей:
- Сначала — концепции (5 постов без кода). Разберём идеи и принципы, чтобы понять, как всё устроено.
- Потом — практика (посты с кодом). Будем писать агентов руками.
Что будет в концептуальной части:
1. Агенты и System Prompt — что такое AI-агент и как задать ему поведение
2. Tools и MCP — как агенты взаимодействуют с внешним миром
3. Memory — как агенты запоминают контекст разговора
4. Умная память — Semantic Recall и Working Memory
5. Workflows — как строить сложные AI-процессы
В следующем посте разберём, чем AI-агент отличается от обычного чат-бота и как System Prompt превращает языковую модель в специализированного ассистента.
🔥8❤🔥5❤1
Пост 1 из серии Mastra
Чем агент отличается от чат-бота?
Обычный чат-бот — это интерфейс к языковой модели. Вы пишете вопрос, получаете ответ. Всё.
AI-агент — это языковая модель + контекст + память + возможность действовать. Агент понимает свою роль, помнит контекст разговора и может выполнять задачи: искать информацию, работать с API, отправлять письма.
Простая аналогия: чат-бот — это эрудит, который отвечает на вопросы. Агент — это ассистент, который понимает вашу ситуацию, помнит предыдущие разговоры и может что-то сделать.
—
Mastra — конструктор агентов
Mastra собирает все компоненты агента в единую систему:
Фреймворк берёт на себя инфраструктуру, а вы фокусируетесь на логике: каким должен быть агент, что он умеет, как себя ведёт.
—
System Prompt — личность агента
Ключевой элемент любого агента — System Prompt. Это набор инструкций, который определяет, кем является агент и как он должен себя вести.
Хороший System Prompt включает:
Роль — "Ты — помощник по погоде"
Возможности — "Ты можешь получать данные о погоде для любого города"
Стиль — "Отвечай кратко и информативно"
Ограничения — "Не давай советов, не связанных с погодой"
Чем яснее System Prompt, тем более предсказуемым будет агент. Это как должностная инструкция — без неё человек может быть талантливым, но не будет понимать, что именно от него ждут.
—
Почему это важно?
System Prompt — это не просто "настройка тона". Это способ:
— Ограничить агента от нерелевантных тем
— Задать экспертизу в конкретной области
— Определить формат и стиль ответов
— Установить границы ответственности
Один и тот же LLM с разными System Prompt'ами — это принципиально разные агенты. Финансовый консультант, техподдержка, персональный тренер — всё начинается с правильно написанного промпта.
—
Что дальше?
Агент с System Prompt уже знает свою роль. Но пока у него нет памяти — каждое сообщение как первое. И он не может взаимодействовать с внешним миром: получить данные из API, отправить email, записать что-то в базу данных.
В следующих постах разберём, как дать агенту "руки" через Tools и MCP, и как добавить ему Memory — чтобы он помнил контекст разговора и ключевые факты о пользователе.
Чем агент отличается от чат-бота?
Обычный чат-бот — это интерфейс к языковой модели. Вы пишете вопрос, получаете ответ. Всё.
AI-агент — это языковая модель + контекст + память + возможность действовать. Агент понимает свою роль, помнит контекст разговора и может выполнять задачи: искать информацию, работать с API, отправлять письма.
Простая аналогия: чат-бот — это эрудит, который отвечает на вопросы. Агент — это ассистент, который понимает вашу ситуацию, помнит предыдущие разговоры и может что-то сделать.
—
Mastra — конструктор агентов
Mastra собирает все компоненты агента в единую систему:
Agents — Регистрирует агентовTools — Подключает инструментыMemory — Управляет памятьюWorkflows — Строит цепочки действийФреймворк берёт на себя инфраструктуру, а вы фокусируетесь на логике: каким должен быть агент, что он умеет, как себя ведёт.
—
System Prompt — личность агента
Ключевой элемент любого агента — System Prompt. Это набор инструкций, который определяет, кем является агент и как он должен себя вести.
Хороший System Prompt включает:
Роль — "Ты — помощник по погоде"
Возможности — "Ты можешь получать данные о погоде для любого города"
Стиль — "Отвечай кратко и информативно"
Ограничения — "Не давай советов, не связанных с погодой"
Чем яснее System Prompt, тем более предсказуемым будет агент. Это как должностная инструкция — без неё человек может быть талантливым, но не будет понимать, что именно от него ждут.
—
Почему это важно?
System Prompt — это не просто "настройка тона". Это способ:
— Ограничить агента от нерелевантных тем
— Задать экспертизу в конкретной области
— Определить формат и стиль ответов
— Установить границы ответственности
Один и тот же LLM с разными System Prompt'ами — это принципиально разные агенты. Финансовый консультант, техподдержка, персональный тренер — всё начинается с правильно написанного промпта.
—
Что дальше?
Агент с System Prompt уже знает свою роль. Но пока у него нет памяти — каждое сообщение как первое. И он не может взаимодействовать с внешним миром: получить данные из API, отправить email, записать что-то в базу данных.
В следующих постах разберём, как дать агенту "руки" через Tools и MCP, и как добавить ему Memory — чтобы он помнил контекст разговора и ключевые факты о пользователе.
👍3❤2🔥2
Пост 2 из серии Mastra
Tools и MCP
В прошлом посте мы разобрали, что такое агент и как System Prompt задаёт ему личность. Но есть проблема: агент с одним только промптом — это всё ещё "говорящая голова". Он может рассуждать, но не может ничего сделать.
Чтобы агент мог взаимодействовать с внешним миром, ему нужны Tools — инструменты.
—
Что такое Tools?
Tools — это функции, которые агент может вызывать для выполнения задач. Они расширяют возможности агента, давая доступ к внешним данным и сервисам.
Каждый tool состоит из:
id — Уникальное имя инструмента
description — Описание — помогает агенту понять, когда использовать
inputSchema — Что инструмент принимает на вход
outputSchema — Что возвращает
execute — Функция, которая выполняет работу
Пример: tool для получения погоды принимает название города, обращается к API погоды и возвращает температуру и условия.
—
Зачем нужны Tools?
Без инструментов агент может только генерировать текст. С инструментами он может:
— Получать данные из баз данных и API
— Отправлять email и сообщения
— Создавать записи в CRM
— Искать информацию в интернете
— Работать с файлами
Агент сам решает, какой инструмент вызвать, на основе описания (description) и контекста разговора.
—
MCP — универсальный стандарт интеграций
Писать свой tool для каждого сервиса — долго. Здесь на помощь приходит MCP (Model Context Protocol).
MCP — это стандарт, который позволяет AI-моделям получать доступ к внешним сервисам через единый интерфейс. Вместо написания кастомного инструмента вы просто подключаете готовый MCP-сервер.
Какие сервисы уже доступны через MCP:
— Email: Gmail
— Код: GitHub
— Соцсети: Twitter, Slack
— Данные: Погода, новости
— Файлы: Файловая система
—
Tools vs MCP
На практике их комбинируют: MCP для стандартных интеграций, кастомные tools для специфичной бизнес-логики.
—
Что дальше?
Теперь наш агент умеет действовать — вызывать API, отправлять письма, работать с данными. Но есть ещё одна проблема: он не помнит, о чём вы говорили минуту назад.
В следующем посте разберём Memory — как сделать так, чтобы агент запоминал контекст разговора.
Tools и MCP
В прошлом посте мы разобрали, что такое агент и как System Prompt задаёт ему личность. Но есть проблема: агент с одним только промптом — это всё ещё "говорящая голова". Он может рассуждать, но не может ничего сделать.
Чтобы агент мог взаимодействовать с внешним миром, ему нужны Tools — инструменты.
—
Что такое Tools?
Tools — это функции, которые агент может вызывать для выполнения задач. Они расширяют возможности агента, давая доступ к внешним данным и сервисам.
Каждый tool состоит из:
id — Уникальное имя инструмента
description — Описание — помогает агенту понять, когда использовать
inputSchema — Что инструмент принимает на вход
outputSchema — Что возвращает
execute — Функция, которая выполняет работу
Пример: tool для получения погоды принимает название города, обращается к API погоды и возвращает температуру и условия.
—
Зачем нужны Tools?
Без инструментов агент может только генерировать текст. С инструментами он может:
— Получать данные из баз данных и API
— Отправлять email и сообщения
— Создавать записи в CRM
— Искать информацию в интернете
— Работать с файлами
Агент сам решает, какой инструмент вызвать, на основе описания (description) и контекста разговора.
—
MCP — универсальный стандарт интеграций
Писать свой tool для каждого сервиса — долго. Здесь на помощь приходит MCP (Model Context Protocol).
MCP — это стандарт, который позволяет AI-моделям получать доступ к внешним сервисам через единый интерфейс. Вместо написания кастомного инструмента вы просто подключаете готовый MCP-сервер.
Какие сервисы уже доступны через MCP:
— Email: Gmail
— Код: GitHub
— Соцсети: Twitter, Slack
— Данные: Погода, новости
— Файлы: Файловая система
—
Tools vs MCP
Tools — пишете сами под свои нужды. Полный контроль над логикой, но больше работы.MCP — используете готовые серверы. Стандартизированный протокол, быстрое подключение.На практике их комбинируют: MCP для стандартных интеграций, кастомные tools для специфичной бизнес-логики.
—
Что дальше?
Теперь наш агент умеет действовать — вызывать API, отправлять письма, работать с данными. Но есть ещё одна проблема: он не помнит, о чём вы говорили минуту назад.
В следующем посте разберём Memory — как сделать так, чтобы агент запоминал контекст разговора.
🔥6❤3
Пост 3 из серии Mastra
Проблема без памяти
Представьте диалог:
— Меня зовут Алексей, я из Москвы.
— Приятно познакомиться, Алексей!
— Какая погода в моём городе?
— В каком городе вы находитесь?
Без памяти каждое сообщение для агента — как первое. Он не помнит, что вы только что представились и назвали город. Пользователю приходится повторять информацию снова и снова.
—
Что даёт Memory?
— Запоминание диалога — помнит предыдущие вопросы и свои ответы
— Контекст — поддерживает контекст между сообщениями
— Персонализация — даёт более релевантные ответы
— Не переспрашивает — не запрашивает информацию повторно
С памятью агент строит на предыдущих сообщениях, разговор становится естественным, а пользовательский опыт — приятным.
—
Три типа памяти в Mastra
Контекстное окно агента делится на три части:
Conversation History — последние N сообщений. Аналогия: запись разговора.
Semantic Recall — релевантные старые сообщения. Аналогия: поиск в записях предыдущих сообщений.
Working Memory — структурированные данные о пользователе. Аналогия: карточка клиента.
Каждый тип решает свою задачу. Conversation History — это просто последние сообщения по порядку. Но что если важная информация была 50 сообщений назад?
—
Ограничение контекстного окна
У любой языковой модели есть лимит — контекстное окно. Нельзя просто загрузить всю историю переписки за год. Поэтому Memory в Mastra — это не "запомнить всё", а умное управление тем, что попадает в контекст агента.
Задача — уместить в ограниченное окно:
— Системные инструкции (System Prompt)
— Релевантный контекст из прошлых разговоров
— Текущее сообщение пользователя
—
Простота подключения
Что меня удивило и порадовало в Mastra — насколько просто добавить память агенту. Не нужны сотни строк кода и сложные конфигурации. Буквально 10-20 строк — и у вас работают все три типа памяти.
При этом поддерживаются стандартные базы данных: LibSQL и PostgreSQL. Не нужно разбираться в экзотических хранилищах — используете то, что уже знаете.
—
Что дальше?
Conversation History — это просто. Берём последние N сообщений и добавляем в контекст. Но как найти релевантную информацию, которая была давно? И как хранить ключевые факты о пользователе компактно?
В следующем посте разберём Semantic Recall и Working Memory — умные механизмы памяти, которые делают агентов по-настоящему контекстно-осведомлёнными.
Проблема без памяти
Представьте диалог:
— Меня зовут Алексей, я из Москвы.
— Приятно познакомиться, Алексей!
— Какая погода в моём городе?
— В каком городе вы находитесь?
Без памяти каждое сообщение для агента — как первое. Он не помнит, что вы только что представились и назвали город. Пользователю приходится повторять информацию снова и снова.
—
Что даёт Memory?
— Запоминание диалога — помнит предыдущие вопросы и свои ответы
— Контекст — поддерживает контекст между сообщениями
— Персонализация — даёт более релевантные ответы
— Не переспрашивает — не запрашивает информацию повторно
С памятью агент строит на предыдущих сообщениях, разговор становится естественным, а пользовательский опыт — приятным.
—
Три типа памяти в Mastra
Контекстное окно агента делится на три части:
Conversation History — последние N сообщений. Аналогия: запись разговора.
Semantic Recall — релевантные старые сообщения. Аналогия: поиск в записях предыдущих сообщений.
Working Memory — структурированные данные о пользователе. Аналогия: карточка клиента.
Каждый тип решает свою задачу. Conversation History — это просто последние сообщения по порядку. Но что если важная информация была 50 сообщений назад?
—
Ограничение контекстного окна
У любой языковой модели есть лимит — контекстное окно. Нельзя просто загрузить всю историю переписки за год. Поэтому Memory в Mastra — это не "запомнить всё", а умное управление тем, что попадает в контекст агента.
Задача — уместить в ограниченное окно:
— Системные инструкции (System Prompt)
— Релевантный контекст из прошлых разговоров
— Текущее сообщение пользователя
—
Простота подключения
Что меня удивило и порадовало в Mastra — насколько просто добавить память агенту. Не нужны сотни строк кода и сложные конфигурации. Буквально 10-20 строк — и у вас работают все три типа памяти.
При этом поддерживаются стандартные базы данных: LibSQL и PostgreSQL. Не нужно разбираться в экзотических хранилищах — используете то, что уже знаете.
—
Что дальше?
Conversation History — это просто. Берём последние N сообщений и добавляем в контекст. Но как найти релевантную информацию, которая была давно? И как хранить ключевые факты о пользователе компактно?
В следующем посте разберём Semantic Recall и Working Memory — умные механизмы памяти, которые делают агентов по-настоящему контекстно-осведомлёнными.
🔥5👍4❤3
Пост 4 из серии Mastra
Проблема Conversation History
В прошлом посте мы разобрали три типа памяти. Conversation History — самый простой: берём последние N сообщений и добавляем в контекст.
Но что если пользователь спрашивает: "Что мы обсуждали про мой проект на прошлой неделе?" — а это было 100 сообщений назад? Conversation History не поможет.
Здесь вступает Semantic Recall.
—
Semantic Recall — поиск по смыслу
Semantic Recall — это RAG-поиск (Retrieval-Augmented Generation), который находит релевантные сообщения не по порядку, а по смыслу.
Как это работает:
— Сообщение пользователя превращается в вектор (embedding)
— Система ищет похожие векторы в истории переписки
— Находит релевантные сообщения, даже если они были давно
— Добавляет их в контекст агента
Пример: пользователь спрашивает "Когда дедлайн моего проекта?" — система находит сообщение месячной давности "Работаю над проектом, дедлайн в следующем месяце" и добавляет его в контекст.
—
Conversation History vs Semantic Recall
Аналогия с человеческой памятью: вы не помните каждое слово каждого разговора, но можете вспомнить релевантную информацию, когда вас спрашивают.
—
Working Memory — карточка клиента
Semantic Recall ищет по сообщениям. Но иногда нужно хранить не сообщения, а факты: имя пользователя, его предпочтения, текущие цели.
Working Memory — это "блокнот" агента для структурированных данных о пользователе.
Conversation History — хранит сырые сообщения. "Привет" → "Как дела?"
Semantic Recall — хранит релевантные сообщения. Поиск по смыслу.
Working Memory — хранит структурированные данные. Имя: Алексей, Город: Москва.
—
Как работает Working Memory?
Вы задаёте шаблон — что агент должен запоминать:
Когда пользователь говорит "Меня зовут Алексей, я из Москвы", агент сам заполняет шаблон. Теперь он знает имя и город — даже через 1000 сообщений.
Working Memory компактна и обновляется. В отличие от истории сообщений, которая только растёт, Working Memory хранит только актуальную информацию.
—
Когда что использовать?
— Недавний контекст (последние сообщения) → Conversation History
— "Что мы обсуждали раньше?" → Semantic Recall
— Профиль пользователя (имя, предпочтения) → Working Memory
На практике все три типа работают вместе, создавая полную картину контекста для агента.
—
Что дальше?
У нас есть умный агент с инструментами и памятью. Но что если задача сложная и требует нескольких шагов? Проверить данные, обогатить их, проанализировать, сформировать отчёт?
В следующем посте серии разберём Workflows — как строить цепочки действий и оркестрировать сложные AI-процессы.
Проблема Conversation History
В прошлом посте мы разобрали три типа памяти. Conversation History — самый простой: берём последние N сообщений и добавляем в контекст.
Но что если пользователь спрашивает: "Что мы обсуждали про мой проект на прошлой неделе?" — а это было 100 сообщений назад? Conversation History не поможет.
Здесь вступает Semantic Recall.
—
Semantic Recall — поиск по смыслу
Semantic Recall — это RAG-поиск (Retrieval-Augmented Generation), который находит релевантные сообщения не по порядку, а по смыслу.
Как это работает:
— Сообщение пользователя превращается в вектор (embedding)
— Система ищет похожие векторы в истории переписки
— Находит релевантные сообщения, даже если они были давно
— Добавляет их в контекст агента
Пример: пользователь спрашивает "Когда дедлайн моего проекта?" — система находит сообщение месячной давности "Работаю над проектом, дедлайн в следующем месяце" и добавляет его в контекст.
—
Conversation History vs Semantic Recall
Conversation History — последние N сообщений, строго по порядку, ограничено количеством.Semantic Recall — любые релевантные сообщения, по смыслу, ищет по всей истории.Аналогия с человеческой памятью: вы не помните каждое слово каждого разговора, но можете вспомнить релевантную информацию, когда вас спрашивают.
—
Working Memory — карточка клиента
Semantic Recall ищет по сообщениям. Но иногда нужно хранить не сообщения, а факты: имя пользователя, его предпочтения, текущие цели.
Working Memory — это "блокнот" агента для структурированных данных о пользователе.
Conversation History — хранит сырые сообщения. "Привет" → "Как дела?"
Semantic Recall — хранит релевантные сообщения. Поиск по смыслу.
Working Memory — хранит структурированные данные. Имя: Алексей, Город: Москва.
—
Как работает Working Memory?
Вы задаёте шаблон — что агент должен запоминать:
<user>
<name></name>
<city></city>
<preferences></preferences>
</user>
Когда пользователь говорит "Меня зовут Алексей, я из Москвы", агент сам заполняет шаблон. Теперь он знает имя и город — даже через 1000 сообщений.
Working Memory компактна и обновляется. В отличие от истории сообщений, которая только растёт, Working Memory хранит только актуальную информацию.
—
Когда что использовать?
— Недавний контекст (последние сообщения) → Conversation History
— "Что мы обсуждали раньше?" → Semantic Recall
— Профиль пользователя (имя, предпочтения) → Working Memory
На практике все три типа работают вместе, создавая полную картину контекста для агента.
—
Что дальше?
У нас есть умный агент с инструментами и памятью. Но что если задача сложная и требует нескольких шагов? Проверить данные, обогатить их, проанализировать, сформировать отчёт?
В следующем посте серии разберём Workflows — как строить цепочки действий и оркестрировать сложные AI-процессы.
❤3👍1🔥1
Пост 5 из серии Mastra
Когда одного агента недостаточно
До этого мы говорили об агентах как о самостоятельных единицах: есть агент, у него промпт, инструменты, память. Он получает запрос — даёт ответ.
Но что если задача сложнее? Например:
— Получить текст → проверить на ошибки → обогатить данными → сгенерировать саммари
— Принять заявку → валидировать → отправить в CRM → уведомить менеджера
Запихивать всё это в одного агента — плохая идея. Логика становится запутанной, сложно тестировать и переиспользовать.
Здесь нужны Workflows.
—
Что такое Workflows?
Workflows — это способ объединить операции в цепочки. Каждая операция — отдельный Step (шаг), который делает что-то одно.
— Модульность — разбиваете сложную задачу на простые шаги
— Переиспользование — один шаг можно использовать в разных workflows
— Тестируемость — каждый шаг тестируется отдельно
— Типобезопасность — чёткие входы и выходы для каждого шага
— Трейсинг — видите, что происходит на каждом этапе
—
Workflow vs Agent — ключевое отличие
И workflow, и agent могут выполнять сложные задачи с несколькими шагами. Но есть принципиальная разница:
Workflow — это конвейер. Вы заранее определяете: сначала валидация, потом обогащение, потом анализ. Всегда в этом порядке.
Agent с теми же инструментами будет сам решать, что вызвать. Может сразу пойти в анализ, может сначала уточнить у пользователя, может вызвать инструменты в другом порядке — в зависимости от контекста.
Когда что выбрать:
— Нужна предсказуемость и чёткий процесс → Workflow
— Нужна гибкость и адаптация к ситуации → Agent
—
Step — строительный блок
Каждый Step:
1. Принимает данные на вход (что ожидает получить)
2. Выполняет работу (логика)
3. Возвращает данные в заданном формате (результат)
Шаги соединяются в цепочку: выход одного шага становится входом следующего.
Внутри шага может быть что угодно: простая функция, вызов API, или даже обращение к AI-агенту для анализа.
—
Параллельное выполнение
Иногда шаги не зависят друг от друга. Например, нужно проанализировать текст по трём параметрам: SEO, читабельность, тональность.
Запускать их последовательно — долго. Workflows позволяют запустить их параллельно:
Последовательно: 2s + 2s + 2s = 6s
Параллельно: 2s (все одновременно)
—
Условное ветвление
Не всегда нужно выполнять все шаги. Иногда логика зависит от данных:
— Короткий текст → быстрая обработка
— Средний текст → стандартная обработка
— Длинный текст → детальный анализ
Workflows поддерживают ветвление — выбор пути в зависимости от условий:
—
Зачем агенты внутри Workflows?
Шаги могут содержать не только простую логику, но и вызовы AI-агентов:
— Понимание контекста — AI интерпретирует смысл, не только данные
— Генерация insights — анализ, недоступный простой логике
— Адаптивность — разные ответы для разного контента
— Natural language — человекочитаемый вывод
Workflow становится комбинацией детерминированных шагов (валидация, форматирование) и AI-шагов (анализ, генерация
Когда одного агента недостаточно
До этого мы говорили об агентах как о самостоятельных единицах: есть агент, у него промпт, инструменты, память. Он получает запрос — даёт ответ.
Но что если задача сложнее? Например:
— Получить текст → проверить на ошибки → обогатить данными → сгенерировать саммари
— Принять заявку → валидировать → отправить в CRM → уведомить менеджера
Запихивать всё это в одного агента — плохая идея. Логика становится запутанной, сложно тестировать и переиспользовать.
Здесь нужны Workflows.
—
Что такое Workflows?
Workflows — это способ объединить операции в цепочки. Каждая операция — отдельный Step (шаг), который делает что-то одно.
— Модульность — разбиваете сложную задачу на простые шаги
— Переиспользование — один шаг можно использовать в разных workflows
— Тестируемость — каждый шаг тестируется отдельно
— Типобезопасность — чёткие входы и выходы для каждого шага
— Трейсинг — видите, что происходит на каждом этапе
—
Workflow vs Agent — ключевое отличие
И workflow, и agent могут выполнять сложные задачи с несколькими шагами. Но есть принципиальная разница:
Workflow — шаги выполняются в заранее определённом порядке. Предсказуемость и контроль. Вы задаёте логику.Agent — сам решает, когда и какой tool использовать. Гибкость и адаптивность. AI выбирает путь.Workflow — это конвейер. Вы заранее определяете: сначала валидация, потом обогащение, потом анализ. Всегда в этом порядке.
Agent с теми же инструментами будет сам решать, что вызвать. Может сразу пойти в анализ, может сначала уточнить у пользователя, может вызвать инструменты в другом порядке — в зависимости от контекста.
Когда что выбрать:
— Нужна предсказуемость и чёткий процесс → Workflow
— Нужна гибкость и адаптация к ситуации → Agent
—
Step — строительный блок
Каждый Step:
1. Принимает данные на вход (что ожидает получить)
2. Выполняет работу (логика)
3. Возвращает данные в заданном формате (результат)
Шаги соединяются в цепочку: выход одного шага становится входом следующего.
Input → [Validate] → [Enrich] → [Summarize] → Output
Внутри шага может быть что угодно: простая функция, вызов API, или даже обращение к AI-агенту для анализа.
—
Параллельное выполнение
Иногда шаги не зависят друг от друга. Например, нужно проанализировать текст по трём параметрам: SEO, читабельность, тональность.
Запускать их последовательно — долго. Workflows позволяют запустить их параллельно:
┌─ SEO Analysis ──┐
Input → Validate → ├─ Readability ───┼→ Combine → Output
└─ Sentiment ─────┘
Последовательно: 2s + 2s + 2s = 6s
Параллельно: 2s (все одновременно)
—
Условное ветвление
Не всегда нужно выполнять все шаги. Иногда логика зависит от данных:
— Короткий текст → быстрая обработка
— Средний текст → стандартная обработка
— Длинный текст → детальный анализ
Workflows поддерживают ветвление — выбор пути в зависимости от условий:
┌─ quickProcess (< 50 слов)
Input → Validate → ├─ standardProcess (50-200 слов)
└─ detailedProcess (> 200 слов)
—
Зачем агенты внутри Workflows?
Шаги могут содержать не только простую логику, но и вызовы AI-агентов:
— Понимание контекста — AI интерпретирует смысл, не только данные
— Генерация insights — анализ, недоступный простой логике
— Адаптивность — разные ответы для разного контента
— Natural language — человекочитаемый вывод
Workflow становится комбинацией детерминированных шагов (валидация, форматирование) и AI-шагов (анализ, генерация
❤1👍1🔥1