- BrainTools - https://www.braintools.ru -

Вы, читатель, как и автор, тоже досадуете, когда в промтах проскакивают досадные опечатки или грамматические конструкции, которые заставляют даже терпеливую LLM «задумчиво» переспрашивать: «What do you mean?»
Если да, то эта статья для вас. Мы разберем, как с помощью минимума кода получить автоматический анализ ваших языковых ляпов и рекомендации по прокачке профессионального английского, не отрываясь от процесса создания кода.
Я много программирую с помощью ИИ. В процессе возникают мысли, идеи и инсайты, которыми чертовски хочется поделиться с коллегами. Но есть нюанс: живых коллег у меня в данный момент нет. Я — программист-одиночка, и мои единственные собеседники — ИИ-агенты.
Это одиночество в сети и подтолкнуло меня (после долгого перерыва в публикациях на Хабре) запустить серию мини-статей о разных «мелочах», связанных с ИИ. Окончательно концепция оформилась, когда под руку попалась одна из моих любимых книг Николая Семеновича Лескова — «Мелочи архиерейской жизни». Если вы цените сочный русский язык и тонкую иронию — искренне советую почитать. А мы пока перейдем к мелочам нашей, «айтишной» жизни.
Должен признаться: мой английский хоть и понимается Copilot-агентами весьма сносно, но иногда возникают недопонимания. А порой становится стыдно (да, уши краснеют!), когда агенты начинает между собой рассуждать, что же именно я имел в виду под этой кучей опечаток.
Захотелось убить двух зайцев: и работу работать, и английский подтягивать. План созрел быстро:
Шаг 1: Собираем в одном месте всё, что я наговорил агенту за день.
Шаг 2: Скармливаем этот лог отдельному агенту-корректору, который анализирует мой «варварский» английский и выдает вердикт: как это должно было звучать на самом деле.
Для первого шага нашлось элегантное решение — хуки (Hooks).
Вообще, то, что этот механизм назван «хуком» (hook) — я считаю ошибкой [1] его создателей. Правильнее было бы называть это Event Listener (слушатель событий). По сути, перед нами классическая событийная модель: система «слушает» происходящее в GitHub Copilot и позволяет нам вклиниться в процесс.
На сегодняшний день хуки — это пары, которые «окружают» ключевые события при работе ИИ-агента. Согласно официальной документации GitHub [2], мы можем подписываться на следующие типы событий:
Отправка промта пользователем (userPromptSubmitted) — срабатывает в тот момент, когда вы нажали Enter в чате.
Завершение ответа агента (agentResponseCompleted) — когда ИИ закончил генерировать код или текст.
Обнаружение обращения к инструменту (toolCallDetected) — если агент решил вызвать какую-то внешнюю функцию.
Завершение вызова инструмента (toolCallCompleted) — результат работы этой функции.
Для нашей задачи идеально подходит первое событие. Нам нужно просто «подслушать» самих себя.
Создаем конфигурационный файл по адресу .github/hooks/log-prompts.json:
{
"version": 1,
"hooks": {
"userPromptSubmitted": [
{
"type": "command",
"bash": "scripts/log-user-prompt.sh",
"cwd": ".",
"timeoutSec": 5
}
]
}
}
И сам скриптик scripts/log-user-promt.sh, который будет складывать наши мысли в копилку, выглядит вот так:
#!/bin/bash
# Читаем JSON из стандартного ввода
input=$(cat)
# Извлекаем текст промта с помощью jq
prompt=$(echo "$input" | jq -r '.prompt // empty')
# Если промт не пустой, дописываем его в файл
if [ -n "$prompt" ]; then
echo "--- $(date) ---" >> TMP/user-commands.txt
echo "$prompt" >> TMP/user-commands.txt
fi
Теперь в конце рабочего дня у вас есть файл user-commands.txt.
Осталось только передать его примерно такому агенту, которого мы располагаем по адресу .github/agents/lang-tutor.agent.md:
---
name: lang-tutor
description: Language tutor that analyzes writing quality and grammar. Automatically reads TMP/user-commands.txt and writes corrections to TMP/user-commands.md.
tools: ["read", "edit"]
target: vscode
---
You are a professional language tutor and writing quality specialist.
**Task**: Analyze `TMP/user-commands.txt` and generate a detailed quality report in `TMP/user-commands.md`.
**Analysis focus**:
- Grammar mistakes, spelling errors, punctuation issues
- Awkward phrasing and clarity problems
- Professional tone consistency
- Sentence structure and readability
**Report format for `TMP/user-commands.md`**:
1. **Overview**: Brief summary of text quality and main findings
2. **Issues Table**:
| Issue Type | Original Sentence | Corrected Sentence |
|---|---|---|
3. **Recommendations**: General improvement tips
4. **Cleanup suggestion**: Include this shell command:
```bash
rm TMP/user-commands.txt
```
**Guidelines**: Be constructive, specific, and encouraging. Acknowledge strengths while suggesting improvements. Include context for each correction.
Агент должен появиться в меню агентов вашего GItHub Copilot.
Глядя на фантастические достижения индустрии (например, недавнюю статью Anthropic о том, как они строили C-компилятор [4]), легко впасть в иллюзию. Кажется, что крутой программист просто пишет один гениальный промт, после чего LLM уходит в астрал на неделю и выдает готовую систему.
Но это не так. «Под капотом» у лидеров отрасли работает большое количество «обмазок» вокруг LLM. Агенты, скиллы, MCPs, CLI, функции и те самые хуки. Инструменты автоматизации взаимодействия с моделью изобретаются с бешеной скоростью. Сначала они обкатываются внутр�� лабораторий, а затем предоставляются нам — «широким программистским массам».
Хуки — это как раз один из таких свежих инструментов, позволяющий превратить магию в управляемый инженерный процесс. И если попутно они помогут нам перестать писать “fix this bug plz” вместо грамотного технического задания — это ли не победа?
Мой сайт – https://www.sirotin.eu/ [5]
Кроме того, я пишу открытую электронную книгу “Мемуары кочевого программиста. Байки, были, думы”. Её текущий вариант можно найти здесь [6].
Я убеждён, что программирование – это материализаци я идей. Об этом я первый раз написал здесь [7]. А вот уже несколько лет мы с группой единомышленников ведём группу в Телеграмме под названием “Материализация идей [8]”, в которой мы последнее время рассуждаем в основном об ИИ.
Если вам это интересно – подключайтесь.
Автор: visirok
Источник [9]
Сайт-источник BrainTools: https://www.braintools.ru
Путь до страницы источника: https://www.braintools.ru/article/26289
URLs in this post:
[1] ошибкой: http://www.braintools.ru/article/4192
[2] официальной документации GitHub: https://docs.github.com/en/copilot/reference/hooks-configuration
[3] Image: https://sourcecraft.dev/
[4] строили C-компилятор: https://www.anthropic.com/engineering/building-c-compiler
[5] https://www.sirotin.eu/: https://www.sirotin.eu/
[6] здесь: https://proza.ru/avtor/vsirotin
[7] здесь: https://habr.com/ru/articles/425321/
[8] Материализация идей: https://t.me/rpseru
[9] Источник: https://habr.com/ru/articles/1004276/?utm_source=habrahabr&utm_medium=rss&utm_campaign=1004276
Нажмите здесь для печати.