Python Simple
226 subscribers
55 photos
6 videos
175 links
by mr.Gold
Download Telegram
Были дни, когда у меня улетало по 50 миллионов токенов)
Так рапортовал Cursor.
Подписка личная за 20$, и с таким расходом месячный лимит улетал довольно быстро.

Дошёл я до этого так.
Одну большую фичу я делал в plan mode, фаза за фазой, и всё это время мы с нейронкой переговаривались.
А от постоянного диалога растёт контекст.
Особенно если закидывать туда километровые логи с просьбой найти ошибку.

А ещё, когда я сидел в Cursor, то заметил, что при заполнении контекста он делает саммаризацию.
Это происходило, когда я заполнял весь контекст и он его ужимал, чтобы можно было работать дальше без галлюцинаций.
Я этим так приисполнился, что по одной задаче недели две не начинал новый чат.
Контекст был с 2-х недельной историей и мне было жалко его обнулять (тут я тоже ошибался)

Ещё саммаризация оказалась не бесплатной.
Пару раз ловил, что сказанное несколько итераций назад нейронка просто забыла.
Иногда было неприятно.

Сейчас мне сложно представить, какой нужен объём работы, чтобы столько потратить.
Хотя при желании это делается легко - агентские циклы жрут токены прекрасно.
Только токены можно палить бездумно, гоняя по кругу ненужный контекст, а можно грамотно.
И разница отлично видна по количеству сделанного.

Сейчас plan mode я не использую - перешёл на скиллы.
Но он правда неплох, и если не пробовали - попробуйте.
А про скиллы в следующий раз.
8
/grill-me!

Я много раз упоминал скиллы, пора наконец рассказать, что это такое.

Скилл - это обычный md-файл с контекстом.
Внутри есть поле description, где написано, что этот скилл делает.
Вызвать его можно самому. Но все description подгружаются в каждую сессию, так что нейронка теоретически может и сама подобрать нужный скилл ровно тогда, когда он понадобится.
Я пока вызываю сам.

Открытием для меня стали скиллы Мэтта Покока.
https://github.com/mattpocock/skills

Начал я с grill-me, и вот он сильно забустил проработку задач.
Даёшь ему задачу - и он начинает задавать вопросы. Всё, что неоднозначно или имеет несколько вариантов реализации.
Обычно их до десяти, на маленькой задаче - три-пять. Мой рекорд пока пятнадцать.
И всё это до того, как он возьмётся писать спеку. А реализация уже после спеки.

Собственно, grill-me и заменил мне plan mode.
Там план появлялся сразу: нейронка заводила файл и била задачу по фазам.
А grill-me вставляет шаг раньше - сначала выясняет, чего не знает, и только потом планирует.

По сути это скилл, который делает тебя более хорошим разработчиком.
Не садиться сразу делать задачу, а сначала как следует её погрумить, составить план - и только потом выполнять.
Что так надо работать знают все, но почти никто так не делает. А тут за тебя это делает скилл.
С ним даже может показаться, что вы осознанный разработчик, когда придете к заказчику задачи с вопросами)

Одним grill-me дело не кончилось.
Сейчас у меня из скиллов собран целый пайплайн под решение задачи - но про это в другой раз.
6
/teach

Меня давно посещала мысль, что нейронку можно нормально приспособить для обучения.

Как я это видел:
Просто просить её писать уроки - немного не то, без фидбека это не работает. Нужен интерфейс.
Возьмём английский. У тебя есть какой-то вокабуляр, какая-то грамматика, на какие-то темы ты уже умеешь говорить.
Хочется, чтобы следующий урок всё это учитывал: и повторение пройденного, и новый материал. И чтобы ты при этом мог сказать, что хочешь учить дальше и в какую сторону двигаться.
Интерфейс - веб-страница, на которой рендерятся задания, которые ты сам считаешь полезными. Прослушать текст и ответить на вопросы, написать небольшой текст и отправить на проверку, что-то проговорить, вставить слова. Что любишь, то и рендерится.
Дальше нейронка складывает это с тем, что ты хочешь учить, и выдаёт следующий урок - размером тоже по твоему запросу, на 15 минут, на полчаса.

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

