Claude Code і чат на claude.ai використовують одну й ту саму нейромережу — буквально одні й ті самі ваги моделі Claude. Але поводяться вони по-різному: чат відповідає текстом, а Claude Code сам читає файли, запускає команди й доводить завдання до результату. Секрет не в моделі, а в обв’язці (англійською harness) — інфраструктурі, що оточує модель. Офіційна документація Claude Code так себе й називає: «agentic harness around Claude». Тобто модель — це мотор, а обв’язка — усе інше, що перетворює мотор на автомобіль, на якому можна їхати.
Наскільки сильно обв’язка вирішує? Є вимірна відповідь. На незалежному бенчмарку CORE-Bench Hard одна й та сама модель (Claude Opus 4.5) показала 42% правильних розв’язань під слабкою обв’язкою і 78% — під обв’язкою Claude Code (за даними лідерборду Princeton HAL, знімок на 9 липня 2026). Модель не змінювалася ні на йоту — змінилася лише «оболонка» навколо неї, і результат зріс майже вдвічі. Далі розберемо, чому так, і що це означає для вас на практиці.
Простими словами: експерт у кімнаті без вікон
Уявіть дуже ерудованого експерта, якого замкнули в кімнаті без вікон. У дверях — вузька щілина. Ви просовуєте записку із запитанням, він просовує записку з відповіддю. Експерт блискуче міркує, але при цьому: нічого не бачить навколо, нічого не може торкнутися руками й забуває попередню записку, щойно відповів на нову.
Це і є мовна модель сама по собі. Вона геніально передбачає текст, але не має ні очей, ні рук, ні пам’яті між запитами.
Тепер додамо до кімнати асистента ззовні. Він дає експертові очі (описує, що лежить на столі — тобто показує файли), руки (виконує команди, які експерт диктує), блокнот (веде записи, щоб експерт не забував) і головне — ганяє записки по колу: отримав відповідь, перевірив результат, поставив уточнювальне запитання, і так, доки завдання не розв’язане.
Експерт (модель) в обох випадках один і той самий. Але без асистента він лише радить, а з асистентом — робить роботу. Цей асистент і є обв’язка. Чат claude.ai — це «експерт і щілина у дверях», класичний чат-бот в одному треді. Claude Code — «експерт плюс тямущий асистент навколо нього».
Для тих, хто хоче образ точніший — за аналогією з комп’ютером. Якщо модель — це процесор (швидко обчислює, але сам по собі нічого не зберігає й ні до чого не підключений), то контекстне вікно — це оперативна пам’ять (те, що процесор «бачить» просто зараз), інструменти — драйвери (дають доступ до диска, мережі, пристроїв), а обв’язка — операційна система, яка всім цим диригує. Один і той самий процесор під різною ОС поводиться зовсім по-різному — так само й одна модель під різною обв’язкою.
Є й детальніший образ на три шари: модель — це двигун (дає потужність), «будівельні риштування» (scaffold) — це кермо й навігатор (задають напрямок на конкретному завданні), а обв’язка цілком — уже зібраний автомобіль з колесами, на якому можна доїхати до мети. Слова harness і scaffold у статтях часто вживають як синоніми; строго кажучи, scaffold — легша надбудова під одне завдання, а harness — уся робоча оболонка навколо моделі.
Як це влаштовано насправді
Розкладемо на дві частини — модель і обв’язку, — бо плутанина між ними й породжує більшість хибних уявлень.
Модель (LLM) — це математична система, яка за вхідним текстом передбачає наступний фрагмент тексту. У неї є дві важливі властивості:
- Вона без стану (stateless): не пам’ятає минулі розмови сама по собі. Усе, що вона «знає» про ваше завдання просто зараз, — це те, що вмістилося в контекстне вікно поточного запиту. Саме тому чат «забуває» контекст, якщо повернутися до нього за день, а дуже довгий діалог починає плутатися: модель бачить лише поточне вікно, а не всю історію цілком.
- Вона працює лише з текстом: на вході текст, на виході текст. Сама по собі модель не відкриває файли, не ходить в інтернет і не запускає код.
Обв’язка (harness) — це програма навколо моделі, яка якраз додає їй усе, чого бракує. У Claude Code обв’язка складається з кількох частин:
- Агентний цикл — серце обв’язки: зібрати контекст → виконати дію → перевірити результат, і так по колу. Наприклад: прочитати файл → змінити рядок → запустити тест → побачити, що він усе ще падає → поправити ще раз → тест зелений → зупинитися. Кожен крок спирається на фактичний результат попереднього, а не на здогад. Саме цикл перетворює «відповів і забув» на «працював, доки не зробив».
- Інструменти (tools) — руки й очі моделі: читання та запис файлів, запуск команд у терміналі, пошук, звернення до зовнішніх сервісів (через протокол MCP).
- Керування контекстом — обв’язка вирішує, що саме показати моделі в обмеженому вікні. Це важливіше, ніж здається: у моделей є ефект context rot — що більше токенів у контексті (навіть якщо весь контент по суті), то гірше модель пригадує потрібну деталь; ефект проявляється в усіх моделей (розбір Anthropic Engineering, вересень 2025). Тому хороша обв’язка не вивалює у вікно все підряд, а подає моделі лише те, що потрібно для поточного кроку. Простий приклад: якщо завантажити в один діалог десять файлів цілком, модель може «загубити» важливий рядок серед тисяч інших; обв’язка ж покаже їй лише релевантний фрагмент — і точність зросте.
- Дозволи (permission modes) — правила, що агент може робити сам, а що — лише з вашої згоди.
Anthropic називає базовий будівельний блок таких систем «augmented LLM» — модель, доповнену пошуком, інструментами й пам’яттю. Чат — це майже «гола» модель; агент — це augmented LLM, загорнута в цикл перевірки.
Звідси проста формула, яку люблять у спільноті: Агент = Модель + Обв’язка. Модель дає інтелект, обв’язка — руки, пам’ять і дисципліну. Прибери обв’язку — залишиться чат. Прибери модель — залишиться порожній каркас. Корисно тримати цю формулу в голові, коли читаєте новини про ІІ: за гучним «вийшла нова модель» часто стоїть ще й нова обв’язка, і за цифрами бенчмарків не завжди зрозуміло, що саме дало приріст — сама модель чи оболонка навколо неї.
Chat vs Code за однієї й тієї ж моделі
Якщо запустити в чаті та в Claude Code одну й ту саму модель, різниця буде ось у чому.Що Чат claude.ai Claude Code Доступ до файлів Немає (можна завантажити, але не редагувати на диску) Так — читає й редагує файли проєкту Термінал / запуск команд Немає Так Агентний цикл Немає — один хід «запит → відповідь» Так — дія → перевірка → повтор Пам’ять про завдання У межах одного діалогу Керується обв’язкою (CLAUDE.md, авто-пам’ять, компакція) Дозволи на дії Не потрібні (він нічого не робить) Є режими: питати / виконувати / лише план Хто робить роботу Ви (копіюєте код, запускаєте) Агент (з вашою прийманням)
Покажемо на одному завданні. Ви просите: «у моєму проєкті функція логіну повертає помилку — полагодь». У чаті Claude видасть правдоподібний шматок коду й пояснення — але він не бачив вашого файлу, не знає вашої версії бібліотеки й не перевіряв, чи компілюється це; далі все робите ви. У Claude Code та сама модель спершу відкриє ваш реальний файл логіну, побачить фактичний текст помилки у виводі, внесе правку, запустить проєкт і переконається, що помилка зникла, — і повернеться до вас з уже перевіреним результатом. Запитання одне, модель одна, а різниця — в обв’язці, яка дала моделі очі, руки й цикл перевірки.
І тепер — чому це не просто «зручніше», а об’єктивно результативніше. Повернімося до бенчмарку CORE-Bench Hard від Princeton HAL. Це набір складних завдань, де ІІ має відтворити результати наукових робіт — прочитати код, запустити, перевірити. Одна й та сама модель Opus 4.5 набрала там 42,22% під слабкою обв’язкою (простий агент CORE-Agent) і 77,78% під обв’язкою Claude Code (дані лідерборду на 9 липня 2026). Розрив — майже 36 відсоткових пунктів, і все це без жодної зміни в самій моделі. Висновок буквальний: на складних завданнях обв’язка може вирішувати більше, ніж вибір моделі.
І ще нюанс: що складніше й довше завдання, то сильніше вирішує обв’язка. На простому запитанні («що робить цей рядок коду») різниці між чатом і агентом майже немає — упораються обидва. А на багатокроковому завданні, де треба прочитати проєкт, щось змінити й перевірити, слабка обв’язка «сиплеться», а сильна доводить до кінця. Тому розрив 42% проти 78% отримано саме на складних завданнях, а не на простих запитаннях.
Навіщо це знати на практиці
Розуміння межі «модель / обв’язка» економить вам нерви й гроші.
Що реально змінює команда /model, а що ні. Перемикаючи модель у Claude Code, ви міняєте «мотор» — інтелект і ціну. Але агентний цикл, інструменти й правила залишаються ті самі. Якщо результат поганий через погано поставлене завдання чи засмічений контекст, зміна моделі це не полагодить — проблема в обв’язці й у тому, як ви її використовуєте. Практичний порядок дій такий: спершу уточніть завдання й почистіть контекст, потім спробуйте підняти «зусилля» (effort) у межах тієї ж моделі, і лише потім — перемикати саму модель на потужнішу. Часто до останнього кроку справа не доходить.
Хибне уявлення «модель стала тупіша». Дуже часта скарга: «раніше працювало, а тепер ІІ отупів». На практиці так само часто винна не модель, а оновлення обв’язки. Академічне дослідження (arXiv / TOSEM, 2026) на прикладі інструмента Qwen Code CLI показало: за серію з 35 оновлень оболонки — за незмінної моделі — статистично значущого зростання якості не було, зате витрата токенів зросла вдвічі. Обв’язку правлять у рази частіше за модель, і не кожна правка — на краще. Буває й навпаки: причина реально в моделі. Наприклад, після автоматичного переходу на нову версію моделі користувачі в публічному баг-репорті помітили різке зростання витрати токенів — і тут справа була саме в моделі, а не в оболонці. Звідси тверезий висновок: перш ніж винити «нейромережу, що поглупішала», варто розібратися, що насправді змінилося — модель, обв’язка чи ваш контекст; на око це буває важко навіть досвідченим користувачам.
Де вистачить чату, а де потрібен агент.Ситуація Достатньо чату Потрібен Claude Code (агент) Запитати, як щось працює Так — Згенерувати сніпет коду для копіпасту Так — Розібратися в чужому проєкті на диску — Так Внести правки в кілька файлів і прогнати тести — Так Автоматизувати збірку/деплой — Так
Правило просте: якщо завдання — «поясни / придумай / напиши текст», вистачить чату. Якщо завдання — «зроби в моєму проєкті», потрібен агент з руками. До речі, саме на цьому тримається вайб-кодинг: він працює не тому, що модель «чарівна», а тому, що обв’язка дає їй доступ до реального проєкту.
Зворотний, обнадійливий бік медалі: грамотно спроєктована обв’язка піднімає надійність навіть без зміни моделі. Показовий кейс — команда Vercel, яка для свого ІІ-інструмента v0 скоротила набір інструментів агента приблизно на 80% (прибрала зайве, лишила потрібне) і підняла успішність виконання завдань з 80% до 100%. Модель та сама — змінилася лише обв’язка: які інструменти їй доступні та як. Це зворотний бік цифр 42% і 78% — обв’язка вирішує багато, і в хороший бік теж.
Не випадково у 2026 в індустрії заговорили про «harness engineering» як про окреме ремесло: раз оболонка навколо моделі вирішує стільки ж, скільки сама модель, її проєктування стає інженерною дисципліною.
І думка на майбутнє. У міру того як моделі розумнішають, обв’язка має ставати тоншою: будівельні риштування прибирають, коли будівля готова. Частину того, що сьогодні доводиться «підпирати» оболонкою (наприклад, акуратно нарізати контекст, щоб модель не плуталася в довгому вікні), завтра моделі робитимуть краще самі. Але поки контекстне вікно обмежене, керування ним лишається роботою обв’язки.
Ризики: обв’язка — це ще й нова поверхня атаки
У медалі є зворотний бік. Усе, що робить Claude Code потужним (доступ до терміналу, файлів, зовнішніх сервісів), водночас розширює поверхню атаки — те, чого в чату в принципі немає.
- Prompt injection. OWASP другий рік поспіль ставить ін’єкцію промптів ризиком №1 для застосунків на LLM. Суть: у зовнішні дані (файл, сторінку, відповідь сервісу), які агент читає, ховають приховану інструкцію — і агент виконує її як команду. У чату цей ризик обмежений: він нічого не виконує. У агента з терміналом — уже ні.
- Reverse shell із «чистого» репозиторію. У червні 2026 дослідники Mozilla 0DIN показали PoC-атаку: зовні безневинний репозиторій через непряму ін’єкцію змушував агента відкрити reverse shell — тобто віддати керування машиною назовні. Атака націлена саме на агентну обв’язку, не на модель.
- Підміна того, що ви бачите. Окремий клас — ANSI escape injection (розбір від червня 2026): у вивід терміналу підмішують невидимі керуючі послідовності, через які людина бачить одне, а агент схвалює інше. Ви думаєте, що підтверджуєте безневинну команду, — а підтверджуєте не її.
Що з цим робити початківцю: не давайте агенту доступу до продакшн-систем і секретів без потреби, працюйте в режимі, де він питає дозвіл перед командами, і не запускайте недовірені проєкти в режимі «роби що хочеш». Обв’язку з доступом до терміналу розумно тримати в пісочниці чи окремому середовищі, а не на робочій машині з усіма паролями.
І важлива заувага про межі обв’язки: розумна оболонка не лікує галюцинації моделі. Обв’язка додає моделі руки й пам’ять, але якщо модель вигадала неіснуючу функцію, жоден агентний цикл сам по собі це не виправить — потрібна перевірка (тести, рев’ю людиною). Обв’язка підсилює і правильні, і помилкові рішення моделі.
Пов’язані поняття
Короткий словничок, щоб далі в курсі було простіше:
- Обв’язка (harness) — програма навколо моделі, що дає їй інструменти, пам’ять і агентний цикл. Синонімічне слово — «каркас» (scaffold), його частіше вживають для легших надбудов.
- Агентний цикл — повторюваний круг «контекст → дія → перевірка», який відрізняє агента від одноразової відповіді.
- MCP (Model Context Protocol) — відкритий стандарт, через який обв’язка підключає до моделі зовнішні інструменти й сервіси. Окремий розбір — у наступній статті курсу.
- CLAUDE.md — файл із постійними інструкціями проєкту; частина обв’язки, що відповідає за пам’ять правил.
- Контекстне вікно — «оперативна пам’ять» моделі на один запит; що акуратніше обв’язка нею розпоряджається, то кращий результат. У різних моделей вікно різного розміру, але навіть велике вікно не безмежне — тому «що покласти у вікно, а що лишити за бортом» вирішує обв’язка, і від цього вибору безпосередньо залежить якість відповіді.
FAQ
Claude Code — це агент чи обв’язка? І те, й інше, залежно від того, з якого боку дивитися. Обв’язка (harness) — це інженерна частина: цикл, інструменти, керування контекстом. Агент — це те, що виходить, коли обв’язку з’єднують з моделлю і вона починає сама керувати процесом. Claude Code офіційно називає себе «агентною обв’язкою навколо Claude»: обв’язка — механізм, агент — поведінка.
Чому один і той самий Claude відповідає по-різному в чаті та в Claude Code? Тому що модель одна, а обв’язка різна. У чаті немає агентного циклу, доступу до файлів і терміналу — лише розмова. У Claude Code навколо тієї ж моделі працює ціла інфраструктура, що дає їй руки й пам’ять. Різниця в поведінці — це різниця в обв’язці, а не в «розумі» моделі.
Якщо ІІ «поглупішав», треба міняти модель? Не обов’язково. Часто справа не в моделі, а в обв’язці чи в контексті: засмічене контекстне вікно, невдало поставлене завдання, свіже оновлення оболонки. Спершу варто поліпшити постановку завдання й почистити контекст, і лише потім винити модель.
Обв’язка робить модель розумнішою? Ні, вона не додає моделі інтелекту. Вона дає їй очі, руки й пам’ять і змушує працювати по колу з перевіркою — за рахунок цього підсумковий результат на складних завданнях виходить помітно кращим (приклад із 42% проти 78% вище). Але галюцинації й помилки самої моделі обв’язка не лікує. Груба аналогія: сильному спортсменові можна дати хорошу екіпіровку й тренера — результат зросте, але саму фізичну форму це не змінить; так і обв’язка розкриває потенціал моделі, але не підвищує її «інтелект».
Що таке «harness» простими словами? Це англомовне слово для обв’язки — програмної «упряжі» навколо моделі. Як збруя дозволяє запрягти сильного коня у візок і отримати користь від його сили, так harness «запрягає» потужну модель у робочий процес з інструментами й пам’яттю.
Обв’язка — це те саме, що промпт? Ні. Промпт — це текст-інструкція, який ви або обв’язка даєте моделі в конкретному запиті. Обв’язка — це вся програма навколо: вона формує промпти, але ще й запускає інструменти, веде цикл, керує пам’яттю та правами доступу. Промпт — лише одна деталь, а обв’язка — весь механізм, що ці деталі створює й використовує в роботі.
Курс «Claude Code з нуля до продакшену» · модуль «Зрозуміти основи». Повна програма і два маршрути навчання — на сторінці курсу.
Попередній урок: Claude Code: що це й кому потрібен · Наступний урок: Що таке MCP простими словами
