3,583 papers
arXiv:2610.16460 73 12 окт. 2026 г. FREE

Триада «эксперт — LLM-архитектор — кодинг-агент»: как неспециалист строит рабочий инструмент через разделение ролей

КЛЮЧЕВАЯ СУТЬ
Обнаружено: типовые решения от ИИ ломаются в реальной работе, потому что эксперт сам не знает, что он знает. Модель предложила резать речь на куски фиксированной длины, и они рвали предложения. Агент предложил фильтровать вывод по алфавиту, а это стёрло бы профессиональные аббревиатуры, ради которых инструмент и делался. Триада позволяет специалисту без навыков программирования собрать рабочий инструмент под свою профессию, например разборщик банковских выписок или помощник переводчика. Фишка: три роли не смешиваются, и каждый сбой возвращается в диалог как новая формулировка требования. Эксперт описывает боль и принимает результат. Чат с большой языковой моделью (LLM) работает архитектором: превращает жалобу в инструкцию с критериями приёмки. Агент-программист (Cursor и подобные) пишет код. Параметрами такие сбои не чинятся. Помогает только ответ на вопрос «для чего нужна эта функция».
Адаптировать под запрос
⚡

TL;DR

Триада — это схема работы с ИИ для человека, который разбирается в предметной области, но не умеет программировать. Три роли не смешиваются. Эксперт формулирует потребность языком своей профессии и принимает результат. LLM-архитектор (обычный чат) превращает его жалобы в структурированную инструкцию в Markdown: задачи, правки по файлам, критерии приёмки. Кодинг-агент (Cursor и подобные) пишет и чинит код по этой инструкции.

Главная находка: готовые решения «по умолчанию» ломаются в реальной работе, а причина в том, что эксперт сам не знает, что он знает. Модель предложила резать речь на куски фиксированной длины, и они рвали предложения. Агент предложил фильтровать вывод по алфавиту, а это стёрло бы профессиональные аббревиатуры, ради которых инструмент и нужен. Эксперт не мог заранее назвать эти требования. Они всплывали только после провала в боевых условиях. Чинить параметрами было бесполезно, помогало одно: заново сформулировать, для чего нужна функция.

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

🔬

Схема метода

ШАГ 1: Эксперт описывает боль/потребность профессиональным языком → чат с LLM-архитектором
ШАГ 2: Архитектор раскладывает задачу → Markdown: задачи + правки по файлам + критерии приёмки
ШАГ 3: Кодинг-агент исполняет инструкцию → код
ШАГ 4: Эксперт тестирует в РЕАЛЬНЫХ условиях (не в лаборатории) → вердикт: принято / сбой
ШАГ 5: Сбой → обратно к шагу 1 (формулируем, ДЛЯ ЧЕГО это нужно, а не «подкрути параметр»)

Обходные пути:
• мелкий локальный баг → сразу агенту (намеренно редко)
• смена чата/платформы → заново передать контекст (архитектор и агент не делят память)

Власть: требования и вето — у человека. ИИ — исполнители.

Шаги идут в разных окнах: архитектор — один чат, агент — другой.

🚀

Пример применения

Задача: Бухгалтер-фрилансер ведёт десяток ИП на УСН. Выписки из Т-Банка (Тинькофф Бизнес) — это конфиденциальные данные клиентов, в облачные сервисы их загружать нельзя. Нужен локальный инструмент: читает CSV-выписку и раскладывает платежи по статьям доходов и расходов. Программировать он не умеет.

Промпт (для чата-архитектора):

Ты — архитектор-постановщик задач для кодинг-агента. Я бухгалтер, не программист.
Я описываю проблему языком бухгалтерии. Ты НЕ пишешь код. Ты возвращаешь
инструкцию для кодинг-агента в Markdown: 
1) список задач с границами (что входит, что не входит);
2) изменения по файлам;
3) критерии приёмки, которые я смогу проверить глазами на реальной выписке.

Проблема: нужно локально (без интернета, данные клиентов не покидают ноутбук)
разбирать CSV-выписку из Т-Банка по ИП на УСН «Доходы минус расходы».
Каждый платёж — в статью: доход, расход принимаемый, расход непринимаемый,
налоги и взносы, личные траты ИП.

