DegenCoding
227 subscribers
44 photos
1 video
2 files
39 links
Download Telegram
3/3

👮 Вывод (успокаиваю новичков и опытных разработчиков)
ИИ действительно помогает опытному разработчику быть быстрее в разработке, адаптировании, прототипировании.

НО для новичков этот же помощник может помочь только в выстреливании ему в ногу.

Молодой специалист начинает учиться "плохому" коду и думает, что так писать правильно.

Такой же вывод я увидел и у предпринимателей из США, которые выдавали своим программистам доступ к ИИ агентам, по типу Cursor, они заметили, что у ребят с грейдом от middle, продуктивность выросла, так же как и скорость выполнения задач, а вот у junior она наоборот снизилась (к сожалению ссылку на эту статью я потерял, но можете поверить на слова).


🔫 Получился очень длинный пост (пришлось аж разбивать на несколько частей), но надеюсь было полезно. На тему вайбкодинга у меня ещё остались мыли, а самое интересное ФИШКИ, которыми я буду рад поделиться.

👅Проявите активность и я дропну гайд с фишками, которые помогут тебе создать своё приложение или даже ИИ агента на ElizaOS 👅

DegenCoding подписаться.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5👍21
😱 ТЫ ИСПОЛЬЗУЕШЬ ЛИШЬ 50% ОТ ВОЗМОЖНОСТЕЙ ИИ
если не знаешь как составить правильный промпт.

🎰 Что такое промпт-инжиниринг
Промпт-инжиниринг (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. Язык запроса
Раньше я писал промпты на английском, но теперь спокойно формулирую на русском.

Если считаешь, что англоязычные промпты могут сработать лучше — переведи через переводчик или можешь воспользовать предыдущей "фишкой" и дать модели сгенерить промпт на английском (твой запрос может быть на русском), но если тебе нужен конечный ответ на русском, то обязательно сообщи модели об этом.


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

🤔 Экспериментируй и комбинируй различные техники. С практикой твои промпты станут точнее и эффективнее. Practice makes perfect!

🚫 Для получения хорошего результата, вышеописанного вполне хватает, но для AI IDE можно применить ещё пару приёмов, которые ещё больше улучшат конечный результат, делаю пост про это ?

👥 Ваша активность показывает, что вам интересно — жду фидбэк в комментариях!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥71👍1
😱 КАК МЫ ЗАБИЛДИЛИ ЛУЧШИЙ WEB3 АГГРЕГАТОР

Совместно с 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
😳 АВТОМАТИЗИРУЕМ СВАПЫ НА JUPITER
с помощью 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
Напомню: MCP (Model Context Protocol) — это сервер, который даёт ИИ дополнительные контексты и «умения». Ранее я уже рассказывал об этом, а сейчас — кратко о тех фичах, что использую сам.

Context7
— Бывало такое, что ИИ предлагает функции из библиотек, которых нет или никогда не было? Context7 решает проблему: база из 10 000+ документаций автоматически подгружается в контекст ИИ, ИИ «изучает» актуальную версию вашей библиотеки и генерирует код без галлюцинаций. Чтобы воспользоваться, добавьте в промт: use context7

Sequential Thinking
— Инструмент для структурированного «мышления» при решении задач.
Что умеет:

- Разбивать сложные задачи на пошаговые подзадачи

- Пересматривать и уточнять «мысли» по ходу работы

- Параллельно развивать несколько веток рассуждений

- Генерировать и проверять гипотезы

Универсален — можно применять не только к кодингу.


👮‍♂️ Правила редактора (Rules)
Один из самых недооценённых инструментов cursor — Rules. Поскольку LLM не хранят все подсказки между сессиями, Rules помогают задать постоянный контекст: вы пишете их один раз, и агент всегда их помнит.

Правила делятся на два уровня:

🔧 1. Project rules
Где хранятся: папка .cursor/rules (необязательно в корне)
Формат: файлы .mdc (markdown-подобный).

Типы Project rules:
Always —

Всегда загружаются в контекст. Общие кодстайл-правила, архитектурные принципы, работа с Git

Auto Attached —

Подключаются автоматически при работе с файлами по определённому шаблону. Тут можете описать например то, как в определённой части приложения вы взаимодействуете с API или что-то, что актуально только для определённых файлов.


Agent Requested —

Агент может запросить их дополнительно. Не знаю, в каком случаем может быть актуально :(


Manual —

Включаются по явному тегу @ruleName в промте


Совет: Хотите быстро сгенерировать шаблон правил? Введите в поле ввода "/" и выберите Generate cursor rules.

Можно создать несколько .cursor/rules (например, для фронтенда и бэкенда) и разделить контекст по зонам ответственности.

🚶‍♀️ 2.User rules
Где задаются: в настройках Cursor (Cursor Settings → User Rules).
Назначение: Общие, сквозные правила для всех проектов.

Примеры User rules
:
— Языковые предпочтения (например, отвечать на русском)

— Стандарты качества кода ("пиши максимально простой и понятный код")
Please open Telegram to view this post
VIEW IN TELEGRAM
8🔥1
😳 Хочешь написать приложение/чат бот в котором есть AI ассистент ? Рассказываю как

Если ты хочешь внедрить AI в свой продукт — не нужно изучать кучу библиотек или изобретать велосипед. Всё, что тебе нужно, — AI SDK.

AI SDK — это open source-инструментарий от Vercel, который превращает сложные AI-интеграции в пару строк кода. И это не просто обёртка, а полноценный фреймворк, который даёт тебе:

Generative UI — компоненты интерфейса, которые генерируются на основе LLM
Поддержку GPT-4o, Claude, Gemini и других моделей через единый интерфейс
Чат, стриминг, RAG, tools, function calling — всё из коробки, без боли

🛠 Примеры с AI SDK Provider от OpenRouter
👊 Backend
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()
}

😱 Вывод на frontend:
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>
);
}



