Раскройте потенциал Claude Code с помощью непрерывного обучения
Claude Code — невероятно эффективный кодирующий агент, который вы можете использовать для выполнения большинства когнитивных задач на вашем компьютере. Однако непрерывное обучение — это задача, которую мы еще не научились хорошо преподавать агентам. При этом непрерывное обучение — это то, в чем люди невероятно хороши.
Вы можете просто подумать о любой задаче, которой вы занимались долгое время. В подавляющем большинстве случаев вы будете становиться лучше в этой задаче со временем, учась на своих ошибках и совершенствуясь. Это не только вопрос запоминания того, что работает, а что нет. Это также о развитии интуиции для задач, которую вы просто получаете, выполняя их в течение долгого времени.
В этой статье я обсужу, как вы можете достичь подобного непрерывного обучения с вашими кодирующими агентами. Непрерывное обучение для агентов — это все еще нерешенная задача, но я пройду через то, как я заставляю своих кодирующих агентов учиться на своих ошибках и совершенствоваться со временем. Более того, содержание, которое я буду освещать в этой статье, сделает ваших агентов намного лучше в задачах, в которых вы специально хотите, чтобы они были хороши, будь то создание презентаций для акционеров, устранение ошибок в вашей специфической базе кода или что-то совершенно другое.
Зачем нам нужно непрерывное обучение
Нам нужно непрерывное обучение, потому что мы всегда хотим совершенствоваться в выполняемых нами задачах. Представьте, если вы программист уже много лет и все еще допускаете базовые ошибки, такие как забывание двоеточий после оператора if в Python.
Очевидно, что постоянное допущение таких ошибок очень неэффективно, поэтому мы хотим их избежать. Мы хотим становиться лучше в задачах, становиться более эффективными в них и, таким образом, иметь возможность решать более сложные проблемы.
Работа над задачей в течение длительного периода времени поможет вам развить интуицию для задачи и поможет вам решать более сложные проблемы в этой области
Вы можете представить свежего кодирующего агента как нового сотрудника. Очевидно, что они будут допускать некоторые ошибки в начале, поскольку они не понимают ваши предпочтения или базу кода. Однако, когда вы говорите новому сотруднику, как что-то сделать, вы ожидаете, что они со временем этому научатся.
Если вы не примете специальные меры, чтобы ваши кодирующие агенты запомнили такие вещи, они, вероятно, их забудут, поэтому вам нужно принять активные меры для достижения непрерывного обучения для ваших кодирующих агентов.
Как достичь непрерывного обучения
В этом разделе я расскажу о некоторых конкретных техниках, которые я использую ежедневно для достижения непрерывного обучения. Эти техники получены из разговоров с другими людьми, работающими в этой области, вдохновением из репозитория OpenClaw и моих собственных экспериментов.
Команда обобщения знаний
Самый простой и эффективный подход к тому, чтобы заставить Claude Code учиться на своих ошибках, — это команда обобщения знаний. Это простая команда (также известная как навык, просто файл markdown, содержащий подсказку) для обучения на основе данного потока.
Я обычно запускаю эту команду всякий раз, когда завершаю разговор с Claude Code, выполняя одну задачу. Например, если я:
- Завершил реализацию функции
- Разрешил ошибку
- Сделал презентацию
- Закончил проверку логов продакшена
Я просто запускаю свою команду с помощью:
/generalize-knowledge
Это работает, потому что я сохранил команду обобщения знаний, которая является подсказкой, похожей на нижеследующую:
Обобщи все знания из этого потока в claude.md и agents.md.
Запиши любую информацию, которая была бы полезна для будущего агента,
работающего в этом репозитории. Также отметь любые проблемы, которые ты
столкнулся, и как ты их разрешил.
Запиши задачи, которые ты выполнил, в файл done-tasks.md с временем и датой,
и кратким изложением задач.
По сути, я говорю модели учиться на своих ошибках и отмечать все, что было бы полезно для будущих взаимодействий.
Я также заставляю агента записывать выполняемые задачи, чтобы у меня был один файл, содержащий все, что я сделал. Это не обязательно, но я считаю, что иметь такое резюме доступным удобно.
Также обратите внимание, что это предполагает, что вы всегда выполняете одну задачу в данном потоке Claude Code, что вы определенно должны делать, чтобы получить лучшие результаты. Это также применяется к каждому другому доступному кодирующему агенту, просто потому, что одна задача в одном потоке помогает агентам оставаться сосредоточенными и избежать шума, заполняющего их контекст.
Ежедневные размышления
Основываясь на предыдущем разделе, вы также можете установить параметры ежедневного размышления. Например, если у вас есть несколько агентов, работающих в течение дня, вы можете установить cron задачу (команду, которая настроена на запуск в определенный интервал) для просмотра всех логов вашего кодирующего агента за последние 24 часа и отметить любую полезную информацию. Это основывается на команде обобщения знаний, но работает на более высоком уровне, поскольку агент, проходящий через ваши логи, будет иметь доступ не только к одному потоку, но ко всему, над чем вы работаете.
Это может быть полезно, поскольку другая перспектива может привести к записям других заметок, что поможет вам и вашим кодирующим агентам стать более эффективными.
Навыки
Навыки — еще одна концепция, которую я хотел бы осветить, которая действительно помогает способствовать непрерывному обучению и помогает Claude Code учиться на своих ошибках. Предыдущие разделы, которые я осветил, в основном пишут в общие файлы CLAUDE.MD, AGENTS.MD, WARP.MD. Навыки, однако, представляют собой более конкретные файлы, говорящие агенту, как выполнять конкретные задачи.
Это несколько похоже на команду обобщения знаний, но немного отличается, поскольку общие файлы отмечают общие ошибки и решения, в то время как навыки охватывают намного более конкретные темы. Вот некоторые примеры навыков:
- Как агент должен действовать при сортировке вашей электронной почты
- Как агент должен действовать при сортировке вашего календаря
- Как использовать конкретный API или пакет. Это особенно важно для меньших и неизвестных API и пакетов, которые не хорошо освещены в предварительной подготовке LLM
- Как подойти к решению ошибок в конкретном репозитории
Как вы видите, навыки более конкретны. Таким образом, всякий раз, когда вы начинаете работать с новым пакетом, API или новой задачей в целом, я призываю вас создать навык для этого. Навык должен охватывать все, что полезно знать при работе с API или задаче. Включая:
- Как интерпретировать предоставленные задачи в рамках данной темы
- Как подойти к решению задач
- Предыдущие допущенные ошибки и то, как они были решены
Чем больше информации вы сохраняете, тем лучше. Ваш кодирующий агент обычно будет динамически загружать этот навык, если вы начнете работать над связанной задачей.
Например, если вы попросите вашего агента сортировать вашу электронную почту, он динамически загрузит навык сортировки почты, чтобы знать, как действовать. Это помогает вашему кодирующему агенту избежать предыдущих ошибок, которые он допустил при сортировке вашей электронной почты.
Заключение
В этой статье я рассмотрел, как заставить Claude Code и других кодирующих агентов учиться на своих ошибках. Я обсудил три основные методики для использования, включая создание команды обобщения знаний, ежедневное прочитывание логов агента и активное использование навыков при работе над задачами. Я считаю, что обучение на своих ошибках невероятно важно как для людей, так и для машин. Если вы сможете эффективно заставить своих кодирующих агентов учиться на своих ошибках, вы станете намного более эффективны при их применении и, таким образом, получите значительное преимущество перед другими агентами, которые не учатся на своих ошибках.
👉 Мой бесплатный электронный курс и вебинар:
🚀 10x Your Engineering with LLMs (Бесплатный 3-дневный email курс)
📚 Получи мою бесплатную книгу о Vision Language Models
💻 Мой вебинар о Vision Language Models
👉 Найди меня в соцсетях:
💌 Substack