Skip to Content

Формата на мисълта не е мисъл

Как езикът, кодът и моделите могат да изглеждат разумни – и защо това не значи, че са

Срам ме е. Още ме държи някакъв испански срам от хората, които обикаляха блокчейн конференциите. Те бяха хиляди и буквално навсякъде. Хора, които довчера са били в PR, я в маркетинг или финтех днес се обявяват за блокчейн визионери, утре ти говорят за AI safety, другиден за quantum computing без да знаят какво е честота на дискретизация. Хванах ли ви натясно, че не знаете какво означава „честота на дискретизация“? Нищо, просто прикрито невежество зад сложна дума.

Това не е сатира. Това е наблюдение на социалната адаптация към хипернаративите на технологичния пазар. Наградата за „ранен вход“ е висока. Ако си на сцената, преди още да има реални продукти, всички мислят, че си пионер. Никой не си играе да проверява. Достатъчно е да имаш „confident delivery“, презентация с хубави икони на Canva и малко жаргон („immutable ledger“, „trustless consensus“, „zero-knowledge proofs“), и си топ.

Конференциите не искат истина, искат внимание. Те са маркетинг машина. Не са академични среди, не са инженерен симпозиум. И най-често, не са там да валидират, а да експонират.

Проблемът с много хора не е, че не разбират. Проблемът е, че не се интересуват.

Има хора, които знаят, че не разбират, но искат да научат. Супер. Винаги има място за тях. Но другите -  тези, които искат само да изглеждат като част от нещото, да влязат в снимките, да цитират whitepaper-и, които не са чели, да говорят с патос за „децентрализацията, която ще освободи хората от корпоративното потисничество“, и всъщност не могат да обяснят какво е nonce – с тях дискусията е обречена. Като седем години съм се занимавал с блокчейн приложения и по едно време бяхме нещо като втората по брой работещи в нея фирма за регулирани DLT проекти, сега ми е още странно и срамно да говоря за изкуствен интелект. И за да не попадна в категорията на масата хора, които говорят глупости по конференции. 

Оплаках се на ChatGPT 4.5 (винаги е приятно да говориш с интелигентни… добре де, каквото са там) и той ми вика: „Петко, това, което наистина те притеснява, не е срам, а когнитивно натоварване от дисонанса.“ Моля, к‘во рече? „Ти слушаш хора, които говорят с патос, но реално са инженери на самочувствието, не на кода. Това при теб води до: прегаряне от съпричастност (не ти се иска да развалиш „магията“, но вътрешно кипиш), имаш вътрешно търкане между смисъла и показността, липса на желание да участваш в общността, която не спазва стандарти за истина)". Мале, много умен е станал този изкуствен интелект. И все по-умен ще става. „Всичко ми позна“ както биха казали почитателите на астрологията.

Сега съм си задал задачата да кажа какво е общото между уеб програмиста и AI програмиста, как работи AI, което май може точно да ме направи да изглеждам като онези „блокчейн експерти“ - слайдове, уверени приказки и нула полезна конкретика. Истината е, че ме е и страх да не кажа някоя пълна глупост. Но все пак ще пробвам, защото не мога да не забележа колко различни са тези два свята - единият занаятчийски и линеен, другият мъглив и вероятностен. И как много хора, включително и някои програмисти, все още не осъзнават къде всъщност се намират.

Известно време (май всъщност „бая време“) имах заблуждението, че познаването на един програмен език може да те направи „универсален войник“ и „дялан камък“, където и да те сложат в организацията. Мисленето на мениджърите се доближава до това на начинаещите програмисти. Ние само гледаме „fancy” технологии в CV-тата. Истината, обаче, е, че езикът е просто инструмент, а мисленето, парадигмите и опитът в конкретната сфера са същинската стойност. Дори на пръв поглед да изглежда, че пишеш на един и същ език - Python, но в действителност става дума за съвсем различни „диалекти“ на мислене и архитектура. Признавам, че ми трябваха бая време и мисловни напъни, за да проумея това.


Темата на Python Meetup беше "From Python and Django to Kotlin and Spring and back".

Наскоро бях на Python Meetup, организиран от Hack Bulgaria (познат преди като Django Meetup, kudos на организаторите). Големият гост беше Венелин Стойков, човек, с който имам честа да работя в INDUSTRIA и по време на срещата, а и след нея имах възможност да си припомня колко много не разбирам от бекенд, но се сетих ясно какви бяха целта и контекстът на Уеб програмирането:

  • Целта: да се обработват заявки от потребителите, да се визуализира информация, да се комуникира с бази данни, да се направи интерфейс (дори ако той е отделен във фронтенд).
  • Типично използвани фреймуъркове: Django, Flask, FastAPI.
  • Принципи: REST API, MVC, сигурност, сесии, шаблони, ORM (като Django ORM или по-рядко SQLAlchemy).

Съпоставям това с целите на AI / ML програмирането:

  • Целта: обработка на данни, обучение на модели, предсказване и клъстериране.
  • Типично използвани библиотеки: NumPy, pandas, PyTorch, TensorFlow, scikit-learn.
  • Принципи: математика, линейна алгебра, оптимизация, статистика, тренировка, loss функции.

