ch
Feedback
AI для Разработки — Claude | Cursor | Copilot

AI для Разработки — Claude | Cursor | Copilot

前往频道在 Telegram

100+ AI-источников → лучшие инструменты для разработчиков. Cursor, Copilot, Claude API — обзоры, туториалы, новинки. Вопросы: @aiskladadmin

显示更多
942
订阅者
+424 小时
+187
+830
帖子存档
Сделали SEO-блог на 84 страницы через Claude API. За 3 дня. Запускали SAT-платформу для школьников СНГ — нужно было SEO сразу на трёх языках (RU/KK/EN). Двух копирайтеров + переводчика в штат — это убить бюджет до запуска. Так что пошли в автоматизацию. Результат: 28 статей × 3 локали = 84 файла, всё через Claude API. От первой строки до индексации в Google и Яндексе — 3 дня. Главный плот-твист — статьи не в Markdown. Каждая лежит как .ts файл с типизированным объектом. Забыл readingTime или опечатался в locale — IDE подсветит, до билда дело не дойдёт. С Markdown frontmatter такое ловится уже в проде. AI пишет 70%, остальные 30% — человек: вычитка фактов, локализация идиом, финальные правки. Без этой части статьи уходят в low-quality индекс почти гарантированно. Этический поворот: в robots.txt запрещены GPTBot и компания. Сами через AI генерим — другим не отдаём, такие дела. Разбор на Хабре 🔥 — забираю стек 👀 — а Google не забанит @ai_for_dev

LangGraph interrupt: технический разбор HITL для AI-агентов Кейс: AI-ассистент для торговли на T-Invest API, где цена ошибки LLM = реальные деньги. Автор реализует GuardRails через Human-In-The-Loop. Почему не Chain-пайплайн: линейная цепочка не позволяет корректно прервать выполнение и вернуться в ту же точку. LangGraph даёт ориентированные графы с циклами, явное управление состоянием и встроенный механизм паузы. Как работает interrupt: — LangGraph вставляет хук в граф — при достижении узла выполнение прерывается — состояние сериализуется в Checkpointer — управление уходит во внешний канал (Chainlit / Telegram / CLI) — после подтверждения граф возобновляется с того же state Реализация в ноде tool_node:

from langgraph.types import interrupt

async def tool_node(state: MessagesState):
    tool_call = state['messages'][-1].tool_calls[0]
    name = tool_call['name']
    arg_ = tool_call['args']
    if name in ('buy', 'sale'):
        # маппинг figi → ticker для UI
        # вызов interrupt с payload подтверждения
Подтверждение выводится в Chainlit, пользователь принимает решение, граф продолжает исполнение. Полный код и пояснения ⚡ — interrupt + Checkpointer = база 🤔 — а где здесь race condition @ai_for_dev

Соло-дев на AI за 700 ₽ в месяц — без Copilot и без облака Чувак собрал стек, который реально работает на домашнем ПК: 🔧 Ollama — крутишь LLM локально, бесплатно 🔧 Open WebUI — свой чат с RAG и загрузкой файлов 🔧 OpenHands — агент, который сам пишет код, сам тестирует, сам коммитит Минималка — 8 ГБ RAM и процессор средней руки. Даже на GTX 1060 тянет. Qwen 2.5 Coder 7B и DeepSeek Coder 6.7B — бесплатные модели, которые закрывают 70–80% задач по качеству. Для деплоя MVP — VPS за 500 ₽, Docker, GitHub Actions. Код никуда не утекает, от санкций не зависишь. Главный посыл: проблема не в деньгах, а в том, что лень поднять это за вечер. Статья с пошаговой инструкцией 🔥 — OpenHands надо затестить 🤷 — на 7B далеко не уедешь @ai_for_dev

+2
microGPT в железо: 50K токенов/сек на FPGA Ребята взяли microGPT от Карпатого и зашили его прямо в ПЛИС. Никакого PyTorch, никакой видеокарты — просто плата DE1-SoC и SystemVerilog. Самый сок — как они уложили трансформер в железо: • Q4.12 fixed-point вместо float (16 бит, веса в ROM через $readmemh) • Один MatVec-блок на 16 каналов прокручивают по очереди для Q/K/V, MLP и LM-головы — экономия места • Attention превратился в FSM-расписание: посчитал dot-product, нашёл max, аппроксимировал exp, поделил, смешал V И да, 50 000+ токенов в секунду — это не опечатка. В репе всё для повторения: RTL, ModelSim-тестбенчи, экспорт весов, JTAG-инференс. Можно прошить плату и реально пообщаться с моделью через свитчи и LED-индикаторы. GitHub 🤩 — безумцы в хорошем смысле 👀 — где бы плату найти @ai_for_dev

