За последние годы большие языковые модели (LLM) продвинулись настолько, что теперь способны не только помогать с генерацией текстов, но и автоматизировать рутинные задачи, которые раньше считались слишком мелкими или нецелесообразными для ручного скриптинга. Рассмотрим несколько сценариев, где LLM облегчают жизнь разработчиков и системных администраций, позволяя генерировать микро-bash-скрипты, Makefile, конфигурации для Ansible и многое другое буквально на лету.
Микро-bash-скрипты «на лету»
Иногда нужно быстро написать небольшой скрипт для разовых операций: переименовать тысячу файлов по шаблону, скопировать логи за последние 24 часа, собрать статистику из текстовых файлов.
Раньше мы вручную открывали редактор, прописывали for
-циклы, отлаживали — и тратили на это 10–15 минут.
С LLM достаточно ввести запрос:
«Сгенерируй bash-скрипт, который в каталоге
/var/log/app
берет все файлы старше 7 дней и архивирует их в/backup/logs/$(date +%Y-%m-%d).tar.gz
» В ответ модель выдаст готовый код:
#!/usr/bin/env bash
SRC_DIR="/var/log/app"
DEST_DIR="/backup/logs"
ARCHIVE_NAME="$(date +%Y-%m-%d).tar.gz"
mkdir -p "$DEST_DIR"
find "$SRC_DIR" -type f -mtime +7 -print0 | \
tar --null -czvf "$DEST_DIR/$ARCHIVE_NAME" --files-from -
Достаточно скопировать, проверить права и запустить. Экономия времени — очевидна.
Генерация Makefile
Makefile — мощный инструмент для управления сборкой, но вручную поддерживать его шаблоны для каждого нового проекта слишком рутинно: приходится описывать цели build
, test
, clean
, указывать зависимости. С LLM можно получить базовую структуру под нужный стек за 10-15 секунд:
«Напиши Makefile для Go-приложения с целями
build
,run
,test
иclean
»
Ответ модели:
.PHONY: build run test clean
BINARY := myapp
build:
go build -o $(BINARY) .
run: build
./$(BINARY)
test:
go test ./...
clean:
rm -f $(BINARY)
Дальше вы подставляете свои специфические флаги и зависимости, а основа уже готова.
Выделение и управление конфигурациями
В проектах часто смешивают код и «жестко прописанные» параметры: URL-адреса сервисов, порты, параметры подключения. Ручное выносить их в отдельный файл config.yaml
иногда лень. LLM может автоматически «просканировать» фрагмент кода и предложить оптимальный формат конфигурации:
«Вот фрагмент Python-скрипта. Выдели все параметры в отдельный YAML-файл и перепиши код, чтобы он читал их из конфига.» В результате вы получаете
config.yaml
:
database:
host: localhost
port: 5432
user: app_user
password: secret
и модифицированный код:
import yaml
with open('config.yaml') as f:
cfg = yaml.safe_load(f)
db = connect(
host=cfg['database']['host'],
port=cfg['database']['port'],
user=cfg['database']['user'],
password=cfg['database']['password']
)
Документация «из уст в текст»
Один из самых приятных кейсов — надиктовать идею или целый текст, а LLM сразу её структурирует как README, RFC или статью:
- Вы нажимаете клавишу голосового ввода.
- Рассказываете: «Описание микросервиса, входные параметры, примеры запросов…»
- Модель транскрибирует и форматирует под Markdown с заголовками, списками и примерами кода.
Это позволяет быстро фиксировать мысли и делиться ими с командой без отвлечения на правку форматирования.
Автоматизация документации API
LLM может преобразовать описание end-to-end в OpenAPI/Swagger spec или Postman Collection.
Пример: «Собери OpenAPI 3.0 спецификацию для REST API с маршрутами GET
/users
и POST/users
.»
openapi: 3.0.1
info:
title: Users API
version: 1.0.0
paths:
/users:
get:
summary: List users
responses:
'200':
description: OK
post:
summary: Create user
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/User'
responses:
'201':
description: Created
components:
schemas:
User:
type: object
properties:
id:
type: integer
name:
type: string
Генерация SQL-запросов и миграций
Автоматически создавать запросы и миграционные скрипты для баз данных.
Пример: «Напиши SQL-миграцию для добавления колонки
last_login
типа TIMESTAMP в таблицуusers
, и скрипт для обратного отката.»
-- Up
ALTER TABLE users ADD COLUMN last_login TIMESTAMP;
-- Down
ALTER TABLE users DROP COLUMN last_login;
Создание архитектурных диаграмм и схем
LLM может генерировать код визуальных диаграмм (например, PlantUML или Mermaid) на основе текстового описания архитектуры проекта. Это помогает быстро получить наглядную схему компонентов и связей без ручного рисования. Об этом я писал подробнее в статье «Используем LLM для создания архитектурных схем быстро и качественно»
Вместо Заключения
LLM уже кардинально изменили подход к моей работе. В том числе в вопросе автоматизации мелких, но частых задач. Вместо рутинного ручного кодирования получаем «быструю заготовку» и концентрируемся на логике и архитектуре. Агрессивно применяйте LLM в своей работе. Это уникальный инструмент, который повышает планку возможностей: сложное становится простым, а ранее невозможное перестало быть таковым.