Назад к подкастамClaude
Claude Code subagents
Эффективное использование субагентов
You know how to create sub agents and design them well.
Вы знаете, как создавать субагенты и правильно их проектировать.
Now, let's cover when they actually help and when they get in the way.
Теперь разберём, когда они действительно помогают, а когда мешают.
Simply put, the difference comes down to whether the intermediate work matters to your main thread.
Проще говоря, разница в том, важна ли промежуточная работа для вашего основного потока.
When exploration is separate from execution, sub agents shine.
Когда исследование отделено от выполнения, субагенты работают отлично.
When each step depends on what the previous step discovered, well, information gets lost in the handoff process.
Когда каждый шаг зависит от того, что обнаружил предыдущий, информация теряется в процессе передачи.
Sub agents excel at research tasks where you just need an answer, not the journey.
Субагенты хорошо справляются с исследовательскими задачами, где нужен только ответ, а не весь путь.
Consider investigating how authentication works in an unfamiliar code base.
Представьте, что нужно разобраться, как работает аутентификация в незнакомой кодовой базе.
Well, the main thread might need to know where is the JWT validated, but doesn't need to see every file that was searched.
Основному потоку достаточно знать, где валидируется JWT, не нужно видеть каждый просмотренный файл.
A research sub agent can read dozens of files, trace through function calls, and explore different code paths.
Исследовательский субагент может прочитать десятки файлов, отследить вызовы функций и изучить разные code paths.
All that exploration stays in the sub agent's context.
Всё это исследование остаётся в контексте субагента.
Your main thread receives JWT validation happens in middleware/auth.js at line 42, called from the Express router and route/api.js, or something like that.
Основной поток получает: валидация JWT происходит в middleware/auth.js на строке 42, вызывается из Express router и route/api.js, или что-то в этом роде.
Claude reviews work more effectively when the code is presented as being authored by someone else.
Claude эффективнее проверяет работу, когда код представлен как написанный кем-то другим.
If you build a feature over many turns with your main thread, asking the main thread to then review it often doesn't give the best feedback.
Если вы строите фичу в несколько итераций с основным потоком, запрашивать у него же ревью зачастую даёт не лучший результат.
Claude was involved in creating it, so it has trouble seeing it with fresh eyes.
Claude участвовал в создании, поэтому ему сложно взглянуть свежим взглядом.
A reviewer sub agent sees the changes in a separate context.
Субагент-ревьюер видит изменения в отдельном контексте.
It runs get diff, reads the modified files, and applies its specialized review criteria without the history of how the code was written.
Он запускает git diff, читает изменённые файлы и применяет специализированные критерии ревью без истории того, как писался код.
And this separation also lets you encode project-specific review standards in the sub agent system prompt, ensuring consistent review criteria across the team.
Это разделение также позволяет закодировать в system prompt субагента стандарты ревью, специфичные для проекта, обеспечивая единые критерии по всей команде.
Claude Code's default system prompt emphasizes concise, code-focused response.
Стандартный system prompt Claude Code акцентирует краткие, ориентированные на код ответы.
And this works great for coding, but not for everything.
Это отлично работает для написания кода, но не для всего.
So, one is a copywriting sub-agent with instructions about tone, audience, and style.
Поэтому нужен копирайтинговый субагент с инструкциями по тону, аудитории и стилю.
This will produce better marketing text than the main thread would.
Он создаст маркетинговый текст лучше, чем основной поток.
Claude Code's default prompt tends towards concise, technical writing, which really isn't what you want for a landing page or email campaign, unless you want to put your customers to sleep.
Стандартный промпт Claude Code склонён к лаконичному, техническому письму, что совсем не то, что нужно для лендинга или email-кампании, если только вы не хотите усыпить своих клиентов.
A copywriting sub-agent can have completely different instructions about voice and structure.
Копирайтинговый субагент может иметь совершенно другие инструкции по голосу и структуре.
A styling sub-agent that at mentions your design system files will apply consistent CSS patterns.
Субагент для стилизации, упоминающий файлы вашей дизайн-системы, будет применять последовательные CSS-паттерны.
When the sub-agent runs, those files load into the context automatically, so it knows your color variables, spacing conventions, and component patterns before it even starts writing any CSS.
Когда субагент запускается, эти файлы автоматически загружаются в контекст, и он уже знает ваши цветовые переменные, соглашения по отступам и паттерны компонентов ещё до начала написания CSS.
Sub-agents that claim expertise rarely help.
Субагенты, претендующие на экспертизу, редко помогают.
Prompts like, "You are a Python expert." or "You are a Kubernetes specialist." add no value because Claude already has that knowledge.
Промпты вроде "Вы эксперт по Python" или "Вы специалист по Kubernetes" не добавляют ценности, ведь Claude и так обладает этими знаниями.
The overhead of launching a sub-agent, losing visibility into its work, and compressing its findings into a summary only makes sense when the sub-agent does something that the main thread can't.
Накладные расходы на запуск субагента, потерю видимости его работы и сжатие результатов в резюме оправданы лишь тогда, когда субагент делает то, чего не может основной поток.
Like applying a custom system prompt or keeping exploratory work isolated.
Например, применяет кастомный system prompt или держит исследовательскую работу изолированной.
Sequential sub-agent pipelines create problems.
Последовательные пайплайны из субагентов создают проблемы.
Consider a three-agent flow.
Представьте поток из трёх агентов.
One to reproduce a bug, one to debug it, and one to fix it.
Один воспроизводит баг, другой его отлаживает, третий исправляет.
Pipelines work when tasks are truly independent.
Пайплайны работают, когда задачи действительно независимы.
They fail when each step depends on discoveries from the previous step.
Они ломаются, когда каждый шаг зависит от открытий предыдущего.
Test runner sub-agents tend to hide information you need.
Субагенты-тест-раннеры склонны скрывать нужную вам информацию.
When tests fail, you want the full output to diagnose issues.
Когда тесты падают, нужен полный вывод для диагностики проблем.
A sub-agent that returns a test failed forces you to create additional debug scripts to get details that would have been visible in direct output.
Субагент, возвращающий только «тест не прошёл», вынуждает создавать дополнительные отладочные скрипты ради деталей, которые были бы видны в прямом выводе.
Testing has showed that the test runner pattern performed worse among all configurations.
Тестирование показало, что паттерн тест-раннера показал худшие результаты среди всех конфигураций.
Across the series, we covered how sub-agents work as isolated threads that return summaries.
В серии мы рассмотрели, как субагенты работают как изолированные потоки, возвращающие резюме.
How to create them with the /agents command, and how to design them with structured outputs and specific descriptions.
Как создавать их с помощью /agents command и как проектировать со структурированными выводами и конкретными описаниями.
Use them for research, reviews, and tasks needing custom system prompts.
Используйте их для исследований, ревью и задач, требующих кастомных system prompt.
But, avoid them for expert claims, multi-step pipelines, and test runners.
Но избегайте их для заявлений об экспертизе, многошаговых пайплайнов и тест-раннеров.
The key question, does the intermediate work matter?
Ключевой вопрос: важна ли промежуточная работа?
If not, then delegate it.
Если нет, делегируйте её.