RuStore натравили AI на рутину безопасников — и вот что вышло Ребята из RuStore устали от того, что ИБ-инженеры тратят кучу времени на одно и то же: разбор задач, проверка MR на типовые дыры, прогон DAST. И сделали три AI-инструмента: 🔹 AI-сортировщик задач — разбирает входящий поток security check-задач, отсеивает то, что не требует глубокого анализа 🔹 AI Code Review — сидит в пайплайне и ловит типовые уязвимости в merge request. Не заменяет ревьюера, но экономит время на очевидном 🔹 AI DAST — мультиагентный «робот-пентестер» уровня джуна. Автоматом прогоняет динамическое тестирование Главное — AI нигде не решает сам. Он делает черновую работу, а инженер разбирает только то, что реально требует мозгов. Статья на Хабре 🔥 — хочу такое в свой CI 😐 — джун-пентестер из AI — смело @ai_for_dev

Пакеты SAP npm заражены инфостилером Неприятная новость для всех, кто работает с SAP CAP: в официальных пакетах SAP на npm на
Пакеты SAP npm заражены инфостилером Неприятная новость для всех, кто работает с SAP CAP: в официальных пакетах SAP на npm нашли вредоносный код, который выгребает у разработчиков всё подряд. Под ударом конкретные версии: - @cap-js/sqlite 2.2.2 - @cap-js/postgres 2.2.2 - @cap-js/db-service 2.10.1 - mbt 1.2.48 Хук preinstall запускает скрипт, который собирает токены npm и GitHub, SSH-ключи, креды AWS/Azure/GCP, kubeconfig и даже читает память CI-раннеров через встроенный Python. Всё шифруется (RSA-OAEP-4096 + AES-256-GCM) и заливается в публичные репозитории GitHub под учёткой самой жертвы — изящный обход типового мониторинга исходящего трафика. Самое неприятное — самораспространение: украденными токенами малварь модифицирует другие пакеты и репы, к которым у жертвы есть доступ записи. Нашли исследователи из Aikido и Socket. Атрибуция — группа TeamPCP, известная по атакам на Trivy, Checkmarx, Bitwarden и LiteLLM. Если в lock-файле эти версии — стоит срочно ротировать секреты в окружении сборки. 😐 — пошёл ротировать токены 👀 — проверю package-lock @ai_for_dev

Контекст для агента в одну команду — SocratiCode Если Cursor или Claude Code иногда теряются в большом проекте и генерят стра
Контекст для агента в одну команду — SocratiCode Если Cursor или Claude Code иногда теряются в большом проекте и генерят странное «потому что не видят всю кодовую базу» — есть лекарство.
npx -y socraticode
И всё. Никакой установки, никакой возни с конфигом. Движок индексирует проект и кормит агенту структурированный контекст всего репо. Открытый исходник под AGPL-3.0. Из коробки заводится в Cursor, VS Code, Claude Code — кнопки установки прямо в README. Автор обещает работу «в 30 раз лучше». Цифру оставим на его совести, но идея здравая: давать LLM весь репозиторий, а не пять открытых вкладок и надежду. 🎉 — npx и поехали 👀 — попробую на пет-проекте @ai_for_dev

Сепаратор для логов: убираем INFO-шум перед отправкой в Claude Знакомая боль: сервис упал, открываешь лог — 48k строк, среди них 5000 одинаковых GET /status 200 OK и одна критичная ошибка где-то посередине. Модель тонет в шуме, ты платишь за пустые токены, баг ищется хуже. Чувак на Хабре выкатил logzip — берёт повторяющиеся куски, выносит в легенду наверху, в самом логе оставляет короткие маркеры. На выходе текст, который остаётся человекочитаемым, но весит в разы меньше. Почему не grep/gzip: - gzip = бинарь, Claude такое не ест - grep режет контекст до и после ошибки — модель не видит, что было за минуту до фейла - logzip держит смысл аномалий и сохраняет таймлайн Сжатие до 80% на типичных логах. Идея вдохновлена этой статьёй, пост автора библиотеки. 🔥 — пойду прикручивать к пайплайну 👀 — а мне grep + sed хватает @ai_for_dev