Я фанат скиллов Мэтта Покока, поэтому мимо его скилла teach не прошёл.
Посмотрел на ютубе, как через него учат итальянский, технические темы и что угодно.

Нужен был повод начать. Порог входа сейчас упал настолько, что если не лень пошевелить пальцем - уже можешь что-то попробовать)

Прилетела вакансия, а от рекрутера один из вопросов: использовали ли LangChain, LangGraph, RAG, векторные БД, писали ли агентов.
Я этого всего не делал сам, но ответил, что за выходные накручу это на живом проекте и в понедельник смогу говорить предметно.

teach превращает папку в учебный класс.
Сначала спросил, зачем мне это и сколько времени я готов потратить - всего и на один урок. Из ответов родился файл с миссией.
Дальше он составил план уроков, и каждый урок - отдельная html-страница.
Я прохожу урок, задаю вопросы по непонятному, даю фидбек - и следующий урок он собирает уже с учётом этого.
Вот этого не умеет ни курс, ни доки: они не знают ни моей вакансии, ни того, что я не понял в прошлом уроке.

Практиковался я не на учебном датасете, а на спеке своего рабочего проекта.

За вечер: шесть уроков, RAG на PostgreSQL с pgvector, агент на tool calling, потом переписал его на LangGraph и сравнил с голым SDK.
Собеса пока не было, но ответили, что предварительно подхожу)

Но кстати был собес в другую компанию первый за полтора года примерно, и были подняты интересные темы, которые хотел бы осветить в недалеком будущем)
7🔥3
Please open Telegram to view this post
VIEW IN TELEGRAM
5
Please open Telegram to view this post
VIEW IN TELEGRAM
4
Разбираем вчерашние задачки

В первой правильный вариант:
[3, 4] [3, 4]

В этой задаче есть 3 момента:
1 - значения по умолчанию вычисляются в момент выполнения def и живут всю жизнь ф-ии. Одни на все вызовы. Это важный момент!
2 - При изменении lst внутри ф-ии по сути изменяется общий lst.
3 - 2 вызова ф-ии возвращают ссылки на один и тот же список и только потом вместе принтятся, отсюда и 2 одинаковых результата.

Во второй правильный ответ:
100

Тут ключевое - ленивое вычисление, список заполняется лямбда-функциями, но они не выполняются сразу, выполняются в строке принта, когда n=10, поэтому вызов любой лямбды из списка даст ответ 100.
7🔥1
Что бы ещё изучить с помощью /teach?

Опыт с RAG вышел достаточно успешным, так что хочется затестить teach ещё на чём-нибудь.
Набралось пять вариантов, выбираю из них.

Первое - кубер. Пока представление общее, но может понадобиться под проектную работу.

Второе - глубокий курс по базам. Пройти всё, что реально встречается и в работе, и на собесах. Это на случай, если пойду искать работу.

Третье - английский. Я уже рассказал, как это могло бы выглядеть - интерфейс, задания под свой вокабуляр, урок на 15 минут. Но тут скорее всего надо будет допиливать скилл или добавлять свой контекст по заданиям, не уверен, что из коробки получу то, что хочу, благо в процессе можно вносить корректировки в формат обучения.

Четвёртое - готовка. Курс под мои бжу и под то, насколько еда вообще должна быть полезной.

Пятое - французский. Это чисто по фану и скорее всего уже после того, как налажу английский.

Ну и склоняюсь я к куберу)
Так как уроки рендерятся в html, подумываю над тем, чтобы выкладывать их через github pages. Кому такое интересно - отпишитесь, затестим вместе)
🔥53
Чем я пользуюсь сейчас?

Судя по моим постам, может показаться, что я всё ещё сижу в курсоре.
Курсор никуда не делся, но роль у него теперь другая - и про то, как так вышло, стоит рассказать.