Мои неочевидные требования:
— Назначения вроде «Оплата по счёту» ничего не говорят о статье. Угадывать нельзя.
  Ошибочная классификация хуже пропуска: такие платежи помечай «требует решения».
— Названия контрагентов и ИНН — главный признак. Их нельзя ни отфильтровать, ни «исправить».
— Результат — таблица, которую я проверю за 10 минут. Никакой «умной» перестановки колонок.

Если не хватает информации для критериев приёмки — сначала задай мне вопросы.

Результат: Архитектор сначала задаст уточняющие вопросы о формате выписки и категориях. Затем вернёт Markdown-документ: задачи с границами, список файлов и изменений, проверяемые критерии приёмки. Например, «платёж без однозначного признака попадает в очередь на ручное решение». Документ вы целиком отдаёте кодинг-агенту. Дальше проверяете на реальной выписке, и каждый сбой превращается в новую формулировку требования.

🧠

Почему это работает

Слабость. Знание эксперта в основном неявное: «мы знаем больше, чем можем сказать». Если просто попросить агента «сделай инструмент», он возьмёт типовое решение. Типовое решение не знает ваших условий, и вы узнаёте об этом только когда оно ломается. Плюс кодинг-агент и чат не разделяют память, и информация теряется между окнами.

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

Как метод это использует. Письменная формулировка для ИИ принуждает вас проговаривать приоритеты и условия провала, которые раньше были «в руках». Каждая инструкция становится фиксацией неявного знания. Роли жёстко разведены: архитектор переводит боль в задание, агент исполняет, человек судит. Поэтому при смене платформ (авторы поменяли и чат, и агента посреди проекта) всё продолжило работать, потому что схема привязана к ролям, а не к продуктам.

Рычаги управления: - Критерии приёмки → пишите их проверяемыми на реальных данных. Это граница между «похоже на правду» и «работает». - Негативные требования («никогда не делай X») + проверка на выходе → слоями защиты закрывается класс ошибок, который вы не терпите. - Прямой канал к агенту → оставьте только для мелких локальных багов, иначе у агента и архитектора расходятся контексты. - Тестирование → в условиях, где инструмент будет жить, а не за рабочим столом.

📋

Шаблон промпта

В статье нет дословных промптов. Ниже собрано по описанию ролей: архитектор получает проблему на профессиональном языке и возвращает Markdown с задачами, правками по файлам и критериями приёмки.

Чат 1 — архитектор:


Ты — LLM-архитектор. Я — эксперт в области {область}, не программист.
Ты переводишь мои жалобы и требования в инструкции для кодинг-агента.
Код ты не пишешь. Решения о требованиях принимаю я, у меня право вето.



Проблема: {проблема профессиональным языком}
Среда использования: {где и как будет работать: без интернета, на ноутбуке, при конфиденциальных данных и т.п.}
Что для меня недопустимо: {какие сбои я не терплю}



Верни Markdown-инструкцию для кодинг-агента:
## Задачи
- {задача}: что входит / что НЕ входит
## Изменения по файлам
- {файл}: {что менять}
## Критерии приёмки
- {проверяемые мной на реальных данных критерии}
Если для критериев не хватает информации, сначала задай мне вопросы.

Чат / окно 2 — кодинг-агент:

Исполняй инструкцию ниже строго по задачам и файлам.
Не добавляй функций, которых в ней нет. Если критерий приёмки неясен, спроси.
После выполнения перечисли, что сделано по каждому критерию.

{вставить Markdown-инструкцию от архитектора}

Обратная связь после теста (в чат архитектора):

Тест в реальных условиях: {что произошло}.
Что я ожидал: {что ожидал}. 
Почему это неприемлемо для моей работы: {профессиональная причина}.
Не подкручивай параметры. Сначала скажи, для чего эта функция нужна,
и предложи, как переформулировать требование.

🚀 Быстрый старт — вставь в чат:

Вот шаблон триады «эксперт — LLM-архитектор — кодинг-агент». Адаптируй под мою задачу: [твоя задача]. 
Задавай вопросы, чтобы заполнить поля.

