Как объединить Codex, Claude Code и Cursor в одну CLI-команду
Эксперт12 мин чтенияИИ для бизнеса

Как объединить Codex, Claude Code и Cursor в одну CLI-команду

Используйте AGENTS.md, CLAUDE.md, правила Cursor и режимы CLI print, чтобы Codex проектировал, Claude проверял, а Cursor реализовывал — без собственной платформы оркестрации.

Что вы сможете сделать

Этим трём агентам не нужен общий «мозг». Им нужен общий контракт: один файл инструкций, типизированный markdown для передачи задач, изолированные worktree и CLI-команды, которые запускают проектирование, ревью и реализацию как отдельные задания.

AI Expert TeamОпубликовано: 29 июл. 2026 г.
Сохраняется только в этом браузере.
В этой статье

Codex, Claude Code и Cursor уже умеют редактировать репозитории, запускать команды и следовать проектным инструкциям. Большинству команд не хватает не очередного фреймворка агентов, а операционного контракта, который превращает три мощных инструмента в специализированных участников команды.

В этой статье показано, как это сделать с помощью файлов и CLI, которые у вас уже есть:

  • Общие проектные инструкции в AGENTS.md
  • Мост для Claude через CLAUDE.md с импортом @AGENTS.md
  • Базовые инструкции Cursor плюс опциональные .cursor/rules
  • Типизированный markdown для передачи задач между ролями
  • Неинтерактивные CLI-запуски для проектирования, ревью и реализации

Здесь не нужна собственная платформа управления проектами. Если позже вам понадобится общий бэклог между агентами, дополните это мультиагентным управлением проектами в Linear. Здесь средой координации служат git и markdown.

Возможности продуктов проверены 2026-07-29 по документации AGENTS.md, руководству OpenAI Codex по AGENTS.md, неинтерактивному режиму Codex, документации Claude Code по памяти, справочнику CLI Claude Code и документации Cursor CLI.

Структура команды

Надёжная стартовая специализация:

РольИнструментЗадачаОсновной результат
ПроектировщикCodex CLIПредложить архитектуру, интерфейсы, план тестов, рискиРаздел Design в docs/handoffs/<id>.md
РевьюерClaude CodeОспорить проект или реализациюРаздел Review в том же файле передачи
ИсполнительCursor CLI / Cursor AgentПрименить утверждённый план небольшими патчамиВетка, тесты, PR, Implementation notes

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

Общие инструкции: один источник истины

Используйте AGENTS.md как переносимую базу

AGENTS.md — кросс-инструментальный формат инструкций под эгидой Agentic AI Foundation. Codex читает его нативно. Cursor поддерживает корневой AGENTS.md как общее руководство по проекту (наряду с .cursor/rules). Держите файл коротким и операционным:

# AGENTS.md

## Commands
- Install: `pnpm install`
- Test: `pnpm test`
- Typecheck: `pnpm typecheck`
- Lint: `pnpm lint`

## Patch rules
- One behavior change per branch
- Prefer existing helpers over new dependencies
- Do not edit secrets or `.env*` files
- Do not merge to main

## Multi-agent protocol
- Read `docs/handoffs/` before starting
- Write status back into the active handoff file
- Designer, reviewer, and implementer must be different runs
- Stop for auth, payments, production infra, or data deletion

Документация Codex от OpenAI описывает обнаружение от корня проекта до рабочей директории: более близкие файлы имеют приоритет, доступен опциональный AGENTS.override.md, а суммарный бюджет по умолчанию — 32 KiB (если не увеличен). Держите корневой файл компактным; правила для конкретных пакетов помещайте во вложенные AGENTS.md.

Свяжите Claude Code через CLAUDE.md

Claude Code читает CLAUDE.md, а не AGENTS.md. Официальная рекомендация — импортировать общий файл:

@AGENTS.md

## Claude Code
- Prefer plan mode before edits on `src/billing/` and auth code
- For review jobs, do not implement unless the handoff status is `implement` or `fixes`

