Чи може AI в AL? Тестування LLM на реальному завданні open source проєкту Data Editor

💡 Усі статті, обговорення, новини про AI — в одному місці. Приєднуйтесь до AI спільноти!

Привіт! Мене звати Володимир і я працюю в beeDynamics на позиції розробника Business Central. Я регулярно пишу технічні статті в своєму блозі. Також підтримую декілька open-source проєктів, детальніше в профілі github.

Microsoft Dynamics 365 Business Central — це комплексне рішення для управління бізнесом, яке допомагає невеликим і середнім компаніям об’єднувати роботу своїх команд у сфері фінансів, продажу, послуг та операцій на платформі єдиної зручної програми.

AL — це мова програмування для Microsoft Dynamics 365 Business Central.

У цій публікації я пропоную розглянути, наскільки LLMs придатні для написання AL-коду в реальних завданнях. Як приклад я використаю реальне завдання для open source проєкту Data Editor. Цю задачу я відкладав досить тривалий час. Для порівняння я обрав найпотужніші та найпопулярніші моделі: Claude 4 Sonnet, GPT-5 High, Grok 4 і Gemini 2.5 Pro.

Зміст

  1. Вступ
  2. Завдання
  3. Промпт та моделі
  4. Grok 4
  5. Gemini 2.5 Pro
  6. GPT-5 High
  7. Claude 4 Sonnet
  8. Людський варіант
  9. Валідація та тести
  10. Огляд результатів
  11. Висновки

Вступ

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

Open-source проєкт Data Editor не є винятком. Попри мої зусилля запобігти цьому, технічний борг усе ж може з’являтися. Проєкт почався тоді, коли моя дівчина, тестувальниця Business Central, зауважила, що в Business Central версії 15 і новіших не можна редагувати дані. Вона запропонувала створити застосунок, щоб вирішити це обмеження. Прийшовши з старіших версій ERP (RTC/Classic), це обмеження здавалося суттєвим, тож виникла ідея, і я спроєктував найпростішу можливу реалізацію, яка нагадувала б попередній досвід користувача. Спочатку це був невеликий застосунок для внутрішніх потреб тестування. Найперша версія була написана швидко, «просто щоб працювало», що неминуче від самого початку створило чималу частку технічного боргу.

TechDebt.jpg

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

Завдання

Якщо подивитися на попередню версію Data Editor, можна побачити, що три окремі об’єкти дублювали одні й ті самі права доступу для конкретних таблиць.

Це створювало очевидну проблему супроводу: потрібно було тримати права доступу узгодженими в трьох місцях із реальним ризиком щось пропустити. Це було незручно та складним в підтримці.

Згодом один із контриб’юторів проєкту запропонував вирішити цей технічний борг за допомогою LLM. Мені це здалося цікавим, тому що LLM зрештою не впорався із завданням. Той досвід спонукав мене розробити власний бенчмарк LLM і надихнув на цей порівняльний пост.

Промпти та моделі

Будь-яка взаємодія з LLM починається з написання prompt. В ідеалі prompt має чітко описувати, що потрібно зробити, а саме завдання має бути коротким та зрозумілим. На практиці це не завжди можливо й може займати багато часу. Тому я обрав стратегію одного prompt в agent-thinking mode, зробивши його конкретним, але не надто деталізованим. Якщо робити prompt ще більш дрібним і продовжувати ітерації, дуже швидко доходиш до точки, що швидше і простіше зробити все самостійно.

Я все ж таки вважаю цей prompt достатньо деталізованим, тому що використав власні знання й контекст, щоб акцентувати, на чому й де зосередитися. Іноді це просто неможливо, адже повне розуміння завдання може сформуватися аж в процесі роботи. Крім того, агент має доступ до AL лінтера та аналізаторів коду, тож будь-які очевидні помилки AL були доступні моделям для аналізу.

I have a tool to edit data in Business Central called Data Editor. This is the codebase for this tool.

I have one concern. I have 3 files with the same permissions: @Pag81000.DETDataEditorBuffer.al, @Cod81001.DETDataEditorMgt.al, @Pag81004.DETInsertNewRecord.al.

I would like to isolate these permissions in one object, as it is hard to manage and keep them in sync every time.

At the same time, these direct permissions are required for any READ/MODIFY/INSERT/DELETE operations,

So changes should take into account cases where Modify/Insert/Delete may be present in OnValidate of any field (RecordRef/FieldRef).

In addition, any Get/Find/Next is essentially a record read, which requires permissions to do so.

Для тесту я обрав найбільш популярні та потужні моделі LLM, доступні на сьогодні, а саме:

  • Claude 4 Sonnet
  • GPT-5 High
  • Grok 4
  • Gemini 2.5 Pro
  • Людський варіант

У цьому наборі «Людський варіант» представляє моє власне рішення задачі.

Чому саме ці моделі? Тому що вони найпотужніші з наявних сьогодні, і я хочу отримати найкращий можливий результат.

Для тестів я використовував Cursor IDE (fork від VS Code). Вважаю, що VS Code + Copilot дадуть подібний результат.

Grok 4

Grok4.jpg

Це доволі нетипова модель із власними сильними сторонами. Однак написання коду явно не краща її сторона. У моїх тестах вона стабільно вражала актуальністью даних та відносно мінімальною фільтрацією контенту. Як співрозмовник або інструмент для пошуку найновішої інформації це може бути хорошим вибором. Як модель для коду — під питанням, а її думки на будь-яку тему варто сприймати обережно, так як можлива сильна особиста упередженість.

Модель не змогла виконати завдання і, що гірше, залишила проєкт у стані, що не компілюється. Імовірно, вона погано працює з великими файлами попри заявлене 256,000 token context window.

Гірше того проєкт не компілюється через некоректне розміщення змінної, яку модель вставила не в те місце. Модель справді почала з правильної ідеї, запровадивши окремий codeunit, Data Operations, але проігнорувала ключові деталі з prompt, пропустила багато місць, де відбуваються операції з даними, і додала цілком нерелевантну процедуру TextValueAsVariant у Data Operations. З якоїсь причини модель вирішила не виправляти код, що не компілюється, хоча бачила всі помилки.

Тут ви можете переглянути повний список змін. На мою думку, результат — повний провал.