[вставить шаблон выше]

LLM спросит про вашу область, условия использования и то, какие сбои для вас недопустимы. Эти поля нужны, чтобы архитектор написал критерии приёмки под вашу реальность, а не под типовой случай.

⚠️

Ограничения

⚠️ Один автор, один случай: это автоэтнография: исследователь, разработчик и пользователь — один человек. Авторы прямо отказываются от утверждений о том, что метод лучше других. Это описание того, как оно работало, а не доказательство эффективности.

⚠️ Готовых промптов нет: в статье описаны роли и формат инструкции, но не сами тексты. Шаблон выше — реконструкция по описанию.

⚠️ Нужен эксперт, который умеет судить: вся ответственность за требования и приёмку лежит на человеке. Если вы не можете проверить результат в реальных условиях, схема не поможет.

⚠️ Потери контекста: архитектор и агент не делят память. При каждом переходе между окнами приходится заново передавать контекст, это постоянные издержки.

⚠️ Не для продакшна: это личный рабочий инструмент одного специалиста, а не промышленная разработка. Масштаб, безопасность и поддержка не проверялись.

⚠️ Лаборатория скрывает проблемы: часть сбоев вообще не про код (гул от заземления в кабине был железной проблемой). ИИ их не найдёт, нужны тесты на месте.

🔍

Как исследовали

Автор — синхронный переводчик с опытом свыше ста конференц-дней в год. Без навыков программирования он за пару недель собрал локальный инструмент: распознавание речи и переводящая модель работают на обычном ноутбуке, без интернета. Инструмент сразу пошёл в боевое использование на реальных мероприятиях.

Материал для анализа: 101 обмен с чатом-архитектором, 122 инструкции агенту, дневник и телеметрия. На двухчасовой конференции система перевела 971 высказывание целиком локально, медиана задержки перевода составила 0,94 с. Диалоги разобрали тематическим анализом: в каждом эпизоде искали, какое знание проговорено и какое решение из него вышло.

Неожиданные выводы: во-первых, решающие требования появлялись только после провала. Эксперт не мог назвать их заранее, но мгновенно узнавал нарушение. Во-вторых, платформы сменились посреди проекта (Gemini → GLM, Cursor → ZCode), а схема продолжила работать, что подтверждает привязку к ролям. В-третьих, решение часто было не про «настроить параметр», а про смысл: нарезка речи — это не «кусок в N секунд», а «отправить, как только фраза узнаваемо завершена, а лимит — потолок, а не ритм».

Для практики отсюда следует простое правило: в инструкции пишите, для чего нужна функция и что для вас недопустимо. Параметры подбирать потом.

💡

Адаптации и экстраполяции

🔧 Техника: добавить допрос перед спецификацией → вытянуть неявное знание

Это моя достройка, в статье такого шага нет. Идея вытекает из её наблюдения: требования всплывают после провалов. Можно попробовать вытянуть часть из них заранее:

Прежде чем писать инструкцию, задай мне 5 вопросов вида 
«Что должно пойти не так, чтобы ты перестал доверять этому инструменту?»
и «Что в твоей работе типовое решение обычно портит?».

Экстраполяция: связка «негативная инструкция + проверка на выходе»

В статье для борьбы с «попугайством» модели (она копировала исходный текст вместо перевода) использовали два слоя: запрет в промпте («никогда не воспроизводи исходное предложение») и проверку результата (перевод, совпадающий с оригиналом на 85% и больше, отбрасывается). Тот же принцип можно перенести в любую автоматизацию без кода:

Правило 1 (в промпте): никогда не {нежелательное поведение}.
Правило 2 (после ответа, отдельным шагом проверки): если в ответе есть {признак нарушения} — 
ответ не показывать, пометить «сбой» и запросить повтор.

Сбой инструкции превращается в сбой отображения, а не в ложное доверие.

🔗

Ресурсы

  • Работа: The interpreter as developer: An autoethnographic design study of building a computer-assisted interpreting tool through human–LLM co-creation
  • Автор: Zhao Zeming (профессиональный синхронный переводчик, доктор истории науки и техники)
  • Опорные концепции: vibe coding (Karpathy, 2025), lead users (von Hippel), неявное знание (Polanyi), экстернализация знания (Nonaka & Takeuchi)
  • Логи диалогов доступны автору «по запросу» для аудита