🚶‍♀️ Почему это круче, чем использовать API напрямую?
1. Один интерфейс — доступ к сотням моделей (OpenAI, Anthropic, Mistral, и т.д.). Не нужно завязываться на один API, меняй модели "на лету".
2. Легкое переключение между провайдерами
3. Встроенная поддержка tools, RAG, function calling
4. Гибкость — подходит для web-продуктов, ассистентов, виджетов, всего

👮‍♂️ Вывод
AI SDK от Vercel — это универсальный ключ к миру AI. Он убирает всю рутину, чтобы ты мог сосредоточиться на создании продукта: интерфейс, логика, стриминг — всё уже готово.

🐺 Рассказать подробнее про Generative UI или RAG ? Пиши в комментариях
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 года: подборка, которая упростит тебе жизнь

ИИ-инструменты в 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
🔥85🤝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
👍2
Запилил web3 crypto copilot агента
подробнее можете в твиттере почитать, ссылка на агента там же )

https://x.com/AirPulseAI/status/1941176309415358805
🔥4👍1
😳 А у нашего проекта, лёгкий ребрендинг. теперь мы не airpulse, а munar.ai

Наш агент поможет вам в поиске необходимого web3 протокола под любые нужды. У него в базе 500+ блокчейнов и более 1000 проектов!

НО!

😱 Самое важное, что он поможет вам сделать swap/bridge в популярных сетях при помощи простого текстового запроса на любом удобном вам языке!

🕵️‍♂️ Скоро все о нас узнают, но вы можете быть в числе ранних пользователей
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. Кто-то упаковал его мысли для детей, а я перевел эту презенташку для своей сестры. Прикрепляю для ленивых, можно начать с нее.
8🔥4💯2
😳 Отвлекаешься каждые 5 минут, а когда не отвлекаешься - всё равно не можешь начать?

Вот 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
😳Как учиться в 2 раза эффективнее?

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

🐺 NotebookLM — это инструмент от Google для исследований и организации контента на базе ИИ, который помогает пользователям оптимизировать рабочий процесс, повысить эффективность обучения и креативность. Так говорят сами Google про своё приложение.

😞 Если коротко, NotebookLM даёт возможность создать рабочие зоны — «Блокноты», в которые можно загрузить до 50 источников данных разных форматов (PDF, MP3, видео с YouTube или просто ссылка на сайт), а затем создавать:

- аудиопересказы
- видеопересказы
- ментальные карты (mind map)
- отчёты в различных форматах
- карточки с вопросами и ответами
- тесты
- инфографику
- презентации

Форматы отчётов варьируются от стандартных (краткий обзор, методичка) до адаптивных под твой контент. Например, если изучаешь построение агентских флоу — предложат формат с уклоном на внедрение систем, а не на техническую реализацию. Можно выбрать и описать свой формат.

