Модуль S: Суверенная Настройка
Курс STREETS по заработку для разработчиков — Бесплатный модуль Недели 1-2 | 6 уроков | Результат: Твой документ «Суверенный Стек»
"Твоя рабочая станция — это бизнес-инфраструктура. Настраивай её соответственно."
У тебя уже есть самый мощный инструмент генерации дохода, который большинство людей никогда не получит: рабочая станция разработчика с подключением к интернету, локальными вычислительными мощностями и навыками, чтобы связать всё это воедино.
Большинство разработчиков относятся к своей машине как к потребительскому продукту. На ней играют, пишут код, сёрфят в интернете. Но та же самая машина — та, что стоит у тебя под столом прямо сейчас — может запускать инференс, обслуживать API, обрабатывать данные и генерировать доход 24 часа в сутки, пока ты спишь.
Этот модуль о том, чтобы взглянуть на то, что у тебя уже есть, через другую призму. Не "что я могу построить?", а "что я могу продать?"
К концу этих двух недель у тебя будет:
- Чёткая инвентаризация твоих возможностей для генерации дохода
- Локальный стек LLM продакшн-уровня
- Юридическая и финансовая основа (пусть даже минимальная)
- Написанный документ «Суверенный Стек», который станет твоим бизнес-планом
Никаких отмашек руками. Никаких "просто верь в себя". Реальные цифры, реальные команды, реальные решения.
Давай начнём.
Урок 1: Аудит Машины
"Тебе не нужна 4090. Вот что действительно важно."
Твоя машина — это бизнес-актив
Когда компания оценивает свою инфраструктуру, она не просто перечисляет характеристики — она сопоставляет возможности с источниками дохода. Именно это ты сейчас и сделаешь.
Открой терминал и пройдись по следующим пунктам. Запиши каждое число. Они понадобятся тебе для документа «Суверенный Стек» в Уроке 6.
Инвентаризация оборудования
CPU
# Linux/Mac
lscpu | grep "Model name\|CPU(s)\|Thread(s)"
# or
cat /proc/cpuinfo | grep "model name" | head -1
nproc
# Windows (PowerShell)
Get-CimInstance -ClassName Win32_Processor | Select-Object Name, NumberOfCores, NumberOfLogicalProcessors
# macOS
sysctl -n machdep.cpu.brand_string
sysctl -n hw.ncpu
Что важно для дохода:
-
Количество ядер определяет, сколько параллельных задач может обрабатывать твоя машина. Запуск локальной LLM одновременно с пакетной обработкой требует настоящей параллельности.
-
Для большинства движков дохода в этом курсе достаточно любого современного CPU с 8+ ядрами за последние 5 лет.
-
Если ты запускаешь локальные LLM только на CPU (без GPU), тебе нужно 16+ ядер. Ryzen 7 5800X или Intel i7-12700 — это практический минимум.
RAM
# Linux
free -h
# macOS
sysctl -n hw.memsize | awk '{print $0/1073741824 " GB"}'
# Windows (PowerShell)
(Get-CimInstance -ClassName Win32_ComputerSystem).TotalPhysicalMemory / 1GB
Что важно для дохода:
- 16 ГБ: Абсолютный минимум. Можно запускать модели 7B и делать базовую автоматизацию.
- 32 ГБ: Комфортно. Запускай модели 13B локально, работай над несколькими проектами, держи среду разработки запущенной одновременно с рабочими нагрузками для дохода.
- 64 ГБ+: Можно запускать модели 30B+ на CPU или держать несколько моделей загруженными. Здесь становится интересно для продажи инференс-услуг.
GPU
# NVIDIA
nvidia-smi
# Check VRAM specifically
nvidia-smi --query-gpu=name,memory.total,memory.free --format=csv
# AMD (Linux)
rocm-smi
# macOS (Apple Silicon)
system_profiler SPDisplaysDataType
Что важно для дохода:
Это та характеристика, на которой все зацикливаются, и вот честная правда: твой GPU определяет уровень твоей локальной LLM, а уровень локальной LLM определяет, какие потоки дохода работают быстрее всего. Но он не определяет, можешь ли ты зарабатывать деньги вообще.
| VRAM | Возможности LLM | Релевантность для дохода |
|---|---|---|
| 0 (только CPU) | Модели 7B на ~5 токенов/сек | Пакетная обработка, асинхронная работа. Медленно, но функционально. |
| 6-8 ГБ (RTX 3060 и т.д.) | Модели 7B на ~30 ток/сек, 13B квантизированные | Достаточно для большинства потоков дохода от автоматизации. |
| 12 ГБ (RTX 3060 12GB, 4070) | 13B на полной скорости, 30B квантизированные | Золотая середина. Большинство движков дохода работают хорошо. |
| 16-24 ГБ (RTX 4090, 3090) | Модели 30B-70B | Премиум-уровень. Продавай качество, которое другие не могут достичь локально. |
| 48 ГБ+ (двойной GPU, A6000) | 70B+ на скорости | Инференс корпоративного уровня. Серьёзное конкурентное преимущество. |
| Apple Silicon 32GB+ (M2/M3 Pro/Max) | 30B+ используя единую память | Отличная эффективность. Меньше затрат на электричество, чем NVIDIA эквивалент. |
Выделенный GPU не обнаружен. Ты будешь запускать инференс на CPU, что означает ~5-12 токенов/сек на моделях 7B. Это нормально для пакетной обработки и асинхронной работы. Используй вызовы API, чтобы компенсировать разрыв в скорости для клиентского вывода.
Откровенно: Если у тебя RTX 3060 12GB, ты в лучшей позиции, чем 95% разработчиков, пытающихся монетизировать ИИ. Хватит ждать 4090. RTX 3060 12GB — это Honda Civic локального ИИ — надёжная, эффективная, справляется с задачей. Деньги, которые ты потратил бы на апгрейд GPU, лучше потратить на API-кредиты для клиентского качества, пока твои локальные модели выполняют тяжёлую работу.
Хранилище
# Linux/Mac
df -h
# Windows (PowerShell)
Get-PSDrive -PSProvider FileSystem | Select-Object Name, @{N='Used(GB)';E={[math]::Round($_.Used/1GB,1)}}, @{N='Free(GB)';E={[math]::Round($_.Free/1GB,1)}}
Что важно для дохода:
- Модели LLM занимают место: модель 7B = ~4 ГБ, 13B = ~8 ГБ, 70B = ~40 ГБ (квантизированные).
- Тебе нужно место для данных проектов, баз данных, кэшей и выходных артефактов.
- SSD обязателен для чего-либо клиентского. Загрузка модели с HDD добавляет 30-60 секунд к времени старта.
- Минимальный практический вариант: 500 ГБ SSD с минимум 100 ГБ свободного места.
- Комфортно: 1 ТБ SSD. Держи модели на SSD, архивируй на HDD.
Сеть
# Quick speed test (install speedtest-cli if needed)
# pip install speedtest-cli
speedtest-cli --simple
# Or just check your plan
# Upload speed matters more than download for serving
Что важно для дохода:
- Скорость скачивания: 50+ Мбит/с. Необходима для загрузки моделей, пакетов и данных.
- Скорость загрузки: Это узкое место, которое большинство людей игнорирует. Если ты что-то обслуживаешь (API, обработанные результаты, готовые материалы), загрузка важна.
- 10 Мбит/с: Достаточно для асинхронной доставки (обработанные файлы, пакетные результаты).
- 50+ Мбит/с: Необходимо, если ты запускаешь какой-либо локальный API-эндпоинт, к которому обращаются внешние сервисы.
- 100+ Мбит/с: Комфортно для всего в этом курсе.
- Задержка: Менее 50 мс до крупных облачных провайдеров. Запусти
ping api.openai.comиping api.anthropic.com, чтобы проверить.
Время безотказной работы
Это характеристика, о которой никто не думает, но она разделяет любителей и людей, зарабатывающих деньги во сне.
Спроси себя:
- Может ли твоя машина работать 24/7? (Питание, охлаждение, шум)
- Есть ли у тебя ИБП на случай отключения электричества?
- Достаточно ли стабильно твоё интернет-соединение для автоматизированных рабочих процессов?
- Можешь ли ты подключиться к своей машине по SSH удалённо, если что-то сломается?
Если ты не можешь работать 24/7, это нормально — многие потоки дохода в этом курсе — это асинхронные пакетные задачи, которые ты запускаешь вручную. Но те, которые генерируют действительно пассивный доход, требуют бесперебойной работы.
Быстрая настройка бесперебойной работы (если хочешь):
# Enable Wake-on-LAN (check BIOS)
# Set up SSH access
sudo systemctl enable ssh # Linux
# Auto-restart on crash (systemd service example)
# /etc/systemd/system/my-income-worker.service
[Unit]
Description=Income Worker Process
After=network.target
[Service]
Type=simple
ExecStart=/usr/local/bin/my-worker
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
Математика электричества
Люди либо игнорируют это, либо раздувают проблему. Давай посчитаем по-настоящему.
Измерение реального энергопотребления:
# If you have a Kill-A-Watt meter or smart plug with monitoring:
# Measure at idle, at load (running inference), and at max (GPU full utilization)
# Rough estimates if you don't have a meter:
# Desktop (no GPU, idle): 60-100W
# Desktop (mid-range GPU, idle): 80-130W
# Desktop (high-end GPU, idle): 100-180W
# Desktop (GPU under inference load): add 50-80% of GPU TDP
# Laptop: 15-45W
# Mac Mini M2: 7-15W (seriously)
# Apple Silicon laptop: 10-30W
Расчёт ежемесячных затрат:
Monthly cost = (Watts / 1000) x Hours x Price per kWh
Example: Desktop with RTX 3060, running inference 8 hours/day, idle 16 hours/day
- Inference: (250W / 1000) x 8h x 30 days x $0.12/kWh = $7.20/month
- Idle: (100W / 1000) x 16h x 30 days x $0.12/kWh = $5.76/month
- Total: ~$13/month
Example: Same rig, 24/7 inference
- (250W / 1000) x 24h x 30 days x $0.12/kWh = $21.60/month
Example: Mac Mini M2, 24/7
- (12W / 1000) x 24h x 30 days x $0.12/kWh = $1.04/month
Средний тариф на электричество в США — около $0.12/кВтч. Проверь свой реальный тариф — он сильно различается. В Калифорнии может быть $0.25/кВтч. В некоторых европейских странах доходит до $0.35/кВтч. В некоторых частях Среднего Запада США — $0.08/кВтч.
Суть: Работа твоей машины 24/7 для дохода стоит где-то от $1 до $30/месяц за электричество. Если твои потоки дохода не могут покрыть это, проблема не в электричестве — а в потоке дохода.
Минимальные характеристики по типу движка дохода
Вот предварительный обзор того, куда мы движемся в полном курсе STREETS. Пока просто проверь, куда попадает твоя машина:
| Движок дохода | CPU | RAM | GPU | Хранилище | Сеть |
|---|---|---|---|---|---|
| Автоматизация контента (блог-посты, рассылки) | 4+ ядер | 16 ГБ | Опционально (API как запасной вариант) | 50 ГБ свободно | 10 Мбит/с загрузка |
| Услуги обработки данных | 8+ ядер | 32 ГБ | Опционально | 200 ГБ свободно | 50 Мбит/с загрузка |
| Локальные API-сервисы ИИ | 8+ ядер | 32 ГБ | 8+ ГБ VRAM | 100 ГБ свободно | 50 Мбит/с загрузка |
| Инструменты генерации кода | 8+ ядер | 16 ГБ | 8+ ГБ VRAM или API | 50 ГБ свободно | 10 Мбит/с загрузка |
| Обработка документов | 4+ ядер | 16 ГБ | Опционально | 100 ГБ свободно | 10 Мбит/с загрузка |
| Автономные агенты | 8+ ядер | 32 ГБ | 12+ ГБ VRAM | 100 ГБ свободно | 50 Мбит/с загрузка |
Распространённая ошибка: "Мне нужно обновить оборудование, прежде чем начать." Нет. Начинай с того, что есть. Используй вызовы API, чтобы компенсировать пробелы, которые не может закрыть твоё оборудование. Обновляйся, когда доход это оправдывает — не раньше.
Контрольная точка Урока 1
Ты должен был записать:
- [ ] Модель CPU, ядра и потоки
- [ ] Объём RAM
- [ ] Модель GPU и VRAM (или "нет")
- [ ] Доступное хранилище
- [ ] Скорости сети (скачивание/загрузка)
- [ ] Примерные ежемесячные затраты на электричество при работе 24/7
- [ ] К каким категориям движков дохода подходит твоя машина
Сохрани эти числа. Ты подставишь их в свой документ «Суверенный Стек» в Уроке 6.
В полном курсе STREETS Модуль R (Движки Дохода) даёт тебе конкретные пошаговые руководства для каждого типа движков, перечисленных выше — включая точный код для создания и развёртывания.
Урок 2: Локальный стек LLM
"Настрой Ollama для продакшн-использования — не просто для чата."
Почему локальные LLM важны для дохода
Каждый раз, когда ты вызываешь API OpenAI, ты платишь аренду. Каждый раз, когда ты запускаешь модель локально, этот инференс бесплатен после начальной настройки. Математика проста:
- GPT-4o: ~$5 за миллион входных токенов, ~$15 за миллион выходных токенов
- Claude 3.5 Sonnet: ~$3 за миллион входных токенов, ~$15 за миллион выходных токенов
- Локальная Llama 3.1 8B: $0 за миллион токенов (только электричество)
Если ты строишь сервисы, обрабатывающие тысячи запросов, разница между $0 и $5-$15 за миллион токенов — это разница между прибылью и работой в ноль.
Но вот нюанс, который большинство людей упускает: локальные и API-модели выполняют разные роли в стеке дохода. Локальные модели обрабатывают объём. API-модели обрабатывают критически важный по качеству, клиентский вывод. Твоему стеку нужны обе.
Установка Ollama
Ollama — это фундамент. Она превращает твою машину в локальный сервер инференса с чистым API.
# Linux
curl -fsSL https://ollama.com/install.sh | sh
# macOS
# Download from https://ollama.com or:
brew install ollama
# Windows
# Download installer from https://ollama.com
# Or use winget:
winget install Ollama.Ollama
Проверь установку:
ollama --version
# Should show version 0.5.x or higher (check https://ollama.com/download for latest)
# Start the server (if not auto-started)
ollama serve
# In another terminal, test it:
ollama run llama3.1:8b "Say hello in exactly 5 words"
Примечание по версии: Ollama обновляется часто. Команды и флаги для моделей в этом модуле были проверены на Ollama v0.5.x (начало 2026). Если ты читаешь это позже, проверь ollama.com/download для последней версии и ollama.com/library для актуальных названий моделей. Основные концепции не меняются, но конкретные теги моделей (например,
llama3.1:8b) могут быть заменены более новыми релизами.
Руководство по выбору моделей
Не скачивай каждую модель, которую видишь. Будь стратегичен. Вот что скачивать и когда использовать каждую.
Уровень 1: Рабочая лошадка (модели 7B-8B)
# Pull your workhorse model
ollama pull llama3.1:8b
# Alternative: mistral (good for European languages)
ollama pull mistral:7b
Используй для:
- Классификации текста ("Это письмо — спам или легитимное?")
- Суммаризации (конденсация длинных документов в тезисы)
- Простого извлечения данных (имена, даты, суммы из текста)
- Анализа тональности
- Тегирования и категоризации контента
- Генерации эмбеддингов (если используешь модель с поддержкой эмбеддингов)
Производительность (типичная):
- RTX 3060 12GB: ~40-60 токенов/секунду
- RTX 4090: ~100-130 токенов/секунду
- M2 Pro 16GB: ~30-45 токенов/секунду
- Только CPU (Ryzen 7 5800X): ~8-12 токенов/секунду
Сравнение стоимости:
- 1 миллион токенов через GPT-4o-mini: ~$0.60
- 1 миллион токенов локально (модель 8B): ~$0.003 за электричество
- Точка окупаемости: ~5000 токенов (ты экономишь деньги буквально с первого запроса)
Уровень 2: Сбалансированный выбор (модели 13B-14B)
# Pull your balanced model
ollama pull llama3.1:14b
# Or for coding tasks:
ollama pull deepseek-coder-v2:16b
Используй для:
- Создания контента (блог-посты, документация, маркетинговые тексты)
- Генерации кода (функции, скрипты, шаблонный код)
- Сложных трансформаций данных
- Многошаговых задач рассуждения
- Перевода с нюансами
Производительность (типичная):
- RTX 3060 12GB: ~20-30 токенов/секунду (квантизированная)
- RTX 4090: ~60-80 токенов/секунду
- M2 Pro 32GB: ~20-30 токенов/секунду
- Только CPU: ~3-6 токенов/секунду (непрактично для реального времени)
Когда использовать вместо 7B: Когда качество вывода 7B недостаточно хорошее, но ты не хочешь платить за вызовы API. Протестируй обе на своём реальном случае использования — иногда 7B достаточно, и ты просто тратишь вычисления впустую.
Уровень 3: Уровень качества (модели 30B-70B)
# Only pull these if you have the VRAM
# 30B needs ~20GB VRAM, 70B needs ~40GB VRAM (quantized)
ollama pull llama3.1:70b-instruct-q4_K_M
# Or the smaller but excellent:
ollama pull qwen2.5:32b
Используй для:
- Клиентского контента, который должен быть отличным
- Сложного анализа и рассуждений
- Генерации длинного контента
- Задач, где качество напрямую влияет на то, заплатит ли кто-то тебе
Производительность (типичная):
- RTX 4090 (24GB): 70B на ~8-15 токенов/секунду (пригодно, но медленно)
- Двойной GPU или 48GB+: 70B на ~20-30 токенов/секунду
- M3 Max 64GB: 70B на ~10-15 токенов/секунду
Откровенно: Если у тебя нет 24GB+ VRAM, пропускай модели 70B полностью. Используй API-вызовы для критически важного по качеству вывода. Модель 70B, работающая на 3 токенах/секунду из оперативной памяти — технически возможна, но практически бесполезна для любого рабочего процесса, генерирующего доход. Твоё время имеет ценность.
Уровень 4: API-модели (когда локальных недостаточно)
Локальные модели — для объёма и приватности. API-модели — для потолка качества и специализированных возможностей.
Когда использовать API-модели:
- Клиентский вывод, где качество = доход (тексты для продаж, премиум-контент)
- Сложные цепочки рассуждений, с которыми маленькие модели не справляются
- Задачи с визуальными/мультимодальными данными (анализ изображений, скриншотов, документов)
- Когда нужен структурированный вывод JSON с высокой надёжностью
- Когда важна скорость, а твоё локальное оборудование медленное
Таблица сравнения стоимости (на начало 2025 — проверь текущие цены):
| Модель | Ввод (за 1М токенов) | Вывод (за 1М токенов) | Лучше всего для |
|---|---|---|---|
| GPT-4o-mini | $0.15 | $0.60 | Дешёвая объёмная работа (когда локальное недоступно) |
| GPT-4o | $2.50 | $10.00 | Визуальные задачи, сложные рассуждения |
| Claude 3.5 Sonnet | $3.00 | $15.00 | Код, анализ, длинный контекст |
| Claude 3.5 Haiku | $0.80 | $4.00 | Быстрый, дешёвый, хороший баланс качества |
| DeepSeek V3 | $0.27 | $1.10 | Бюджетный, сильная производительность |
Гибридная стратегия:
- Локальная 7B/13B обрабатывает 80% запросов (классификация, извлечение, суммаризация)
- API обрабатывает 20% запросов (генерация критического по качеству, сложные задачи)
- Твоя эффективная стоимость: ~$0.50-2.00 за миллион токенов в среднем (вместо $5-15 чисто через API)
Этот гибридный подход — то, как ты строишь сервисы со здоровой маржой. Подробнее в Модуле R.
Продакшн-конфигурация
Запуск Ollama для рабочих нагрузок, приносящих доход, отличается от запуска для личного чата. Вот как настроить правильно.
Установка переменных окружения
# Create/edit the Ollama configuration
# Linux: /etc/systemd/system/ollama.service or environment variables
# macOS: launchctl environment or ~/.zshrc
# Windows: System Environment Variables
# Key settings:
export OLLAMA_HOST=127.0.0.1:11434 # Bind to localhost only (security)
export OLLAMA_NUM_PARALLEL=4 # Concurrent request handling
export OLLAMA_MAX_LOADED_MODELS=2 # Keep 2 models in memory
export OLLAMA_KEEP_ALIVE=30m # Keep model loaded for 30 min after last request
export OLLAMA_MAX_QUEUE=100 # Queue up to 100 requests
Создание Modelfile для твоей нагрузки
Вместо использования настроек модели по умолчанию, создай пользовательский Modelfile, настроенный под твою рабочую нагрузку для дохода:
# Save as: Modelfile-worker
FROM llama3.1:8b
# Tune for consistent, production output
PARAMETER temperature 0.3
PARAMETER top_p 0.9
PARAMETER num_ctx 4096
PARAMETER repeat_penalty 1.1
# System prompt for your most common workload
SYSTEM """You are a precise data processing assistant. You follow instructions exactly. You output only what is requested, with no preamble or explanation unless asked. When given structured output formats (JSON, CSV, etc.), you output only the structure with no markdown formatting."""
# Create your custom model
ollama create worker -f Modelfile-worker
# Test it
ollama run worker "Extract all email addresses from this text: Contact us at hello@example.com or support@test.org for more info."
Пакетная обработка и управление очередью
Для рабочих нагрузок, приносящих доход, тебе часто нужно обрабатывать множество элементов. Вот базовая настройка пакетной обработки:
#!/usr/bin/env python3
"""
batch_processor.py — Process items through local LLM with queuing.
Production-grade batching for income workloads.
"""
import requests
import json
import time
import concurrent.futures
from pathlib import Path
OLLAMA_URL = "http://127.0.0.1:11434/api/generate"
MODEL = "worker" # Your custom model from above
MAX_CONCURRENT = 4
MAX_RETRIES = 3
def process_item(item: dict) -> dict:
"""Process a single item through the local LLM."""
payload = {
"model": MODEL,
"prompt": item["prompt"],
"stream": False,
"options": {
"num_ctx": 4096,
"temperature": 0.3
}
}
for attempt in range(MAX_RETRIES):
try:
response = requests.post(OLLAMA_URL, json=payload, timeout=120)
response.raise_for_status()
result = response.json()
return {
"id": item["id"],
"input": item["prompt"][:100],
"output": result["response"],
"tokens": result.get("eval_count", 0),
"duration_ms": result.get("total_duration", 0) / 1_000_000,
"status": "success"
}
except Exception as e:
if attempt == MAX_RETRIES - 1:
return {
"id": item["id"],
"output": None,
"error": str(e),
"status": "failed"
}
time.sleep(2 ** attempt) # Exponential backoff
def process_batch(items: list[dict], output_file: str = "results.jsonl"):
"""Process a batch of items with concurrent execution."""
results = []
start_time = time.time()
with concurrent.futures.ThreadPoolExecutor(max_workers=MAX_CONCURRENT) as executor:
future_to_item = {executor.submit(process_item, item): item for item in items}
for i, future in enumerate(concurrent.futures.as_completed(future_to_item)):
result = future.result()
results.append(result)
# Write incrementally (don't lose progress on crash)
with open(output_file, "a") as f:
f.write(json.dumps(result) + "\n")
# Progress reporting
elapsed = time.time() - start_time
rate = (i + 1) / elapsed
remaining = (len(items) - i - 1) / rate if rate > 0 else 0
print(f"[{i+1}/{len(items)}] {result['status']} | "
f"{rate:.1f} items/sec | "
f"ETA: {remaining:.0f}s")
# Summary
succeeded = sum(1 for r in results if r["status"] == "success")
failed = sum(1 for r in results if r["status"] == "failed")
total_time = time.time() - start_time
print(f"\nBatch complete: {succeeded} succeeded, {failed} failed, "
f"{total_time:.1f}s total")
return results
# Example usage:
if __name__ == "__main__":
# Your items to process
items = [
{"id": i, "prompt": f"Summarize this in one sentence: {text}"}
for i, text in enumerate(load_your_data()) # Replace with your data source
]
results = process_batch(items)
Бенчмаркинг ТВОЕЙ машины
Не доверяй чужим бенчмаркам. Измеряй свои:
# Quick benchmark script
# Save as: benchmark.sh
#!/bin/bash
MODELS=("llama3.1:8b" "mistral:7b")
PROMPT="Write a detailed 200-word product description for a wireless mechanical keyboard designed for programmers."
for model in "${MODELS[@]}"; do
echo "=== Benchmarking: $model ==="
# Warm up (first run loads model into memory)
ollama run "$model" "Hello" > /dev/null 2>&1
# Timed run
START=$(date +%s%N)
RESULT=$(curl -s http://localhost:11434/api/generate -d "{
\"model\": \"$model\",
\"prompt\": \"$PROMPT\",
\"stream\": false
}")
END=$(date +%s%N)
DURATION=$(( (END - START) / 1000000 ))
TOKENS=$(echo "$RESULT" | python3 -c "import sys,json; print(json.load(sys.stdin).get('eval_count', 'N/A'))")
echo "Time: ${DURATION}ms"
echo "Tokens generated: $TOKENS"
if [ "$TOKENS" != "N/A" ] && [ "$DURATION" -gt 0 ]; then
TPS=$(python3 -c "print(f'{$TOKENS / ($DURATION / 1000):.1f}')")
echo "Speed: $TPS tokens/second"
fi
echo ""
done
chmod +x benchmark.sh
./benchmark.sh
Запиши свои токены/секунду для каждой модели. Это число определяет, какие рабочие процессы для дохода практичны на твоей машине.
Требования к скорости по случаю использования:
- Пакетная обработка (асинхронная): 5+ токенов/сек — достаточно (тебе не важна задержка)
- Интерактивные инструменты (пользователь ждёт): минимум 20+ токенов/сек
- API реального времени (клиентский): 30+ токенов/сек для хорошего UX
- Потоковый чат: 15+ токенов/сек ощущается отзывчиво
Защита твоего локального сервера инференса
Твой экземпляр Ollama никогда не должен быть доступен из интернета, если ты этого явно не планируешь.
# Verify Ollama is only listening on localhost
ss -tlnp | grep 11434
# Should show 127.0.0.1:11434, NOT 0.0.0.0:11434
# If you need remote access (e.g., from another machine on your LAN):
# Use SSH tunneling instead of exposing the port
ssh -L 11434:localhost:11434 your-rig-ip
# Firewall rules (Linux)
sudo ufw deny in 11434
sudo ufw allow from 192.168.1.0/24 to any port 11434 # LAN only, if needed
Распространённая ошибка: Привязка Ollama к 0.0.0.0 для "удобства" и забывание об этом. Любой, кто найдёт твой IP, может использовать твой GPU для бесплатного инференса. Хуже того, он может извлечь веса моделей и системные промпты. Всегда localhost. Всегда туннель.
Контрольная точка Урока 2
У тебя теперь должно быть:
- [ ] Ollama установлена и работает
- [ ] Скачана как минимум одна рабочая модель (llama3.1:8b или эквивалент)
- [ ] Пользовательский Modelfile для ожидаемой нагрузки
- [ ] Числа бенчмарков: токенов/секунду для каждой модели на твоей машине
- [ ] Ollama привязана только к localhost
В полном курсе STREETS Модуль T (Технические Рвы) показывает, как строить проприетарные конфигурации моделей, настроенные пайплайны и пользовательские инструментарии, которые конкуренты не смогут легко воспроизвести. Модуль R (Движки Дохода) даёт тебе точные сервисы для построения на основе этого стека.
Урок 3: Преимущество приватности
"Твоя приватная настройка — ЭТО конкурентное преимущество, а не просто предпочтение."
Приватность — это функция продукта, а не ограничение
Большинство разработчиков настраивают локальную инфраструктуру, потому что лично ценят приватность, или потому что им нравится возиться с настройками. Это нормально. Но ты упускаешь деньги, если не осознаёшь, что приватность — одна из самых продаваемых функций в технологиях прямо сейчас.
Вот почему: каждый раз, когда компания отправляет данные в API OpenAI, эти данные проходят через третью сторону. Для многих бизнесов — особенно в сферах здравоохранения, финансов, права, государственных органов и компаний из ЕС — это реальная проблема. Не теоретическая. Проблема "мы не можем использовать этот инструмент, потому что комплаенс сказал нет".
Ты, запускающий модели локально на своей машине, не имеешь этой проблемы.
Регуляторный попутный ветер
Регуляторная среда движется в твоём направлении. Быстро.
EU AI Act (вступает в силу с 2024-2026):
- Системы ИИ высокого риска нуждаются в документированных пайплайнах обработки данных
- Компании должны демонстрировать, куда текут данные и кто их обрабатывает
- Локальная обработка значительно упрощает соответствие
- Компании ЕС активно ищут поставщиков ИИ-услуг, которые могут гарантировать хранение данных в ЕС
GDPR (уже действует):
- "Обработка данных" включает отправку текста в API LLM
- Компаниям нужны Соглашения об обработке данных с каждой третьей стороной
- Локальная обработка полностью устраняет третью сторону
- Это реальный аргумент для продажи: "Ваши данные никогда не покидают вашу инфраструктуру. Нет никакого стороннего DPA для согласования."
Отраслевые регуляции:
- HIPAA (Здравоохранение США): Данные пациентов нельзя отправлять в потребительские API ИИ без BAA (Соглашение о деловом партнёрстве). Большинство провайдеров ИИ не предлагают BAA для API-доступа. Локальная обработка обходит это полностью.
- SOC 2 (Корпоративный сектор): Компании, проходящие аудит SOC 2, должны документировать каждого обработчика данных. Меньше обработчиков = проще аудиты.
- ITAR (Оборона США): Контролируемые технические данные не могут покидать юрисдикцию США. Облачные провайдеры ИИ с международной инфраструктурой — проблематичны.
- PCI DSS (Финансы): Обработка данных держателей карт имеет строгие требования к маршруту данных.
Как позиционировать приватность в продажных переговорах
Тебе не нужно быть экспертом по комплаенсу. Тебе нужно понимать три фразы и знать, когда их использовать:
Фраза 1: "Ваши данные никогда не покидают вашу инфраструктуру." Используй когда: Разговариваешь с любым клиентом, озабоченным приватностью. Это универсальный крючок.
Фраза 2: "Не требуется соглашение об обработке данных с третьей стороной." Используй когда: Разговариваешь с европейскими компаниями или любой компанией с юридическим отделом/отделом комплаенса. Это экономит им недели юридической проверки.
Фраза 3: "Полный аудиторский след, обработка в выделенной среде." Используй когда: Разговариваешь с корпоративным или регулируемым сектором. Им нужно доказать свой ИИ-пайплайн аудиторам.
Пример позиционирования (для твоей страницы услуг или коммерческих предложений):
"В отличие от облачных ИИ-сервисов, [Твой Сервис] обрабатывает все данные локально на выделенном оборудовании. Ваши документы, код и данные никогда не покидают среду обработки. В пайплайне нет сторонних API, нет соглашений о передаче данных для согласования, и ведётся полный аудиторский журнал каждой операции. Это делает [Твой Сервис] подходящим для организаций со строгими требованиями к обработке данных, включая среды соответствия GDPR, HIPAA и SOC 2."
Этот абзац на лендинге привлечёт именно тех клиентов, которые будут платить премиальные ставки.
Обоснование премиального ценообразования
Вот бизнес-кейс в жёстких цифрах:
Стандартный сервис ИИ-обработки (с использованием облачных API):
- Данные клиента уходят в OpenAI/Anthropic/Google
- Ты конкурируешь с каждым разработчиком, который может вызвать API
- Рыночная ставка: $0.01-0.05 за обработанный документ
- По сути, ты перепродаёшь API-доступ с наценкой
ИИ-сервис обработки с приоритетом приватности (твой локальный стек):
- Данные клиента остаются на твоей машине
- Ты конкурируешь с гораздо меньшим пулом провайдеров
- Рыночная ставка: $0.10-0.50 за обработанный документ (премия в 5-10 раз)
- Ты продаёшь инфраструктуру + экспертизу + соответствие нормам
Премия за приватность реальна: в 5-10 раз по сравнению с типовыми облачными сервисами за ту же базовую задачу. И клиенты, которые её платят, более лояльны, менее чувствительны к цене и имеют большие бюджеты.
Настройка изолированных рабочих пространств
Если у тебя есть основная работа (у большинства из вас она есть), тебе нужно чёткое разделение между работой на работодателя и работой для дохода. Это не только юридическая защита — это операционная гигиена.
Вариант 1: Отдельные учётные записи (рекомендуется)
# Linux: Create a dedicated user for income work
sudo useradd -m -s /bin/bash income
sudo passwd income
# Switch to income user for all revenue work
su - income
# All income projects, API keys, and data live under /home/income/
Вариант 2: Контейнеризированные рабочие пространства
# Docker-based isolation
# Create a dedicated workspace container
# docker-compose.yml
version: '3.8'
services:
income-workspace:
image: ubuntu:22.04
volumes:
- ./income-projects:/workspace
- ./income-data:/data
environment:
- OLLAMA_HOST=host.docker.internal:11434
network_mode: bridge
# Your employer's VPN, tools, etc. are NOT in this container
Вариант 3: Отдельная физическая машина (самый надёжный)
Если ты серьёзно относишься к этому и доход оправдывает, выделенная машина устраняет все вопросы. Б/у Dell OptiPlex с RTX 3060 стоит $400-600 и окупится в первый месяц клиентской работы.
Минимальный чек-лист разделения:
- [ ] Проекты для дохода в отдельной директории (никогда не смешивай с репозиториями работодателя)
- [ ] Отдельные API-ключи для работы на доход (никогда не используй ключи работодателя)
- [ ] Отдельный профиль браузера для аккаунтов, связанных с доходом
- [ ] Работа для дохода никогда не ведётся на оборудовании работодателя
- [ ] Работа для дохода никогда не ведётся через сеть работодателя (используй свой личный интернет или VPN)
- [ ] Отдельный аккаунт GitHub/GitLab для проектов дохода (опционально, но чисто)
Распространённая ошибка: Использование API-ключа OpenAI работодателя "только для тестирования" твоего стороннего проекта. Это создаёт бумажный след, который видно в панели биллинга работодателя, и размывает границы интеллектуальной собственности. Получи свои собственные ключи. Они дешёвые.
Контрольная точка Урока 3
Теперь ты должен понимать:
- [ ] Почему приватность — это продаваемая функция продукта, а не просто личное предпочтение
- [ ] Какие регуляции создают спрос на локальную обработку ИИ
- [ ] Три фразы для использования в разговорах о продажах и приватности
- [ ] Как сервисы с приоритетом приватности получают премию в 5-10 раз
- [ ] Как отделить работу для дохода от работы на работодателя
В полном курсе STREETS Модуль E (Эволюционное Преимущество) учит тебя отслеживать регуляторные изменения и позиционировать себя впереди новых требований соответствия, прежде чем твои конкуренты даже узнают о их существовании.
Урок 4: Юридический минимум
"Пятнадцать минут юридической настройки сейчас предотвратят месяцы проблем потом."
Это не юридическая консультация
Я разработчик, не юрист. То, что следует далее — это практический чек-лист, который большинству разработчиков в большинстве ситуаций стоит проработать. Если твоя ситуация сложная (доля в работодателе, неконкурентное соглашение с конкретными условиями и т.д.), потрать $200 на 30-минутную консультацию с юристом по трудовому праву. Это лучшая инвестиция, которую ты можешь сделать.
Шаг 1: Прочитай свой трудовой договор
Найди свой трудовой договор или оффер. Ищи следующие разделы:
Пункт о передаче интеллектуальной собственности — Ищи формулировки типа:
- "Все изобретения, разработки и результаты работы..."
- "...созданные в течение срока занятости..."
- "...связанные с бизнесом Компании или предполагаемым бизнесом..."
Ключевые фразы, которые тебя ограничивают:
- "Все результаты работы, созданные в период занятости, принадлежат Компании" (широко — потенциально проблематично)
- "Результаты работы, созданные с использованием ресурсов Компании" (уже — обычно нормально, если используешь своё оборудование)
- "Связанные с текущим или предполагаемым бизнесом Компании" (зависит от того, чем занимается твой работодатель)
Ключевые фразы, которые тебя освобождают:
- "За исключением работы, выполненной полностью в личное время Сотрудника, с собственными ресурсами Сотрудника и не связанной с бизнесом Компании" (это твоё исключение — многие штаты США требуют этого)
- Некоторые штаты (Калифорния, Вашингтон, Миннесота, Иллинойс и другие) имеют законы, ограничивающие претензии работодателя на ИС личных проектов, независимо от того, что говорит контракт.
Тест трёх вопросов
Для любого проекта, приносящего доход, спроси:
- Время: Ты делаешь эту работу в своё свободное время? (Не в рабочее время, не во время дежурства)
- Оборудование: Ты используешь своё собственное оборудование, свой интернет, свои API-ключи? (Не ноутбук работодателя, не VPN работодателя, не облачные аккаунты работодателя)
- Предмет: Это не связано с бизнесом твоего работодателя? (Если ты работаешь в компании ИИ для здравоохранения и хочешь продавать ИИ-услуги для здравоохранения... это проблема. Если ты работаешь в компании ИИ для здравоохранения и хочешь продавать обработку документов для агентов по недвижимости... это нормально.)
Если все три ответа чистые, ты почти наверняка в безопасности. Если какой-либо ответ размытый, проясни ситуацию перед тем, как продолжать.
Откровенно: Подавляющее большинство разработчиков, занимающихся сторонней работой, никогда не сталкиваются с проблемами. Работодателей волнует защита конкурентных преимуществ, а не предотвращение твоего заработка на несвязанных проектах. Но "почти наверняка нормально" — это не "точно нормально". Если твой контракт необычно широкий, поговори с руководителем или HR — или проконсультируйся с юристом. Последствия того, что ты не проверил — гораздо хуже лёгкой неловкости от вопроса.
Шаг 2: Выбери бизнес-структуру
Тебе нужно юридическое лицо для отделения личных активов от бизнес-деятельности и для открытия доступа к бизнес-банкингу, обработке платежей и налоговым льготам.
Соединённые Штаты
| Структура | Стоимость | Защита | Лучше всего для |
|---|---|---|---|
| Единоличное предприятие (по умолчанию) | $0 | Никакой (личная ответственность) | Проба пера. Первые $1K. |
| LLC с одним участником | $50-500 (зависит от штата) | Защита личных активов | Активная работа на доход. Большинство разработчиков должны начинать здесь. |
| Выбор S-Corp (на базе LLC) | Стоимость LLC + $0 за выбор | Как LLC + льготы по налогу на зарплату | Когда стабильно зарабатываешь $40K+/год от этого |
Рекомендация для разработчиков из США: LLC с одним участником в штате проживания.
Самые дешёвые штаты для регистрации: Вайоминг ($100, без подоходного налога штата), Нью-Мексико ($50), Монтана ($70). Но регистрация в своём штате обычно проще, если нет конкретной причины делать иначе.
Как подать документы:
- Зайди на сайт Secretary of State своего штата
- Поищи "form LLC" или "business entity filing"
- Подай Articles of Organization (форма на 10 минут)
- Получи EIN от IRS (бесплатно, занимает 5 минут на irs.gov)
Великобритания
| Структура | Стоимость | Защита | Лучше всего для |
|---|---|---|---|
| Индивидуальный предприниматель (Sole Trader) | Бесплатно (регистрация в HMRC) | Никакой | Первый доход. Проба. |
| Компания с ограниченной ответственностью (Ltd) | ~$15 через Companies House | Защита личных активов | Любая серьёзная работа на доход. |
Рекомендация: Компания Ltd через Companies House. Это занимает около 20 минут и стоит 12 фунтов.
Европейский Союз
Значительно различается по странам, но общая картина:
- Германия: Einzelunternehmer (индивидуальный предприниматель) для старта, GmbH для серьёзной работы (но GmbH требует 25 000 EUR капитала — рассмотри UG за 1 EUR)
- Нидерланды: Eenmanszaak (индивидуальный предприниматель, бесплатная регистрация) или BV (аналог Ltd)
- Франция: Micro-entrepreneur (упрощённая, рекомендуется для начала)
- Эстония: e-Residency + OUE (популярно для нерезидентов, полностью онлайн)
Австралия
| Структура | Стоимость | Защита | Лучше всего для |
|---|---|---|---|
| Индивидуальный предприниматель (Sole Trader) | Бесплатный ABN | Никакой | Для начала |
| Pty Ltd | ~AUD 500-800 через ASIC | Защита личных активов | Серьёзный доход |
Рекомендация: Начни с ABN индивидуального предпринимателя (бесплатно, моментально), переходи на Pty Ltd, когда стабильно зарабатываешь.
Шаг 3: Обработка платежей (настройка за 15 минут)
Тебе нужен способ получать оплату. Настрой это сейчас, а не когда первый клиент уже ждёт.
Stripe (рекомендуется большинству разработчиков):
1. Go to stripe.com
2. Create account with your business email
3. Complete identity verification
4. Connect your business bank account
5. You can now accept payments, create invoices, and set up subscriptions
Время: ~15 минут. Ты можешь начать принимать платежи немедленно (Stripe удерживает средства на 7 дней для новых аккаунтов).
Lemon Squeezy (рекомендуется для цифровых продуктов):
Если ты продаёшь цифровые продукты (шаблоны, инструменты, курсы, SaaS), Lemon Squeezy выступает твоим Merchant of Record. Это означает:
- Они обрабатывают налог на продажи, НДС и GST за тебя по всему миру
- Тебе не нужно регистрироваться для НДС в ЕС
- Они обрабатывают возвраты и споры
1. Go to lemonsqueezy.com
2. Create account
3. Set up your store
4. Add products
5. They handle everything else
Stripe Atlas (для международных разработчиков или тех, кто хочет юрлицо в США):
Если ты за пределами США, но хочешь продавать клиентам из США с американским юрлицом:
- $500 единовременный платёж
- Создаёт Delaware LLC для тебя
- Открывает банковский счёт в США (через Mercury или Stripe)
- Предоставляет услугу зарегистрированного агента
- Занимает около 1-2 недель
Шаг 4: Политика конфиденциальности и Условия обслуживания
Если ты продаёшь любой сервис или продукт онлайн, тебе это нужно. Не плати юристу за шаблонные документы.
Бесплатные, проверенные источники шаблонов:
- Termly.io — Бесплатный генератор политики конфиденциальности и условий обслуживания. Отвечай на вопросы, получай документы.
- Avodocs.com — Юридические документы с открытым исходным кодом для стартапов. Бесплатно.
- GitHub's choosealicense.com — Для лицензий проектов с открытым кодом конкретно.
- Политики Basecamp с открытым исходным кодом — Поищи "Basecamp open source policies" — хорошие шаблоны на простом английском.
Что должна покрывать твоя политика конфиденциальности (если ты обрабатываешь любые клиентские данные):
- Какие данные ты собираешь
- Как ты их обрабатываешь (локально — это твоё преимущество)
- Как долго ты их хранишь
- Как клиенты могут запросить удаление
- Есть ли у третьих сторон доступ к данным (в идеале: нет)
Время: 30 минут с генератором шаблонов. Готово.
Шаг 5: Отдельный банковский счёт
Не проводи бизнес-доход через свой личный текущий счёт. Причины:
- Налоговая ясность: Когда придёт время налогов, тебе нужно точно знать, что было бизнес-доходом, а что нет.
- Юридическая защита: Если у тебя LLC, смешивание личных и бизнес-средств может "прорвать корпоративную вуаль" — то есть суд может проигнорировать защиту ответственности твоей LLC.
- Профессионализм: Счета от "ООО 'Консалтинг Ивана'" на выделенный бизнес-счёт выглядят легитимно. Платежи на твой личный Venmo — нет.
Бесплатный или недорогой бизнес-банкинг:
-
Mercury (США) — Бесплатно, создан для стартапов. Отличный API, если захочешь автоматизировать бухгалтерию позже.
-
Relay (США) — Бесплатно, хорош для разделения потоков дохода на субсчета.
-
Starling Bank (Великобритания) — Бесплатный бизнес-счёт.
-
Wise Business (Международный) — Низкая стоимость мультивалютного счёта. Отлично для получения платежей в USD, EUR, GBP и т.д.
-
Qonto (ЕС) — Чистый бизнес-банкинг для европейских компаний.
Открой счёт сейчас. Это занимает 10-15 минут онлайн и 1-3 дня на верификацию.
Шаг 6: Основы налогообложения для побочного дохода разработчика
Откровенно: Налоги — это то, что большинство разработчиков игнорирует до апреля, а потом паникует. Потратив 30 минут сейчас, ты сэкономишь реальные деньги и нервы.
Соединённые Штаты:
- Побочный доход свыше $400/год требует налога на самозанятость (~15.3% на Social Security + Medicare)
- Плюс твоя обычная ставка подоходного налога на чистую прибыль
- Ежеквартальные расчётные налоги: Если ты задолжаешь более $1000 в налогах, IRS ожидает ежеквартальные платежи (15 апреля, 15 июня, 15 сентября, 15 января). Недоплата влечёт штрафы.
- Откладывай 25-30% чистого дохода на налоги. Переводи их на отдельный сберегательный счёт немедленно.
Обычные списания для побочного дохода разработчика:
- Затраты на API (OpenAI, Anthropic и т.д.) — 100% вычитаемы
- Покупки оборудования для бизнеса — амортизация или вычет по Section 179
- Стоимость электричества, относимая к бизнес-использованию
- Подписки на ПО, используемое для работы на доход
- Вычет за домашний офис (упрощённый: $5/кв. фут, до 300 кв. футов = $1500)
- Интернет (процент бизнес-использования)
- Доменные имена, хостинг, почтовые сервисы
- Профессиональное развитие (курсы, книги), связанное с твоей работой на доход
Великобритания:
- Отчитывайся через налоговую декларацию Self Assessment
- Торговый доход до 1000 фунтов: не облагается налогом (Trading Allowance)
- Сверх этого: плати подоходный налог + взносы Class 4 NICs с прибыли
- Сроки платежей: 31 января и 31 июля
Отслеживай всё с первого дня. Используй простую таблицу, если ничего другого:
| Date | Category | Description | Amount | Type |
|------------|-------------|----------------------|---------|---------|
| 2025-01-15 | API | Anthropic credit | -$20.00 | Expense |
| 2025-01-18 | Revenue | Client invoice #001 | +$500.00| Income |
| 2025-01-20 | Software | Vercel Pro plan | -$20.00 | Expense |
| 2025-01-20 | Tax Reserve | 30% of net income | -$138.00| Transfer|
Распространённая ошибка: "Я разберусь с налогами потом." Потом — это четвёртый квартал, ты должен $3000 расчётных налогов плюс штрафы, и ты уже потратил деньги. Автоматизируй: каждый раз, когда доход поступает на бизнес-счёт, переводи 30% на налоговый сберегательный счёт немедленно.
Контрольная точка Урока 4
У тебя теперь должно быть (или план на):
- [ ] Прочитан пункт об ИС в трудовом договоре
- [ ] Пройден Тест трёх вопросов для планируемой работы на доход
- [ ] Выбрана бизнес-структура (или решено начать как индивидуальный предприниматель)
- [ ] Настроена обработка платежей (Stripe или Lemon Squeezy)
- [ ] Политика конфиденциальности и Условия обслуживания из генератора шаблонов
- [ ] Отдельный бизнес-счёт (или заявка подана)
- [ ] Налоговая стратегия: откладывание 30% + график ежеквартальных платежей
В полном курсе STREETS Модуль E (Плейбук Исполнения) включает шаблоны финансового моделирования, которые автоматически рассчитывают твои налоговые обязательства, прибыльность проектов и точки безубыточности для каждого движка дохода.
Урок 5: Бюджет $200/месяц
"У твоего бизнеса есть расход. Знай его. Контролируй его. Заставь зарабатывать."
Почему $200/месяц
Двести dollars в месяц — это минимально жизнеспособный бюджет для операции разработчика по генерации дохода. Этого достаточно для запуска реальных сервисов, обслуживания реальных клиентов и генерации реального дохода. И при этом достаточно мало, чтобы, если ничего не сработает, ты не поставил всё на кон.
Цель проста: превратить $200/месяц в $600+/месяц в течение 90 дней. Если у тебя получится — у тебя есть бизнес. Если нет — ты меняешь стратегию, а не увеличиваешь бюджет.
Разбивка бюджета
Уровень 1: API-кредиты — $50-100/месяц
Это твои продакшн-вычисления для клиентского качества.
Рекомендуемое начальное распределение:
Anthropic (Claude): $40/month — Your primary for quality output
OpenAI (GPT-4o-mini): $20/month — Cheap volume work, fallback
DeepSeek: $10/month — Budget tasks, experimentation
Buffer: $30/month — Overflow or new provider testing
Как управлять расходами на API:
# Simple API budget tracker — run daily via cron
# Save as: check_api_spend.py
import requests
import json
from datetime import datetime
# Check Anthropic usage
# (Anthropic provides usage in the dashboard; here's how to track locally)
MONTHLY_BUDGET = {
"anthropic": 40.00,
"openai": 20.00,
"deepseek": 10.00,
}
# Track locally by logging every API call cost
USAGE_LOG = "api_usage.jsonl"
def get_monthly_spend(provider: str) -> float:
"""Calculate current month's spend for a provider."""
current_month = datetime.now().strftime("%Y-%m")
total = 0.0
try:
with open(USAGE_LOG, "r") as f:
for line in f:
entry = json.loads(line)
if entry["provider"] == provider and entry["date"].startswith(current_month):
total += entry["cost"]
except FileNotFoundError:
pass
return total
def log_api_call(provider: str, tokens_in: int, tokens_out: int, model: str):
"""Log an API call for budget tracking."""
# Cost per 1M tokens (update these as pricing changes)
PRICING = {
"claude-3.5-sonnet": {"input": 3.00, "output": 15.00},
"claude-3.5-haiku": {"input": 0.80, "output": 4.00},
"gpt-4o-mini": {"input": 0.15, "output": 0.60},
"gpt-4o": {"input": 2.50, "output": 10.00},
"deepseek-v3": {"input": 0.27, "output": 1.10},
}
prices = PRICING.get(model, {"input": 1.0, "output": 5.0})
cost = (tokens_in / 1_000_000 * prices["input"]) + \
(tokens_out / 1_000_000 * prices["output"])
entry = {
"date": datetime.now().isoformat(),
"provider": provider,
"model": model,
"tokens_in": tokens_in,
"tokens_out": tokens_out,
"cost": round(cost, 6),
}
with open(USAGE_LOG, "a") as f:
f.write(json.dumps(entry) + "\n")
# Budget warning
monthly_spend = get_monthly_spend(provider)
budget = MONTHLY_BUDGET.get(provider, 0)
if monthly_spend > budget * 0.8:
print(f"WARNING: {provider} spend at {monthly_spend:.2f}/{budget:.2f} "
f"({monthly_spend/budget*100:.0f}%)")
return cost
Стратегия гибридных расходов:
- Используй локальные LLM для 80% обработки (классификация, извлечение, суммаризация, черновики)
- Используй API-вызовы для 20% обработки (финальная проверка качества, сложные рассуждения, клиентский вывод)
- Твоя эффективная стоимость за задачу резко падает по сравнению с чистым использованием API
Уровень 2: Инфраструктура — $30-50/месяц
Domain name: $12/year ($1/month) — Namecheap, Cloudflare, Porkbun
Email (business): $0-6/month — Zoho Mail free, or Google Workspace $6
VPS (optional): $5-20/month — For hosting lightweight services
Hetzner ($4), DigitalOcean ($6), Railway ($5)
DNS/CDN: $0/month — Cloudflare free tier
Hosting (static): $0/month — Vercel, Netlify, Cloudflare Pages (free tiers)
Нужен ли тебе VPS?
Если твоя модель дохода:
- Продажа цифровых продуктов: Нет. Размещай на Vercel/Netlify бесплатно. Используй Lemon Squeezy для доставки.
- Запуск асинхронной обработки для клиентов: Возможно. Ты можешь запускать задачи на своей локальной машине и доставлять результаты. VPS добавляет надёжность.
- Предложение API-сервиса: Да, скорее всего. VPS за $5-10 работает как лёгкий API-шлюз, даже если тяжёлая обработка происходит на твоей локальной машине.
- Продажа SaaS: Да. Но начни с самого дешёвого тарифа и масштабируй.
Рекомендуемая стартовая инфраструктура:
Local rig — primary compute, LLM inference, heavy processing
|
+-- SSH tunnel or WireGuard VPN
|
$5 VPS (Hetzner/DigitalOcean) — API gateway, webhook receiver, static hosting
|
+-- Cloudflare (free) — DNS, CDN, DDoS protection
|
Vercel/Netlify (free) — marketing site, landing pages, docs
Общая стоимость инфраструктуры: $5-20/месяц. Остальное — бесплатные тарифы.
Уровень 3: Инструменты — $20-30/месяц
Analytics: $0/month — Plausible Cloud ($9) or self-hosted,
or Vercel Analytics (free tier)
or just Cloudflare analytics (free)
Email marketing: $0/month — Buttondown (free up to 100 subs),
Resend ($0 for 3K emails/month)
Monitoring: $0/month — UptimeRobot (free, 50 monitors),
Better Stack (free tier)
Design: $0/month — Figma (free), Canva (free tier)
Accounting: $0/month — Wave (free), or a spreadsheet
Hledger (free, plaintext accounting)
Откровенно: Ты можешь запустить весь свой набор инструментов на бесплатных тарифах при старте. $20-30, выделенные здесь — это на случай, когда ты перерастёшь бесплатные тарифы или захочешь конкретную платную функцию. Не трать их просто потому, что они в бюджете. Неизрасходованный бюджет — это прибыль.
Уровень 4: Резерв — $0-30/месяц
Это твой фонд "непредвиденных расходов":
- Скачок расходов на API из-за неожиданно большой пакетной обработки
- Инструмент, который нужен для одного конкретного клиентского проекта
- Экстренная покупка домена, когда находишь идеальное имя
- Разовая покупка (тема, шаблон, набор иконок)
Если ты не используешь резерв, он накапливается. После 3 месяцев неиспользованного резерва рассмотри перераспределение на API-кредиты или инфраструктуру.
Расчёт ROI
Это единственное число, которое имеет значение:
Monthly Revenue - Monthly Costs = Net Profit
Net Profit / Monthly Costs = ROI Multiple
Example:
$600 revenue - $200 costs = $400 profit
$400 / $200 = 2x ROI
The target: 3x ROI ($600+ revenue on $200 spend)
The minimum: 1x ROI ($200 revenue = break even)
Below 1x: Change strategy or reduce costs
Когда увеличивать бюджет:
Увеличивай бюджет ТОЛЬКО когда:
- Ты стабильно на 2x+ ROI в течение 2+ месяцев
- Больше расходов напрямую увеличит доход (например, больше API-кредитов = больше клиентских мощностей)
- Увеличение привязано к конкретному, проверенному потоку дохода
Когда НЕ увеличивать бюджет:
- "Я думаю, этот новый инструмент поможет" (сначала протестируй бесплатные альтернативы)
- "Все говорят, что нужно тратить деньги, чтобы зарабатывать" (не на этом этапе)
- "Более мощный VPS сделает мой сервис быстрее" (скорость действительно является узким местом?)
- Ты ещё не достиг 1x ROI (исправляй доход, а не расходы)
Лестница масштабирования:
$200/month → Proving the concept (months 1-3)
$500/month → Scaling what works (months 4-6)
$1000/month → Multiple revenue streams (months 6-12)
$2000+/month → Full business operation (year 2+)
Each step requires proving ROI at the current level first.
Распространённая ошибка: Относиться к $200 как к "инвестиции", которая не обязана приносить деньги немедленно. Нет. Это эксперимент с дедлайном в 90 дней. Если $200/месяц не генерируют $200/месяц дохода в течение 90 дней, что-то в стратегии нужно менять. Деньги, рынок, предложение — что-то не работает. Будь честен с собой.
Контрольная точка Урока 5
У тебя теперь должно быть:
- [ ] Ежемесячный бюджет ~$200, распределённый по четырём уровням
- [ ] Созданы аккаунты API с установленными лимитами расходов
- [ ] Приняты решения по инфраструктуре (только локально vs. локально + VPS)
- [ ] Выбран набор инструментов (в основном бесплатные тарифы для начала)
- [ ] Цели по ROI: 3x в течение 90 дней
- [ ] Чёткое правило: увеличивать бюджет только после подтверждения ROI
В полном курсе STREETS Модуль E (Плейбук Исполнения) включает шаблон финансовой панели, который отслеживает твои расходы, доход и ROI по каждому движку дохода в реальном времени — чтобы ты всегда знал, какие потоки прибыльны, а какие нуждаются в корректировке.
Урок 6: Твой документ «Суверенный Стек»
"У каждого бизнеса есть план. Это твой — и он помещается на двух страницах."
Результат
Это самое важное, что ты создашь в Модуле S. Твой документ «Суверенный Стек» — это единый справочник, который фиксирует всё о твоей инфраструктуре для генерации дохода. Ты будешь ссылаться на него на протяжении всего оставшегося курса STREETS, обновлять его по мере развития твоей настройки и использовать для принятия трезвых решений о том, что строить, а что пропустить.
Создай новый файл. Markdown, Google Doc, страница Notion, простой текст — что угодно, что ты действительно будешь поддерживать. Используй шаблон ниже, заполняя каждое поле числами и решениями из Уроков 1-5.
Шаблон
Скопируй весь этот шаблон и заполни. Каждое поле. Без пропусков.
# Sovereign Stack Document
# [Your Name or Business Name]
# Created: [Date]
# Last Updated: [Date]
---
## 1. HARDWARE INVENTORY
### Primary Machine
- **Type:** [Desktop / Laptop / Mac / Server]
- **CPU:** [Model] — [X] cores, [X] threads
- **RAM:** [X] GB [DDR4/DDR5]
- **GPU:** [Model] — [X] GB VRAM (or "None — CPU inference only")
- **Storage:** [X] GB SSD free / [X] GB total
- **OS:** [Linux distro / macOS version / Windows version]
### Network
- **Download:** [X] Mbps
- **Upload:** [X] Mbps
- **Latency to cloud APIs:** [X] ms
- **ISP reliability:** [Stable / Occasional outages / Unreliable]
### Uptime Capability
- **Can run 24/7:** [Yes / No — reason]
- **UPS:** [Yes / No]
- **Remote access:** [SSH / RDP / Tailscale / None]
### Monthly Infrastructure Cost
- **Electricity (24/7 estimate):** $[X]/month
- **Internet:** $[X]/month (business portion)
- **Total fixed infrastructure cost:** $[X]/month
---
## 2. LLM STACK
### Local Models (via Ollama)
| Model | Size | Tokens/sec | Use Case |
|-------|------|-----------|----------|
| [e.g., llama3.1:8b] | [X]B | [X] tok/s | [e.g., Classification, extraction] |
| [e.g., mistral:7b] | [X]B | [X] tok/s | [e.g., Summarization, drafts] |
| [e.g., deepseek-coder] | [X]B | [X] tok/s | [e.g., Code generation] |
### API Models (for quality-critical output)
| Provider | Model | Monthly Budget | Use Case |
|----------|-------|---------------|----------|
| [e.g., Anthropic] | [Claude 3.5 Sonnet] | $[X] | [e.g., Customer-facing content] |
| [e.g., OpenAI] | [GPT-4o-mini] | $[X] | [e.g., Volume processing fallback] |
### Inference Strategy
- **Local handles:** [X]% of requests ([list tasks])
- **API handles:** [X]% of requests ([list tasks])
- **Estimated blended cost per 1M tokens:** $[X]
---
## 3. MONTHLY BUDGET
| Category | Allocation | Actual (update monthly) |
|----------|-----------|------------------------|
| API Credits | $[X] | $[ ] |
| Infrastructure (VPS, domain, email) | $[X] | $[ ] |
| Tools (analytics, email marketing) | $[X] | $[ ] |
| Reserve | $[X] | $[ ] |
| **Total** | **$[X]** | **$[ ]** |
### Revenue Target
- **Month 1-3:** $[X]/month (minimum: cover costs)
- **Month 4-6:** $[X]/month
- **Month 7-12:** $[X]/month
---
## 4. LEGAL STATUS
- **Employment status:** [Employed / Freelance / Between jobs]
- **IP clause reviewed:** [Yes / No / N/A]
- **IP clause risk level:** [Clean / Murky — needs review / Restrictive]
- **Business entity:** [LLC / Ltd / Sole Proprietor / None yet]
- **State/Country:** [Where registered]
- **EIN/Tax ID:** [Obtained / Pending / Not needed yet]
- **Payment processing:** [Stripe / Lemon Squeezy / Other] — [Active / Pending]
- **Business bank account:** [Open / Pending / Using personal (fix this)]
- **Privacy policy:** [Done / Not yet — URL: ___]
- **Terms of service:** [Done / Not yet — URL: ___]
---
## 5. TIME INVENTORY
- **Available hours per week for income projects:** [X] hours
- **Weekday mornings:** [X] hours
- **Weekday evenings:** [X] hours
- **Weekends:** [X] hours
- **Time zone:** [Your timezone]
- **Best deep work blocks:** [e.g., "Saturday 6am-12pm, weekday evenings 8-10pm"]
### Time Allocation Plan
| Activity | Hours/week |
|----------|-----------|
| Building/coding | [X] |
| Marketing/sales | [X] |
| Client work/delivery | [X] |
| Learning/experimentation | [X] |
| Admin (invoicing, email, etc.) | [X] |
> Rule: Never allocate more than 70% of available time.
> Life happens. Burnout is real. Leave buffer.
---
## 6. SKILLS INVENTORY
### Primary Skills (things you could teach others)
1. [Skill] — [years of experience]
2. [Skill] — [years of experience]
3. [Skill] — [years of experience]
### Secondary Skills (competent but not expert)
1. [Skill]
2. [Skill]
3. [Skill]
### Exploring (learning now or want to learn)
1. [Skill]
2. [Skill]
### Unique Combinations
What makes YOUR skill combination unusual? (This becomes your moat in Module T)
- [e.g., "I know both Rust AND healthcare data standards — very few people have both"]
- [e.g., "I can build full-stack apps AND I understand supply chain logistics from a previous career"]
- [e.g., "I'm fluent in 3 languages AND I can code — I can serve non-English markets that most dev tools ignore"]
---
## 7. SOVEREIGN STACK SUMMARY
### What I Can Offer Today
(Based on hardware + skills + time, what could you sell THIS WEEK if someone asked?)
1. [e.g., "Local document processing — extract data from PDFs privately"]
2. [e.g., "Custom automation scripts for [specific domain]"]
3. [e.g., "Technical writing / documentation"]
### What I'm Building Toward
(Based on the full STREETS framework — fill this in as you progress through the playbook)
1. [Revenue Engine 1 — from Module R]
2. [Revenue Engine 2 — from Module R]
3. [Revenue Engine 3 — from Module R]
### Key Constraints
(Be honest — these aren't weaknesses, they're parameters)
- [e.g., "Only 10 hours/week available"]
- [e.g., "No GPU — CPU inference only, will rely on APIs for LLM tasks"]
- [e.g., "Employment contract is restrictive — need to stay in unrelated domains"]
- [e.g., "Non-US based — some payment/legal options are limited"]
---
*This document is a living reference. Update it monthly.*
*Next review date: [Date + 30 days]*
Как использовать этот документ
- Перед началом любого нового проекта: Проверь свой Суверенный Стек. Есть ли у тебя оборудование, время, навыки и бюджет для реализации?
- Перед любой покупкой: Проверь распределение бюджета. Эта покупка в плане?
- Ежемесячный обзор: Обнови столбец "Факт" в бюджете. Обнови цифры дохода. Скорректируй распределение на основе того, что работает.
- Когда кто-то спрашивает, чем ты занимаешься: Твой раздел "Что я могу предложить сегодня" — это твоя мгновенная презентация.
- Когда тебя соблазняет блестящая новая идея: Проверь свои ограничения. Это вписывается в твоё время, навыки и оборудование? Если нет, добавь в "К чему стремлюсь" на потом.
Упражнение на один час
Поставь таймер на 60 минут. Заполни каждое поле шаблона. Не overthink. Не исследуй обширно. Напиши то, что знаешь прямо сейчас. Обновишь позже.
Поля, которые ты не можешь заполнить? Это твои задачи на эту неделю:
- Пустые числа бенчмарков? Запусти скрипт бенчмарка из Урока 2.
- Нет бизнес-структуры? Начни процесс регистрации из Урока 4.
- Нет обработки платежей? Настрой Stripe из Урока 4.
- Пустая инвентаризация навыков? Потрать 15 минут, перечисляя всё, за что тебе платили за последние 5 лет.
Распространённая ошибка: Тратить 3 часа, делая документ "идеальным", вместо 1 часа, делая его "готовым". Документ «Суверенный Стек» — это рабочий справочник, а не бизнес-план для инвесторов. Никто его не увидит, кроме тебя. Точность важна. Форматирование — нет.
Контрольная точка Урока 6
У тебя теперь должно быть:
- [ ] Готовый документ «Суверенный Стек», сохранённый в месте, которое ты действительно откроешь
- [ ] Все шесть разделов заполнены реальными числами (не амбициозными)
- [ ] Чёткий список задач для пробелов в настройке
- [ ] Установлена дата первого ежемесячного обзора (через 30 дней)
Модуль S: Завершён
Что ты построил за две недели
Посмотри, что у тебя теперь есть, чего не было, когда ты начинал:
- Инвентаризация оборудования, сопоставленная с возможностями генерации дохода — не просто характеристики на наклейке.
- Локальный стек LLM продакшн-уровня с Ollama, протестированный на твоём реальном оборудовании, настроенный для реальных нагрузок.
- Преимущество приватности, которое ты понимаешь как продавать — с конкретными формулировками для конкретных аудиторий.
- Юридическая и финансовая основа — бизнес-структура (или план), обработка платежей, банковский счёт, налоговая стратегия.
- Контролируемый бюджет с чёткими целями ROI и 90-дневным дедлайном для подтверждения модели.
- Документ «Суверенный Стек», который фиксирует всё вышеперечисленное в одном справочнике, который ты будешь использовать для каждого решения в будущем.
Это больше, чем большинство разработчиков когда-либо настраивают. Серьёзно. Большинство людей, которые хотят зарабатывать дополнительно, сразу прыгают к "построить что-то крутое", а потом удивляются, почему им не платят. У тебя теперь есть инфраструктура для получения оплаты.
Но инфраструктура без направления — это просто дорогое хобби. Тебе нужно знать, куда направить этот стек.
Что дальше: Модуль T — Технические Рвы
Модуль S дал тебе фундамент. Модуль T отвечает на критический вопрос: как построить то, что конкуренты не могут легко скопировать?
Вот что охватывает Модуль T:
- Проприетарные пайплайны данных — как создавать наборы данных, к которым доступ есть только у тебя, легально и этично
- Пользовательские конфигурации моделей — файн-тюнинг и промпт-инжиниринг, который производит качество вывода, недостижимое для других с настройками по умолчанию
- Накапливающиеся стеки навыков — почему "Python + здравоохранение" побеждает "Python + JavaScript" для дохода, и как определить твою уникальную комбинацию
- Технические барьеры для входа — инфраструктурные решения, на воспроизведение которых конкуренту потребуются месяцы
- Аудит Рва — фреймворк для оценки, есть ли у твоего проекта защитимое преимущество или это просто ещё один типовой сервис
Разница между разработчиком, зарабатывающим $500/месяц, и тем, кто зарабатывает $5000/месяц, редко заключается в навыках. Дело в рвах. В вещах, которые делают твоё предложение трудно воспроизводимым, даже если у кого-то такое же оборудование и те же модели.
Полная дорожная карта STREETS
| Модуль | Название | Фокус | Длительность |
|---|---|---|---|
| S | Суверенная Настройка | Инфраструктура, юридические вопросы, бюджет | Недели 1-2 (завершено) |
| T | Технические Рвы | Защитимые преимущества, проприетарные активы | Недели 3-4 |
| R | Движки Дохода | Конкретные плейбуки монетизации с кодом | Недели 5-8 |
| E | Плейбук Исполнения | Последовательности запуска, ценообразование, первые клиенты | Недели 9-10 |
| E | Эволюционное Преимущество | Держаться впереди, обнаружение трендов, адаптация | Недели 11-12 |
| T | Тактическая Автоматизация | Автоматизация операций для пассивного дохода | Недели 13-14 |
| S | Накопление Потоков | Множественные источники дохода, портфельная стратегия | Недели 15-16 |
Модуль R (Движки Дохода) — это то, где зарабатывается большая часть денег. Но без S и T ты строишь на песке.
Готов к полному плейбуку?
Ты увидел фундамент. Ты построил его сам. Теперь получи полную систему.
Получи STREETS Core — полный 16-недельный курс со всеми семью модулями, шаблонами кода движков дохода, финансовыми панелями и закрытым сообществом разработчиков, строящих доход на своих собственных условиях.
Твоя машина. Твои правила. Твой доход.