# checkra1n — Full Blog Archive (Ukrainian) > Auto-generated from src/data/posts. Updated 2026-06-25. > Site: https://www.checkra1n.dev ## About checkra1n checkra1n (GitHub: checkra1neth) is an onchain developer and AI architect with 15+ years in crypto. Solidity, Rust, TypeScript. Polymarket bots, Uniswap v4 hooks, AI audit pipelines. Remote from Ukraine. --- ## Рівень 0: перший крок у світ AI URL: https://www.checkra1n.dev/intel/ai-riven-nulia-gayd Language: uk Date: 2026-06-22 Category: AI Description: Від нуля до AI: обери перший чатбот, зрозумій інтерфейс, пиши кращі промпти, уникни 20 типових помилок і спробуй 10 практичних вправ. Уяви: ти все життя їздив на конях, а тобі поставили космічний корабель. На панелі майже немає кнопок — лише текстове поле, яке чекає на твою команду. Саме так відчуває себе людина, яка вперше відкриває AI. Якщо ти ніколи не користувався нейромережею, але хочеш почати — цей гайд для тебе. Пройдемо шлях з абсолютного нуля: розберемо страхи, натиснемо перші кнопки і зрозуміємо, як отримувати реальну користь уже сьогодні. --- ### Крок 1. Обираємо свій перший «космоліт» Багато хто думає, що AI — це одна секретна програма. Насправді десятки компаній створюють нейромережі. Найвідоміші: [ChatGPT](https://chatgpt.com) (OpenAI), [Gemini](https://gemini.google.com) (Google), [Claude](https://claude.ai) (Anthropic), [Grok](https://x.com/i/grok) (xAI) та [DeepSeek](https://deepseek.com). На перший тиждень не варто паритися з вибором. Відкрий будь-який з цих трьох — вони працюють однаково: вікно чату, схоже на Telegram або WhatsApp. - ChatGPT: 55 - Gemini: 25 - DeepSeek: 20 **Pro Tip:** Компанія, модель і застосунок — це різні речі. OpenAI — компанія. GPT — модель. ChatGPT — застосунок, через який ти спілкуєшся. Як Apple → iPhone → iOS. Запам'ятовувати не обов'язково — але це знімає купу плутанини. --- ### Крок 2. Анатомія чату — куди натискати Будь-який AI-чат виглядає приблизно однаково. Чотири елементи, які важливі: - Текстове поле — сюди пишеш запит. Enter — відправити. - Скрепка / плюс (+) — прикріпити фото, PDF, скріншоти, таблиці, презентації. - Бокове меню — тут історія розмов. - Новий чат — нова тема. Обговорювали відпустку, а тепер потрібен бізнес-план? Відкрий новий чат. --- ### Крок 3. Головний секрет — він не живий Найбільший бар'єр для новачків — психологічний. Здається, що по той бік сидить розумна людина, яка оцінює твої питання. Насправді ні. У AI немає емоцій. Він ніколи не думає «яке дурне питання». Не ображається, не дратується, не втомлюється. Під капотом — система передбачення тексту, навчена на величезних обсягах даних. Звідси три правила: - Помилки не важливі — пиши як є, змішуй мови, без пунктуації. Зазвичай зрозуміє. - Він нескінченно терплячий — проси пояснити простіше, детальніше, з прикладами. Хоч десять разів поспіль. - Не образиться — поганий результат? Пиши «перероби повністю» або «занадто складно, поясни як новачку». --- ### Крок 4. AI — це діалог, а не іспит Типова помилка новачка: намагатися придумати ідеальний промпт з першої спроби. Найкращі результати — у процесі уточнень. ```text Ти: Напиши пост про каву. AI: [середній результат] Ти: Зроби коротше. Ти: Додай гумор. Ти: Прибери рекламу. Ти: Стиль як у популярного Telegram-каналу. → Після 3-4 уточнень результат у 10 разів кращий. ``` AI — не пошуковик. Це помічник, якого ти направляєш у процесі роботи. --- ### Крок 5. AI впевнено бреше **Pitfall:** Коли AI чогось не знає, іноді не каже «не знаю», а вигадує відповідь. У технологіях це називається галюцинацією — вигадані книги, закони, цитати, джерела. Правило: чим важливіша інформація, тим ретельніше перевіряй. - ідей - пояснень - навчання - чернеток - аналізу - медичні поради - юридичні питання - фінансові рекомендації - історичні факти - статистику та цифри --- ### Крок 6. Не завантажуй секрети **Pitfall:** Ніколи не надсилай паролі, дані банківських карт, API-ключі, конфіденційні документи компанії чи персональні дані інших людей. Якщо не показав би незнайомцю — не вставляй у чатбот. **warning:** Заглянь у налаштування приватності свого чатбота. Більшість сервісів дозволяють **вимкнути навчання на твоїх діалогах**, щоб покращити приватність даних. --- ### Крок 7. Що AI вміє найкраще - Пояснювати складне — «Поясни квантову фізику, ніби мені 12 років» - Писати тексти — статті, пости, листи, резюме - Навчати — попроси план навчання з будь-якої теми - Перекладати — з урахуванням контексту, а не дослівно - Генерувати ідеї — для бізнесу, контенту, проєктів - Підсумовувати документи — завантаж PDF на 100 сторінок, отримай короткий зміст - Писати код — навіть якщо ти не програміст - Аналізувати зображення — наприклад, скріншот помилки на комп'ютері --- ### Крок 8. Що AI робить погано - фактах без перевірки - дуже свіжих подіях - складних юридичних питаннях - медичній діагностиці - відповідальних фінансових рішеннях Це помічник. Не оракул. --- ### Крок 9. Без чіткого ТЗ — результат ХЗ Тут спотикається більшість новачків. Порівняй: ```text # Погано Напиши резюме. # Добре Ти — досвідчений HR-менеджер. Допоможи скласти резюме на позицію Junior QA. У мене немає комерційного досвіду, але є 6 місяців навчання і кілька навчальних проєктів. Формат для LinkedIn. Виведи готовий текст. ``` Хороший промпт має три частини: - Роль — ким має бути AI? («Ти — маркетолог з 10-річним досвідом») - Контекст — що відбувається? Обмеження? Мета? - Формат — список, таблиця, чек-лист, покроковий план? --- ### Кроки 10–12. За межами тексту - шукати в інтернеті - аналізувати документи та таблиці - генерувати зображення - розуміти голосові повідомлення - писати та запускати код - виконувати багатокрокові задачі Безкоштовних версій більшості сервісів вистачає на перші місяці. Платні плани дають потужніші моделі, більше лімітів, швидші відповіді. Спочатку навчися на безкоштовній — плати, коли впрєшся в стелю. Всередині одного чату AI пам'ятає попередні повідомлення — тому «зроби коротше» і «перероби третій пункт» працюють. Деякі сервіси зберігають довгострокову пам'ять між чатами. Не дивуйся, якщо згодом AI пам'ятатиме твої вподобання. --- ### Правило 80/20 для новачка Не намагайся одразу вивчити prompt engineering, агентів, автоматизації, API і десятки моделей. 80% користі дадуть чотири навички: - Чітко пояснювати задачу - Давати контекст - Просити переробити результат - Перевіряти важливі факти --- ### Рівень 0 пройдено Шлях у AI не починається з важкого софту чи дорогих курсів. Він починається, коли ти відкриваєш вікно чату і переносиш думки в текстове поле. Як тільки зрозумієш, що нейромережа — дзеркало твого запиту, партнер у діалозі, а не магічна куля — Рівень 0 пройдено. Готовий до Рівня 1. --- ### Практика: 10 промптів, які має спробувати кожен новачок Теорію можна читати нескінченно. Навичка з'являється лише в практиці. Скопіюй будь-який промпт нижче в ChatGPT, Gemini, Claude або DeepSeek. ### 1. Поясни складну тему > Поясни простими словами, що таке криптовалюта. Уяви, що мені 12 років. Використай приклади з повсякденного життя. ### 2. Зроби короткий зміст > Я зараз надішлю тобі статтю. Зроби короткий зміст у 10 пунктах і виділи найважливіші думки. ### 3. Допоможи прийняти рішення > Я обираю між покупкою ноутбука і збіркою стаціонарного ПК. Задай мені питання і допоможи прийняти рішення. ### 4. Склади план навчання > Хочу вивчити основи маркетингу з нуля. Склади покроковий план на 30 днів по 1 годині на день. ### 5. Перепиши текст краще > Я зараз надішлю текст. Зроби його зрозумілішим, живішим і професійнішим, зберігши зміст. ### 6. Виступи експертом > Уяви, що ти досвідчений фітнес-тренер. Допоможи скласти програму тренувань вдома. Спочатку задай необхідні питання. ### 7. Проаналізуй зображення > Опиши все, що бачиш на зображенні. Зверни увагу на деталі та потенційні проблеми. ### 8. Придумай ідеї > Мені потрібно 30 ідей для Telegram-каналу про подорожі. Розділи ідеї на рубрики. ### 9. Навчи через питання > Хочу вивчити основи інвестування. Не давай готову лекцію. Навчай поступово через питання і короткі пояснення. ### 10. Стань моїм помічником > Уяви, що ти мій особистий асистент. Допоможи організувати задачі на тиждень. Спочатку задай питання, щоб зрозуміти мою ситуацію. --- ### Бонус-завдання: один запит, два способи ```text # Варіант 1 (розмитий) Напиши пост про каву. # Варіант 2 (конкретний) Ти — досвідчений контент-маркетолог. Напиши пост для Telegram-каналу невеликої кав'ярні. Аудиторія — чоловіки і жінки 25–40 років. Тон — дружній і живий. До 1000 символів. Додай цепляючий заголовок і заклик до дії. ``` **Pro Tip:** Порівняй два результати поруч. Ця одна вправа швидше за будь-яку статтю показує головний закон AI: якість відповіді відображає якість запиту. --- ### 20 помилок новачків Більшість починає з величезними очікуваннями. Через кілька днів: «Це магія!» або «AI — нісенітниця». Зазвичай проблема в використанні, а не в моделі. - Занадто загальні питання — «Напиши пост» vs «Напиши пост до 1000 символів для Telegram-каналу спортивного харчування, аудиторія чоловіки 20–35» - Очікування ідеалу з першої спроби — уточнюй: «коротше», «додай приклади», «зміни стиль» - Страх задавати уточнення — «поясни детальніше», «наведи приклад», «чому ти так вважаєш?» - Використання AI як Google — пошук знаходить відповіді; AI допомагає думати, аналізувати, створювати - Сліпа довіра фактам — перевіряй цифри, закони, медичні та фінансові поради - Надсилання конфіденційних даних — паролі, банківська інформація, секретні документи - Ігнорування файлів — PDF, зображення, таблиці відкривають величезні сценарії - Не просити AI задати питання спочатку — «Допоможи відкрити бізнес. Спочатку задай питання, щоб зрозуміти ситуацію» - Мало контексту — «Як схуднути?» vs «Мені 35, сидяча робота, 30 хв/день, немає доступу до залу» - Без формату відповіді — вказуй список, таблицю, чек-лист або 10 пунктів - Один чат на все — нова тема = новий чат - Зупинка на першій відповіді — спробуй «дай ще 5 варіантів» або «покажи протилежний підхід» - Вважати, що AI знає все — особливо свіжі події та нішеві локальні дані - Намагатися виглядати розумним — проста мова працює краще за жаргон - Без ролей — «Допоможи» vs «Ти — досвідчений бухгалтер» - Занадто багато одразу — розбивай великі задачі на етапи - Не перевіряти розрахунки — особливо коли йдеться про гроші - Тільки текст — спробуй голос, зображення, документи, таблиці - Занадто швидко здаватися — навичка розвивається за тиждень щоденної практики - Не експериментувати — AI не освоїш лише читанням статей --- ### Головне правило > Погана відповідь? Перш ніж звинувачувати AI, запитай себе: наскільки чітко я пояснив задачу? У більшості випадків якість відповіді — відображення якості запиту. Якщо ти виконав хоча б половину вправ вище — ти вже далеко не на нульовому рівні. Ласкаво просимо на Рівень 1. --- ## З X Layer хакатону на Base Mainnet URL: https://www.checkra1n.dev/intel/fanovo-base-migration Language: uk Date: 2026-06-10 Category: DEV Description: Як ми перебудували токеноміку Fanovo для Base: ліквідність через сейл, Chainlink VRF паки та UUPS upgradeable контракти — 18 сесій Cursor пізніше. Fanovo задеплоїли на X Layer для двох хакатонів. CORS проксі, баги commit-reveal, витоки пам'яті — ми це полагодили і написали пост. Але хакатонний мейннет — не продакшн. У мене не було капіталу, щоб засіяти пул FANOVO/USDC. Запуск з 850k токенів і нулем стейблів? Токен помирає на першому блоці. ### Що було зламано в економіці? Справжній блокер був не в мережі — а в проводці. USDC з сейлу текли в treasury, який owner міг злити будь-коли. Ліквідність жила в презентації, а не в контракті. Паки все ще на commit-reveal — ок для хакатону, не для мейннету, де юзери чекають доведений on-chain рандом. Fair launch із засіяним капіталом працює, якщо він у тебе є. У нас не було. Наш фікс — sale-first модель. Покупці фінансують пул, який ми самі не могли наповнити. ```text // Фінальна алокація 960k (без team wallet) Sale: 110,000 FANOVO → buyers @ $0.50 Primary LP: 99,000 FANOVO → locked floor + 90% USDC з сейлу Secondary LP: 701,000 FANOVO → широкий POL, не стіна ціни Treasury: 50,000 FANOVO → ops, fees а не роздачі ``` **Pitfall:** Вузький concentrated-liquidity range ($0.51–$3) перетворює 700k POL на стелю ціни. Ті самі токени, ширший range — тонша стіна, легший ріст. ### Що перебудували? Chainlink VRF замінив commit-reveal для паків — доведений рандом, який можна перевірити на BaseScan. OpenZeppelin UUPS проксі на всьому, крім immutable hooks. Deploy scripts, subgraph і frontend тепер на chain 8453. ```typescript // VRF fee має збігатися з tx gas price на Base L2 const { gasPriceForVrfQuote } = await fetchTxGasParams(client); const vrfCost = await fetchVrfCostWei(client, opener, abi, count, gasPriceForVrfQuote); // msg.value = quote + 20% buffer (зайве повертається on-chain) ``` Фронтенд отримав те саме: VRF payment helpers, prefetch мобільних табів, pack UI який реально показує баланс після mint. Cursor залогував 18 сесій лише на цю міграцію — дебати про токеноміку, LP ranges Uniswap v4, runbook для multisig. **Pro Tip:** Якщо не можете засіяти LP самі — проєктуйте сейл так, щоб він автоматично фінансував ліквідність. Залочіть primary pool. POL у широкий range. Нуль team tokens — це фіча, не жертва. ### Підсумок Переїхати на іншу мережу легко. Перебудувати економіку — ні. Base дає VRF, глибоку USDC ліквідність і аудиторію, яка читає алокації. Ми витратили більше часу на таблицю 960k, ніж на будь-який один Solidity файл — і це, мабуть, правильно. > Хакатонний код доводить ідею. Мейннетний код доводить, що ти серйозний. --- ## Три баги, які мало не вбили наш Web3 хакатон-проєкт URL: https://www.checkra1n.dev/intel/tifosy-bugs Language: uk Date: 2026-05-29 Category: DEV Description: CORS, commit-reveal race conditions, і Map size exceeded — як ми виживали в 10-денному хакатоні на X Layer з Uniswap V4 хуками. Ми зробили Fanovo — Uniswap V4 Hook протокол для ЧС з футболу. Два хакатони одразу, X Layer, 48 токенів країн, 144 токени гравців, bonding curves, commit-reveal паки. 10 днів на все. Звучало як авантюра. Спойлер: так і сталося. З 29 сесій OpenCode половина була про баги. Ось три найболючіші. --- ### Баг #1: Проклятий RPC Все працювало в MetaMask. Контракти задеплоїлись. Транзакції проходили. Але фронтенд не завантажував дані. Wagmi просто мовчав. Без помилок. Без логів. Виявилося, X Layer RPC не надсилав CORS заголовки для браузерних запитів. MetaMask як розширення не зважає на CORS, але wagmi ходить через fetch, і браузер тихо блокував відповіді. Спочатку зробили Next.js rewrites — проксі на той самий RPC. Не спрацювало. Rewrites не передавали тіло POST як треба, RPC відповідав 400. ```typescript // Було: Next.js rewrites const nextConfig = { async rewrites() { return [{ source: "/api/rpc", destination: "https://rpc.xlayer.tech/", }]; }, }; ``` Зробили окремий API route. Додали User-Agent, CORS заголовки і retry logic для 429 rate limit. Після цього все полетіло. ```typescript // Стало: окремий API route export async function POST(request: NextRequest) { const body = await request.text(); const res = await fetch(RPC_URL, { method: "POST", headers: { "Content-Type": "application/json", "User-Agent": "fanovo-frontend/1.0", }, body, }); const data = await res.text(); return new NextResponse(data, { status: res.status, headers: { "Content-Type": "application/json", "Access-Control-Allow-Origin": "*", }, }); } ``` **Pitfall:** Якщо ваш Web3 фронтенд працює в MetaMask але не завантажує дані з RPC — перевірте CORS. Це не помилка контракту, не баг у коді. Тупий HTTP заголовок. ### Баг #2: Commit-Reveal, який не відкривав другий пак Відкриття паків працювало через commit-reveal: юзер шле хеш, чекає підтвердження, шле оригінальне значення. Честна схема — ніхто не піддивиться твій рандом у мемпулі. Тестуємо. Перший пак відкривається. Другий — реверт. Контракт пам'ятав попередній commit і думав, що юзер вже відкриває пак. Слот не чистився після reveal. ```solidity // Проблема: commit slot не очищався після reveal function reveal(commitHash, value) { require(commits[msg.sender] == commitHash); // delete commits[msg.sender]; // цього рядка не було _openPack(msg.sender, value); } ``` Фікс: один рядок — delete commits[msg.sender] після успішного reveal. Плюс додали івент PackOpened з адресою юзера, щоб фронтенд міг слухати результат без перезавантаження. ### Баг #3: RangeError — Map Maximum Size Exceeded Сайт працював. Хвилин 10. Потім Next.js падав з "RangeError: Map maximum size exceeded". Не браузер — серверний рендеринг просто вмирав. useBlockNumber з wagmi за замовчуванням слухає кожен блок. На X Layer блок кожні 2 секунди. За 10 хвилин Map у V8 набирав 300+ записів і впирався в ліміт. ```typescript // Було: слухає кожен блок const { data: blockNumber } = useBlockNumber({ watch: true }); // Стало: опитує раз на 15 секунд const { data: blockNumber } = useBlockNumber({ watch: true, query: { refetchInterval: 15_000 }, }); ``` Заодно зробили server-side indexer для burnt stats — клієнт не тягнув агрегацію тисяч івентів. Винесли на сервер, віддаємо готові цифри. BURNT LAST 24H перестав бути вічним нулем. **Pro Tip:** useBlockNumber({ watch: true }) без refetchInterval — гарантований витік пам'яті. На швидких мережах на кшталт X Layer (2s блоки) він вбиває Next.js за 10 хвилин. ### Підсумок Проєкт задеплоїли. Два хакатони, два контракти, фронт на Next.js, все живе на X Layer мейннеті. Смішне — жоден з цих багів не був у логіці контрактів. CORS, витік пам'яті, забутий рядок delete. Ось що реально жере час. > Web3 розробка — це 20% смарт-контракти і 80% боротьба з інструментами. --- ## Дебаг торгового бота з плечем 200x, коли цифри не сходяться URL: https://www.checkra1n.dev/intel/mexc-pnl-debug Language: uk Date: 2026-05-21 Category: DEV Description: Як я три дні дебажив розбіжності PnL у фьючерсному боті MEXC. Реальні гроші, реальні угоди, і одне хибне припущення, що зламало все. Я запустив бота з $50 на фьючерсах PEPE_USDT, плече 200x. Стратегія була проста: ловити мікро-рухи, забирати спред, швидко виходити. Бектести виглядали чудово. Перша година теж. Потім я перевірив баланс на біржі. ### Проблема Бот рапортував про невеликий прибуток. MEXC показував збиток. Не великий — кілька доларів — але напрямок був неправильний. Цього не мало бути з детермінованою формулою PnL. Я перевірив код. Перевірив ще раз. Все виглядало правильно. Проблема була тонка. Бот рахував drawdown від хардкодженого `dry_run_balance` у 100.0 USDT. Мій реальний баланс був 50.0 USDT. Тому коли бот показував drawdown 25%, він думав, що в мене залишилось 75 USDT. Насправді було 37.50 USDT. Цифри відрізнялись вдвічі. ### Цикл Далі пішли три дні щільних ітерацій. Змінив параметр. Спостерігав за торгівлею. Порівнював логи бота з історією біржі. І знову. Я перестав рахувати після 68 редагувань bot.py. ```python # Before: drawdown рахувався від хибного базису self._peak_balance = 100.0 # hardcoded # After: скидаємо peak на реальний баланс self._peak_balance = stats.balance # реальний def reset_peak_balance(self) -> None: """Скинути піковий баланс до поточного після синхронізації з біржею.""" self._peak_balance = self._stats.balance ``` Цей фікс в один рядок — `self._peak_balance = self._stats.balance` — зайняв два дні, щоб знайти. Баг був не в математиці. Він був у припущенні, що дефолтний баланс — це реальний баланс. ### Що насправді виправило - Скидання peak_balance на реальний баланс біржі при старті, а не dry_run дефолт - Видалення фільтра deal_flow_threshold, який блокував валідні сигнали входу - Зниження min_deal_flow_count з 3 до 2 для ловлі більше мікро-рухів - Зниження entry_confirm_delay з 0.1с до 0.0с — швидкість критична при 200x - Додавання real-time PnL audit logging, що друкує кожне закриття ```python # Audit log в реальному часі для кожного закриття print(f"[WS_CLOSE] side={side} dealAvg={deal_avg_price} " f"profit={realized} fee={fee} net_pnl={net_pnl}") ``` Audit log був справжнім проривом. До цього бот мовчки проковував розбіжності. Після додавання print я бачив, як цифри розходяться в реальному часі. Бот думав, що угода на +$0.80. Біржа записала -$0.15. Різниця — комісія. ### Цифри - 68 редагувань bot.py за 3 сесії - 11 параметрів конфігу змінено, 3 видалено повністю - 200x плече = рух на 0.5% це зміна балансу на 100% - 1 хибне припущення про початковий баланс зламало всю risk модель - Фікс: 1 рядок коду + 6 рядків логування --- **Pro Tip:** Завжди логуйте сиру відповідь біржі до того, як бот її обробить. Якщо біржа каже, що комісія 0.02 USDT, а ваш бот рахує 0.015, ви хочете знати це одразу — а не після 50 угод. **Pitfall:** Хардкодити дефолти, які виглядають "розумними" — пастка. 100.0 USDT — нормальний дефолт для paper trading. Для live trading з 50.0 USDT це катастрофа. Завжди синхронізуйте стан з біржею при старті. --- ## Я побудував 7-етапний Blog Pipeline з Claude Code URL: https://www.checkra1n.dev/intel/blog-pipeline-claude-code Language: uk Date: 2026-02-03 Category: AUTOMATION Description: Як побудувати 7-етапний pipeline для блогу з Claude Code skills. Від теми до опублікованого поста з перекладами, SEO та Telegram анонсами. Писати блог пости вручну — це біль. SEO метадані, переклади, деплой, анонси в соцмережах — кожен крок це перемикання контексту, що вбиває momentum. ### Проблема Я хотів писати більше, але friction був реальний. Драфт в одному місці, переклад в іншому, деплой через CLI, потім copy-paste в Telegram. Половина енергії йшла на оркестрацію, а не на писання. ### Невдалі спроби Спочатку спробував shell скрипти. Занадто крихкі. Потім GitHub Actions — overkill для персонального блогу. Мені потрібно було щось, що розуміє контекст, може писати, редагувати і виконувати. ### Рішення: Claude Code skills Claude Code має систему skills — markdown файли, що визначають reusable workflows. Я побудував 7-етапний pipeline: ```bash ANALYZE → WRITE → EDIT → TRANSLATE → BUILD → DEPLOY → ANNOUNCE # One command triggers all 7 stages: /blog-pipeline How I debugged a Vite HMR issue ``` Кожен етап має чіткі inputs та outputs. ANALYZE сканує мої Claude сесії в пошуках struggle stories. WRITE генерує пост з SEO та cover art specs. TRANSLATE обробляє EN→UK. DEPLOY пушить на Vercel. ANNOUNCE постить в мій Telegram канал через Railway-hosted bot. ```bash # Stage 7: ANNOUNCE to Telegram curl -X POST "$RAILWAY_API_URL" \ -H "X-API-Key: $RAILWAY_API_KEY" \ -d '{"content": "📝 New post! **Title** 🔗 URL"}' ``` --- **Pro Tip:** Найкраща автоматизація — невидима. Одна команда, нуль перемикань контексту. Нехай машина робить нудну роботу, щоб ти міг фокусуватись на цікавому. --- ## AI Pair Programming з реальними грошима на кону URL: https://www.checkra1n.dev/intel/claude-copilot-zhyva-torgivlia Language: uk Date: 2025-01-27 Category: AI Description: Як 20 сесій Claude та 80 перезапусків бота створили торгову систему для Polymarket. Реальна історія AI-розробки коли кожен баг коштує справжніх доларів. Мій shell history не бреше. 80+ викликів cargo run. 20 сесій Claude. Бюджет стрибає від $600 вниз до $50 і назад. Ось як AI-розробка виглядає насправді, коли кожен баг коштує реальних доларів. ### Початкові умови Я будував hedged-pairs торгового бота для Polymarket на Rust. Ідея: купити обидві сторони бінарного ринку (YES + NO) коли сумарна ціна падає нижче $0.99, забрати гарантований цент. Проста математика. Жорстка інженерія. ### Цикл Робочий процес став тісним циклом: запустити бота, спостерігати як він ламається на живому ринку, Alt+Tab до Claude, вставити помилку, отримати фікс, застосувати, перезапустити. І знову. Компілятор був задоволений. Ринок — ні. ```bash # My actual shell history, compressed: cargo run --bin adaptive_bot -- --auto --budget 500 --live # Connection timeout. Fix. cargo run --bin adaptive_bot -- --auto --budget 500 --live # API deser error: "expected string, got integer". Fix. cargo run --bin adaptive_bot -- --auto --budget 200 --live # Position imbalance: YES=98, NO=177. Stuck. claude # "help me design a mathematical protection system" # ... 12 laws of trading later ... cargo run --bin adaptive_bot -- --auto --budget 50 --live # Bot too safe to trade. ЗАКОН 11 blocks everything. ``` ### Що Claude реально робив Claude не просто фіксив синтаксис. Він спів-проєктував систему з 12 математичних торгових законів — від базових перевірок дисбалансу до просунутих доведень хеджування. Коли ЗАКОН 6 почав блокувати один бік парних grid-ордерів, ми разом виявили що закон був математично правильний, але операційно хибний. Парні ордери не змінюють дисбаланс, тому перевірка одиничного ордера давала хибний спрацьовування. Справжня сила була не в генерації коду. А в тому, що поруч був партнер, який міг перемикатися між помилками Rust borrow checker, математикою order book, race conditions у WebSocket, і питанням "чому UI показує прибуток коли ми в мінусі" — все за один день. ### Цифри - 80+ перезапусків бота за 3 тижні - 20 дебаг-сесій з Claude - 12 математичних торгових законів розроблено спільно - 1 race condition спіймано (WebSocket fill до REST order ID) - 29МБ лог-файл проаналізовано щоб знайти один info!() що спрацював 37,818 разів - Діапазон бюджету: $50 — $600 (впевненість корелює з кількістю багів) --- **Pro Tip:** AI pair programming сяє коли простір проблеми занадто широкий для одного мозку. Торгові боти живуть на перетині системного програмування, фінансової математики та real-time API. Жодна людина не тримає весь цей контекст одночасно. Але пара людина + AI — може. --- ## Що таке Vibe Coding? URL: https://www.checkra1n.dev/intel/vibe-coding-agenty Language: uk Date: 2025-01-27 Category: AI Description: Що таке vibe coding з AI? Практичний гайд: як я збудував блог-систему через Claude Code агентів — нуль ручних натискань. Vibe coding для розробників. Vibe coding — це workflow, де ти описуєш намір природною мовою, а AI агенти (Claude Code, Cursor) пишуть імплементацію. Ти перестаєш бути наборщиком і стаєш диригентом — специфікації, ревʼю, архітектура. Я не написав жодного рядка цієї блог-системи. Жодного. ### Що таке vibe coding з AI? Vibe coding з AI — це оркестрація coding-агентів замість ручної імплементації кожної функції. Людина: чіткі специ, шляхи файлів, інтерфейси. Агент: синтаксис, бойлерплейт, рефакторинг. Це не «без тестів» — це делегування імплементації агентам під твоїм наглядом. ### Початкові умови У мене був портфоліо-сайт. Термінальна естетика, glassmorphism, весь хакерський вайб. Але без блогу. Я хотів блог, який відповідає існуючій дизайн-системі — зелений на чорному, шрифт VT323, CRT-сканлайни. І контент-пайплайн: аналіз сесій, написання чернеток, редагування, SEO-оптимізація, переклад українською, генерація візуальних специфікацій. ### Експеримент Замість того, щоб кодити самому, я написав план. Детальну специфікацію — інтерфейси, структури компонентів, шляхи до файлів, CSS-патерни. Потім передав це Claude Code і сказав "імплементуй це." ```typescript // The entire blog system: // 7 skill files (agents + templates) // 6 TypeScript source files // 4 CSS modules // 2 modified existing files // 0 lines typed manually ``` ### Результат Це спрацювало. Агент прочитав існуючі компоненти, повторив патерни — framer-motion анімації, інтеграцію soundManager, CSS-змінні з дизайн-системи. Він створив BlogList з тим самим патерном фільтрів як у MissionLog, BlogPostView з рендерингом контент-блоків, перемикач мови — все. Шість пайплайн-агентів — аналізатор, автор, редактор, SEO-оптимізатор, перекладач, візуальний дизайнер — кожен має свій skill-файл з налаштуваннями температури, дозволами та контрактами виводу. Вони з'єднуються в ланцюг: ANALYZED → DRAFTED → EDITED → SEO_OPTIMIZED → TRANSLATED → VISUAL_READY. --- **Pro Tip:** Якість виводу AI прямо пропорційна якості вашої специфікації. Vibe coding — це не про лінь. Це про точність наміру і делегування синтаксису машині. ---