Симлинк (ln -s AGENTS.md CLAUDE.md) тоже работает, если Claude-специфичных дополнений не нужно. В Windows предпочтите импорт @AGENTS.md.

Подтвердите загрузку командой Claude /context и проверьте Memory files.

Держите правила Cursor узкими

Cursor может использовать корневой AGENTS.md для общих соглашений. Используйте .cursor/rules/*.mdc только для нужд, специфичных для Cursor, например правил с glob-областью. Не ведите три расходящихся энциклопедии.

Файл передачи — это разговор между участниками команды

Создайте директорию:

mkdir -p docs/handoffs

Используйте один файл на единицу работы:

docs/handoffs/2026-07-29-pricing-section.md

# Handoff: pricing section

- ID: pricing-section
- Status: design
- Owner now: codex
- Next owner: claude
- Branch: codex/design-pricing-section
- Worktree: ../app-pricing-section

## Goal
Implement the marketing pricing section using existing Section/PlanCard patterns.

## Non-goals
Billing, coupons, seat math.

## Design
(Codex fills this)

## Review
(Claude fills this)

## Implementation notes
(Cursor fills this)

## Verification
- Command: `pnpm test:e2e --grep "pricing"`
- Last result:

## Decision log
- 2026-07-29 Codex: drafted component boundaries

Значения статуса, которые хорошо работают (с циклами, а не с движением в одну сторону):

  1. design
  2. design-review — блокирующие замечания возвращают в design; чистое ревью переводит в implement
  3. implement
  4. impl-review — блокирующие замечания ведут в fixes; чистое ревью ставит done
  5. fixes — исполнитель устраняет замечания, затем возвращает в impl-review
  6. done
  7. blocked-human

Не каждая задача проходит через fixes. Чистое impl-review может сразу перейти в done.

Каждый CLI-запуск начинается с чтения файла и заканчивается обновлением статуса, владельца и журнала решений. Это и есть весь слой оркестрации.

Пример: после одного цикла design → review

Иллюстративный фрагмент файла передачи после проектирования Codex и ревью Claude:

- Status: implement
- Owner now: cursor
- Next owner: claude

## Design
Files: `PricingSection.tsx` (new), reuse `PlanCard.tsx`
CTA must call `trackCta()` from `src/lib/analytics.ts`
Mobile: stacked below `md`, three columns from `md` up
Plan IDs: `starter`, `pro`, `business`
Test: `pnpm test:e2e --grep "pricing"`

## Review
Blocking: none remaining (breakpoint + plan IDs resolved in Design above)
Non-blocking:
- Extract plan constants later if CMS arrives.

## Decision log
- 2026-07-29 Codex: initial component boundaries
- 2026-07-29 Claude: requested breakpoint + explicit plan IDs
- 2026-07-29 Codex: updated Design; Claude cleared blocking items → implement

Этот артефакт — то, чему Cursor должен следовать. История чата опциональна. Файл обязателен.

Установка и вызов каждого CLI

Точные пути установки меняются; используйте актуальную документацию каждого вендора. Важен паттерн неинтерактивного вызова.

Codex: проход проектирования

Неинтерактивный режим Codex — codex exec. По умолчанию он работает в песочнице только для чтения. Задание проектирования, которое обновляет файл передачи, требует разрешения на запись в workspace:

cd ../app-pricing-section
codex exec --sandbox workspace-write "$(cat <<'EOF'
Read AGENTS.md and docs/handoffs/2026-07-29-pricing-section.md.
Status is design. Produce the Design section only:
- proposed files
- component/API boundaries
- test plan
- risks
- open questions
Do not implement application code.
Set status to design-review and next owner to claude.
Append a Decision log entry.
EOF
)"

Интерактивный codex используйте только когда хотите управлять проектированием в реальном времени. Для скриптов и последовательных запусков предпочитайте codex exec.

Claude Code: проход ревью

Режим print Claude Code может проверить и обновить файл передачи, но только если настройки разрешений позволяют запись в этом worktree. Держите область узкой:

cd ../app-pricing-section
claude -p --permission-mode acceptEdits --max-turns 30 --max-budget-usd 5 --output-format text "$(cat <<'EOF'
Read AGENTS.md / CLAUDE.md and docs/handoffs/2026-07-29-pricing-section.md.
You are the reviewer. Do not implement application code.
Challenge the Design section for missing edge cases, local-architecture mismatches, weak tests, and security issues.
Write findings into the Review section as Blocking vs Non-blocking.
If blocking findings exist, set status to design and next owner to codex.
Otherwise set status to implement and next owner to cursor.
Append a Decision log entry.
EOF
)"

Если режим разрешений Claude не может записывать файлы неинтерактивно, запустите ревью только для чтения и попросите человека или скрипт вставить раздел Review в файл передачи. Для обновления файла передачи в одноразовом worktree предпочитайте --permission-mode acceptEdits (или allowlist в настройках). Не используйте --dangerously-skip-permissions на реальном checkout.

Полезные параметры Claude Code для скриптовых запусков (см. справочник CLI):

  • -p / --print — неинтерактивное завершение
  • --max-turns — ограничение циклов
  • --max-budget-usd — ограничение расходов
  • --output-format json|text|stream-json — для автоматизации
  • --permission-mode acceptEdits — когда ревью должно записать файл передачи в ограниченном worktree

Не используйте --dangerously-skip-permissions на продакшен-checkout без крайней необходимости.

Cursor: проход реализации

Cursor CLI (agent). Предпочитайте тот же выделенный worktree, который указан в файле передачи — не реализуйте из основного checkout:

cd ../app-pricing-section
agent -p --trust --sandbox enabled --output-format text "$(cat <<'EOF'
Read AGENTS.md and docs/handoffs/2026-07-29-pricing-section.md.
Status must be implement or fixes.
Implement only the approved Design, respecting Review blocking resolutions.
Keep the patch small. Add or update tests from the Verification section.
Run the verification command and record the result in the handoff file.
Set status to impl-review and next owner to claude.
Do not merge.
EOF
)"

Важные флаги Cursor CLI:

  • -p / --print — неинтерактивный режим; уже имеет доступ к инструментам записи и shell
  • --force / --yolo — автоматическое одобрение shell-команд, если не запрещено; используйте только в одноразовых песочницах, не как стандарт для написания кода
  • --sandbox enabled|disabled — режим песочницы для запуска; при реализации с --trust предпочитайте enabled
  • --trust — доверие workspace в автоматизации
  • -w / --worktree [name] — изолированный checkout в ~/.cursor/worktrees/<repo>/ (другой путь, чем ручной git worktree add; если используете его, обновите поля Branch/Worktree в файле передачи)
  • --mode plan или --mode ask — планирование или только чтение
  • --output-format text|json|stream-json

Для запусков Cursor только для ревью предпочитайте режимы ask/plan или явную инструкцию «do not edit». Предпочитайте ручной git worktree add, чтобы путь в файле передачи совпадал с checkout исполнителя.

См. также руководство Cursor по headless CLI для скриптовых рабочих процессов.

Карта файлов инструкций (избегайте дублирования истины)

ФайлКто читаетЧто сюда помещать
AGENTS.mdCodex, Cursor, другие инструменты с поддержкой AGENTS.mdОбщие команды, правила патчей, мультиагентный протокол
CLAUDE.mdClaude CodeИмпорт @AGENTS.md + заметки только для Claude
.cursor/rules/*.mdcCursorПоведение с glob-областью или только для Cursor
docs/handoffs/*.mdВсе агенты, по промптуСостояние задачи, проект, ревью, верификация

Если правило важно для каждого агента, ему место в AGENTS.md. Если оно касается только одной функции конкретного вендора — держите его локально. Дублирование одной политики в трёх файлах гарантирует расхождение.

Полный пример конвейера

Предположим чистый репозиторий и пустую функцию.

1. Создайте изолированный worktree

git fetch origin main
git worktree add -b feat/pricing-section ../app-pricing-section origin/main
cd ../app-pricing-section
mkdir -p docs/handoffs

Заполните в файле передачи разделы Goal, Non-goals и Verification. Закоммитьте каркас, если команда хочет видеть контракт в PR.

2. Codex проектирует

Codex пишет раздел Design: файлы, интерфейсы, тесты, риски. Статус становится design-review.

Реальный результат проектирования должен иметь такую форму:

## Design
Files:
- `src/components/marketing/PricingSection.tsx` (new)
- `src/components/marketing/PlanCard.tsx` (reuse)
- `tests/e2e/marketing-pricing.spec.ts` (new)

Boundaries:
- PricingSection owns layout and plan list
- PlanCard remains presentational
- CTA links use existing `trackCta()` helper

Test plan:
- three plans visible
- CTA hrefs resolve
- analytics helper called once per click

Risks:
- hardcoding plan IDs out of sync with CMS

3. Claude проверяет проект

Промпт для ревью требует разделять замечания на Blocking и Non-blocking, поэтому расплывчатые проекты возвращаются заблокированными. Пример:

Blocking:
1. Нет решения по мобильной вёрстке для stacked plan cards.
2. В Design не указана команда верификации (добавьте её в Design и Verification).
Non-blocking:
- Рассмотрите вынос константы данных тарифов.

Статус возвращается в design или переходит в implement только после устранения блокирующих пунктов в Design.

4. Cursor реализует

Cursor реализует только утверждённый проект. Запускает:

pnpm test:e2e --grep "pricing"

Записывает результат, открывает или готовит PR и ставит impl-review.

5. Claude проверяет реализацию

Второй запуск Claude проверяет diff относительно файла передачи, а не относительно свежевыдуманного идеала. Блокирующие замечания отправляют статус в fixes с владельцем cursor. Чистое ревью ставит done — под слияние, которое сделает человек.

6. Человек выполняет merge

Защищённые ветки остаются под контролем человека. Агенты могут быть быстрыми джуниорами. Релиз-менеджерами им быть не следует.

Shell-оркестрация без платформы

Простого секвенсера достаточно:

#!/usr/bin/env bash
set -euo pipefail
ROOT="${1:?worktree path}"
HANDOFF="${2:?handoff file}"
cd "$ROOT"

status() {
  # Prefer the metadata Status field near the top of the handoff file.
  awk '/^- Status:/{print $3; exit}' "$HANDOFF"
}

case "$(status)" in
  design)
    codex exec --sandbox workspace-write "Read AGENTS.md and $HANDOFF. Fill Design only, then set status=design-review and next owner=claude. Do not implement application code."
    ;;
  design-review|impl-review)
    claude -p --permission-mode acceptEdits --max-turns 30 --max-budget-usd 5 --output-format text "Review $HANDOFF per AGENTS.md. Update Review + status only. Do not implement application code."
    ;;
  implement|fixes)
    agent -p --trust --sandbox enabled --output-format text "Status must be implement or fixes. Implement or fix per $HANDOFF and AGENTS.md. Update handoff. Do not merge."
    ;;
  done|blocked-human)
    echo "No agent action for $(status)"
    ;;
  *)
    echo "Unknown status in $HANDOFF" >&2
    exit 1
    ;;
esac

Это намеренно скучно. Скучная оркестрация отлаживается. Держите песочницы и режимы разрешений максимально жёсткими для этапа: проектированию и ревью не нужен широкий системный доступ.

Режимы отказа

СбойЧто происходитИсправление
Расхождение инструкцийCodex, Claude и Cursor следуют разным правиламОдин AGENTS.md; Claude импортирует его; правила Cursor только для дополнений
Схлопывание ролейРевьюер молча переписывает функциюПромпты ревью запрещают реализацию; статусы управляют владением
Общее «грязное» деревоТри агента перезаписывают файлыОдин worktree на ID передачи
Бесконечная полировкаАгенты бесконечно гоняют проект по кругуМаксимум два цикла design-review, затем решение человека
Пустые ревью«Looks good» без доказательствТребуйте разделы Blocking/Non-blocking
Обход разрешенийНеконтролируемые деструктивные командыИзбегайте skip-permissions на реальных репозиториях; используйте песочницы и бюджеты
Устаревшая передачаАгент работает из памяти чатаТребуйте чтение файла передачи при каждом запуске
Prompt injectionIssue/docs пытаются переопределить политикуСчитайте недоверенный markdown данными; принудительные остановки обеспечивайте песочницами, запретами разрешений и хуками — файлы инструкций это контекст, а не жёсткая граница

Неинтерактивные флаги, которые автоматически одобряют правки или разрешения, — удобство для песочниц и жёстко ограниченных worktree. Это не модель контроля доступа в продакшене.

Что пока не автоматизировать

  • Merge в защищённые ветки
  • Продакшен-деплои
  • Ротацию секретов
  • Миграции схемы без плана, проверенного человеком
  • Любой рабочий процесс, где файл передачи приходит от недоверенного внешнего отправителя без предварительной очистки

Практический стартовый набор

  1. Добавьте корневой AGENTS.md с командами, правилами патчей и мультиагентным протоколом.
  2. Добавьте CLAUDE.md с @AGENTS.md.
  3. Добавьте docs/handoffs/_template.md.
  4. Выберите одну небольшую функцию.
  5. Один раз вручную пройдите design → review → implement → review.
  6. Только после этого оберните статусы в shell-секвенсер.

Если тем же агентам нужно брать задачи из общего корпоративного бэклога, добавьте Linear MCP и модель claim/review из мультиагентного управления проектами в Linear. Markdown-передача по-прежнему полезна как технический блокнот на задачу.

Стандарт — это контракт

Codex, Claude Code и Cursor уже пересекаются по возможностям. Они становятся командой, когда вы перестаёте просить их «работать вместе» абстрактно и вместо этого принуждаете к видимому контракту:

  • общие инструкции
  • явная роль на каждый запуск
  • markdown передачи со статусом
  • изолированные worktree
  • ограниченные CLI-вызовы
  • человеческое владение merge и релизом

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

Читать дальше

Продолжайте тот же учебный путь со следующими практическими статьями.

Углубиться

Тщательно подобранные внешние курсы, которые глубже раскрывают эту тему.

Хельсинкский университет · MinnaLearn

Elements of AI (Основы искусственного интеллекта)

Хельсинкский университет

Самое авторитетное бесплатное введение в ИИ в Европе — создано Хельсинкским университетом, пройдено более чем миллионом человек. Без кода и без страха перед математикой, в конце — сертификат. Спокойная и достоверная версия ответа на вопрос, что такое ИИ на самом деле.

Новичок в ИИ~30 часов · в своём темпе
Coursera · DeepLearning.AI

AI for Everyone

Эндрю Ын

Шесть лет спустя — самая чистая точка входа для тех, кому нужно разобраться в ИИ без программирования. Без математики, без жаргона, без хайпа — после прохождения вы сможете вести осознанные разговоры о проектах с ИИ.

Новичок в ИИ~6 часов
HubSpot Academy

AI-Driven Customer Service

Brenna Zenaty, Adriti Gulati

Закрывает наше самое большое вертикальное слепое пятно: в каталоге ничего не говорило напрямую командам поддержки и customer success. HubSpot Academy бесплатен, хорошо сделан и освежающе конкретен — проходит ИИ-триаж тикетов и агента базы знаний, а не остаётся абстрактным, и сертификат тоже бесплатный, а не платная приманка.

Начинающий~1 час · в своём темпе (2 урока)

Все курсы в категории «ИИ для бизнеса»