golang
Tool calling в Go: почему вызов модели ещё не разрешение выполнить команду

С tool calling у LLM появляется возможность не только отвечать на вопросы, но и вызывать функции нашего приложения. Можно дать модели доступ к поиску заказов, проверке платежей, созданию документов или изменению настроек.Интеграция на первый взгляд довольно простая. Передаём модели описание функций, получаем название инструмента и аргументы, проверяем JSON и вызываем нужный обработчик.Но здесь есть проблема. Валидный tool call ещё не означает, что операцию вообще разрешено выполнять.Чтобы разоб…

  • вторник, 20 октября 2026 г. в 00:00:18
javascript
От HTML-таймера к TypeScript. Как менялась Kapsula

У меня Kapsula началась с таймера рабочего дня. Один HTML-файл, который написал ИИ. Открываешь, нажимаешь кнопку, он отсчитывает время. Потом гаснет экран телефона — и выясняется, что с напоминанием всё сложнее, чем казалось в браузере.Про будильники и устройство оболочки я уже рассказывал. С тех пор приложение дошло до версии 0.5, и задача немного сдвинулась. Теперь в нём можно запускать отдельные JavaScript- и TypeScript-файлы, редактировать сохранённый код и возвращаться к своим данным после…

  • вторник, 20 октября 2026 г. в 00:00:16
github
withmarbleapp / os-taxonomy

Marble Skill Taxonomy An open, structured taxonomy of what children learn across the primary/elementary years — decomposed into fine-grained "micro-topics", wired into a prerequisite graph, and aligned to national curriculum standards. Produced by Marble. Version: v1 · Topics: 1,591 · Prerequisite edges: 3,225 · Subjects: 8 See it Every dot is a micro-topic, colored by subject; height is age; each thread is a prerequisite (full-quality video). Explore it interactively at withmarble.c…

  • вторник, 20 октября 2026 г. в 00:00:15
github
headroomlabs-ai / headroom

Compress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server. Quickstart · Headroom for Teams · Install · Proof · Agents · Docs · Discord · llms.txt AI agents / LLMs: read /llms.txt here, or fetch the live index · full docs blob. Headroom compresses everything your AI agent reads — tool outputs, logs, RAG chunks, files, and conv…

  • вторник, 20 октября 2026 г. в 00:00:10
golang
Как один сервер на Go держит 2500 бойцов в браузерной драке

стенка на стенкуЯ делаю Brawl Town - браузерную драку в духе Final Fight и Streets of Rage. На одной улице дерутся игроки и боты. Установки и регистрации нет: достаточно открыть игру и выбрать ник. Проект разрабатываю один.Мне хотелось понять, сколько бойцов можно обсчитывать в одном процессе на обычном ПК. В текущем нагрузочном тесте i7-7700K выдерживает 2500 подключённых клиентов на улице шириной 3600 px: тик занимает 28–31 мс при бюджете 50 мс. Если собрать всех на одном экране, время выраст…

  • понедельник, 19 октября 2026 г. в 00:00:13
golang
YPtun

Xray, sing‑box, WireGuard и DNS‑туннель в одном процессе: как устроен YPtun изнутриПроект начинался как Olcbox, маленький конфигуратор для одного экспериментального транспорта. Следы того времени до сих пор живут в коде: версия передаётся в Gradle флагом -Polcbox.version, пакеты называются org.olcbox.app, а главный сервис называется OlcboxVpnService. Переименовывать всё это ни у кого не поднимается рука, и ниже будет понятно почему: одно только переименование applicationId заняло два релиза.Сей…

  • понедельник, 19 октября 2026 г. в 00:00:12
golang
Возвращение в прошлое, которого у нас ещё не было

Интернет когда-то выглядел иначе. До бесконечных лент, рекомендательных алгоритмов и личных брендов существовали BBS, локальные сети, IRC, форумы и имиджборды. Пользователь приходил туда не ради собственного профиля, а ради темы, разговора или случайной встречи с незнакомым человеком.У этих систем было много ограничений. Соединение могло быть медленным, интерфейс — текстовым, а навигация — целиком клавиатурной. Но именно ограничения часто делали общение более прямым. На экране не было десятка у…

  • понедельник, 19 октября 2026 г. в 00:00:11
javascript
Как я подружил блок‑головоломку с Шопеном на WebAudio

Я делаю Blocturne, головоломку с блоками для Telegram. Механика знакомая по Block Blast: поле 8×8, три фигуры в лотке, собираешь ряды и столбцы. Сверху прикручен подсчёт как в Balatro: фишки умножаются на множитель, между раундами лавка с предметами. Но рассказать хочу про звук, потому что с ним я провозился дольше, чем со всем остальным.Хотелось, чтобы звуки ходов попадали в музыку, а не играли поверх неё. В итоге получился маленький музыкальный движок, отдельный режим для слабых Android и пар…

  • понедельник, 19 октября 2026 г. в 00:00:09
javascript
Среда исполнения JavaScript в браузере по стандарту HTML: агенты, event loop, task'и и микрозадачи

Это продолжение статьи «Модель исполнения JavaScript по спецификации ECMAScript: call stack, контексты, окружения и замыкания». Если ты её не читал, лучше начать с неё: агент, Realm Record, execution context, execution context stack и Job здесь заново не объясняются.Обычно браузер представляют так: у каждой вкладки свой поток и свой event loop, а промис срабатывает раньше таймера, потому что микрозадачи приоритетнее макрозадач. На практике этого хватает, но в стандарте HTML всё устроено иначе. …

  • понедельник, 19 октября 2026 г. в 00:00:08