Gemini 2.5 Pro

Gemini25Pro.webp

Gemini — дуже креативна й швидка модель, а її one-million-token context window вражає. Знаю, що це улюблена модель для багатьох розробників, особливо з огляду на низьку вартість і можливість безкоштовного використання в Google AI Studio.

За моїм досвідом, це не найкраща модель для коду, хоча й досить сильна. Часто я бачив, як вона видає загалом «середнє» рішення, але при тому створює один конкретний компонент, який справді вражає. Модель блискуче генерує нові ідеї та креативні підходи.

Хоча ця модель також залишила проєкт у стані, що не компілюється, вона впоралася відчутно краще. Вона застосувала цікаву й теоретично коректну ідею: створити новий Permission Set для агрегування всіх тих прав доступу до таблиць. Однак вона проігнорувала помилку компілятора, яка вказує, що довжина назви Permission Set не повинна перевищувати 20 символів.

Створення такого Permission Set технічно працюватиме, але це не найкраще рішення. З погляду безпеки я не хотів би вводити такий набір прав із прямим доступом до таблиць. Підхід креативний, але небезпечний. Також я не хочу додавати додатковий Permission Set, який може вплинути на зворотну сумісність із попередньою версією, адже ці права також доведеться призначати користувачам, які вже використовують застосунок.

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

GPT-5 High

Gpt5.webp

Моделі OpenAI загалом вважають одними з найкращих, якщо не найкращими. Вони дуже розумні та потужні, але не найшвидші і дорогі. Я часто використовую їх для широкого спектра завдань, від створення підсумків до дослідження питань із фізики.

GPT-5 High чудово пише код, але я не вважаю його найкращим в agent mode. Схоже, у цьому режимі модель має труднощі. Крім того, вона дуже дорога й повільна. Згідно з останньою інформацією, GPT-5 model offers a 400,000-token context window. Головне не плутати її з GPT-5 Chat або GPT-5 Mini, адже це різні моделі. На жаль, найменування від OpenAI досі заплутує.

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

Модель також пішла правильним шляхом, винісши потрібні процедури в окремий codeunit і вирішивши повторно використати для цього наявний Cod81001.DETDataEditorMgt.al. Це працючий варіант, але з архітектурного погляду не ідеальний. Крім того, замість ізоляції лише конкретних точок взаємодії з даними, модель перенесла цілі процедури, що теж є дискусійним рішенням.

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

Тут ви можете переглянути повний список змін, на мою думку, результат частково успішний.

Claude 4 Sonnet

Claude4.jpg

Я вважаю моделі Anthropic найсильнішими для коду, особливо в agent mode. Сказав би, що в інших типах завдань вони вражають менше, але для коду ймовірно найкращі. Тому я покладав на цю модель високі очікування щодо виконання завдання. Вона досить дорога, хоча й не найдорожча серед конкурентів. На мою думку, якість виправдовує вартість. Її 1-million-token context window величезний.

На щастя, модель не підвела. Серед усіх моделей у цій статті вона найбільше наблизилася до оптимального рішення. Її підхід полягав у винесенні операцій з даними в окремий об’єкт, Cod81010.DETPermissionsProvider.al, який ізолює всі права доступу. Важливо, що вона перенесла лише необхідні операції, а не цілі процедури, які просто їх містили.

Також зазначу, що модель знайшла майже всі місця в коді, де це потрібно було зробити, і навіть розпізнала, що CalcFields можуть бути потенційним ризиком, хоча я цього прямо не вказував. Але це все ж не ідеально, кілька сценаріїв були пропущені. Тому, попри найсильніший результат, я не можу назвати його повним рішенням, хоча він дуже близький.

Мене також запитали, чому не тестувалась модель Claude Opus 4? Особливо з огляду на те, що її вважають найрозумнішою моделлю від Anthropic. Причина в тому, що після виходу версії 4.1 модель здалася мені надто непослідовною, навіть гіршою за Sonnet 4. Після отримання цього запитання я спробував її ще раз, і результати все одно виявилися незадовільними. Ви можете переглянути результат тут. Мені здається, що він трохи нижчий за GPT-5 High, наче модель зробила забагато зайвої роботи, так і не виконавши всього необхідного.

Тут ви можете переглянути повний список змін, на мою думку, результат частково успішний.

Людський варіант

Human.jpg

На жаль, жодне зі створених LLM-рішень не було повним або production ready. Тому я вирішив реалізувати власне рішення, яке повністю задовольняє мої вимоги до надійності й не створює додаткових проблем для користувачів. По суті, мій підхід дуже схожий на Claude 4 Sonnet: винести окремий об’єкт для операцій із даними й призначити всі потрібні права доступу саме там, нічого надто складного.

Я також зауважив, що немає сенсу використовувати direct permissions на об’єкті, оскільки за ефектом вони не відрізняються від indirect permissions. Це стосується лише object-level permissions. Тому я перейшов із direct на indirect permissions, див. Cod81003.DETDataOperations.al. Жодна з моделей цього не помітила.

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

Валідація та тести

Також жодна з моделей не створила функціональних тестів для Permissions, бо моделям бракувало знань і контексту, необхідних для їх написання. Саме тому використання MCP, ймовірно, нічого б не змінило. Тести, які генерували моделі, фактично нічого не перевіряли, але показували «success».

Щоб оцінити результат кожної моделі та «людський варіант», необхідно виконати валідацію, і для цього є багато методів. По-перше, найпростіший підхід — застосувати сіру речовину у власній голові. Простіше кажучи, знання та досвід розробника. Досвідчений розробник може оцінити якість відповідей на підставі свого досвіду та знань.

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

Я використав власні знання та досвід для оцінки рішень і вручну протестував кожен варіант. Додатково я запровадив третій метод валідації: нові автоматизовані тести, призначені для перевірки того, як застосунок поводиться з мінімальними наборами прав. Важливо зазначити, що ці тести поки що не покривають усі сценарії, у майбутньому я планую розширити кількість автоматизованих тестів для Data Editor.

Підсумовуючи, я оцінював якість рішень трьома методами:

  • Особистий досвід і знання.
  • Ручне тестування.
  • Автотести.

Огляд результатів

Виходячи з моїх методів валідації, результат такий:

RankSolutionResult
1Людський варіантsuccess
2Claude 4 Sonnetpartially
3GPT 5 Highpartially
4Gemini 2.5 Profail
5Grok 4fail

Висновки

Варто пам’ятати, що це були завдання з однією спробою. Я міг продовжувати просити LLM виправляти проблемні місця. Однак, як я вже зазначав, якщо відносно просте завдання потребує більше часу на взаємодію з LLM, ніж на його ручне розв’язання, користь різко падає. До того ж прохання щось виправити означає, що потрібно явно вказати проблему, що своєю чергою вимагає вже мати повне розуміння завдання й уміти виконати його самостійно.

Тому я не вірю у «vibe coding». Це не працюючий концепт сьогодні й, можливо, ніколи не стане працюючим.

Водночас я впевнений у корисності LLM, просто не для кожного завдання. Ефективна робота з LLM це не лише написання prompt та інструкцій, а й розуміння того, які проблеми їм підходять найкраще. Чим менше можливих шляхів розв’язання і що більше ви надаєте контексту, тим кращими будуть результати.

Також не слід очікувати, що LLM спроєктує надійну архітектуру проєкту. Краще створити архітектуру самостійно, а потім інструктувати модель працювати в межах архітектури.

Ось чому мені подобається позиціонування Microsoft Copilot, як асистента, а не заміни людині. З огляду на мій досвід і численні тести, це влучне позиціонування. Без фахового нагляду й особистої експертизи ви не зможете валідувати результати галюцинацій LLM.

Отже, мої висновки з попередньої роботи з моделями та цього експерименту. Вони актуальні для мене станом на сьогодні й можуть змінитися:

  • Vibe coding не працює.
  • LLMs генерують не production-ready код, потрібна валідація.
  • Найкращі моделі для коду від Anthropic, наприклад Claude 4 Sonnet.
  • Найкращі моделі для більшості інших завдань від OpenAI, наприклад GPT-5 High.
  • LLMs все ще галюцинують і припускаються помилок.
  • LLMs залишаються дуже корисними в багатьох завданнях, включно з написанням коду.
  • Технологія чудова, але хайпу значно більше, ніж потрібно.
  • Ефективна робота з LLMs потребує експертизи, не лише доменної, а й навичок у використанні самих моделей.
  • AI може в AL 🙂

See English version in blog.

👍ПодобаєтьсяСподобалось6
До обраногоВ обраному2
LinkedIn
Ctrl + Enter
Ctrl + Enter

Доречі трохи офтоп, але якщо комусь треба інвайт на AI Comet Browser, пишіть в особисті)
www.perplexity.ai/comet

і ще через paypal йде роздача рік безкоштовного perplexity pro, як раз в комбінації з кометом буде топ
www.perplexity.ai/...​oin/p/paypal-subscription

Штучний інтелект навіть близько не допоміг. Я намагався оновити існуючий проект e-commerce з версії Spring Boot 3.4.9 на Spring Boot 3.5.6. Spring AI з версії 1.0.0-M6 до версії Spring AI 1.1.0, Chroma з версії 0.4.3 до версії 1.0.0. Я вручну оновив усі залежності, оновив Docker image з docker контейнером. Попросив AI (windsurf, chatgpt), вбудованих в IDE, оновити сам код — безуспішно. AI написав багато рядків нового коду, змінив існуючий в деяких класах до невпізнаваності, але проект так і не запустився, видаючи помилки. Пришлось вручну переписувати деякі класи, потім змінювати фронтенд через зміни в бекенді.

Що я можу сказати — AI гарний для простих, коротких завдань, для написання статей. Але AI абсолютно не підходить для великих проектів.

Це звісно правда, але можна спробувати бити задачу на менші. Крім того вказувати куди дивитись через курсор. В такому випадку результат буде значно кращий.

Бачу, те що Spring AI 1.1.0 версії не існує, а в 1.0.2 вказано spring-boot.version 3.5.5
пана не спинило. ;)
Ну а що, хай ллм-ка розбирається.

якщо бути точним spring-ai 1.1.0-M1. Spring Boot 3.5.5 chroma image: ghcr.io/chroma-core/chroma:latest все чудово працює. пост писав з телефону, вийшла помилка версії SB, малось на увазі 3.5.5. Але це суті попереднього посту не змінює.

ну а в spring-ai 1.1.0-M1 spring-boot.version 3.5.0, що знову ж не спинило )
p.s.
насправді добре, що розібрались без ллмки, пригодиться

Десь такі результати і в мене виходили gemini та grok часто якусь фігню порють(всеодно юзаю для якихось рутиних задач які просто нудний манкі кодинг) ще і спробуй знайди помилку(тестував на рандомних задачках рівня хард). Gemini навіть орфографічні помилки допускає в коді іноді чого я не бачив в інших моделях. Не так давно я спробував їм підсунути задчу знайти відміності на картинці (дитяча забавака по суті) так там такий делулу почався. Грок понамалював такого чого там не було і видав за різницю, джеміні спотворив картинку і вона почала помітно відрізнятися від оригіналу, а жпт понамалював кружечків, але що смішно вірну кількість, але і близько не там де треба.

Мої результати на різних проектах (js, python, java):
Claude Code — 95% success. Найкращий результат для написання коду.
GitHub Copilot Agent — 90% success після підбору відповідних промптів, але потім працює дуже добре.
Gemini CLI — 60% успішності. Не використовую для написання коду через велику кількість помилок. Більш-менш підходить для код-рев’ю, аналітики, створення блюпрінтів та технічних завдань.

Плюс мінус те що й в мене)

А ви пробували Cursor на різних моделях? Наскільки гірше/краще Claude Code? А то ціни в Claude Code кусаються дуже якщо багато використовувати.

Так склалося, що я не люблю вироби на VSCode. 10+ на джетбраїнсі. Я пробував і Cursor, і Windsurf. Мені не зайшло, дуже дратує IDE.
Я роблю так — виїв ліміти в Claude code — якщо сильно горить — закидаю грошей на рахунок, перемикаюся на api. Іноді горить так що й 10 дол не шкода. Якщо не сильно горить — перемикаюся на Copilot, він сяк-так роботу робить, потрібно трохи більше повозитися, просити самому собі блюпринти по архітектурі залишати і замітки для тих випадків, де він затикався. По Курсору теж чув своя магія використання.