Началось с того, что я стал регулярно вылезать за лимиты. Причём формула работы у меня к тому моменту была уже нормальная - то есть дело было не в кривых руках, а в объёме.
Внутри курсора я и так сидел на моделях Codex, они выходили дешевле Sonnet, а добивал уже композером. Отдельно Codex я при этом не гонял ни разу.
Так что вопрос стоял простой: какую подписку покупать. Свелось к двум - ChatGPT и Claude Code.

Выбирал я конечно долго, как новый ноут или спортивные часы)

Требований изначально было два: чтобы можно было запускать что-то по шедулеру и чтобы можно было самому дёрнуть нейронку из консоли.
Дальше пошёл список помельче: какие модели чаще блокируют запросы, где нужен VPN, а где нет, инфраструктура, качество голосового ввода, удобство работы. И remote control - начать сессию на компе, включить его и продолжить с телефона.

А потом выяснилось, что Claude Code блокирует вызовы из консоли, если у тебя подписка: хочешь из терминала - плати за токены.
Ну ок, думаю, беру Codex.

Но в итоге я всё-таки взял Claude Code. Решил, что консоль - не то, что мне действительно нужно, плюс решил, что надо просто попробовать всё.
С шедулером получилось похоже: он есть внутри самого клодкода, и внешний оказался не таким уж обязательным.
А почему именно он - я сейчас уже и не вспомню.

Потому что, когда разобрался, стало понятно: функционал у них практически одинаковый. Кто-то выкатывает фичу - вторые добавляют её следующим релизом.

Сейчас картина такая. Основное - Claude Code. Курсор остался как ide. Подписка весной случайно продлилась ещё на год, так что он у меня всё равно есть. Иногда закрывает дыры, когда я выжег лимиты клодкода, ну и часть вопросов я по привычке решаю им.
8
Please open Telegram to view this post
VIEW IN TELEGRAM
Кубер стартует!

Писал, что для дальнейшего тестирования скилла /teach выбрал кубер.
Я немного общался с нейронкой, чтобы понять вводные для курса - нужно уметь пользоваться терминалом и знать докер, но совсем поверхностно.

Так вот, первый урок готов! Подключил /frontend-design, чтобы было красиво - можно посмотреть и с телефона.
Уроки рендерятся в html и лежат на github pages.

Дальше буду делать ссылки на каждый урок и в комментариях буду собирать фидбек, если он будет, то буду его подмешивать в следующий урок или отвечать в комментариях.
6🔥3
Урок 3 - Pod и Deployment.
https://ffortunado.github.io/k8s-course/lessons/0003-pod-deployment.html

Комментарии и вопросы - сюда же, под этот пост.
4🔥2
Пока можно будет сделать перерыв и собрать фидбек, все ли получилось установить и возможно требуется дополнительный промежуточный урок с пояснением непонятных моментов.
Очень интересный выпуск, тут Кирилл показывает, как реально использует агентов, а не теория с opencode, менеджерить агентами и прочая магия. Все просто опус и клодкод) минимальные промпты.
Я кстати было какое-то время пытался настраивать свою инфраструктуру, но оказалось работать с тем, что есть и ждать обновлений готовых скиллов - более правильная стратегия, к чему как вижу приходят и другие
4
https://t.me/it_krasavchik/708

Интересно читать про то, кто как автоматизирует работу.

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

Также можно делать отклики с сопроводительными письмами (только важно в промпте написать правило, чтобы не откликнуться в свою компанию).

Но плагин крут и для автоматизации ручного тестирования и автоматизации чего угодно в браузере, тут уже ваша фантазия (отвечать в рабочих чатах тоже можно 😄)
Please open Telegram to view this post
VIEW IN TELEGRAM
3😁2
Урок 6 - health-пробы.
Про то, как кластер отличает живое приложение от просто запущенного - и что делать, если процесс жив, а отвечать уже не может.
https://ffortunado.github.io/k8s-course/lessons/0006-health-probes.html

Комментарии и вопросы - сюда же, под этот пост.
🔥4