Агенты — это всё тот же софт, просто бизнес-логика теперь галлюцинирует Отличная статья о том, почему ваш AI-агент разваливае
Агенты — это всё тот же софт, просто бизнес-логика теперь галлюцинирует Отличная статья о том, почему ваш AI-агент разваливается в проде. Спойлер: потому что вы забыли про всё, кроме самого агента. Автор раскладывает агентный софт на 5 слоёв: 🔹 Логика агента — модель, промпты, инструменты, наблюдаемость 🔹 Данные — «память» агента это просто данные, проектируйте как данные 🔹 Безопасность — read-only это не промпт-инструкция, а конфиг инструмента. А утечка контекста между юзерами — не баг, а data breach 🔹 Интерфейсы — Slack-юзер ≠ юзер продукта ≠ другой агент через MCP 🔹 Инфраструктура — как запускать и масштабировать всё это Мысль, которую стоит запомнить: код-агенты снизили порог входа в код, но не снизили требования к продакшну. Системная инженерия не отменяется тем, что у вас теперь LLM вместо if-else. Читать целиком 🔥 — в закладки и команде скинуть 🤷 — капитан очевидность, но ок @ai_for_dev

Харнес закрытый — память чужая Все сейчас строят агентов через agent harness'ы — Claude Code, Codex, OpenCode и прочие. И вот в чём подвох: память агента живёт внутри харнеса. Это не отдельный сервис, который можно подключить сбоку. Контекст сообщений, результаты вызова инструментов, файлы настроек типа CLAUDE.md, межсессионная память — всем этим рулит харнес. Как метко сказала Сара Вудерс: просить «встроить память в харнес» — всё равно что просить «встроить вождение в автомобиль». Это и есть его работа. А теперь вопрос: если ваш харнес закрытый и за проприетарным API — кто владеет памятью вашего агента? Правильно, не вы. И это колоссальный vendor lock-in. Кстати, модели не заменят оркестрацию. Claude Code — 512 тысяч строк кода. Даже Anthropic не верит, что модель сама справится без обвязки. Web search в API — это тоже харнес, просто лёгкий. Мораль: хотите владеть агентом — владейте харнесом. Открытым. 🔥 — open source или смерть 🤷 — да ладно, всё равно всё на Claude Code @ai_for_dev

PR вроде ок, а ревью буксует — знакомо? Команда ушла в AI-first, и в продукт полетели PR от людей с разной глубиной контекста: часть из соседних команд, часть написана в обнимку с Claude/Copilot. Код читается, синтаксис чистый, а вопрос всё равно висит — это вообще нормальное изменение для нашей кодовой базы? Классика жанра:
- if (!user.hasScope('payments:write')) return deny();
+ if (!user.isAuthenticated) return deny();
Формально код не сломан. По смыслу — кто-то тихонько переписал политику доступа к платежам. Без контекста продукта не отличишь рефакторинг от дыры. Автор собрал PRShield — MVP, который не «ищет всё плохое» и не пишет summary по diff. Он отвечает на один вопрос: что команда должна сделать с этим PR прямо сейчас. Мержить, звать эксперта зоны или блокировать. Подробности — в статье на Хабре. 🔥 — внедрю в команду 🤡 — у нас ревью = rubber stamp @ai_for_dev

Technology Radar Vol. 34: важна обвязка, а не модель Thoughtworks в 34-м выпуске радара формулирует то, что уже видно по инцидентам в проде: критерии оценки агентных инструментов размываются быстрее, чем сами инструменты созревают. Один и тот же подход называют то разработкой по спецификации, то оркестрацией агентов, то композицией навыков — суть теряется в терминологии. Четыре сигнала выпуска: - оценивать технологии в мире агентов стало сложнее; - возврат к базовым инженерным принципам; - permission-hungry agents — широкие IAM-права у coding agents = новая поверхность атаки; - необходимость ограничивать coding agents через песочницы и политики. Мартин Фаулер дополняет картину harness engineering: Agent = Model + Harness. Обвязка делится на: - guides (упреждающий контроль) — системный промпт, retrieval, политики; - sensors (обратная связь) — линтеры, тесты, LLM-as-judge. И на два типа исполнения: детерминированный (CPU, дёшево, надёжно) vs инференсный (GPU, дороже, недетерминирован). Разбор на Хабре. ⚡ — пора строить guards 👀 — у нас sensors слабые @ai_for_dev