Ну... в моїх задачах Claude Code багато помиляється, тому я би не ризкував щось запускати на автоматі. Плюс не влаштовує якість, для себе я хочу писати як я хочу! А не як люди :-) А так, по підписці виходить нормально, 5h ліміт, ну перепочинеш... Більше використовую як гумову качечку плюс контроль, плюс дрібниці, плюс коміти...

Мені здається що маю такі ж відчуття, мене не влаштовує якість і я не можу залишити надовго без контроля бо буде біда.

Тим мені курсор подобається, я контролюю кожен крок.

Claude Code також, чи я щось не так роблю?
Проблема що якщо він через раз помиляється, то взагалі думки немає запускати його автономно.

Та ні, думаю все правильно робите. Я просто думав там тільки авторомний мод)
Не використовував ще, вже якось до курсору звик.

Ні, він перед кожною командою, яка може нашкодити, запитує: виконувати чи ні. Показує diff та запитує: робити зміни?

Ось приклад проєкту, який ми робимо разом:
soccer. Заодно Godot вивчаю. Перші коміти були копіпаста з web, потім вже Claude Code. Зрозуміло, що коли мова йде про GUI, то він ніяк не побачить що там відбувається. Ну і правила гри він не знає, окремі документи робити з описом мені в лом. В принципі мене влаштовує поговорити, запитати. Коли мова незнайома, то в принципі спонукає не писати самому, а просити та запитувати її. Но так щоб вона сама все написала... Не вірю.

З першого разу на поточний час жодна модель не зможе зробити майже нічого.
Якщо подивитися aider poliglot то лише з другого заходу найкращі моделі зараз правки вносять робочі в 70-75%.

Тому вайбкодити потрібно з самоперевірки та рецензуванням іншою моделлю

Тут питання доцільності виникає.

Якщо модель в агентному моді не може вирішити доволі просту задачу з доволі детальним промптом. То вже швидше та легше самому вирішити. Яка користь то?

Врахуйте ще час витрачений на роботу агента та написання промпта.

Про вайб взагалі мовчу, вайб код кодингом взагалі нереально нічого зробити без знань та валідації.

Людина взяла вили, не змогла вичерпати калюжу і тепер розповідає про те що вили переоцінені.

Всі ці LLM це інструмент, а не магічна кнопка «зробити добре».

Вайбкодінг працює якщо вміти (якість це окреме питання, але воно реально існує)

Всі великі неронки вміють в код, але це як з людьми — у кожного свій «підхід» і своє бачення. Те что гарно працює для Anthropic не буде давати таких хороших результатів для OpenAI наприклад.
Давати одне і теж всім нейронкам, а потім «порівнювати» невірно з точки зору «якості коду».
Промт-інженерінг як спеціальність це реальність, а не якийсь видуманий термін і від глибини розуміння залежить результат. Навіть людині потрібно описувати ТЗ, з нейронками так само.

Я по роботі полюбив LLM саме за те, що вони можуть швидко написати великі розгорнуті тести на весь код, а тобі потім тільки залишиться вичитати.
Величезна економія часу і зусиль.

Вайбкодінг працює якщо вміти (якість це окреме питання, але воно реально існує)

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

Навіть людині потрібно описувати ТЗ, з нейронками так само.

Ну... людина більш самостійна, більше схильна спочатку думати, а потім діяти, LLM навпаки. Взагалі, будь яке ТЗ це певний рівень деталізації. Код можна розглядати як саме детальне ТЗ. Тому чим більше деталів, тим простіше вже код написати.

вони можуть швидко написати великі розгорнуті тести на весь код

Правильно, коли ми один рядок а вони умовно десять, це виграш. Якщо ми десять рядків щоб вона виплеснула один це програш. Не кажучи про те, що у складних випадках вичитати може буде довше, ніж написати самому. Але в таких там буде помилка відразу на початку.

Розмовляти «на рідній мові»? Серйозно?
Йдіть почитайте про промти і то як працюють нейронки взагалі.
Ви ще на гугл поскаржитесь що він не знаходить те що вам потрібно по фразі із двох слів.
Без ТЗ результат ХЗ

Останній абзац взагалі не зрозумів.

Йдіть почитайте про промти і то як працюють нейронки взагалі.

Навіщо? Я просто пишу на українській що треба зробити, вона робить. Єдине що треба розуміти це наявний контекст, але ну чесно, для розробника це не питання.

Якщо людина розуміє по двум словам що треба, то і нейронка, і Google. Ти пишеш Commit та вона комітить поточні зміни з повідомленям.

Без ТЗ результат буде типовим. В принципі, ТЗ ще треба написати, бо можеш написати ТЗ, можеш написати й код. Тому часто працює команда напиши щось, він починає писати і ти розумієш, яке треба ТЗ.

ну ось ви і відповіли самі на своє питання.
нейронки це не магія, це математика.
Якщо не хочеться ставити конкретне ТЗ то і не дивуйтесь шо нейронка дае не те що ви хотіли.
Про мови взагалі промовчу, 90% об’єму данних на англійській і якшо ви будете використовувати нейронку як перекладач то побачите як саме вона «трактує»

Взагалі з неронками можуть бути тільки дві проблеми:
— розмір (чим більше і складніше результат чи те що потрібно проаналізувати тим сильніше падае індекс якості, хоча на зараз кілометрові даташилди нейронки добре розуміють без додавання херні від себе)
— відсутність даних в базі (якщо нейронці ні з чим працювати, вона такого не знає, то починаються галюцинації, наприклад якщо в нейронці немае вшитих данних про якусь не саму популярну лібу з нестандартними методами то вона тобі не напише валідний код по цій лібі, добре що зараз вже навчились нормально працювати с репозиторіями і можна просто додавати посилання шоб нейронка сама все проаналізувала)

Якщо не хочеться ставити конкретне ТЗ то і не дивуйтесь шо нейронка дае не те що ви хотіли.

Я і не дивуються. Просто на ТЗ інколи потрібно більше часу, ніж на написання коду. Тому питання раціональності, не більше. Не кажучи про те, що часто треба написати щось пілотне, щоб потім написати ТЗ.

