Современные AI-агенты действуют в реальном мире с помощью доступных им инструментов (tools). Ядро вокруг модели (LLM), которое позволяет всему этому работать (harness), серьезно влияет на качество и стоимость конечных ответов. При этом добавление в harness простого JavaScript может существенно прокачать AI-агента и заменить часть долгих и дорогих рассуждений простейшим кодом, который будет лучше, точнее и быстрее.
В этой статье разберу как такие интерпретаторы могут помогать. Начну с примера, который можно повторить у себя в LM Studio, а потом перейду к более общему устройству на LangChain, где простой JS-интерпретатор становится уже не таким простым, а забирает часть логики с LLM и помогает ей фокусироваться на том, что нужно, делегируя детерминированную логику скрипту.
Читать далееРоуэн Чунг создал одну из крупнейших в мире рассылок об искусственном интеллекте. Ее читают более 2 млн человек, включая спецов из Google, Apple, OpenAI и NASA.
Короче, штука прикольная.
Можно поугарать над своими тараканами, которыми кормишь чат-бота годами. Дайте своему ИИ шанс выговориться.
Читать далееВ прошлой статье я разбирал блокчейн как append-only базу данных - сплошная теория и одна read-only команда. Долг перед практикой остался, и сегодня я его закрываю: отправим в Ethereum настоящую транзакцию из TypeScript-скрипта.
Сам код - 20 строк и 10 минут. Но по дороге вас ждут три грабли. Я на них наступил сам, когда только заходил в web3, а теперь регулярно наблюдаю, как на те же самые грабли наступают мои менти - с завидным постоянством, в одном и том же порядке. Разберу все три заранее - сэкономлю вам час отладки.
Всё происходит в тестовой сети Sepolia: эфир там бесплатный, ошибки безболезненны, а механика - байт в байт как в мейннете. Тестовый эфир раздают фосеты-«краники», и они имеют привычку умирать - поэтому живые я собираю в шпаргалке в репозитории Копилки: это учебный dApp, который я разрабатываю в открытую по ходу серии «Web3 для JS-разработчиков» в Telegram. Этот туториал - её пятая часть, дальше серия уходит в Solidity.
Читать далееПрограммист АСУ ТП пишет код, работает с ПЛК и SCADA, читает электрические схемы, разбирается в технологическом процессе, ездит на пусконаладку и отвечает за реальное оборудование. Но почему при таком наборе задач он часто получает меньше обычного IT-разработчика?
Четыре года назад на Хабре вышла статья «АСУ ТП — тухлая отрасль, надо идти в IT?». Я решил проверить, что изменилось с тех пор: собрал актуальные вакансии hh.ru, сравнил зарплаты по опыту и условиям работы, изучил требования работодателей и зарубежные исследования.
Читать далееВ начале недели взял задачу, которая выглядела на удивление просто. Сначала я попробовал решить ее одним способом, вторым, пятым, десятым — и очнулся ближе к ночи. Вот тебе и девопс…
Разберемся, чем DevOps-инженер занимается, помимо настройки инфраструктуры, почему его задачи различаются от компании к компании и что стоит выяснить перед откликом на вакансию.
Читать далееЯ подключаю API нейросетей почти каждую неделю. Собираю пайплайны для генерации контента, тестирую модели под задачи клиентов, веду сервис, который гоняет запросы через десяток провайдеров. Дольше всего из всех провайдеров я разбирался с Gemini: модели у Google сильные, а вот добраться до них сложнее, чем до любых других.
У OpenAI один кабинет и один ключ. У Google три названия на два реальных способа доступа — Google AI Studio, Gemini Developer API и Vertex AI. На то, чтобы понять, что из этого одно и то же, а что разные вещи, уходит отдельный вечер. Новичок открывает документацию, тыкает не в тот раздел и заводит биллинг в Google Cloud вместо бесплатного ключа в AI Studio. А в России к этому добавляются региональные ограничения.
Дальше я разбираю тот же путь, которым провожу коллег и клиентов, и показываю, на каком шаге официальная инструкция для российского IP перестаёт работать.
Читать далееОдно из важнейших направлений нашего бизнеса – разработка программ для автоматизации бизнес-процессов, управления и учёта предприятий и организаций. А одна из наших главных обязанностей перед пользователями наших продуктов – предоставлять им техподдержку, отвечать на вопросы – как использовать наши продукты для различных бизнес-процессов и в соответствии с текущим законодательством и нормативами. Для этого у нас есть сервис с базой знаний, называется ИТС (информационно-технологическое сопровождение).
На сегодня у нас есть 30+ программных продуктов и документация по ним. А ещё есть постоянно пополняемая база нормативных документов. Идеальная схема процесса:
1. Пользователь задает вопрос в привычной ему форме, например:
- Как в 1С драйв начислить бонусные баллы покупателю
- Налоговая реформа 2025
- Розница 2.3 настроить продажу разливного пива
2. И получает ответ
- При необходимости – пошаговую инструкцию: что и как нужно сделать в программном продукте для работы требуемой функциональности.
- Выдержки из нормативных документов, относящихся к заданному вопросу, со ссылками на исходный текст этих документов.
На заре времен все подобные вопросы решались на уровне телефонной техподдержки с живым экспертом на нашем конце провода. Потом поддержка в основном перешла в онлайн-чат с тем же экспертом у монитора-клавиатуры.
С появлением и взрослением ИИ логичным шагом стал переход с живого эксперта на ИИ-бота.
Как мы его сделали, как обучали, как организовали интеллектуальный поиск по базе документов, почему и как задействовали векторный поиск – под катом.
Читать далееРассказываем про явление пожизненного найма в японских компаниях: откуда появилось, насколько полезно для экономики и людей и как работает сейчас.
Это цикл статей для тех, кто интересуется Японией, её современной жизнью и культурой повседневных деталей. В прошлый раз я писал о том, как искать работу в Японии.
Читать далееВ первой части мы разобрались с архитектурой Apache Iceberg. Увидели, как иерархия метаданных позволяет находить нужную информацию без полного сканирования хранилища. Также стало понятно, почему Iceberg — это не вычислительный движок и не формат файлов, а табличная спецификация поверх объектного хранилища.
Теперь настало время ответить на практический вопрос: как все эти метаданные связать в единую систему, чтобы несколько движков могли работать с одними и теми же таблицами без хаоса. Помимо теории развернем HMS в Docker, настроим PyIceberg и разберем внутреннюю анатомию файла metadata.json.
Привет! Я Денис, старший бэкенд-разработчик в Selectel. Надеюсь, материал будет полезен инженерам данных и архитекторам. Мы рассмотрим Hive Metastore, AWS Glue, REST Catalog и Nessie и расскажем как выбрать подходящий инструмент под специфику проекта.
Читать далее →Поговорим про псевдонимизацию?
Есть довольно типичная ситуация в проектах на 1С. На рабочей базе возникает ошибка или нужно доработать нетиповой сценарий. Разработчику желательно получить именно копию базы: на демо-базе ошибка может не воспроизводиться. И тут появляется неприятный вопрос: что еще мы передаем вместе с этой копией?
ФИО сотрудников и клиентов, телефоны, адреса, ИНН, банковские реквизиты, начисления зарплаты, комментарии пользователей — все это легко оказывается на сервере подрядчика или компании-франчайзи. А потом копия может путешествовать между разработчиками, виртуальными машинами и резервными серверами значительно дольше, чем существует сама задача.
Можно удалить чувствительные данные полностью. Но тогда мы получим уже другую базу, на которой часть исходных сценариев проверить невозможно. Мы попробовали другой подход: обратимую псевдонимизацию базы 1С. То есть перед передачей копии заменять реальные персональные данные правдоподобными синтетическими значениями, сохраняя структуру и связи внутри базы, а после работы подрядчика — при необходимости возвращать исходные значения обратно.
Важно сразу уточнить терминологию. Это именно псевдонимизация, а не необратимая анонимизация: соответствие между исходными и подставными значениями существует и хранится отдельно.
Читать далееПродолжаем разработку SPI IP Core на Verilog. В первой части мы перенесли SPI-контроллер с Altera Cyclone IV на Zynq-7020, сохранили исходный регистровый интерфейс и добавили AXI4-Lite. Теперь задача меняется: нужно превратить работающий RTL в полноценное устройство под Linux.
Во второй части соберем Block Design с PS, настроим карту адресов и прерывания, подготовим загрузочную цепочку и Device Tree, а затем подключим контроллер к стандартной SPI subsystem Linux. Здесь уже недостаточно рабочего bitstream: ошибка в ps7_init, адресах или Device Tree может сделать исправное ядро недоступным для ОС. После обычного PIO-доступа добавим потоковый тракт для больших объемов данных. Для этого появятся AXI-Stream адаптер, глубокий FIFO, backpressure и режим TX-only. По ходу разберем ошибки, которые проявляются только под нагрузкой: потерю байтов на границе FIFO, проблемы запуска DMA и устаревший результат синтеза.
Финал этой части - плата самостоятельно загружает Linux, SPI работает через драйвер, а большие буферы передаются из DDR в PL через AXI DMA без побайтового участия Cortex-A9.
Всем, кому интересно продолжение - добро пожаловать под кат! =)
Читать далееКвантовые технологии стали одними их тех тем, которым уделялось достаточно много внимания несколько лет тому назад. Затем ажиотаж снизился, а на смену им пришли ИИ системы. Однако это смена приоритетом произошла лишь в глазах общественности, но не в научных кругах. Ученые со всего мира продолжают активно работать над созданием и совершенствованием различных устройств и систем, основа работы которых лежит в квантовом мире. Ученые из Университета Аалто (Эспоо, Финляндия) разработали сверхпроводящий квантовый тепловой двигатель, преобразующий тепло квантового масштаба в полезную работу. Из чего сделан этот двигатель, каков принцип его работы, и какие перспективы ждут разработку? Ответы на эти вопросы мы найдем в докладе ученых.
Читать далееРебёнок говорит: «Мам, пап, я хочу быть программистом» — и родители пугаются. Одни в спешке гуглят курсы и сравнивают отзывы на три школы сразу. Другие осторожничают: «подрастёшь — разберёмся».
Обе реакции понятны, но обе промахиваются мимо главного. Если записать ребёнка на курс, не зная, что ему интересно, можно зря потратить деньги и отбить желание учиться. Да и ждать в быстро меняющейся сфере — тоже плохая стратегия.
В статье разберёмся, что стоит за желанием ребёнка кодить, в каком возрасте начинать и как выбирать курс.
Читать далееПродолжение статьи «От монолита и чатов к FMS и FMS App». Читать первую часть не обязательно — нужные вводные дам по ходу, но с ней будет вкуснее.
Всем привет! Меня зовут Даня Сухарев, я директор по продукту внутренних сервисов в каршеринге Ситидрайв. Герой этой статьи — один из таких сервисов: FMS, Fleet Management System. Полтора года назад, ещё в роли продакта FMS, я написал первую статью — про то, как мы за три квартала с нуля построили систему управления автопарком и мобильное приложение FMS App, чтобы победить два монолита, чаты и онлайн-таблички.
Минутка контекста для тех, кто первую часть пропустил. Каршеринг — это не только приложение, в котором клиент берёт машину. За кадром живёт большая полевая операционка: каждое авто нужно мыть, заправлять, перегонять, чинить и иногда откапывать из сугроба. Занимаются этим сотни исполнителей — подрядчики, самозанятые, штатные техники. А Диспетчерская, которая будет часто мелькать в тексте, — это старая админка, через которую всем этим управляли до FMS.
Читать далееЦена — один из первых параметров, с которым пользователь сравнивает онлайн-курсы. Но на ней выбор не заканчивается. Программа, формат обучения, расписание, преподаватели и отзывы могут оказаться не менее важными при принятии решения. Для образовательных платформ это создает отдельную маркетинговую задачу: недостаточно привлечь пользователя на курс — нужно помочь ему выбрать конкретное предложение среди десятков похожих.
Авито Реклама провела исследование и выяснила, как россияне выбирают онлайн-курсы, сколько готовы тратить на обучение и какие факторы учитывают перед покупкой. Разбираем основные результаты и смотрим, что они означают для продвижения образовательных продуктов.
Читать далееNVMe показывает сотни тысяч IOPS, а база упирается в пару сотен коммитов в секунду — знакомая ситуация, если ориентироваться на обычные тесты записи.
Разберём, где теряется производительность между write и гарантированной фиксацией данных, как на это влияют fsync, кеш контроллера и файловая система, и чем измерять реальную задержку на проде.
Читать разборЛюбому, кто осилил роман ВиктОра Гюго «Человек, который смеется», известно, что при дворе Английской Королевы Елизаветы I была должность «Откупориватель океанских бутылок».
Придворный, занимавший этот пост, собственно, и откупоривал бутылки. От 80 до 120 бутылок в год.
В тучный год он работал «не покладая штопора», каждые три дня извлекая очередную последнюю волю, прошение, мольбу, исповедь или свидетельство на суд Британской монархии.
В те времена люди относились к акту публичной коммуникации гораздо серьёзнее, чем сейчас.
И любой, кто вкладывал сообщение в бутылку, заливал пробку сургучом и препоручал её пучине, мог не без основания надеяться: сообщение прочитают и по нему вынесут какое-то суждение или решение. Если, конечно, бутылку вынесет на берег. Неизвестно было только, когда и где это произойдёт.
В современном мире — наоборот. Ты знаешь, что доставлено. Знаешь когда и куда. Но часто не знаешь главного: прочитано ли и будет ли прочитано.
Спам, обилие информации, клиповость мышления, неумение быстро читать и понятно писать — лишь верхушка айсберга причин, затрудняющих даже самую адресную коммуникацию.
Под катом я буду говорить о способах и инструменте, которые делают адресную письменную коммуникацию чуть более управляемой, а её инициатора — чуть более счастливым.
И пусть несчастливые станут счастливыми, а счастливые пусть переполнятся счастьем. Всех, кто пишет письма и сообщения, посылает каталоги, презентации, резюме, предложения и приглашения, прошу под кат.
Читать далееПредставьте ситуацию: вы выкатываете новую фичу, а бэкендер спрашивает вас: «Слушай, а почему вместо событий — пустой объект?». Вы в шоке: «Как так — пустой объект? У меня же TypeScript, всё типизировано, такого не могло быть!». Спойлер — могло.
Меня зовут Денис Платонов, я старший разработчик интерфейсов в Телемосте и я отвечаю за on-premise развёртывание веб-клиента Телемоста в инфраструктуре заказчика. В этой статье я расскажу о том, как безобидный на первый взгляд Omit превратил наш аккуратный тип событий в пустой объект. Заодно разберём, как работает дистрибутивность типов в TypeScript и поделимся, чему нас научил этот кейс.
Читать далееОшибка начинающего оператора банка обходится дорого. Неверно заполненная заявка может привести к потере времени клиента. Неправильная консультация – к эскалации с участием двух-трех человек. Требования к операторам растут, а люди уходят через полгода-год – и снова обучение с нуля. Задача сложная, а привычные методы работы с новичками нередко дают сбой.
Читать далееБольшинство материалов о компрессии в PostgreSQL отвечают на вопрос «во сколько раз удалось уменьшить базу». Мы предлагаем посмотреть на проблему с другой стороны: какой ценой достигается эта экономия? В статье разбираем архитектурные компромиссы различных подходов к компрессии страниц, объясняем, почему при разработке CSM в Tantor Postgres отказались от погони за максимальным коэффициентом сжатия, и показываем результаты нагрузочных испытаний на реальных базах 1С.
Читать далее