📋 Дайджест исследования

Ключевая суть

Обнаружено: типовые решения от ИИ ломаются в реальной работе, потому что эксперт сам не знает, что он знает. Модель предложила резать речь на куски фиксированной длины, и они рвали предложения. Агент предложил фильтровать вывод по алфавиту, а это стёрло бы профессиональные аббревиатуры, ради которых инструмент и делался. Триада позволяет специалисту без навыков программирования собрать рабочий инструмент под свою профессию, например разборщик банковских выписок или помощник переводчика. Фишка: три роли не смешиваются, и каждый сбой возвращается в диалог как новая формулировка требования. Эксперт описывает боль и принимает результат. Чат с большой языковой моделью (LLM) работает архитектором: превращает жалобу в инструкцию с критериями приёмки. Агент-программист (Cursor и подобные) пишет код. Параметрами такие сбои не чинятся. Помогает только ответ на вопрос «для чего нужна эта функция».

Принцип работы

Схема простая: боль → инструкция → код → проверка в бою → сбой обратно в диалог. 1. Эксперт описывает проблему языком своей профессии. Он говорит с чатом-архитектором. 2. Архитектор возвращает Markdown: задачи с границами, правки по файлам, критерии приёмки. 3. Агент-программист исполняет инструкцию в отдельном окне. 4. Эксперт тестирует в реальных условиях, а не за столом. 5. Сбой идёт обратно к архитектору. Не «подкрути параметр», а «вот для чего это нужно». Власть у человека: требования и вето принадлежат ему, ИИ только исполняет. Это как стройка: заказчик, проектировщик и бригада. Бригада не решает, какой должна быть кухня. Мелкий локальный баг можно отдать агенту напрямую, но намеренно редко. Иначе контексты агента и архитектора разойдутся.

Почему работает

Знание эксперта в основном неявное: «мы знаем больше, чем можем сказать». Если просто попросить агента «сделай инструмент», он возьмёт типовое решение. Типовое не знает ваших условий. Вы узнаёте об этом, только когда оно сломается. У людей и модели разные сильные стороны. Модель хорошо превращает сырую жалобу в спецификацию. Она хорошо исполняет чёткую инструкцию. Эксперт отлично узнаёт неправильное, когда видит его в работе, и может объяснить почему. Письменная инструкция заставляет проговорить приоритеты и условия провала, которые раньше жили «в руках». Каждая инструкция становится записью неявного знания. Схема привязана к ролям, а не к продуктам. Авторы поменяли и чат, и агента посреди проекта. Всё продолжило работать. Как управлять результатом: - Критерии приёмки. Пишите их так, чтобы проверять на реальных данных. Это граница между «похоже на правду» и «работает». - Негативные требования. «Никогда не делай X» плюс проверка на выходе закрывают целый класс ошибок. - Тест на месте. Часть сбоев вообще не про код. Гул от заземления в кабине был железной проблемой, и ИИ его не найдёт.

Когда применять

Специализированные рабочие инструменты → личный помощник под ваши данные и условия, особенно когда вы разбираетесь в предметной области, но не пишете код. Подходит, если данные конфиденциальные и нужен локальный запуск, или если типовые программы не понимают ваш профессиональный жаргон. НЕ подходит, если вы не можете проверить результат в реальных условиях. Тогда некому принимать работу. Это и не промышленная разработка: масштаб, безопасность и поддержка не проверялись. Это одно исследование одного автора, а не доказательство, что метод лучше других.

Мини-рецепт