🔔 Важная функция — возможность задавать вопросы в чат. Если в карточке попался сложный вопрос или ответ показался непонятным, жмёшь кнопку «Объяснить» — открывается чат с подробным объяснением и интерактивными отсылками на твои источники с конкретными цитатами.

Всё это можно генерировать на любом языке и полностью бесплатно!

🤣 Что отличает NotebookLM от ChatGPT?

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
🔥42👍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 превращает языковую модель в специализированного ассистента.
🔥8❤‍🔥51
Пост 1 из серии Mastra

Чем агент отличается от чат-бота?


Обычный чат-бот — это интерфейс к языковой модели. Вы пишете вопрос, получаете ответ. Всё.

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 — чтобы он помнил контекст разговора и ключевые факты о пользователе.
👍32🔥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

Tools — пишете сами под свои нужды. Полный контроль над логикой, но больше работы.

MCP — используете готовые серверы. Стандартизированный протокол, быстрое подключение.

На практике их комбинируют: MCP для стандартных интеграций, кастомные tools для специфичной бизнес-логики.



Что дальше?

Теперь наш агент умеет действовать — вызывать API, отправлять письма, работать с данными. Но есть ещё одна проблема: он не помнит, о чём вы говорили минуту назад.

В следующем посте разберём Memory — как сделать так, чтобы агент запоминал контекст разговора.
🔥63
Пост 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 — умные механизмы памяти, которые делают агентов по-настоящему контекстно-осведомлёнными.
🔥5👍43
Пост 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

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 — сам решает, когда и какой 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
Пост 6 из серии Mastra

Проблема: как понять, что агент работает хорошо?


Мы разобрали, как создать агента: дать ему роль, инструменты, память, построить workflow. Но есть вопрос, который многие игнорируют: а как измерить качество его работы?

В обычном коде всё просто — тест проходит или нет. Но AI недетерминирован: один и тот же вопрос может дать разные ответы. Нельзя написать assert и успокоиться.

Без измерений вы летите вслепую — меняете промпт и не знаете, стало лучше или хуже.

Здесь нужны Scorers.



Что такое Scorers?

Scorers — это автоматические оценщики, которые измеряют качество ответов агента. Они возвращают число от 0 до 1, где 1 — идеально.

Точен ли ответ? — не галлюцинирует ли агент
Релевантен ли ответ? — отвечает ли на заданный вопрос
Безопасен ли ответ? — нет ли токсичности или предвзятости
Полон ли ответ? — не упустил ли важную информацию

Scorers превращают субъективное "вроде нормально отвечает" в объективные метрики.



Зачем это нужно?

Продакшен: без scorers нельзя выпускать агента в прод — вы не знаете, насколько он надёжен
Итерации: поменяли промпт или модель — scorers покажут, стало лучше или хуже
CI/CD: scorers встраиваются в пайплайн деплоя как обычные тесты
Мониторинг: в реальном времени отслеживаете качество ответов на проде

Аналогия: scorers для AI-агентов — как юнит-тесты для обычного кода. Без них вы не знаете, что сломали.



Три подхода к оценке

Mastra поддерживает разные способы оценки:

Rule-based — детерминированные правила. Проверяем конкретные критерии алгоритмически: совпадение текста, наличие ключевых слов, длина ответа. Быстро, предсказуемо, но ограничено.

Model-graded — LLM как судья. Другая модель оценивает ответ агента по заданным критериям. Гибко, понимает контекст, но дороже.

Statistical — статистические методы. Вычисляем метрики: cosine similarity, текстовое сходство, покрытие. Объективно и воспроизводимо.

На практике их комбинируют: rule-based для простых проверок, model-graded для нюансов, statistical для сравнений.



Как устроен scorer внутри?

Каждый scorer в Mastra — это pipeline из четырёх шагов:

preprocess — подготовка данных. Извлекаем нужное из сырого ввода/вывода агента.

analyze — анализ. Основная логика: собираем инсайты для оценки. Здесь может работать как алгоритм, так и LLM.

generateScore — оценка. Превращаем результат анализа в число от 0 до 1.

generateReason — объяснение. Человекочитаемое описание, почему такая оценка.

Обязательный шаг — только generateScore. Остальные опциональны. Но чем полнее pipeline, тем информативнее результат.



Почему pipeline, а не одна функция?

Разделение ответственности — каждый шаг делает одну вещь
Переиспользование — один preprocess для нескольких scorers
Отладка — видно, на каком шаге что-то пошло не так
Гибкость — можно миксовать функции и LLM в одном scorer
2👍2🔥2