CodeWithLLM-Updates
-
🤖 Інструменти ШІ для програмування: практичні приклади, покрокові інструкції та реальні застосування LLM. Навчіться ефективно працювати з сучасними асистентами програмування.

https://www.pillar.security/blog/new-vulnerability-in-github-copilot-and-cursor-how-hackers-can-weaponize-code-agents

Як можна атакувати автоматичні генератори коду?
Отруюючи системні інструкції (“Rules File Backdoor”) LLM.

У багатьох програмах ШІ-кодінгу зараз є можливість підвантажувати їх з текстового файлу (наприклад, у Cursor це .cursorrules чи тека правил у корені проекту) - просто текстовий файл(и).

Гадаю, лише малодосвідчені програмісти або ті, хто не знайомий, як працюють нові IDE з агентними кодерами, запустять чужий код, не прочитавши перед цим файл інструкцій якщо він там є.

Наступний варіант, це коли ми створюємо проєкт і копіюємо таку інструкцію самі з відкритих каталогів, на кшталт cursor.directory - знову ж таки, треба розуміти, що ти робиш, і читати перед цим.


Але дослідники Pillar Security виявили, що зловмисники можуть використовувати приховані юнікод-символи та інші техніки обходу в текстових файлах правил, щоб обдурити агент-асистентів (наприклад, в Cursor або GitHub Copilot) і змусити їх генерувати код з бекдорами або вразливостями (наприклад, до головної сторінки сайту підвантажувати зовнішній javascript хакера).

Як це працює?

  • Створення шкідливого файлу правил: Хакер створює файл правил, який виглядає нешкідливо 👀, але містить приховані шкідливі інструкції 😈, використовуючи юнікод-символи.
  • Впровадження в проєкт: Файл правил потрапляє до спільного репозиторію 🌐 або поширюється через спільноти 🧑‍🤝‍🧑.
  • Генерація коду: Розробник, використовуючи AI-асистента, генерує код 💻. AI, слідуючи шкідливим правилам, створює код з вразливостями або бекдорами 💥.
  • Шкідливий код поширюється: Через те, що файли правил часто спільні та використовуються повторно, зараження може поширитися на безліч проєктів 🦠.

"На відміну від традиційних атак впровадження коду, націлених на конкретні вразливості, “Rules File Backdoor” являє собою значний ризик, оскільки перетворює сам AI на вектор атаки."

Найбільш вразливі до такої атаки ті, хто мало думає, коли створює код - не читає файли інструкцій, не перевіряє все, що було згенеровано. Публікує код чи деплоїть проекти без попереднього аудиту на безпеку.

Теоретично агентні IDE повинні бути відповідальні хоча б за перевірку файлів правил та коментарів коду на вставлені невидимі інструкції, але, судячи зі статті, розробники Cursor та GitHub Copilot сказали, що це користувачі самі (!) відповідальні за код, який вони генерують.

https://windsurf.com/blog/windsurf-wave-7

Оновлення Windsurf Wave 7

Cascade тепер доступний в IDE JetBrains (IntelliJ, WebStorm, PyCharm, GoLand та багатьох інших).

Codeium тепер Windsurf
Вирішили перейменувати компанію на Windsurf та продукт-розширення на Windsurf Plugin. Більше не буде Codeium.

Компанія була заснована у 2021 році Варуном Моханом і Дугласом Ченом з метою підвищення продуктивності розробників за допомогою рішень для кодування на основі штучного інтелекту, і перший рік називалася Exafunction (займалася віртуалізацією GPU).

Пізніше зайнялися автодоповненням коду, створивши плагін для IDE. У 2023 році було додано функції чату всередині IDE та генерації коду. Інтегрували модель GPT-4.

11 листопада 2024 року відбувся запуск Windsurf Editor, який стали просувати як першу IDE на основі AI agent. Незважаючи на те, що першим був Cursor (весна 2023 року), їхні маркетологи постаралися зробити вигляд, що його немає.

Чати з різними контекстами (зазвичай фрейморки) тепер на https://windsurf.com/live/

https://console.x.ai/
Модель xAI Grok-3 нарешті доступна через API

В доповненнях для програмування де можна додавати свої ключі (Cline, Roo) тепер можна використовувати як напряму, так й через https://openrouter.ai/x-ai/grok-3-beta

У Windsurf доступні всі топові моделі на сьогодні, включаючи Gemini 2.5 Pro (яка попереду у багатьох тестах) та DeepSeek V3 (0324).