Про мови взагалі промовчу, 90% об’єму данних на англійській

Ще раз, LLM це не тільки асоціативна пам’ять, але й трансформер. Причому дуже потужний. Почнемо з того, що переклад — це побічне явище: ніхто не вчив моделі перекладати, ця здатність з’явилася як побічний продукт. У Mistral, Llama (з тих, на які можна подивитися) є shared representation space — в середніх шарах формується semantic hub, спільний простір представлень для різних мов. Тому цей ефект майже непомітний: я спокійно спілкуюся англійською, українською або англо-українським суржиком і не бачу різниці.

розмір

Скоріше складність

відсутність даних в базі

Це задача агента, в принципі ти пишеш «загугли», або надаєш доступ до ліби (документація чи сирці) і вона сама здатна там шукати. Ну а так три роки тому треба було копіювати в чат.

ви знову ж таки вимагаете «магії» від інструменту
потрібна «магія», користуйтесь спеціальними продуктами які будуть це робити за вас

описати ТЗ все ж таки легше ніж закодити це (якшо ми кажемо про складні речі)
неодноразово казав це менеджерам та клієнтам — якщо немає ТЗ то задачі не існує. Якщо ви не можете коректно поставити задачу, то чого ж ви тоді вимагайте від нейронки? Ви ж самі не знаєте що хочете.

а за трансформації — воно працює по розміченим данним. валідні точні данні які допомогають швидко розбиратись в темі зазвичай англійською були розмічені. Інші мови це вже розширення радіусу вибірки при підборі вектору відповіді. Це як з артилеріею — пів градуса від платформи дають до кілометра розбіжності на відстані в 20км

описати ТЗ все ж таки легше ніж закодити це

Проблема з ТЗ, що, на складних задачах, воно постійно уточнюється. Ситуаці, коли після цих уточнень доводиться переписувати весь код були, напевно, у кожного.

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

Особливо не треба й перезапускати. Проблема уточнень, що вони ламають існуючий код. Бо це на кшталт: ТЗ було неправильним, нам треба так. Тоді виникає питання, що з цим робити.

я за півтори роки користування нейронками навчився на око прикидувати «розмір задачі» після якого йдуть відбірні галюцінації (це різні числа у різних моделях).
для лінивих задач де чиста нейронка впорається можна і розбити шоб «влізло» але зазвичай задачі такого розміру вже потрібно нормально робити.

якщо задача влазить в контекст і тз коректно то навіть наступні правки сильно не ломають, важливо тільки уточнювати шо робити і від чого відштовхуватись.
но знов ж таки навіть з «простою» задачею на певному етапі краще продовжити в новому чаті відштовхуючись від того шо було зроблено.
і 100% перевіряти все фінально в новому чаті хочаб банально «проаналізуй код»

Це точно швидше чи легше чим самому зробити? Без втрати якості звісно)

так
особливо з тим що не твій стек

наприклад я непогано знаю фронт-енд (і все що я знаю було отримано проти волі) но нейронка напише просту вже стилізовану форму за хвилину, коли я би таке писав мінімум 20 хвилин. Після нейронки тільки вичитати і все. Тобто я закриваю питання з формою під всі платформи за 5 хвилин. Для задач де це не основний функціонал це кіллер-фіча так як з любим продуктом потрібно взаємодіяти а робити поганий інтерфейс — краще не робити ніякого

банальні речі чи тести також економлять час. Причому немало часу як я помітив.

А оце «особливо якщо це не твій стек», випадково не повʼязано з тим, що у вас нижчі вимогу до коду, так як ви не до кінця в цьому розбираєтесь?

Тому воно і здається корисним, бо у вас знань просто не дістає для того стеку.

Про тести не погоджуюсь, дуже небезпечно генерувати тести за допомогою LLM. Ну може якісь юніт тести і то я б перевіряв дууууже ретельно.

Ще чув думку, що саме в фронті LLM дуже погані, через велику варіативність підходів та величезну кількість стейтів.

дивне щось пишите. Ви або не використовували нейронки по роботі, або у вас такий стек що нейронки в них пливуть.

— використовую багато де і можу запевнити що пише воно нормально, важливо лише вичитувати тому, що можуть бути важливі дрібниці по типу неправильного знаку чи валідна реалізація но не використання цього методу.
— нейронкою тільки юніт-тести і писати, все інше в контекст не влізе навіть якщо проект не такий великий.
— як раз з фронт-ендом воно найкраще, причому тут спокійно можна рекурсивні правила писати щоб він сам дивився і правив до отримання PerfectPixel результату (знову ж таки контекст, но якщо в нього влазить то можна дуже гарні і складні речі отримати).

описати ТЗ все ж таки легше ніж закодити це

На рівні з блекджеком та повіями? Ще раз, деталізація...

немає ТЗ то задачі не існує.

Для мене це скоріше саботаж. Повертаємося у 60-ті роки? Коли був постановщик задач, який писав ТЗ, потім алгоритміст, який малював блок-схему, потім кодувальник, який переносив на мову програмування, потім оператор, який вводив та запускав. Виявилося досить неефективно. Зараз більше схиляються до agile з мінімумом ТЗ.

Так, я працював в корпорації, де спочатку треба було затвердити feature design, а потім писати код. На практиці ти пишеш код, і коли він працює, на базі нього пишеш feature design. Бо інакше ти пишеш feature design, затверджуєш, а потім виявляється що написати код неможливо.

Якщо ви не можете коректно поставити задачу, то чого ж ви тоді вимагайте від нейронки? Ви ж самі не знаєте що хочете.

Я хочу brain storm. І це працює. Коли вона напише код, я почну його критикувати і в мене зʼявиться розуміння що треба.

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

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

ТЗ це в рази простіше ніж навіть накидати блок-схему чи написати алгоритм псевдокодом.
Причому можна спочатку накинуту скелет а потім додавати деталей дуже швидко.
Е тонкі місця які швидше перевірити на практиці але це до задачі зазвичай відноситься не сильно і навіть якщо відноситься то накидати тз на перевірку концепцій знов ж таки швидше та проще чим писати це руками

код це цеглини з яких будується різне. ТЗ ж це креслення цього дому. Не може бути так що будувати будинок а потім ще постійно перебудовувати постійно простіше чим від початку накидати бачення того що потрібно

