Обновить
8K+
3
Козин Андрей Евгеньевич@Druk83

Магистр — Разработка прикладного ПО

1
Рейтинг
5
Подписчики
Отправить сообщение

Semantic Spec Compilation (SSC): взгляд на компиляцию человеко‑ориентированных Markdown‑спецификаций

Уровень сложностиСложный
Время на прочтение24 мин
Охват и читатели7.9K

Современная разработка программного обеспечения по‑прежнему сталкивается с устойчивым разрывом между тем, как человек описывает намерение системы, и тем, как это намерение затем становится машинно‑исполняемой логикой. Требования, проектные решения, ограничения, бизнес‑правила и примеры ожидаемого поведения чаще всего существуют отдельно от исходного кода. Даже при достаточно дисциплинированном процессе разработки документация со временем может терять связь с реализацией, тогда как код остаётся исполняемым, но не всегда выражает предметный смысл системы в явном и проверяемом виде.

Классическим ответом на эту проблему стали формальные методы и формальные языки спецификаций. Они позволяют описывать систему строго, проверяемо и пригодно для анализа. Однако такая строгость требует от разработчика специальной подготовки и готовности работать в заранее заданной формальной системе. В повседневной инженерной практике значительная часть знания о системе сначала фиксируется не в коде, а в текстовых требованиях, заметках, таблицах, примерах, обсуждениях и проектных пояснениях. Перевод этого материала в формальный язык требует отдельного усилия и потому далеко не всегда становится частью реального рабочего процесса.

Другой ответ связан с развитием больших языковых моделей. Они сделали практически значимым сценарий, при котором код может быть получен непосредственно из естественно‑языкового описания. Такой подход полезен как средство поддержки разработчика, ускорения прототипирования и получения черновых реализаций. Однако в роли компилятора он остаётся проблемным. Вероятностная модель может дать работоспособный фрагмент кода, но такой результат трудно рассматривать как воспроизводимый, проверяемый и объяснимый переход от спецификации к реализации.

Читать далее

SDD (Spec-Driven Documentation) – фреймворк для разработки технической документации в репозитории

Уровень сложностиСредний
Время на прочтение29 мин
Охват и читатели10K

По мере роста сложности программных систем документация становится не “сопроводительным текстом”, а инженерным активом, она участвует в принятии решений, согласовании требований, проектировании архитектуры, тестировании и эксплуатации. Однако на практике документация часто создаётся разрозненно, несколькими авторами, в несогласованных форматах. Это приводит к потере целостности и росту транзакционных издержек на коммуникации. В такой распределённой среде параллельно растёт применение AI-ассистирования при подготовке технических материалов, что повышает требования к формализации процесса и контролю качества создаваемых артефактов [1].

В программных проектах техническая документация представляет собой совокупность различных артефактов – требований, сценариев, диаграмм, описаний архитектуры и данных – распределённых между участниками и стадиями жизненного цикла. В условиях активного уточнения целей и решений, особенно на стадии исследовательско-опытных работ (research and development, R&D; далее – R&D), такие артефакты развиваются неравномерно, одни быстро детализируются и пересматриваются, другие остаются на уровне ранних гипотез. Это приводит к утрате целостности документационного контура, возникают противоречия между документами, различается уровень абстракции, дрейфует терминология, а изменения становятся трудно сопоставимыми друг с другом. Одновременно ослабевает трассируемость и затрудняется восстановление причинно-следственной цепочки “исходные данные → допущение → решение → требование → сценарий/диаграмма → проверка”, что увеличивает стоимость ревью и повышает риск ошибочных инженерных выводов [2–5].

Читать далее

Минификация кода для повышения эффективности LLM: влияние на лингвистику, генерацию и анализ программ

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели1.8K

Большие языковые модели (LLM) становятся неотъемлемой частью инструментов генерации, анализа и автоматизации программирования. Их возможности позволяют автоматизировать разработку, искать ошибки, генерировать тесты, осуществлять перевод между языками программирования. Однако одно из ключевых ограничений — контекстное окно, то есть максимально возможная длина входных данных. С ростом объема современных программ эффективность работы LLM с длинным кодом становится всё более актуальной задачей, особенно учитывая вычислительные и финансовые издержки обработки длинных последовательностей.

Минификация кода — процесс сокращения программного текста до минимального, необходимого для сохранения семантики. Для современных LLM это уже не только техническая задача (как раньше для web‑ресурсов), а способ оптимизации использования ресурсов, экономия токенов, увеличение объема анализируемого кода, ускорение анализа и генерации. В данной статье рассматривается современное состояние исследований по минификации в контексте LLM, формулируются гипотезы о её влиянии, а также обсуждаются перспективы для программной лингвистики.

Читать далее

Microservice Auto Scaling System для RPA: путь к динамической фабрике сервисов

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели730

Цифровая трансформация предприятий приводит к стремительному росту неструктурированных данных (документы, изображения, логи). Ручная обработка подобных данных повышает стоимость процессов и создаёт риски ошибок. Robotic Process Automation (RPA) снижает издержки и повышает воспроизводимость, однако классические решения ограничены жёстко зашитыми сценариями. Растущее разнообразие кейсов требует гибкой платформы, способной порождать новые обработчики «на лету» и масштабировать их под неравномерную нагрузку. Настоящая статья демонстрирует, как микросервисный MVP RPA_SOFT подтверждает технологическую реализуемость такого подхода и логически ведёт к динамической модели.

1. MVP RPA_SOFT как исходная точка

Постановка задачи. Требовалось создать сервис, принимающий CSV/JSON/PDF через REST-эндпоинт или веб-UI, автоматически распознающий структуру, выполняющий морфемный анализ и компоновку (пока через API YandexGPT), финализирующий результат и сохраняющий его в MongoDB, пользователю при этом отображается прогресс и ссылка на артефакты

Архитектура MVP. Прототип развёрнут на VM (Proxmox) и состоит из трёх ключевых микросервисов – Auth, DP, API Gateway – плюс веб-клиент. DP-service (Node 20 + Python 3.12) закрывает весь конвейер обработки, API Gateway служит единой точкой входа, Auth-service зарезервирован под грядущую MFA/JWT-логику, пока используются cookie-сессии на MongoStore (см. рис.1).

Читать далее

Информация

В рейтинге
1 919-й
Откуда
Екатеринбург, Свердловская обл., Россия
Зарегистрирован
Активность

Специализация

Разработчик приложений, Архитектор программного обеспечения
Разработка программного обеспечения
Техническая документация