Так само у Cursor тепер у налаштування можна обрати deepseek-v3.1, grok-3-beta, gemini-2.5-pro-exp-03-25 та gemini-2.5-pro-max.

У Trae немає зараз ні моделей від Google, ні від xAI.

https://block.github.io/goose/blog/2025/04/08/vibe-code-responsibly

Творці проекту Codename Goose (ШІ-агента для контролю комп'ютера) описали можливі рішення проблеми вайбкодингу.

Після твіту Karpathy який ще підхопили ЗМІ дедалі більше людей почали створювати "додатки" та "сайти", просто розмовляючи з ШІ та не заглядаючи в код. Але LLM мережа — не програміст, це кодер (генератор коду).

М'яко кажучи, це створює дуже неякісний, непрофесійний код, основні проблеми якого:

  • важкий для розуміння людиною "спагеті"-код, де все переплутано з усім. Зазвичай ще й в одному довгому файлі на тисячі рядків.
  • постійна мутація та дрейфуючі баги: шматки коду, які вже нічого не роблять, та заміна добре працюючих шматків на лайно.
  • величезна кількість вразливостей, код який легко хакнути.
  • витік у доступний код закритої інформації, такої як ключі доступу.

Такий код майже неможливо підтримувати. Краще його зовсім не створювати, якщо це не "програма тільки для себе на один раз".

Розробники Goose пропонують краще контролювати та налаштовувати агентні системи, щоб вони стежили за тим, що там генерується в коді:

  • 🧠 "Even if you're vibe coding, don't turn off your brain." (Навіть якщо займаєшся вайбкодингом, не вимикай голову.)
  • використовувати різні режими контролю роботи агентів, не лише повністю автоматичний.
  • використовувати ignore-файл (у Cursor це .cursorignore), де перерахувати, що агентам у жодному разі не можна читати-модифікувати, та файл системних інструкцій (тут це goosehints, у Cursor - .cursorrules) для встановлення обмежень.
  • зараз повно MCP-серверів, включно з вайбнакодженими; їх треба перевіряти і створювати Allowlist (політика дозволу) для агента, включаючи туди лише якісні.
  • спочатку планувати, потім робити — план добре розбиває все на зрозумілі етапи та різні невеликі файлі з кодом. Кроки можна перевірити (як робити це в Cursor — див це відео).
  • кожен крок комітити та використовувати git для повернення до коду, що добре працював.

Exponent
https://x.com/exponent_run
З усіма цими програмами не до кінця зрозуміло, в яких вони стадіях розробки і що вони зарелізили, але написали що все ще ранній доступ, так писали і 4 місяці тому, може щось таки доробили.

Augment Agent
https://www.augmentcode.com/
презентували агента. є 14-денний тріал. Агент розроблений для вирішення складних завдань розробки програмного забезпечення, особливо у великих проєктах. Ключовою особливістю є "Спогади" (Memories), які автоматично оновлюються та зберігаються між сесіями, покращуючи якість генерованого коду та адаптуючись до стилю програміста.

Серед інших функцій – MCP (Model Context Protocol), "Контрольні точки" для безпечного відкату змін, мультимодальна підтримка (скріншоти, Figma), виконання термінальних команд та автоматичний режим роботи.

https://codeium.com/blog/windsurf-wave-6

Оновлення Windsurf Wave 6

Головне це функція "Deploys", яка дозволяє одним кліком публікувати веб-сайти або Javascript-додатки в інтернет, нехай цього всього там буде ще більше. Наразі ця функція інтегрована з Netlify і має на меті спростити повний цикл розробки додатків безпосередньо в IDE.

Також поліпшено в діалогах з AI (Cascade) роботу з пам'яттю та навігацію за допомогою "Змісту розмови".

Для не безкоштовних юзерів додано генерацію описів комітів одним натисканням кнопки (в Cursor таке вже дуже давно, у Github Copilot зявилося й працює безкоштовно).

Розробники редактора Zed, ті самі, які вже рік не можуть собі купити комп'ютера з Windows, щоб збирати версію під цю ОС, ось вони подивилися, що їхній Zed AI ще не вийшов, а вже застарів.

Тому почали для своїх бета-тестерів вмикати Agentic Editing - судячи з опису, буде як у інших: сам редагувати код, профілі для чату, файл rules правил із системною інструкцією, перемикання моделей і навіть не тільки від Anthropic, використання MCP. Обіцяють й чекпоінти - зараз у бета це робить через git.

Важливо, що це може стати гарною альтернативою засиллю VS Code і його форків. Як тільки вони зможуть купити собі комп'ютера з Windows. А поки Zed можна поставити через Scoop.

https://hub.continue.dev/

Творці чат-плагіна Continue для VS Code та JetBrains додали на своєму сайті розділ, який виглядає як каталог асистентів для програмування.

Це гарна ідея, адже після роботи в тому ж Cursor асистент починає накопичувати системні інструкції, повторення команд, налаштування MCP серверів та додатково проіндексованими документами, було б круто мати "зліпки" таких налаштувань. Зараз в мережі почали з'являтися каталоги системних інструкцій та каталоги MCP.

На прикладі https://hub.continue.dev/continuedev/clean-code можна побачити, що це пакети налаштувань для чату, які складаються з таких блоків:

  • Models (Моделі): Блоки для визначення моделей для різних ролей, таких як чат, автозавершення, редагування, ембедер та реранкер.
  • Rules (Правила): Блоки правил - це системні інструкції, вміст правил вставляється на початку для всіх запитів чату.
  • Docs (Документи): Блоки, що вказують на сайти документації, які будуть індексуватися локально, а потім на них можна посилатися як на контекст за допомогою @Docs у чаті.
  • Prompts (Підказки): Блоки підказок - це заздалегідь написані швидкі команди, багаторазові підказки, на які можна посилатися в будь-який час під час чату.
  • Context (Контекст): Блоки, що визначають провайдера контексту, на який можна посилатися в чаті з @, щоб отримати дані з зовнішніх джерел, таких як файли, папки, URL-адреси, Jira, Confluence, Github.
  • Data (Дані): Плагін автоматично збирає дані про те, як ви створюєте код. За замовчуванням, ці дані зберігаються в .continue/dev_data на локальному комп'ютері. Можна налаштувати власні місця призначення, включаючи віддалені HTTP та локальні каталоги файлів.
  • MCP Servers (Сервери MCP)

Проблема з цим в тому, що працює воно як софт 5 років тому, треба самому все клацати і лазити по сайту-каталогу. Було б гарно, якщо б сам ШІ чат пропонував свої налаштування з доступних блоків, а не я їх дивитися та вибирав.

https://www.cursor.com/changelog/chat-tabs-custom-modes-sound-notification

Cursor 0.48.x

Радість. Як я писав вже у гілці 0.46 і після в 0.47 було зроблено неприємне інтерфейсне рішення все запхнути в один таб-чат та це було дуже незручно, після того як я вже звик до двох. Нарешті все поправили і тепер можна ще більше: через "+" відкривати скільки завгодно табів і в них включати які завгодно режими.

На кожен режим (агент, питання, ручний - раніше "Edit" з "Ask" плуталось і так перейменували) тепер можна задати свій хоткей і зафіксувати модель.

В налаштування можна включити можливість створювати додаткові режими (custom modes) з вибором моделі, хоткею, купи налаштувань, MCP і навіть кастомної інструкції. Дуже гарна відповідь плагіну Roo Code!

Так само тепер якщо в чаті контекст-вікно починає обрізати початок розмови, про це буде дрібним шрифтом написано знизу.

Поки що у списку немає нових моделей deepseek-v3.1 та gemini-2.5-pro, але думаю скоро з'являться.

https://www.zbeegnew.dev/tech/build_your_own_ai_coding_assistant_a_cost-effective_alternative_to_cursor/

У статті зображено, як створити економічно вигідну альтернативу AI асистентам, таким як Cursor, використовуючи $20/місяць Claude Pro та Model Context Protocol (MCP).

Код https://github.com/ZbigniewTomanek/my-mcp-server

Автор, Збігнєв Томанек, ділиться своїм досвідом використання Claude з MCP для автоматизації складного завдання впровадження Kerberos аутентифікації для кластера Hadoop, скоротивши обсяг роботи з цілого дня до кількох хвилин.

Основні моменти:

  1. Проблема: AI інструменти, такі як Cursor, є дорогими та викликають у нього занепокоєння щодо конфіденційності.

  2. Рішення: Використовуйте Claude Pro (20 доларів США на місяць) із власноруч створеним MCP сервером, щоб досягти аналогічної функціональності без додаткових витрат і з більшим контролем над даними.

  3. Пояснення MCP: MCP - це відкритий протокол, який дозволяє програмам надавати контекст великим мовним моделям (LLM). Автор використовує Python SDK для створення простого MCP сервера (код на гітхаб).

  4. Приклад Kerberos: Автор детально описує, як Claude, використовуючи інструменти MCP, проаналізував файли проєкту, створив вичерпний план, згенерував файли конфігурації та виправив помилки для впровадження Kerberos.

  5. Економія коштів: Використання Claude Pro + MCP заощаджує гроші порівняно зі спеціалізованими AI інструментами для кодування.

  6. Конфіденційність даних: Код і дані залишаються на машині користувача, підвищуючи конфіденційність.

  7. Інструменти MCP: Сервер MCP автора включає інструменти для операцій з файловою системою, виконання команд оболонки, пошуку за регулярними виразами та редагування файлів.

  8. Цикл самовдосконалення: Claude може аналізувати та вдосконалювати власні інструменти, що веде до AI-оптимізованих інтерфейсів та налаштованих інструментів.

  9. Переваги власного MCP: MCP + Claude Pro пропонує економічну ефективність, контроль даних, налаштування, самовдосконалення та автоматизацію складних завдань.

https://appgen.groqlabs.com/

Ще один експериментальний проект, який дає змогу створювати невеликі програми (як пишуть мікрододатки, micro-app) за допомогою текстоового опису. Він інтегрований із платформою Groq (не плутати з Grok Елона Маска)

LPU™ Inference Engine від Groq — це апаратно-програмна платформа, яка забезпечує дуже велику швидкість обчислень, якість та енергоефективність. На ньому розгорнуті відкриті моделі середнього розміру, такі як llama3, gemma2, deepseek-r1-distill, mixtral, qwen.

Зазвичай контекстне вікно невелике, а в безкоштовному варіанті обмеження — 6 тисяч токенів на хвилину, тобто великі кодові бази він справді не зможе охопити.

Код відкритий: https://github.com/groq/groq-appgen - можна розгорнути на своєму комп'ютері, сегенерувавши АПІ ключ у консолі розробника.

Дуже цікавою фішкою Appgen є можливість натиснути на кнопку у вигляді олівця та намалювати мишкою ескіз того, як має виглядати інтерфейс.

https://appgen.groqlabs.com/gallery
При бажанні можна расширати свій "твір" у галерею, чи подивитися роботи інших.

За замовчуванням зараз стоїть модель qwen-2.5-coder-32b, але можна перемкнути на deepseek-r1-distill-llama-70b-specdec.
Загалом я не бачу в цьому якоїсь цінності, окрім можливості порівняти підходи до генерації коду у доступних моделей.

Покращення інтерфейсу вебчат-платформ

https://gemini.google.com/
Компанія Google нарешті додала до свого чату зі штучним інтелектом Gemini функцію Canvas. Gemini Canvas може генерувати код HTML, CSS та JavaScript безпосередньо в інтерфейсі. Підтримується допомога у створенні скриптів на Python, веб-додатків та ігор. Можливість відкрити код Python у Google Colab для виконання.

Усі оновлення презентовані у відео
https://www.youtube.com/watch?v=Yk-Ju-fqPP4

https://claude.ai/chats
Першими з’явилися Anthropic Claude Artifacts (середина 2024 року, загальнодоступні з серпня). Це результати, які генеруються під час чату з Claude та відображаються в окремому вікні поруч із основним діалогом. Для коду з’явилася можливість «Попереднього перегляду». Підтримується рендеринг коду React, HTML та JavaScript. Доступні такі бібліотеки, як Lodash і Papa Parse.

https://chatgpt.com/
У жовтні 2024 року OpenAI відповіли на це, додавши функцію Canvas до ChatGPT. Стало можливо виділяти певні ділянки коду для цілеспрямованого редагування або отримання пояснень. Передбачені гарячі клавіші для роботи з кодом, такі як перевірка коду, додавання журналів/коментарів, виправлення помилок і переклад на інші мови. Функція історії версій дозволяє переглядати та відновлювати попередні стани коду. Також з’явилася можливість безпосередньо виконувати код Python у браузері за допомогою кнопки «Виконати». Підтримується рендеринг коду React та HTML.

Мені дуже сподобались можливості Artifacts швидко генерувати невеликий код, але Canvas у ChatGPT постійно помилявся, глючив і втрачав контекст, тому я швидко перестав ним користуватися.

https://chat.mistral.ai/chat
Le Chat Canvas з'явився на початку 2025 року як інтерфейс для спільної роботи з LLM Mistral. Підтримує рендеринг коду React та HTML. Користувачі можуть виділяти код для отримання пояснень або внесення змін.

У Gemini Canvas також є вікно для inline-запитів щодо виділеного блоку.

❌ Поки що не мають функції Canvas/Artifacts чати Grok та DeepSeek.

Якщо вам цікаво, як працюють запити до LLM-моделей у популярних системах для програмування (та не тільки), можна зайти на GitHub до одного з багатьох репозиторіїв "витіклих" промтів як то leaked-system-prompts і почитати їх.

Там є Cursor Windsurf bolt.new github copilot v0.dev та інші.

https://www.youtube.com/watch?v=6g2r2BIj7bw

Також існує група кастомних промтів, які можуть змінювати поведінку, наприклад, Cursor/Windsurf як Devin — це скоріше рішення для експериментів з цікавості, ніж для роботи.

https://base44.com/

Base44 - одна з нових ШІ-платформ створення веб-застосунків "без коду" (no-code). Пропонує широкий спектр можливостей для розробки, включаючи роботу з базами даних, інтеграціями та логікою застосунку. Код можна переглядати, але можливість його редагування доступна лише в платній версії (від $20/місяць).

https://www.youtube.com/watch?v=jKanknpPDI4

Створення застосунків на Base44 відбувається дуже швидко. Можна завантажувати свої данні - створити з таблиці CSV. Дозволяє не турбуватися про аутентифікацію, відправку пошти, інтеграцію з API та інші складні аспекти. Нещодавно додали інтеграцію з платіжною системою Stripe в-один-клік.

Є можливість використовувати власні домени та створювати публічні застосунки без необхідності входу в систему.  Вбудовані інструменти аналітики дозволяють відстежувати використання та зростання користувачів

Якщо Lovable краще працює як інструмент для створення лендінгів, то Base44, позиціонується як платформа для створення повноцінних застосунків.

https://github.com/przeprogramowani/ai-rules-builder

Онлайн генератор текстових промтів-описів проекту для ШІ систем Copilot, Cursor, Windsurf, Aider, Junie.

Хоча інтерфейс дуже незручний, адже потрібно багато клацати туди-сюди, це вже перший крок до кастомізації, а не просто до каталогів, як було раніше.


Якщо почитати доки, що пишуть самі творці таких програм, вони рекомендують тримати цей файл якомога меншого розміру. Швидше за все, мову програмування проекту ШІ сам може визначити :)