як на мене це проблеми в першу чергу у вас

Немає особливо проблем.

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

Мені не треба лінтер, навіть не треба IDE (vim), мені треба код. Я його дивлюся, мені відразу стає все зрозумілим. Для мене це як ще одна мова, яка не перекладається на звичайні слова. Коли ти читаєш ТЗ, то в тебе відразу в мозку бачиш декілька шаблонів коду, який може йому відповідати. Один параграф і вже комбінаторний вибух: M^N. Тому для мене текст це як научпоп без формул, цікаво але мало відношення до реальності.

код це цеглини з яких будується різне. ТЗ ж це креслення цього дому.

Брєд. Насправді креслення це і є аналог формального код. Який можна запустити та перевірити, як він працює, тільки тут порахувати (сопромат, ...) А ТЗ... це буде щось на кшталт я хочу торговий центр, пʼять поверхів з кінотеатром, акваріумом, ... Або більш пряма асоціація — електронна схема, читай той самий код. А ТЗ більше розробити приймач, який працює від чотирьох батарейок AAA тиждень, працює на таких-то частотах, ...

Так, я працював в корпорації, де спочатку треба було затвердити feature design, а потім писати код. На практиці ти пишеш код, і коли він працює, на базі нього пишеш feature design. Бо інакше ти пишеш feature design, затверджуєш, а потім виявляється що написати код неможливо.

Це якось дуже дивно ви розповідаєте про «неможливо». Задача тех.ліда разом з продакт-овнером обговорити фічу і сформулювати бізнес вимоги. Потім техлід по ним формулює тех.вимоги, робить якусь грубу розбивку по функціональності, яку треба імплементувати і грубий естімейт скільки часу це займе, в, умовно, девелопер-днях. Далі повертається з цим до продакт-овнера і погоджує чи йому це ок (бо цілком можливі варіанти коли той скаже, що «ой, я думав це займе набагато менше часу» і «тоді не варто цього робити» чи «давай зробимо тільки оцю частину»). Якщо скоуп фічі погодили, то техлід бере всі оті доки, які до цього моменту напрацьовані і починає це все розбивати на епіки/таски. Далі з цими епіками/тасками йде до команди і починається ота вся катавасія з грумінгом, уточненнями, естімейтом команди. Врешті на результат знову дивиться продакт-овнер (бо фінальні естімейти можуть відрізнятись) і вирішують разом з командою коли це йде в роботу.
Все вищеописане вигадано , звичайно, може відрізнятись від компанії до компанії.
Але варіант «пишеш код, а на базі нього feature design» виглядає досить екстримально, хоча може для якогось PoC який робить одна людина і підійде.

Але варіант «пишеш код, а на базі нього feature design» виглядає досить екстримально

Напевно досвід розробки драйверів відеокарт трохи екстремальний. Проблема у тому, що інколи багато невідомих. А якщо фіча дропне FPS на 10% в іграх, хоча б на одній моделі в лінійці, то це рахуй неможливо.

В ентерпрайзі напевно так воно і є, там питання не скільки «неможливо», скільки костилів потім прийдуться робити. Бо як завжди щось не порахували, ... І сроки часто пливуть. Но для чогось простенького може й працює, хоча agile не випадково виникла як альтернатива, коли далі спринта не плануєш.

Мій аргумент що вайбкодинг це і є вили для води )

Не існує жодного професійного продукту який завайбкодили і існувати не може з поточним розвитком технології.

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

Ви трохи відстали від розвитку AI хайпу, промпт-інженеринг як спеціальність вже не актуальна! Якщо почитати гайди для тої ж останньої gpt 5, то OpenAI стверджують що просто потрібно детальне ТЗ, без всяких магічних технік як раніше.

Промпт-інженеринг як спеціальність швидко народилась та швидко померла через розвиток моделей та агентів.

Тести дуже небезпечно писати за допомогою LLM, я вже неодноразово пробував і бачив що це працює не дуже добре. Дуже часто тести тестують не потрібні сценарії, а потрібні не тестують. Дуже часто такі тести показують success, а насправді не тестують те що б мали тестувати.

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

так вайбкодінг це не про проффесійні продукти))
хоча е всякі клікери яки пхають як «успіх вайбкодінгу» але навіть там була постобробка людиною.

я так розумію ви більш теоретик чим практик. Промпт-інженеринг живіше всих живих, навіть рекурсивний gpt5 в рази краше працюе з заточеними під нього інструкціями чим простим ТЗ.
Доречі gpt5 успіх і провал OpenAI, по роботі часто використовував о3 но з виходом 5 (і видаленням всього іншого) все частіше юзаю Claude 4 та GLM 4.5 тому що стало в рази більше часу «думати» і результат відносний — якщо юзати складні і конкретні промти то gpt-5-thinking видає код краще за о3 но якщо потрібно «потокове» використання, проаналізувати документ, накидати ідеї чи написати просту реалізацію або тест то починається якась дичина і велосипеди як з Gemini. Більш всього бісить те що «архівний о3» це протюнений 5 а не старий о3.

А за тести — давайте конкретні задачі і будуть конкретні результати. І не валіть 10005000 коду в надії що його покрое тестами валідно, е вікно контексту і в нього потрібно влазити, все ще вище виходить дичина. Якщо у вас код це величезні макарони жостко зв’язані зі всім в коді то нейронка на таке тести нормально не напише.
І все одно після нейронки потрібно вичитати те що вона створює. Якщо немає розуміння стеку то нейронка буде тільки гірше робити так як маленька зміна в один символ може бути критичною для валідації тестів.

Rank Solution Result
1 Людський варіант success
2 Claude 4 Sonnet partially
3 GPT 5 High partially
4 Gemini 2.5 Pro fail
5 Grok 4 fail

Не зрозумів, а з чого ви вирішили, що ці моделі якимось чином підтримують мову AL? Здається в жодній це навіть не заявлено. Що тоді валідується? з таким же успіхом ви могли зібрати python, java, та c- developers та вимагати кодування на AL і потім дивуватися, що вони тупі і не можуть кодувати на тому ж рівні що й AL dev