Как писать Agents.md, чтобы агент его реально читал Augment погоняли свой бенчмарк и поделились что зашло, а что нет. Если ты тимлид и пишешь стандарты для AI-агентов — забирай: 🔥 Структурируй как скилл: общее наверху, детали в отдельных файлах. Длинная простыня хуже 100-150 строк с прогрессивным раскрытием. 🔥 Нумерованные шаги для сложных воркфлоу — банально, но работает лучше всего. 🔥 Decision tables когда в коде несколько способов решить одну задачу — таблица с вопросами и весами. 🔥 Сниппеты из реального кода заставляют агента переиспользовать паттерны, а не сочинять с нуля. 🔥 К каждому don't обязательно do — иначе агент не понимает альтернативы. 🔥 Архитектуру детально расписывать не надо, даже во вложенных файлах. 🔥 Секции dos/donts длиннее 15 пунктов превращаются в шум. В общем, Agents.md — это новый CONTRIBUTING.md, и его качество напрямую влияет на скорость команды. 👏 — мой Agents.md разбух 😁 — 100 строк, сейчас будет @ai_for_dev

SSC: Markdown-спека как исходный язык компилятора Устойчивый разрыв между описанием намерения системы (требования, бизнес-правила, примеры поведения) и исполняемым кодом. Два классических ответа: 1. Формальные методыTLA+, FOL, LTL. Дают строгую проверяемость, но требуют переписывания знаний в формальный язык — высокий порог входа. 2. LLM-генерация — модель пишет код по описанию на естественном языке. Проблема: переход «спецификация → код» нестрогий, невоспроизводимый и не объяснимый как последовательность правил. Подход Semantic Spec Compilation берёт классическую теорию трансляторов и применяет её к Markdown. Спецификация трактуется как исходный язык с лексикой, грамматикой и семантикой; компилятор обеспечивает воспроизводимый переход к целевому коду. Релевантная литература: Doc2Spec (2026) — мультиагентная индукция грамматики из текстовых правил; Formal Specs from NL (2022) — дообучение языковых моделей на regex/FOL/LTL. Практическая аналогия — Gherkin/Cucumber для BDD. ⚡ — формальные методы возвращаются 🤔 — где готовый инструмент? @ai_for_dev

Сбер бросает форк LangChain — GigaChain переезжает на совместимость Свежее интервью на Хабре с техлидом GigaChain Константино
Сбер бросает форк LangChain — GigaChain переезжает на совместимость Свежее интервью на Хабре с техлидом GigaChain Константином Крестниковым. Если кратко: — Форкнули LangChain, потому что нужен был SDK под GigaChat. Дальше upstream переехал на модульную архитектуру с отдельным хранилищем промптов, крупные вендоры стали лепить свои пакеты совместимости. Жить с форком — стрелять себе в ногу при каждом релизе. — Старые LangChain-проекты теперь мигрируют на GigaChat почти без правок — поменял зависимости и поехали. — Прикольный момент: поддержку GigaChat в LlamaIndex добавил случайный энтузиаст. Опенсорс в чистом виде. Мораль для тех, кто пилит SDK: не воюй с теми, кто пишет совместимый код, и комьюнити сделает половину работы за тебя. 🔥 — здравая стратегия 😎 — PR от прохожего @ai_for_dev

LLM-платформа: новые векторы vs старая боль — Docker daemon на 2375 Аудит RAG-сервиса показал занятное: эзотерические векторы (SSRF через user-controlled model host, prompt injection, HTTP smuggling, CVE десериализации) не дали результата за две недели. Точка входа — Docker API на порту 2375 без TLS и аутентификации. Один curl /containers/json → ENV всех контейнеров → ключи Anthropic с биллингом $100k+. Архитектура утечки:
Пользователь → API → Прокси → Evaluate (ключи) → Worker → api.anthropic.com
                              ↕
                         PostgreSQL (пул ключей plain text)