Приклад від aider тут.

Гарне просте правило: додавати туди "патч", якщо ШІ кілька разів вас не розуміє і робить не те. Можна додавати навіть просто з чату, наприклад у Cursor "будь ласка, напиши мені cursorrule, щоб ти припинив робити {цю конкретну річ}".

Це може в результаті виглядати приблизно так:

DO NOT GIVE ME HIGH LEVEL SHIT, IF I ASK FOR FIX OR EXPLANATION, I WANT ACTUAL CODE OR EXPLANATION! I DON'T WANT "Here's how you can blablabla"
- Be casual unless otherwise specified
- Be terse
- Suggest solutions that I didn't think about-anticipate my needs
- Treat me as an expert
- Be accurate and thorough
- Give the answer immediately. Provide detailed explanations and restate my query in your own words if necessary after giving the answer
- Value good arguments over authorities, the source is irrelevant
- Consider new technologies and contrarian ideas, not just the conventional wisdom
- You may use high levels of speculation or prediction, just flag it for me
- No moral lectures
- Discuss safety only when it's crucial and non-obvious
- If your content policy is an issue, provide the closest acceptable response and explain the content policy issue afterward
- Cite sources whenever possible at the end, not inline
- No need to mention your knowledge cutoff
- No need to disclose you're an AI
- Please respect my formatting preferences when you provide code.
- Please respect all code comments, they're usually there for a reason. Remove them ONLY if they're completely irrelevant after a code change. if unsure, do not remove the comment.
- Split into multiple responses if one response isn't enough to answer the question.
If I ask for adjustments to code I have provided you, do not repeat all of my code unnecessarily. Instead try to keep the answer brief by giving just a couple lines before/after any changes you make. Multiple code blocks are ok.

https://xata.io/chatgpt

Xata пропонує гнучко налаштовувану інтеграцію з OpenAI API векторних представленнь (embeddings) даних, що дозволяє робити семантичний пошук та ставити запитання вашій базі даних природною мовою.

https://github.com/xataio/agent

Xata Agent — це агент з відкритим кодом, який моніторить Postgres базу даних, знаходить причини проблем, а також пропонує виправлення та покращення. Наявна підтримка моделей від OpenAI, Anthropic та Deepseek, виправлення проблем з продуктивністю та пропозиції щодо індексування.

https://www.youtube.com/watch?v=SLVRdihoRwI

Команда також працює над хмарною версією. Є список очікування за посиланням.