Насемперед треба почати з того, що такого поняття як «підтримка %мови програмування% LLM» не існує. Неможливо натренувати модель якоюсь мовою, потрібно тренувати всім корисним, чим більший та якісніший датасет тим краще.

Є навчальна вибірка моделі в яку може входити чи не входити якась інформація і цієї інформації може бути різна кількість та якість.

Так як це проста паскалеподібна мова, то в будь якої моделі вже є сильний фундамент з інших мов.

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

І ще існує такий термін як «generalization», тобто моделі акумулюють звязки та знання з навчальної вибірки починають розбиратись навіть в тих задачах які не є в цій навчальній вибірці! Посилання на статті кидав трохи нижче:

arxiv.org/html/2411.07681v1
arxiv.org/html/2407.15720v2
www.pnas.org/...​i/10.1073/pnas.2417182122

Тому хоча датасет для AL був точно менший чим в Python наприклад, не можна забувати про навчання моделей на подібних мовах та про generalization. І так, кожна з цих моделей вміє писати функції на AL, первіряв багато разів, тобто знає синтаксис.

походу ви не зовсім розумієте, що всі ці «1 million token context window» — це скоріше маркетинговий буллшит. Тому що «standard transformer self-attention has quadratic complexity with context length»
Після 32к precision суттєво падає, відповідно і релевантність результатів. І бенчмарки, які ви можете знайти в інеті, це явно показують.

Крім того, агент має доступ до AL лінтера та аналізаторів коду, тож будь-які очевидні помилки AL були доступні моделям для аналізу.

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

Ранити щось в thinking mode (ще й ставити High) і висувати претензії, що модель повільна — ну такоє, що просили то і отримали.

Якщо модель змінює код, який раніше компілювався, вона повинна переконатися, що після завершення роботи код і далі компілюється.

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

те ж саме щодо претензій «по архітектурі» — ви модель явно про це в промпті не просили.
та й сумніваюсь що модель тренували на достатньо широкій кодовій базі, AL це не Python/Java.

p.s.
щодо Claude 4 Sonnet то вона, наскільки пам’ятаю, гібридна, тож не зовсім ясно в якому режимі вона працювала.

походу ви не зовсім розумієте, що всі ці «1 million token context window» — це скоріше маркетинговий буллшит. Тому що «standard transformer self-attention has quadratic complexity with context length»
Після 32к precision суттєво падає, відповідно і релевантність результатів. І бенчмарки, які ви можете знайти в інеті, це явно показують.

Чому ви вирішили що я цього не розумію?

Я достеменно на практиці бачу, що ці контекстні вікна в реальності відрізняються в меншу сторону з тим що декларують компанії. В той же самий час ці величини дають загальне поняття щодо порядків та порівняння. І там де буллшит говорить про мільйон токенів реально може влізти 500к, а там де 500к може влізти 300к.

Тому якщо в докуменатції моделі вказано 32к, а в іншій 1ккк, то різниця є і вона відчутна -)

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

Так і було зроблено в промпті, якщо ви уважно подивитесь то я вказав конкретні файли куди дивитись через @, це синтаксис курсора.

Ранити щось в thinking mode (ще й ставити High) і висувати претензії, що модель повільна — ну такоє, що просили то і отримали.

Хтось повільніший від інших, стаття про порівняння.

А найвища якість як раз таки залежить від того скільки модель думає над задачою.

Тому вважаю, що вибір High + Thinking mode надає найкращу якість відповідей на задачі по програмуванню.

І коли одна модель робить це повільніше + гірше ніж інша я думаю про це можна говорити.

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

Знову не зрозумів, чому ви вирішили що є плутанина між моделлю та агентом? Як раз таки в моєму реченні все правильно вказано, саме модель приймає рішення подивитись лінтер чи ні, скомпілювати проект чи ні.

В цьому порівнняні всі моделі були заявленні як агентними тими компаніями що їх зробили. Тому я і очікував від них однакової наснаги в агентному моді. Якщо агентний мод у когось гірший, а в когось кращий, я все ще можу стверджувати, що це саме проблема конкретної моделі, а не agent mode :)

Та і в реальних задачах програмування мене цікавить модель+агентМодМоделі, для чого мені розділяти це в тестах, якщо на практиці мені потрібно обидві складові?

те ж саме щодо претензій «по архітектурі» — ви модель явно про це в промпті не просили.
та й сумніваюсь що модель тренували на достатньо широкій кодовій базі, AL це не Python/Java.

Звісно не просив, так як прийняття архітектурних рішеннь було частиною теста. Що тільки лишній раз вказало, що LLM все ще дуже слабкі в прийнятті архітектурних рішень.

Як не дивно, AL це дуже проста паскалеподібна мова і моделі точно тренували на багатьох подібних мовах. Але звісно менше чим на Java/C#, тим не менш код доволі непоганий як на мене, щоб стверджувати що на якійсь достаній вибірці тренування все ж таки було.

А ще не забувайте що LLM вміють вирішувати задачі outside навчальній вибірці і достеменно відомо, що чим краще тренована модель та чим вона більша, тим краще вона вміє вирішувати задачі які були відсутні в навчальній вибірці.

Ось цікаве почитати вам:
arxiv.org/html/2411.07681v1
arxiv.org/html/2407.15720v2
www.pnas.org/...​i/10.1073/pnas.2417182122

p.s.
щодо Claude 4 Sonnet то вона, наскільки пам’ятаю, гібридна, тож не зовсім ясно в якому режимі вона працювала.

Є якесь посилання на те що ця модель чимось відрізняється від інших в списку? Цікаво, я про таке не чув.

А працювала вона в agent mode як і інші в цьому тесті.

Дякую вам за коментар.

Я достеменно на практиці бачу, що ці контекстні вікна в реальності відрізняються в меншу сторону з тим що декларують компанії. В той же самий час ці величини дають загальне поняття щодо порядків та порівняння. І там де буллшит говорить про мільйон токенів реально може влізти 500к, а там де 500к може влізти 300к.

Ні, таки не розумієте. Влізти — влізе саме стільки скільки задекларовано, але це суттєво вплине на якість відповіді. от вам пояснення
tilburg.ai/...​ontext-window-management

Знову не зрозумів, чому ви вирішили що є плутанина між моделлю та агентом? Як раз таки в моєму реченні все правильно вказано, саме модель приймає рішення подивитись лінтер чи ні, скомпілювати проект чи ні.

