PARTIALLY_UNSUPERVISED Telegram 265
Я обещал написать про бота, и добрался только сейчас, потому что этот пет проект вырвался из клетки и чуть меня не сожрал. Было интересно, неожиданный end-to-end опыт от идеи до багфиксов на проде за жалкие три дня.

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

Во-первых, парсить телеграм-каналы через bot API нельзя, и потому я парсил через телеграм-клиент, используя собственный основной аккаунт. Когда набежала толпа пользователей, я быстро попал в софт бан, и начал искать обходные пути. Рынок серых аккаунтов оказался недружелюбным, да и банились они примерно за 10 минут, даже если купить премиум и не наглеть с частотой запросов. Даже удивительно: спам-боты в комментариях прекрасно живут, а довольно безобидное чтение каналов оказалось жестко ограничено. В итоге помог рабоче-крестьянский подход - скрапить веб-версию.

Во-вторых, в попытках выстроить систему рейт лимитеров, я накостылял слишком много велосипедов, и их впоследствии пришлось расчищать. Например, из-за кривого набора лимитеров запросы в LLM уходили батчами, и частично отваливались из-за лимита уже на стороне Gemini. Я дебагал практически "на продакшене" с живыми пользователями, которые периодически справедливо жаловались, что ничего не работает. Как следствие, много ранних пользователей так и остались без ответа. К счастью, у меня остались логи в базе данных, и потому я смогу всем написать и предложить попробовать снова сейчас, когда проблемы со стабильностью решены.

В-третьих, к слове о базе данных, я впервые всерьез попробовал Neon (ссылка накинет 5 баксов на аккаунт) для своего проекта и остался очень доволен - все просто работало безо всякой возни, причем на обычном бесплатном аккаунте, это сэкономило мне кучу времени и сил. Всем рекомендую, коллегам респект!

В-четвертых, я впервые что-то сделал end-to-end на расте, и моя жизнь не будет прежней. Писать на нем руками, конечно, сложнее и дольше (skill issue, признаю), чем на каком-нибудь питоне, но если 90+% кода написано агентом, то эта проблема в целом уходит. Зато качество изменилось всерьез: если что-то компилировалось без ворнингов, то оно обычно просто работало. В питоне пришлось бы потратить на порядок больше усилий на тестирование и бесконечные фиксы. Короче, думаю, что всерьез перейду на Rust для одноразовых проектов на выброс. Отдельный кайф наблюдать, как что-то помещается в <40 мегабайт памяти.

В-пятых, аудитория оказалась совершенно за пределами моего пузыря. Я изначально делал это все для корешей-задротов, которые в основном пишут лонгриды про AI, а в итоге набежало очень много людей, у которых, например, контент - это исключительно картинки. Камон, для этого есть инстаграм! И, конечно, на таких каналах ничего не работает.

Статистика: 7500+ юзеров, 200+ плательщиков. Заработано в звездах на ~10% больше, чем потрачено на Gemini API (то есть если бы это был настоящий бизнес, экономика бы едва сошлась; не будь лимитов и платных фичей - я бы наверняка офигел от затрат). Какой-то моментум есть, можно попробовать пилить новые фичи и вообще развивать эту штуку. Для самых любопытных выложил исходники - с нуля я бы сейчас делал слегка иначе (например, надо было использовать каналы, с самого начала делать персистентность для in flight тасков), ну да как есть.
❤‍🔥84🔥4225👍11🍓2



tgoop.com/partially_unsupervised/265
Create:
Last Update:

Я обещал написать про бота, и добрался только сейчас, потому что этот пет проект вырвался из клетки и чуть меня не сожрал. Было интересно, неожиданный end-to-end опыт от идеи до багфиксов на проде за жалкие три дня.

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

Во-первых, парсить телеграм-каналы через bot API нельзя, и потому я парсил через телеграм-клиент, используя собственный основной аккаунт. Когда набежала толпа пользователей, я быстро попал в софт бан, и начал искать обходные пути. Рынок серых аккаунтов оказался недружелюбным, да и банились они примерно за 10 минут, даже если купить премиум и не наглеть с частотой запросов. Даже удивительно: спам-боты в комментариях прекрасно живут, а довольно безобидное чтение каналов оказалось жестко ограничено. В итоге помог рабоче-крестьянский подход - скрапить веб-версию.

Во-вторых, в попытках выстроить систему рейт лимитеров, я накостылял слишком много велосипедов, и их впоследствии пришлось расчищать. Например, из-за кривого набора лимитеров запросы в LLM уходили батчами, и частично отваливались из-за лимита уже на стороне Gemini. Я дебагал практически "на продакшене" с живыми пользователями, которые периодически справедливо жаловались, что ничего не работает. Как следствие, много ранних пользователей так и остались без ответа. К счастью, у меня остались логи в базе данных, и потому я смогу всем написать и предложить попробовать снова сейчас, когда проблемы со стабильностью решены.

В-третьих, к слове о базе данных, я впервые всерьез попробовал Neon (ссылка накинет 5 баксов на аккаунт) для своего проекта и остался очень доволен - все просто работало безо всякой возни, причем на обычном бесплатном аккаунте, это сэкономило мне кучу времени и сил. Всем рекомендую, коллегам респект!

В-четвертых, я впервые что-то сделал end-to-end на расте, и моя жизнь не будет прежней. Писать на нем руками, конечно, сложнее и дольше (skill issue, признаю), чем на каком-нибудь питоне, но если 90+% кода написано агентом, то эта проблема в целом уходит. Зато качество изменилось всерьез: если что-то компилировалось без ворнингов, то оно обычно просто работало. В питоне пришлось бы потратить на порядок больше усилий на тестирование и бесконечные фиксы. Короче, думаю, что всерьез перейду на Rust для одноразовых проектов на выброс. Отдельный кайф наблюдать, как что-то помещается в <40 мегабайт памяти.

В-пятых, аудитория оказалась совершенно за пределами моего пузыря. Я изначально делал это все для корешей-задротов, которые в основном пишут лонгриды про AI, а в итоге набежало очень много людей, у которых, например, контент - это исключительно картинки. Камон, для этого есть инстаграм! И, конечно, на таких каналах ничего не работает.

Статистика: 7500+ юзеров, 200+ плательщиков. Заработано в звездах на ~10% больше, чем потрачено на Gemini API (то есть если бы это был настоящий бизнес, экономика бы едва сошлась; не будь лимитов и платных фичей - я бы наверняка офигел от затрат). Какой-то моментум есть, можно попробовать пилить новые фичи и вообще развивать эту штуку. Для самых любопытных выложил исходники - с нуля я бы сейчас делал слегка иначе (например, надо было использовать каналы, с самого начала делать персистентность для in flight тасков), ну да как есть.

BY partially unsupervised


Share with your friend now:
tgoop.com/partially_unsupervised/265

View MORE
Open in Telegram


Telegram News

Date: |

Among the requests, the Brazilian electoral Court wanted to know if they could obtain data on the origins of malicious content posted on the platform. According to the TSE, this would enable the authorities to track false content and identify the user responsible for publishing it in the first place. The SUCK Channel on Telegram, with a message saying some content has been removed by the police. Photo: Telegram screenshot. You can invite up to 200 people from your contacts to join your channel as the next step. Select the users you want to add and click “Invite.” You can skip this step altogether. While the character limit is 255, try to fit into 200 characters. This way, users will be able to take in your text fast and efficiently. Reveal the essence of your channel and provide contact information. For example, you can add a bot name, link to your pricing plans, etc. How to Create a Private or Public Channel on Telegram?
from us


Telegram partially unsupervised
FROM American