Специфика LLM-платформ: JWT forgery — дефолтный секрет в продакшене SSRF через LLM-провайдер — выбор хоста модели = URL под управлением пользователя Canary injection — подмена ответов worker-узла Пул ключей в PG plain text — извлекается, передаётся между сервисами, оседает в RSS процесса Чеклист самопроверки: Docker API за mutual TLS, секреты через Vault/Secrets Manager (не ENV), сегментация между proxy/evaluate/worker, ротация JWT-секрета. Полный разбор на Habr. ✍️ — добавил в чеклист 😐 — открыли netstat @ai_for_dev

72% разрабов больше не пишут код руками Такие цифры приводит Дмитрий Иванов из SourceCraft — полная статья на «Компьютерре».
72% разрабов больше не пишут код руками Такие цифры приводит Дмитрий Иванов из SourceCraftполная статья на «Компьютерре». Мы теперь скорее операторы системы: ставим задачи, настраиваем агентов, ловим их за руку. Что по факту: • Рутину (бойлерплейт, рефакторинг) скидываем агенту и не паримся • В архитектуре и хитрых багах человек всё ещё рулит — агенты тонут • Один агент = слабо. Связка из нескольких с разными ролями = вот это уже работает • Всё решают нюансы промптов и выбор инструмента под задачу Короче, тренд понятен: учимся не писать код, а дирижировать. 🤔 — пора учиться дирижировать 😎 — давно так живу @ai_for_dev

Когда AI-ассистент переписывает половину функции вместо одной строки Знакомо? Просишь Cursor или Copilot поправить off-by-one, а получаешь diff на 200 строк: новые helper-функции, переименованные переменные, добавленная валидация ввода и заодно сигнатура поменялась. Тесты проходят, но код выглядит как чужой. Автор статьи называет это проблемой избыточной редактуры — модель функционально решает задачу, но структурно переписывает то, что трогать не просили. Пример из поста: GPT-5.4 на задаче поменять range(len(x) - 1) на range(len(x)) накрутил проверки на None, np.asarray, маскирование и переписал логику графиков. Одна строка превратилась в простыню. Главная боль не в коде, а в ревью. Ревьюер должен понять, что и зачем поменялось. Когда модель переписывает функцию целиком — даже корректно — ревью становится в разы сложнее. Разбор на Habr + код на GitHub. 🔥 — каждый день вижу 👀 — пойду читать @ai_for_dev

ИИ добрался до Ubuntu Искусственный интеллект докатился и до Linux — тред на официальном форуме был настолько жарким, что модераторам пришлось включать медленный режим. Canonical решил, что нейросетям пора жить в дистрибутиве. Что будут пилить: — Распознавание речи и TTS через локальные модели поверх PulseAudio/PipeWire, с поддержкой GPU/NPU. Запускается по запросу, в памяти постоянно не висит. — Агенты в системе. Прикинь: сломалось что-то — агент сам идёт в journalctl, ищет аномалии, смотрит netplan и systemd, и выдаёт готовую команду на фикс. Или собирает отчёт по нагрузке за неделю одной кнопкой. В теории звучит как мечта DevOps-а: слой автоматизации, который раньше требовал кучу bash-скриптов, теперь собирается на лету. Главное чтобы агент не решил, что лучшая оптимизация системы — это rm -rf /. 🤡 — agent сделал rm -rf 🤔 — а что с приватностью @ai_for_dev

PyPy догоняет CPython там, где раньше сливал Вышел PyPy 7.3.22 — и в нём наконец-то закрыли пару болезненных мест, из-за которых приходилось откатываться обратно на CPython. Что под капотом: — пофиксили старый баг в JIT, который вылезал на оптимизациях инстансов — меньше странных расхождений со stdlib CPython — новый _pickle на RPython, который реально летает А теперь самое вкусное:pickle: раньше был в 5.7 раза медленнее CPython, теперь только в 1.6 разаjson: был медленнее, теперь быстрее CPython (~0.7x) Бонусом — ForkingPickler в multiprocessing тоже подтянули, так что обмен объектами между процессами PyPy стал заметно бодрее. Кому стоит присмотреться: — у тебя много чистого Python без C-расширений — CPU-bound задачи — сервисы, которые крутятся часами и дают JIT разогнаться 🔥 — пойду гонять бенчмарки 👀 — а у меня всё на C-расширениях @ai_for_dev