ні, це робить один з агентів курсора. точніше спочатку один з агентів каже моделі, що от після генерації коду скомпілюй його, для цього тобі доступні тули, в результаті вона цю тулу/агента викликає і в ній код компілюється. далі результат ллмці відправляється. тобто для того щоб ллм-ка вирішила спробувати зкомпілювати код за допомогою тули їй треба щоб ій це запропонував агент. і далі після компіляції якщо є помилки, їй знову ж таки потрібно запропонувати їх пофіксити. тож чому компілятор/лінтер не викликається (якщо не викликається) — це проблема агента, якщо ж він викликається, але код потім не пофікшений, то це проблема або іншого агента який не заставив ллм-ку його пофіксити або _отут проблема ллм-ки_ вона не змогла його пофіксити за n-ітерацій і далі агент на це забив щоб не зациклитись.

Звісно не просив, так як прийняття архітектурних рішеннь була частиною теста. Що тільки лишній раз вказало, що LLM все ще дуже слабкі в прийнятті архітектурних рішень.

Ні, вам треба явно запропонувати моделі перевірити/генерувати код відповідно до певних архітектурних рішень, це впливає на результат.

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

якшо код непоганий, то які претензії ))

Є якесь посилання на те що ця модель чимось відрізняється від інших в списку?

там десь в Antropic була пояснення як вона працює, шукайте «claude hybrid model». трохи схоже на reasoning levels в gpt-5.

Ні, таки не розумієте. Влізти — влізе саме стільки скільки задекларовано, але це суттєво вплине на якість відповіді. от вам пояснення
tilburg.ai/...​ontext-window-management

Я вам пояснив що розумію, а ви чомусь продовжуєте своє стверджувати. Ви зробили твердженнє яке не відповідає дійсності і продовжуєте з ним сперчатись. Чому?

Саме про якість відповідей я і мав на увазі коли казав «влізе реально 500к замість 1кк». Ви сперчатєтесь не зрозуміло з чим.

ні, це робить один з агентів курсора. точніше спочатку один з агентів каже моделі, що от після генерації коду скомпілюй його, для цього тобі доступні тули, в результаті вона цю тулу/агента викликає і в ній код компілюється. далі результат ллмці відправляється. тобто для того щоб ллм-ка вирішила спробувати зкомпілювати код за допомогою тули їй треба щоб ій це запропонував агент. і далі після компіляції якщо є помилки, їй знову ж таки потрібно запропонувати їх пофіксити. тож чому компілятор/лінтер не викликається (якщо не викликається) — це проблема агента, якщо ж він викликається, але код потім не пофікшений, то це проблема або іншого агента який не заставив ллм-ку його пофіксити або _отут проблема ллм-ки_ вона не змогла його пофіксити за n-ітерацій і далі агент на це забив щоб не зациклитись.

Ще раз, прийняття рішення про tool call приймає модель, а не агент.

Тому при незмінному агенті різниця «компілює/не компілює», «фіксить/не фіксить» є властивістю моделі. Це очевидно, тому ви тут помиляєтесь.

Ні, вам треба явно запропонувати моделі перевірити/генерувати код відповідно до певних архітектурних рішень, це впливає на результат.

Ні, прийняття архітектурних рішень було частиною теста.

якшо код непоганий, то які претензії ))

Для цього треба прочитати статтю та подивтись згенерований код, там є відповіді на це питання.

там десь в Antropic була пояснення як вона працює, шукайте «claude hybrid model». трохи схоже на reasoning levels в gpt-5.

Хотілось би посилання та аналіз чому саме ця модель чимось відрізняється від інших саме в агентому моді))

Ще мені було б цікаво зрозуміти чому Opus 4.1 настільки гірший зараз чим Sonnet 4.1, може це з цим пов’язанно?

Я вам пояснив що розумію, а ви чомусь продовжуєте своє стверджувати. Ви зробили твердженнє яке не відповідає дійсності і продовжуєте з ним сперчатись. Чому?

Саме про якість відповідей я і мав на увазі коли казав “влізе реально 500к замість 1кк”. Ви сперчатєтесь не зрозуміло з чим.

Та тому що ви і далі ведете мову про якісь “500k”. Мова взагалі не йде про такий великий контекст, у більшості ллм точність падає навіть на проміжку від 1k до 32k.

Recent large language models (LLMs) support long contexts ranging from 128K to 1M tokens. A popular method for evaluating these capabilities is the needle-in-a-haystack (NIAH) test, which involves retrieving a “needle” (relevant information) from a “haystack” (long irrelevant context). Extensions of this approach include increasing distractors, fact chaining, and in-context reasoning. However, in these benchmarks, models can exploit existing literal matches between the needle and haystack to simplify the task. To address this, we introduce NoLiMa, a benchmark extending NIAH with a carefully designed needle set, where questions and needles have minimal lexical overlap, requiring models to infer latent associations to locate the needle within the haystack. We evaluate 13 popular LLMs that claim to support contexts of at least 128K tokens. While they perform well in short contexts (<1K), performance degrades significantly as context length increases. At 32K, for instance, 11 models drop below 50% of their strong short-length baselines. Even GPT-4o, one of the top-performing exceptions, experiences a reduction from an almost-perfect baseline of 99.3% to 69.7%. Our analysis suggests these declines stem from the increased difficulty the attention mechanism faces in longer contexts when literal matches are absent, making it harder to retrieve relevant information. Even models enhanced with reasoning capabilities or CoT prompting struggle to maintain performance in long contexts.

далі це обговорювати не бачу змісту.

Тому що вам сказати нічого)

Ви тепер причепилися до числа, хоча ваші 32к це ще більша нісенітниця. А почали ви доказувати про сам факт знання, потім від безвиході перейшли на конкретні числа.

Про ваше нерозуміння агентів то взагалі мовчу)

Дякую за ваші зусилля і цю статтю! Приємно нарешті почитати якусь правду про АІ, а не байки)

Дякую за відгук!

Я просто не теоретик, а більше практик, тому вважаю що всі твердження про користь повинні підтверджуватись реальними тасками, а не бенчами чи казками)

Підписатись на коментарі