К этой схеме я шёл постепенно в течение последнего года. Хотите, расскажу подробно? Нет? Ну и ладно)) Тогда коротко и по делу: как это устроено у меня, с примерами, веселыми картинками и историями из жизни))
1. Правильный GUI — половина успеха
И да посыпятся на меня проклятия консолепоклонников!
Мне неудобно работать в терминале. Не потому, что я его боюсь или не знаю как открыть, просто когда у тебя несколько проектов, в каждом несколько разговоров, а между ними надо постоянно переключаться, я хочу видеть нормальное человеческое окно с понятными вкладками. Желательно ещё и находить нужную с первого раза, а не вспоминать, в каком из этих одинаковых терминалов Клод сейчас чинит Андроид, а в каком Кодекс уже полчаса объясняет, почему ничего не надо трогать.
Вообще странная получается экономия: мы посадили ИИ писать код, чтобы освободить себе руки и голову, а потом заняли их обслуживанием окошек, копированием ответов и поиском нужного чата. Сэкономили, молодцы))
Поэтому прежде, чем рассказывать, что у меня написано в инструкциях, покажу, через что я вообще работаю с агентами.
Я пользуюсь Paseo. Если очень просто, это программа, которая собирает работу с разными агентами в одном месте. Клод и Кодекс остаются Клодом и Кодексом, со своими моделями и лимитами, а я получаю общий интерфейс, где можно открыть проект, выбрать агента и работать с ним. Для этого сами агентские инструменты должны быть установлены и настроены; Paseo ими управляет, а не выдаёт тебе собственного волшебного программиста в комплекте.
Пришёл я к ней, конечно, самым коротким путём: сначала решил написать такую программу сам. Ну а что, привычка уже появилась, инструменты есть, потребность понятна. Мы даже начали что-то делать, прежде чем я вспомнил про наше любимое «а готовое-то поискать не хочешь?». Попробовал несколько вариантов, в том числе Goose и OpenClaw, посмотрел, что вообще существует и в итоге нашёл Paseo. На этом ещё один велосипед удалось вовремя оставить без ракетного двигателя.
Главное, что мне было нужно — проекты, чаты и разные провайдеры в одном месте, плюс нормальный доступ с телефона. Нативные приложения Клода и Кодекса я тоже пробовал и периодически продолжаю юзать, но каждый раз что-то мешает: то переключаться неудобно, то удалённая сессия отваливается, то нужное действие приходится искать. Возможно, я уже просто привык к Paseo. Ну и прекрасно, я же для себя инструмент выбираю, мне им пользоваться.
Сейчас у меня это выглядит примерно так: открыт Mango, в нём рядом Клод, Кодекс и ещё одна вкладка — «Секретарь». Первые двое заняты основной работой, а секретарь — небольшой агент на простой модели, которому можно сказать «запиши вот эту мысль», «найди, где мы это обсуждали» или «посмотри такую-то информацию». Чтобы не дёргать агента, который в это время пытается разобраться с какой-нибудь сложной задачей. Заметка на три строчки не должна каждый раз превращаться в заседание академии наук.
И у секретаря тоже нет пожизненно назначенного провайдера. Где лимитов осталось больше, того и посадил записывать. Вообще выбор между Клодом и Кодексом у меня часто решается гораздо прозаичнее, чем можно подумать по спорам в интернете: у одного лимит закончился, у другого ещё есть. Значит, работаем со вторым. А чтобы это не означало «заново рассказываем ему всю жизнь проекта», как раз и нужна система, до которой мы сейчас добираемся.
Но даже когда оба доступны, иногда хочется отдать одному на проверку то, что предложил другой, и в Paseo агенты могут обращаться друг к другу и подключать других агентов, в том числе от другого провайдера, когда им доступны соответствующие инструменты. Эту возможность я, кстати, обнаружил почти случайно: Кодекс опять застрял, я сказал передавать задачу Клоду, открыл список подключённых суб-агентов — а там уже Клод. Я-то собирался привычно поработать курьером, а оказалось, что посылка умеет доехать сама. Пришлось остановиться, разобраться и записать, что так тоже можно.
Само по себе это не означает, что теперь можно уйти, а они там обо всём договорятся и принесут идеальный продукт. Но хотя бы передача текста перестаёт быть моей обязательной должностной обязанностью, хоть и не всегда. Я кстати уверен в одном: сажать их общаться напрямую в одном чате - точно фиговая затея.
Вторая важная для меня вещь — телефон. Paseo стоит у меня на ноутбуке, на домашнем Mac Mini и на телефоне, и мне не надо прекращать разговор с агентом только потому, что я вышел из дома. Сам агент работает на компьютере, там же лежат файлы и выполняются команды; телефон даёт доступ к этой работе. Компьютер для этого, естественно, должен оставаться включённым и доступным, никакой магии, чистый caffeinate -dimsu.
Paseo при этом бесплатная и с открытым исходным кодом. За сами модели и их использование это, конечно, не отменяет оплату провайдерам, но ещё одну подписку за удобное окошко мне заводить не пришлось.
Тут можно было бы нарисовать красивую картинку про разработчика, который одной рукой держит кокос, а другой выпускает приложения с пляжа, но процентов девяносто работы я всё-таки делаю за компьютером. Мне так удобнее. Телефон нужен, чтобы не обрывать процесс: прочитать ответ, уточнить задачу, записать мысль, которую иначе забуду, или сказать агенту, что он опять полез не туда. Для установки тестовых сборок на телефоны и работы со сторами, я возвращаюсь к компьютеру. Агентам, кстати, вообще запрещено без моего явного указания ставить что-то на мои тестовые телефоны или выкатывать прод. Насколько такие запреты реально работаю - расскажу позже.
Если будете искать среду под себя, я бы смотрел на совсем бытовые вещи: легко ли найти нужный проект, понятно ли, кто сейчас что делает, удобно ли читать длинные ответы и можно ли продолжить начатую работу с другого устройства, если вам это нужно. Это всё действия, которые повторяются постоянно и маленькое раздражение от каждого такого действия, за день успевает вырасти в очень большое.
В общем, удобное окно выбрали, агентов рассадили. Теперь надо объяснить им, где они работают и куда складывать то, что они про эту работу узнали. Потому что иначе очень скоро выяснится, что у каждого из них уже есть собственный блокнотик, собственные правила и собственная версия происходящего.
Вот теперь доставайте святой напалм. Переходим к глобальным инструкциям и агентской памяти))
2. Выжигаем личную память святым напалмом
Удобно рассадить агентов по вкладкам оказалось недостаточно. Надо ещё разобраться, что каждый из них принёс с собой на работу, потому что у меня однажды обнаружился очень хозяйственный Кодекс. У него в личной папке уже была почти своя документация проекта: журнал изменений, передача дел самому себе, индекс и даже сведения о состоянии сервера. В последних аккуратно копились записи примерно такого содержания: «В этой сессии серверных изменений не вносилось».
И ещё раз не вносилось. И ещё. Сервер отсутствовал, документация росла. Педант, люблю его))
Там же лежали какие-то мои предпочтения, полезные наблюдения и выводы, с которыми я вообще-то не обязательно соглашался. Всё это пришлось разбирать и разносить по проектам, потому что меня совершенно не устраивало, что часть знаний о моей работе живёт в блокнотике одного конкретного агента, куда другой агент даже не обязан заглядывать.
Представьте, что у вас два сотрудника. Для них написана общая инструкция, но один дополнительно завёл свою тетрадку, куда записывает, как он понял ваши распоряжения. Вчера вы изменили порядок работы, общую инструкцию поправили, а в тетрадке осталось старое. Сегодня он делает по тетрадке. Вы спрашиваете, какого хрена, а он вполне уверенно показывает: вот же, записано. И ведь записано действительно, с этим не поспоришь. Только не то и не там.
С агентами у меня такое происходило вполне буквально. Например, Клод однажды искал готовую сборку приложения не в той папке, не находил её и объяснял мне, что я собрал не то. Хотя правильный путь уже был в проектной памяти. Он просто доверился старой записи в другом месте. Всё проверил, всё объяснил, виноватым назначил меня. Красота))
Поэтому мой первый принцип здесь довольно приземлённый: знания о проекте должны жить в проекте, чтобы и Клод и Кодекс и я сам смотрели в одно место, когда хотим узнать, что решили и как теперь работаем. Агент может помочь сформулировать и записать правило, но заводить параллельно собственную редакцию этого правила мне не надо.
Теперь чуть разложим термины, потому что я сам долго называл «памятью» всё подряд. Есть файлы инструкций, есть заметки, которые агент сохраняет для будущих сессий, и есть контекст текущего разговора — переписка, прочитанные куски файлов, результаты команд. Это связанные вещи, но не одна огромная кастрюля. Размер папки с историей на диске сам по себе не показывает, сколько текста сейчас получила модель. И уборка в заметках не стирает уже состоявшийся разговор.
Когда я говорю «выжечь память», речь про самовольный второй архив проектных знаний. Полезное из него сначала надо забрать, проверить и положить туда, где мы договорились это хранить. Сжигать весь каталог настроек вместе с авторизацией и прочим хозяйством — это уже другой жанр развлечений, сегодня его не рассматриваем))
Начать можно вообще без правок. Попросите агента показать, откуда он берёт инструкции и что у него сохранено отдельно от проекта. Я бы сформулировал примерно так:
Ридонли. Покажи пользовательские и проектные файлы инструкций, которые действуют в этой сессии. Найди свои сохранённые заметки об этом проекте вне его папки. Для каждого места укажи путь и назначение, а для заметок — кратко, что там хранится. Отдельно покажи дубли и противоречия с проектными документами. Содержимое настроек авторизации и секреты в отчёт не выводи.
Вот это уже можно прочитать и понять, что у вас вообще происходит. Только пусть показывает реальные файлы и записи, а не сочиняет красивую лекцию про устройство памяти искусственного интеллекта. Лекцию он тоже умеет, иногда даже вместо ответа на вопрос.
Я в своё время доходил до того, что ставил Клода наблюдать, какие записи в своей системной папке оставляет Кодекс, а потом менял их местами. Один работает, второй разбирает, что тот себе насохранял. Такая маленькая служба внутреннего аудита, где оба проверяющих периодически сами нуждаются в проверке. Но именно так я и начал понимать, откуда берутся лишние записи и что нужно менять в правилах.
Когда находите полезное, не надо автоматически переносить всю кучу в проект и радоваться, что теперь порядок. Если агент записал «Алекс всегда хочет вот так», сначала хорошо бы спросить у Алекса, действительно ли он всегда этого хочет. Может, я один раз попросил временный обходной путь, а железяка уже возвела его в конституцию. Подтверждённые решения переносим, старое отмечаем как старое, дубли убираем после проверки. Переставить мусорное ведро из одной комнаты в другую — тоже перемещение, но уборкой я бы это не назвал.
После этого нужен короткий вход в работу. У Кодекса пользовательские инструкции обычно находятся в ~/.codex/AGENTS.md, у Claude Code — в ~/.claude/CLAUDE.md. Тильда в начале — домашняя папка пользователя. У Кодекса каталог может быть переопределён, а файл AGENTS.override.md имеет приоритет над обычным глобальным AGENTS.md, поэтому сначала выясняем, что реально читается именно у вас.
В этих глобальных инструкциях мне прежде всего нужен указатель на проект. Смысл его примерно такой:
Не сохраняй историю работы, решения и заметки о проекте в личной памяти агента. Работая в проекте, сначала прочитай его AGENTS.md и следуй указанному там порядку входа. Проектные знания сохраняй в документах этого проекта. Если инструкции отсутствуют, сообщи об этом; не выдумывай, что они якобы уже есть. Глобальные инструкции самостоятельно не дополняй.
Это сокращённый пример того, что я хочу сказать агенту, когда он только осознает себя, т.е. при старте сессии, когда в первую очередь он читает свой сиспромт.
Какая у нас архитектура, где лежит релизная сборка и почему мы вчера отказались от одного решения в пользу другого, сюда уже не относится. Всё это должно встречать его в нужном проекте, а не ехать с ним потом в каждый новый разговор.
Для обоих агентов я хочу общий набор проектных правил. У Claude Code свой привычный вход — CLAUDE.md, поэтому в проекте его можно сделать короткой ссылкой на общий AGENTS.md, через поддерживаемый импорт @AGENTS.md. Так не приходится вручную поддерживать две копии одних и тех же указаний. Как устроить сами проектные документы, разберём дальше.
И ещё одна штука, на которой легко споткнуться: написать в инструкции «не веди память» и отключить отдельную функцию автоматической памяти — не одно и то же. Например, у Claude Code для неё есть настройка: через /memory можно выключить auto memory. Если у вашей оболочки или агента есть собственный механизм сохранения заметок, с ним тоже надо разобраться отдельно. Одна фраза в Markdown не становится общей кнопкой выключения всего, что разработчики назвали памятью.
Ну и теперь самый неприятный вопрос: после этого агенты всегда делают правильно?
Ха. Мы же с вами уже познакомились))
По моим наблюдениям, Клод охотнее уходил читать проектные инструкции, зато потом забывал записывать результаты работы, пока не напомнишь. Кодекс документы вёл старательно, но периодически опять обзаводился собственными блокнотиками. Поэтому после настройки я смотрю, что происходит в новой сессии: нашёл ли агент нужные правила, туда ли записал результат, не выросло ли рядом ещё одно хозяйство. Его бодрое «понял, больше не буду» — прекрасное начало разговора, но пока ещё не результат.
Мне вообще нужен очень простой итог: меняю агента, а договорённости о проекте остаются доступными и одинаковыми для обоих. Тогда я могу выбирать, с кем работать, а не вспоминать, кто из них утащил к себе последнее правильное объяснение.
И вот здесь появляется закономерный вопрос. Мы повесили табличку «иди читай документы проекта», агент послушно пришёл в проект. А читать-то там что?
В следующей статье мы подготовим саму папку проекта, а заодно попробуем разобраться, как эту операцию унифицировать.
Источники и подробности:
- Paseo: официальный сайт, загрузка и условия использования.
- Как Paseo работает с Claude Code, Codex и другими агентами.
- Общение агентов и передача задач между провайдерами.
- Подключение к компьютеру с других устройств.
- Codex: глобальные и проектные инструкции AGENTS.md.
- Claude Code: инструкции CLAUDE.md, общие правила и автоматическая память.
