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

Мелочи ИИ-шной жизни. Как GitHub Copilot Hook может помочь совершенствовать ваш английский параллельно с вайбкодингом

Мелочи ИИ-шной жизни. Как GitHub Copilot Hook может помочь совершенствовать ваш английский параллельно с вайбкодингом - 1

Вы, читатель, как и автор, тоже досадуете, когда в промтах проскакивают досадные опечатки или грамматические конструкции, которые заставляют даже терпеливую LLM «задумчиво» переспрашивать: «What do you mean?»

Если да, то эта статья для вас. Мы разберем, как с помощью минимума кода получить автоматический анализ ваших языковых ляпов и рекомендации по прокачке профессионального английского, не отрываясь от процесса создания кода.

О первой части названия

Я много программирую с помощью ИИ. В процессе возникают мысли, идеи и инсайты, которыми чертовски хочется поделиться с коллегами. Но есть нюанс: живых коллег у меня в данный момент нет. Я — программист-одиночка, и мои единственные собеседники — ИИ-агенты.

Это одиночество в сети и подтолкнуло меня (после долгого перерыва в публикациях на Хабре) запустить серию мини-статей о разных «мелочах», связанных с ИИ. Окончательно концепция оформилась, когда под руку попалась одна из моих любимых книг Николая Семеновича Лескова — «Мелочи архиерейской жизни». Если вы цените сочный русский язык и тонкую иронию — искренне советую почитать. А мы пока перейдем к мелочам нашей, «айтишной» жизни.

Проблема: варварский английский

Должен признаться: мой английский хоть и понимается Copilot-агентами весьма сносно, но иногда возникают недопонимания. А порой становится стыдно (да, уши краснеют!), когда агенты начинает между собой рассуждать, что же именно я имел в виду под этой кучей опечаток.

Захотелось убить двух зайцев: и работу работать, и английский подтягивать. План созрел быстро:

  1. Шаг 1: Собираем в одном месте всё, что я наговорил агенту за день.

  2. Шаг 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
      }
    ]
  }
}
Мелочи ИИ-шной жизни. Как GitHub Copilot Hook может помочь совершенствовать ваш английский параллельно с вайбкодингом - 2 [3]

И сам скриптик 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
Мелочи ИИ-шной жизни. Как GitHub Copilot Hook может помочь совершенствовать ваш английский параллельно с вайбкодингом - 3 [3]

Теперь в конце рабочего дня у вас есть файл 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 Hook может помочь совершенствовать ваш английский параллельно с вайбкодингом - 4 [3]

Агент должен появиться в меню агентов вашего 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

www.BrainTools.ru

Rambler's Top100