Прилика между двете? Никаква.

С голямо съжаление осъзнах, че от това, което разбрах по време на срещата за Python, както и от размишленията ми след нея, съществуват огромни разлики не само в целите и контекста, но и в самия начин на подход към решаването на проблемите.

Уеб програмистът:

  • Мисли в структури като „routes“, „models“ „controllers“, „views“, „middleware“.
  • Основният враг е сложността на състоянието - кога потребителят е логнат, какво вижда, какво е кликнал, какво трябва да се зареди.
  • Debug-ването обикновено е около HTTP заявки, headers, sessions, SQL заявки.

AI разработчикът:

  • Мисли в матрици и тензори, loss функции, метрики.
  • Основният враг са overfitting, underfitting, bias/variance tradeoff.
  • Debug-ването е трудно - нещо уж се тренира, но не е ясно защо не предсказва добре.

Резултатът:

  • Уеб разработката цели нещо интерактивно и стабилно, което други хора ползват и натоварват.
  • AI разработката цели модел, който или ще се използва като бекенд за нещо, или ще се вгради в продукт, но сам по себе си няма UI.

Колко малко се пренася от едното в другото?

Смея да твърдя, че ако си правил Django и започнеш да пишеш модел в PyTorch, 99% от нещата, които знаеш, няма да ти са полезни:

  • Няма templates, няма request/response lifecycle.
  • Няма ORM, няма URL routing, няма сесии.
  • Няма архитектурно разделение на concerns по MVC или CQRS.

И обратното - ако си ML инженер (не знам откъде намерих време да мина два курса), който работи с NumPy, pandas или TensorFlow, и някой ти каже „направи ми админ панел с логин и дашборд“, няма да знаеш откъде да започнеш. При все, че Django e с много добра (по думите на Венко с „най-добрата“) документация. Дори въпросите са различни, които двата типа програмиста си задават са различни, камо ли решенията.

Извод: Мисленето, че след като си учил Python можеш да пишеш и двете е наивно и показва заблуда и (моя) езиков фетишизъм.

Защо? Защото: Python е скеле, не сграда. Лесно се учи, но без библиотеки (и знанията зад тях) си безпомощен. PyTorch и Django са различни светове.

Апропо, предполагам, че същото е валидно и за Java, но аз първият и, надявам се, последен път, когато  съм виждал този програмен език беше през 1999.

Истинската стойност не е в езика, а в домейн знанията:

  1. Езикът е основа, не цел.
  2. Важно е какви библиотеки, концепции, инструменти, архитектури ползваш.
  3. Най-голямата разлика между добър и лош програмист е в мисленето, а не в езика.
  4. Да си добър в „едно“ не значи, че си дори адекватен в друго.
  5. Да знаеш как се мисли в различен контекст е по-важно от това на какъв език пишеш.

Как уеб програмистът мисли логично, а AI програмистът си играе с вероятности (без да ти го казва)

Това, което виждам като най-голямата разлика между класическия уеб програмист и онзи, който работи с големи езикови модели (LLM), не е в езиците или инструментите. Не е в това дали ползва Django или PyTorch. А в начина, по който мисли. Или по-скоро - в това, дали изобщо мисли нещо, което е обяснимо.

Като човек, който оригинално идва от фирма, в която работим изцяло в уеб среда - свят на API-та, бази данни, фронтенд рамки и много човешки грешки😔, свикнал съм с това, че логиката в кода е разказ. Ако има бъг - има и история. Отиваш, четеш, следиш потока. Поне така ми казват, че правят колегите. Нещата се случват в определен ред, причината и следствието са ясни, а когато не са -  дебъгваш. Това е занаят, близък до занаятчийството -  знаеш какво правиш, ръцете ти са в материята.

Наскоро обаче попаднах на нещо, което се прави на „мислещ код“😲. Един езиков модел. Не е важно кой точно (сега е моментът да се похваля с класацията си за AI модели за април 2025). Важното е как изглежда, когато го питаш нещо.

Попитах го неща от различен характер -  да сравни хора, да анализира текст, да преведе нещо, да даде историческа оценка или етично мнение. И в отговорите му се повтаряше една странна закономерност: той винаги изглеждаше сякаш разсъждава. Дори твърде добре. Буквално говореше така, както би говорил опитен, спокоен, внимателен човек. И дори когато грешеше -  грешеше красиво.

Но след малко ровене (и директни въпроси към самия модел) стана ясно нещо много по-интересно. Всичко това е фасада. Това не са разсъждения. Това са вероятностни реконструкции на неща, които звучат като разсъждения. Моделът няма вътрешна логика -  има огромна база от статистически модели, изградени върху хиляди, милиони текстове, и просто извежда най-вероятното продължение, което да звучи логично. Ето как го описа самият той:

Псевдо-логика на машината, в превод от нейния език:

"Когато ме попитат дали Георги или Мария е по-добър за дадена задача, мога да представя разсъждения като "Георги има повече опит в управлението на проекти, докато Мария има по-силни технически умения." Но вътрешно, моята оценка идва от
статистически модели в обучаващите данни за професионални квалификации, без
съзнателно претегляне на факторите един по един."

Няма реална преценка. Няма „мислене“. Има резултат, който изглежда като такъв. Езикът му е маска. И по същия начин анализира тон на текст (като разпознава думи, които често съпътстват определени емоционални оценки), превежда без граматика (само чрез вероятностно съвпадение между сегменти в различни езици), и дори „разсъждава етично“, без да прилага морални принципи - просто копира формата, която е най-често срещана в текстове, в които има етични дилеми.

Тоест, когато моделът ти каже:

"Този случай изисква баланс между лична свобода и обществена отговорност",

това не е защото е прочел Кант и Джон Стюарт Мил. А защото такива думи обикновено се ползват заедно, когато хората говорят за маски, ваксини, закони и т.н.

Това е занаят без мислене. Красиво повторение на мислещи шаблони.

И тук е голямото разминаване между начина, по който работи уеб програмистът и начина, по който „работи“ AI програмистът. Първият строи логика. Вторият - моделира вероятности. И това няма как да се види с просто око от прости мениджъри като мен.

Хората, които взаимодействат с такъв модел, остават с впечатление, че той мисли като тях -  защото така е устроен интерфейсът. А всъщност това, което виждат, е превод от нещо хаотично и статистическо в човешки език. Не обратното. Мисленето не е в текста. То е в това как интерпретираш, че зад текста има мисъл. Но няма. И това трябва да се знае.

Ако някой иска да обяснява как работят тези системи на други хора, не му трябва да е инженер. Просто трябва да разбира две неща:

  • Това не са логически мислещи програми, а вероятностни симулатори на логически текст.
  • Не мислят. Изглеждат сякаш мислят.

И най-добрият начин да го обясня:

Това не е дигитален мозък. Това е преводач от статистика към думи.

Какво си говорим всъщност?

След толкова глупости искам да споделя, трите фундаментални разминавания, които много малко хора съзнават:

  1. Езикът ≠ способност. Да знаеш Python (или Java, или какъвто и да било език) не те прави програмист в дадена област.
  2. Разумното изглеждане ≠ разум. AI изглежда, че разсъждава, но реално представя резултат от статистически процес.
  3. Представеното разсъждение ≠ вътрешната обработка. И в програмирането, и в AI, разликата между това, което изглежда като логично действие, и това, което реално се случва, е огромна.

Защо това не е известно на повечето хора?

Защото и в програмирането, и в разбирането за AI, се бърка интерфейсът с вътрешната реализация. Същото като да гледаш таблото на кола и да мислиш, че като виждаш стрелките на оборотите, знаеш как работи двигателят.

  • Гледаш Python скрипт и си мислиш: „Знам езика, значи мога да го използвам за всичко.“
  • Гледаш как ChatGPT „разсъждава“ и си мислиш: „То мисли като мен, само по-бързо.“
  • Виждаш отговор и вярваш, че AI го е постигнал чрез логическа дедукция, когато в реалност той го е „вдишал“ от хиляди предишни примери.

Навързването между AI мислене и разликите в програмисткото мислене е наистина интересно:

Програмиране с един език в различни области ≈ AI, който симулира различни „персони“
  • Когато Python програмист за уеб влезе в областта на ML, той може да ползва същия синтаксис, но мисленето, логиката, и решенията са от друга планета.
  • Когато AI трябва да даде отговор като историк или лекар, той не прилага истински хуманитарно или клинично мислене - просто маскира статистиката като хуманна логика, за да звучи достоверно.

Виждате ли как и в двете посоки - човек към различни домейни, и AI към различни типове отговори - разликата не е в езика, а в начина на мислене? Това е най-важното и интересно нещо, което научих от доста време и смятам да си го припиша.

Ще бъда малко по-смел с още предположения, които малцина са чували от мениджър

  1. AI не разсъждава -  той подрежда вероятности, за да изглежда като разсъждение.
  2. Много опитни „езиково-грамотни“ програмисти са напълно неспособни извън своята домейн среда.
  3. И човек, и AI могат да звучат логично, без да са прави, защото логиката в езика не гарантира разбиране.
  4. Формата на мисъл ≠ съдържанието ѝ. Има прилика в това, че едни и същи инструменти (език, библиотеки, термини) могат да служат на коренно различни цели. А това често се пропуска в масовите обяснения.

Вече трябва да е станало ясно, че темата ми е далеч повече от просто „интересна“ - намирам я за фундаментална и за бъдещето на взаимодействието между човека и машина, и защото обединява философия на мисленето, инженерната реалност, когнитивната психология и компютърните науки без излишна мистика, без прехласване по терминология. Ако мога и следващия път да я поднеса с по-разбираем език - супер.

Снимката е на Juan Rumimpunu от Unsplash.

Формата на мисълта не е мисъл
Petko Karamotchev 4 април 2025 г.
Споделяне на статус
Архив