1. Заведи два окна: одно для архитектора (обычный чат), другое для агента-программиста. Память они не делят.
2. Расскажи архитектору боль своим языком: без технических терминов. Добавь, где инструмент будет жить: без интернета, на ноутбуке, с конфиденциальными данными.
3. Назови, что недопустимо: какие сбои ты не терпишь. Например: «ошибочная классификация хуже пропуска».
4. Запрети писать код: архитектор возвращает только Markdown с задачами, правками по файлам и критериями приёмки.
5. Разреши ему задавать вопросы: если не хватает данных для критериев, пусть спросит.
6. Целиком отдай инструкцию агенту: с условием не добавлять лишних функций.
7. Проверь на живых данных: не на удобном тестовом примере.
8. Сбой возвращай архитектору: что случилось, что ждал, почему это неприемлемо в твоей работе. Попроси сначала объяснить, для чего функция нужна.
9. Мелкие баги отдавай агенту напрямую: но редко.

Примеры

[ПЛОХО]: `Сделай мне программу для разбора банковских выписок` [ХОРОШО]: `Ты — архитектор-постановщик задач для агента-программиста. Я бухгалтер, не программист. Ты НЕ пишешь код. Верни инструкцию в Markdown: 1) задачи с границами, 2) изменения по файлам, 3) критерии приёмки, которые я проверю глазами на реальной выписке. Проблема: нужно локально, без интернета, разбирать CSV-выписку из Т-Банка по ИП на УСН. Каждый платёж — в статью: доход, расход принимаемый, расход непринимаемый, налоги и взносы, личные траты. Мои неочевидные требования: назначения вроде «Оплата по счёту» не угадывать, такие платежи помечать «требует решения». Названия контрагентов и ИНН нельзя ни фильтровать, ни исправлять. Результат — таблица, которую я проверю за 10 минут. Если не хватает информации, сначала задай мне вопросы.` [ПЛОХО]: `Тут какая-то ерунда с результатом, поправь настройки` [ХОРОШО]: `Тест на реальной выписке: платёж «Оплата по счёту» ушёл в расходы. Я ожидал пометку «требует решения». Это неприемлемо: ошибочная статья сломает налоговую базу клиента. Не подкручивай параметры. Сначала скажи, для чего нужна эта функция, и предложи, как переформулировать требование.`
Источник: The interpreter as developer: An autoethnographic design study of building a computer-assisted interpreting tool through human-LLM co-creation
ArXiv ID: 2610.16460 | Сгенерировано: 2026-10-15 00:10

Концепты не выделены.

📖 Простыми словами

The interpreter as developer: An autoethnographic design study of building acomputer-assisted interpretingtoolthrough human-LLMco-creation

arXiv: 2610.16460

Когда профи без навыков программирования пытается собрать софт через ИИ в лоб, получается полный провал. Кодинг-агенты мыслят шаблонно и не умеют читать мысли: на фразу «сделай мне прогу под задачу» они лепят типовую фигню, которая сыплется на первом же нетипичном кейсе. Твоё экспертное знание всегда неявное — ты сам забываешь половину нюансов своей работы, пока скрипт не вылетит с ошибкой, а контекст между окнами чата и редактора тупо теряется.

Это как прийти на стройку и заявить бригаде отделочников: «хочу уютно». Они зальют всё типовым бетоном, а ты потом будешь орать, куда делись розетки. Работягам нужен пошаговый чертёж, а не твои абстрактные хотелки. Но когда непрофессионал пытается сам нарисовать схему проводки, дом просто сгорает дотла.

Спасает метод «Триада», где три роли строго изолированы друг от друга. Первая — эксперт в теме, то есть ты: просто ворчишь на своём профжаргоне и тестируешь результат. Вторая — LLM-архитектор в обычном чате, который переводит твой хаотичный поток жалоб в структурированный Markdown-документ с правками по файлам и критериями приёмки. Третья — кодинг-агент уровня Cursor, который тупо и молча пишет код строго по этой инструкции.

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

Хватит скармливать агентам промпты в духе «напиши инструмент для моей работы» — это гарантированный слив времени на бесконечные баги. Запомни три шага и три роли: пожалуйся чату, забери готовую ТЗшку и только потом скармливай её кодогенератору. Либо ты выстроишь этот конвейер из трёх звеньев, либо твой самописный софт будет проще пристрелить, чем починить.

Работа с исследованием

Адаптируйте исследование под ваши задачи или создайте готовый промпт на основе техник из исследования.

0 / 2000
~0.5-2 N-токенов ~10-30с
~0.3-1 N-токенов ~5-15с