Часто задаваемые вопросы и устранение неполадок
Что вы сможете сделать после изучения
- Быстро определять и решать проблемы с каталогом при инициализации
- Выявлять причины сбоев при запуске AI-помощника
- Понимать процесс обработки сбоев на этапах (повторный запуск/откат/ручное вмешательство)
- Решать проблемы с установкой зависимостей и конфликтами версий
- Обрабатывать ошибки превышения полномочий Agent
- Использовать
factory continueдля возобновления выполнения в отдельных сессиях
Текущие трудности
Возможно, вы столкнулись со следующими проблемами:
- ❌ При выполнении
factory initпоявляется сообщение "Каталог не пуст" - ❌ AI-помощник не запускается, не знаете, как настроить права доступа
- ❌ Выполнение конвейера внезапно прерывается на каком-то этапе, не знаете, как продолжить
- ❌ Ошибки при установке зависимостей, серьёзные конфликты версий
- ❌ Артефакты, созданные Agent, помечены как "превышение полномочий"
- ❌ Не понимаете механизм контрольных точек и повторных попыток
Не волнуйтесь, все эти проблемы имеют чёткие решения. Этот учебник поможет вам быстро выявить и устранить различные сбои.
🎒 Подготовка перед началом
Необходимые знания
Перед началом убедитесь, что вы:
- [ ] Завершили Установку и настройку
- [ ] Завершили Инициализацию проекта Factory
- [ ] Поняли Обзор 7-этапного конвейера
- [ ] Знаете, как использовать Интеграцию с Claude Code
Основная стратегия
Обработка сбоев в AI App Factory следует строгой стратегии. Понимание этого механизма позволит вам не паниковать при возникновении проблем.
Три уровня обработки сбоев
- Автоматический повторный запуск: каждому этапу разрешён один повторный запуск
- Откат и архивация: при сбое артефакты перемещаются в
_failed/, откат к предыдущей успешной контрольной точке - Ручное вмешательство: после двух последовательных сбоев выполнение приостанавливается, требуется ручное исправление
Правила обработки превышения полномочий
- Agent записывает в несанкционированный каталог → перемещается в
_untrusted/ - Конвейер приостанавливается, ожидает вашей проверки
- При необходимости настройте права доступа или измените поведение Agent
Границы прав доступа
Каждый Agent имеет строгий диапазон прав на чтение и запись:
| Agent | Чтение | Запись |
|---|---|---|
| bootstrap | Нет | input/ |
| prd | input/ | artifacts/prd/ |
| ui | artifacts/prd/ | artifacts/ui/ |
| tech | artifacts/prd/ | artifacts/tech/, artifacts/backend/prisma/ |
| code | artifacts/ui/, artifacts/tech/, artifacts/backend/prisma/ | artifacts/backend/, artifacts/client/ |
| validation | artifacts/backend/, artifacts/client/ | artifacts/validation/ |
| preview | artifacts/backend/, artifacts/client/ | artifacts/preview/ |
Проблемы инициализации
Проблема 1: Ошибка "каталог не пуст"
Симптомы:
$ factory init
Error: Directory is not empty or contains conflicting filesПричина: Текущий каталог содержит конфликтующие файлы (не .git, README.md и другие разрешённые файлы).
Решение:
- Проверьте содержимое каталога:
ls -la- Удалите конфликтующие файлы:
# Способ 1: удалите конфликтующие файлы
rm -rf <conflicting-files>
# Способ 2: переместите в новый каталог
mkdir ../my-app && mv . ../my-app/
cd ../my-app- Повторно инициализируйте:
factory initРазрешённые файлы: .git, .gitignore, README.md, .vscode/*, .idea/*
Проблема 2: Проект Factory уже существует
Симптомы:
$ factory init
Error: This is already a Factory projectПричина: Каталог уже содержит каталоги .factory/ или artifacts/.
Решение:
- Если это новый проект, сначала очистите, затем инициализируйте:
rm -rf .factory artifacts
factory init- Если хотите восстановить старый проект, просто выполните
factory run
Проблема 3: Сбой при запуске AI-помощника
Симптомы:
$ factory init
✓ Factory project initialized
Could not find Claude Code installation.Причина: Claude Code не установлен или настроен неправильно.
Решение:
- Установите Claude Code:
# macOS
brew install claude
# Linux (скачайте с официального сайта)
# https://claude.ai/code- Проверьте установку:
claude --version- Запустите вручную:
# В каталоге проекта Factory
claude "Пожалуйста, прочитайте .factory/pipeline.yaml и .factory/agents/orchestrator.checkpoint.md, запустите конвейер"Процесс ручного запуска: 1. Прочитайте pipeline.yaml → 2. Прочитайте orchestrator.checkpoint.md → 3. Подождите выполнения AI
Проблемы выполнения конвейера
Проблема 4: Ошибка "не проект Factory"
Симптомы:
$ factory run
Error: Not a Factory project. Run 'factory init' first.Причина: Текущий каталог не является проектом Factory (отсутствует каталог .factory/).
Решение:
- Проверьте структуру проекта:
ls -la .factory/- Перейдите в правильный каталог или повторно инициализируйте:
# Перейдите в каталог проекта
cd /path/to/project
# Или повторно инициализируйте
factory initПроблема 5: Файл Pipeline не найден
Симптомы:
$ factory run
Error: Pipeline configuration not foundПричина: Файл pipeline.yaml отсутствует или путь неверен.
Решение:
- Проверьте, существует ли файл:
ls -la .factory/pipeline.yaml
ls -la pipeline.yaml- Скопируйте вручную (если файл потерян):
cp /path/to/factory/source/hyz1992/agent-app-factory/pipeline.yaml .factory/- Повторно инициализируйте (наиболее надёжно):
rm -rf .factory
factory initОбработка сбоев на этапах
Проблема 6: Сбой на этапе Bootstrap
Симптомы:
input/idea.mdне существуетidea.mdне содержит ключевых разделов (целевая аудитория, основная ценность, гипотезы)
Причина: Недостаточно информации от пользователя или Agent неправильно записал файл.
Процесс обработки:
1. Проверьте, существует ли каталог input/ → если нет, создайте
2. Повторите один раз, указав Agent использовать правильный шаблон
3. Если сбой повторяется, запросите у пользователя более подробное описание продуктаРучное исправление:
- Проверьте каталог артефактов:
ls -la artifacts/_failed/bootstrap/- Создайте каталог input/:
mkdir -p input- Предоставьте подробное описание продукта:
Дайте AI более чёткое и подробное описание идеи продукта, включающее:
- Кто является целевой аудиторией (конкретный профиль)
- В чём основная боль
- Какую проблему хотите решить
- Первоначальные идеи о функционале
Проблема 7: Сбой на этапе PRD
Симптомы:
- PRD содержит технические детали (нарушение границ ответственности)
- Must Have функций > 7 (расширение области)
- Отсутствуют "Неназначенные цели" (не определены границы)
Причина: Agent превысил границы или недостаточный контроль области.
Процесс обработки:
1. Проверьте, что prd.md не содержит технических ключевых слов
2. Проверьте, что количество Must Have функций ≤ 7
3. Проверьте, что целевая аудитория имеет конкретный профиль
4. При повторном запуске предоставьте конкретные требования к исправлениюПримеры распространённых ошибок:
| Тип ошибки | Пример ошибки | Правильный пример |
|---|---|---|
| Содержит технические детали | "Использовать React Native" | "Поддержка платформ iOS и Android" |
| Расширение области | "Включает оплату, соцсети, сообщения — 10 функций" | "Основной функционал не превышает 7 функций" |
| Неопределённая цель | "Все могут использовать" | "Городские белые воротнички 25-35 лет" |
Ручное исправление:
- Проверьте неудавшийся PRD:
cat artifacts/_failed/prd/prd.md- Исправьте содержимое:
- Удалите описание стека технологий
- Упростите список функций до ≤ 7
- Добавьте список неназначенных целей
- Переместите вручную в правильное место:
mv artifacts/_failed/prd/prd.md artifacts/prd/prd.mdПроблема 8: Сбой на этапе UI
Симптомы:
- Количество страниц > 8 (расширение области)
- Файл предпросмотра HTML повреждён
- Используется стиль AI (шрифт Inter + фиолетовый градиент)
- Ошибка разбора YAML
Причина: Слишком большая область UI или несоблюдение руководства по эстетике.
Процесс обработки:
1. Подсчитайте количество страниц в ui.schema.yaml
2. Попробуйте открыть preview.web/index.html в браузере
3. Проверьте синтаксис YAML
4. Проверьте, используются ли запрещённые элементы стиля AIРучное исправление:
- Проверьте синтаксис YAML:
npx js-yaml .factory/artifacts/ui/ui.schema.yaml- Откройте предпросмотр в браузере:
open artifacts/ui/preview.web/index.html # macOS
xdg-open artifacts/ui/preview.web/index.html # Linux- Уменьшите количество страниц: проверьте
ui.schema.yaml, убедитесь, что количество страниц ≤ 8
Проблема 9: Сбой на этапе Tech
Симптомы:
- Ошибка синтаксиса схемы Prisma
- Введение избыточных решений, таких как микросервисы, кэширование
- Слишком много моделей данных (количество таблиц > 10)
- Отсутствие определения API
Причина: Усложнение архитектуры или проблемы с проектированием базы данных.
Процесс обработки:
1. Запустите npx prisma validate для проверки схемы
2. Проверьте, содержит ли tech.md необходимые разделы
3. Подсчитайте количество моделей данных
4. Проверьте, не вводятся ли ненужные сложные технологииРучное исправление:
- Проверьте схему Prisma:
cd artifacts/backend/
npx prisma validateУпростите архитектуру: проверьте
artifacts/tech/tech.md, удалите ненужные технологии (микросервисы, кэширование и т. д.)Добавьте определение API: убедитесь, что
tech.mdсодержит все необходимые конечные точки API
Проблема 10: Сбой на этапе Code
Симптомы:
- Сбой при установке зависимостей
- Ошибки компиляции TypeScript
- Отсутствуют необходимые файлы
- Неудачные тесты
- API не запускается
Причина: Конфликты версий зависимостей, проблемы с типами или ошибки логики кода.
Процесс обработки:
1. Запустите npm install --dry-run для проверки зависимостей
2. Запустите npx tsc --noEmit для проверки типов
3. Проверьте структуру каталогов по списку файлов
4. Запустите npm test для проверки тестов
5. Если все прошло успешно, попробуйте запустить службуИсправление распространённых проблем с зависимостями:
# Конфликт версий
rm -rf node_modules package-lock.json
npm install
# Несоответствие версии Prisma
npm install @prisma/client@latest prisma@latest
# Проблемы с зависимостями React Native
npx expo install --fixОбработка ошибок TypeScript:
# Проверьте ошибки типов
npx tsc --noEmit
# После исправления повторно проверьте
npx tsc --noEmitПроверка структуры каталогов:
Убедитесь, что содержатся следующие необходимые файлы/каталоги:
artifacts/backend/
├── package.json
├── tsconfig.json
├── prisma/
│ ├── schema.prisma
│ └── seed.ts
├── src/
│ ├── index.ts
│ ├── lib/
│ └── routes/
└── vitest.config.ts
artifacts/client/
├── package.json
├── tsconfig.json
├── app.json
└── src/Проблема 11: Сбой на этапе Validation
Симптомы:
- Отчёт о проверке неполный
- Слишком много серьёзных проблем (количество ошибок > 10)
- Проблемы безопасности (обнаружены жестко запрограммированные ключи)
Причина: Плохое качество этапа Code или наличие проблем безопасности.
Процесс обработки:
1. Разберите report.md, убедитесь, что все разделы существуют
2. Подсчитайте количество серьёзных проблем
3. Если серьёзных проблем > 10, рекомендуется откат к этапу Code
4. Проверьте результаты сканирования безопасностиРучное исправление:
- Просмотрите отчёт о проверке:
cat artifacts/validation/report.mdИсправьте серьёзные проблемы: исправьте по отчёту
Откат к этапу Code (если слишком много проблем):
factory run code # Повторный запуск с этапа CodeПроблема 12: Сбой на этапе Preview
Симптомы:
- README неполный (отсутствуют шаги установки)
- Ошибка сборки Docker
- Отсутствует конфигурация развертывания
Причина: Пропуск содержимого или проблемы с конфигурацией.
Процесс обработки:
1. Проверьте, что README.md содержит все необходимые разделы
2. Попробуйте docker build для проверки Dockerfile
3. Проверьте, существуют ли файлы конфигурации развертыванияРучное исправление:
- Проверьте конфигурацию Docker:
cd artifacts/preview/
docker build -t my-app .- Проверьте файлы развертывания:
Убедитесь, что существуют следующие файлы:
artifacts/preview/
├── README.md
├── Dockerfile
├── docker-compose.yml
└── .github/workflows/ci.yml # Конфигурация CI/CDОбработка ошибок превышения полномочий
Проблема 13: Превышение прав Agent при записи
Симптомы:
Error: Unauthorized write to <path>
Artifacts moved to: artifacts/_untrusted/<stage-id>/
Pipeline paused. Manual intervention required.Причина: Agent записал содержимое в несанкционированный каталог или файл.
Решение:
- Проверьте файлы с превышением прав:
ls -la artifacts/_untrusted/<stage-id>/Проверьте матрицу прав: подтвердите диапазон записи для этого Agent
Выберите способ обработки:
- Вариант A: Исправьте поведение Agent (рекомендуется)
Укажите в AI-помощнике проблему превышения прав, требуйте исправления.
- Вариант B: Переместите файл в правильное место (осторожно)
Если вы уверены, что файл должен существовать, переместите вручную:
bashmv artifacts/_untrusted/<stage-id>/<file> artifacts/<target-stage>/- Вариант C: Настройте матрицу прав (расширенный)
Измените
.factory/policies/capability.matrix.md, добавьте права записи для этого Agent.Продолжите выполнение:
factory continueПримеры сценариев:
- Code Agent пытается изменить
artifacts/prd/prd.md(нарушение границ ответственности) - UI Agent пытается создать каталог
artifacts/backend/(превышение прав доступа) - Tech Agent пытается записать в каталог
artifacts/ui/(выход за границы)
Проблемы выполнения в отдельных сессиях
Проблема 14: Недостаточно токенов или накопление контекста
Симптомы:
- Ответы AI замедляются
- Слишком длинный контекст приводит к снижению производительности модели
- Чрезмерное потребление токенов
Причина: Накопление слишком большого количества истории диалогов в одной сессии.
Решение: используйте factory continue
Команда factory continue позволяет:
- Сохранить текущее состояние в
.factory/state.json - Запустить новое окно Claude Code
- Продолжить выполнение с текущего этапа
Шаги выполнения:
- Проверьте текущее состояние:
factory statusПример вывода:
Pipeline Status:
──────────────────────────────────────
Project: my-app
Status: Waiting
Current Stage: tech
Completed: bootstrap, prd, ui- Продолжите в новой сессии:
factory continueЭффект:
- Каждый этап имеет чистый контекст
- Избегайте накопления токенов
- Поддержка прерывания и возобновления
Ручной запуск новой сессии (если factory continue не удалось):
# Повторно сгенерируйте конфигурацию прав
claude "Пожалуйста, повторно сгенерируйте .claude/settings.local.json, разрешите операции Read/Write/Glob/Bash"
# Запустите новую сессию вручную
claude "Пожалуйста, продолжите выполнение конвейера, текущий этап — tech"Проблемы с окружением и правами
Проблема 15: Версия Node.js слишком низкая
Симптомы:
Error: Node.js version must be >= 16.0.0Причина: Версия Node.js не соответствует требованиям.
Решение:
- Проверьте версию:
node --version- Обновите Node.js:
# macOS
brew install node@18
brew link --overwrite node@18
# Linux (используйте nvm)
nvm install 18
nvm use 18
# Windows (скачайте с официального сайта)
# https://nodejs.org/Проблема 16: Проблемы с правами Claude Code
Симптомы:
- AI сообщает "нет прав на чтение и запись"
- AI не может получить доступ к каталогу
.factory/
Причина: Неправильная конфигурация прав в .claude/settings.local.json.
Решение:
- Проверьте файл прав:
cat .claude/settings.local.json- Повторно сгенерируйте права:
factory continue # Автоматическое повторное созданиеИли выполните вручную:
node -e "
const { generateClaudeSettings } = require('./cli/utils/claude-settings');
generateClaudeSettings(process.cwd());
"- Пример правильной конфигурации прав:
{
"allowedCommands": ["npm", "npx", "node", "git"],
"allowedPaths": [
"/absolute/path/to/project/.factory",
"/absolute/path/to/project/artifacts",
"/absolute/path/to/project/input",
"/absolute/path/to/project/node_modules"
]
}Проблема 17: Сетевые проблемы导致 сбой установки зависимостей
Симптомы:
Error: Network request failed
npm ERR! code ECONNREFUSEDПричина: Проблемы с сетевым подключением или сбой доступа к источнику npm.
Решение:
- Проверьте сетевое подключение:
ping registry.npmjs.org- Переключите источник npm:
# Используйте зеркала Taobao
npm config set registry https://registry.npmmirror.com
# Проверьте
npm config get registry- Повторно установите зависимости:
rm -rf node_modules package-lock.json
npm installДерево решений для ручного вмешательства
Stage сбой
│
▼
Первый сбой?
├─ Да → Автоматический повторный запуск
│ │
│ ▼
│ Повторный запуск успешен? → Да → Продолжить процесс
│ │
│ Нет → Второй сбой
│
└─ Нет → Анализ причины сбоя
│
▼
Это проблема ввода?
├─ Да → Измените файл ввода
│ └─ Откат к upstream Stage
│
└─ Нет → Запросить ручное вмешательствоКлючевые моменты решений:
- Первый сбой: разрешите автоматический повторный запуск, наблюдайте, исчезнет ли ошибка
- Второй сбой: остановите автоматическую обработку, требуется ручная проверка
- Проблема ввода: измените
input/idea.mdили upstream артефакты - Техническая проблема: проверьте зависимости, конфигурацию или логику кода
- Проблема превышения прав: проверьте матрицу прав или поведение Agent
Напоминания о подводных камнях
❌ Распространённые ошибки
Прямое изменение upstream артефактов
Неправильно: на этапе PRD измените
input/idea.mdПравильно: откат к этапу Bootstrap
Игнорирование подтверждения контрольных точек
Неправильно: быстро пропустите все контрольные точки
Правильно: тщательно проверьте каждый этап артефактов на соответствие ожиданиям
Ручное удаление неудачных артефактов
Неправильно: удалите каталог
_failed/Правильно: сохраните неудачные артефакты для сравнительного анализа
Изменения без повторного создания прав
Неправильно: после изменения структуры проекта не обновите
.claude/settings.local.jsonПравильно: выполните
factory continueдля автоматического обновления прав
✅ Лучшие практики
Ранний сбой: обнаруживайте проблемы как можно раньше, избегайте траты времени на последующих этапах
Детальное журналирование: сохраняйте полные журналы ошибок для выявления проблем
Атомарные операции: вывод каждого этапа должен быть атомарным, что облегчает откат
Сохранение доказательств: после архивации неудачных артефактов повторите попытку для сравнительного анализа
Постепенное повторение: при повторной попытке предоставляйте более конкретные указания, а не простое повторение
Итоги урока
Этот урок охватывает различные распространённые проблемы при использовании AI App Factory:
| Категория | Количество проблем | Основной метод решения |
|---|---|---|
| Инициализация | 3 | Очистка каталога, установка AI-помощника, ручной запуск |
| Выполнение конвейера | 2 | Подтверждение структуры проекта, проверка файлов конфигурации |
| Сбоя этапов | 7 | Повторный запуск, откат, исправление и повторное выполнение |
| Обработка превышения прав | 1 | Проверка матрицы прав, перемещение файлов или настройка прав |
| Выполнение в отдельных сессиях | 1 | Использование factory continue для запуска новой сессии |
| Окружение и права | 3 | Обновление Node.js, повторное создание прав, переключение источника npm |
Ключевые моменты:
- Каждому этапу разрешён один автоматический повторный запуск
- После двух последовательных сбоев требуется ручное вмешательство
- Неудачные артефакты автоматически архивируются в
_failed/ - Файлы с превышением прав перемещаются в
_untrusted/ - Используйте
factory continueдля экономии токенов
Помните:
При возникновении проблем не паникуйте, сначала посмотрите журналы ошибок, затем проверьте соответствующий каталог артефактов, следуйте решениям этого урока для постепенного выявления. Большинство проблем можно решить повторным запуском, откатом или исправлением файлов ввода.
Предпросмотр следующего урока
Следующий урок: Лучшие практики.
Вы узнаете:
- Как предоставить чёткое описание продукта
- Как использовать механизм контрольных точек
- Как контролировать область проекта
- Как постепенно итеративно оптимизировать
Дополнительная литература:
- Обработка сбоев и откат — Глубокое понимание стратегии обработки сбоев
- Механизмы прав и безопасности — Понимание матрицы границ возможностей
- Оптимизация контекста — Техники экономии токенов
Приложение: ссылка на исходный код
Нажмите, чтобы показать расположение исходного кода
Время обновления: 2026-01-29
| Функция | Путь к файлу | Номер строки |
|---|---|---|
| Проверка каталога инициализации | cli/commands/init.js | 32-53 |
| Запуск AI-помощника | cli/commands/init.js | 119-147 |
| Определение стратегии сбоев | policies/failure.policy.md | 1-276 |
| Спецификация кодов ошибок | policies/error-codes.md | 1-469 |
| Матрица границ возможностей | policies/capability.matrix.md | 1-23 |
| Конфигурация конвейера | pipeline.yaml | Полный текст |
| Ядро планировщика | agents/orchestrator.checkpoint.md | 1-301 |
| Команда Continue | cli/commands/continue.js | 1-144 |
Ключевые константы:
- Разрешённое количество Must Have функций: ≤ 7
- Разрешённое количество UI страниц: ≤ 8
- Разрешённое количество моделей данных: ≤ 10
- Количество повторных попыток: каждому этапу разрешён один повторный запуск
Ключевые функции:
isFactoryProject(dir)— проверка, является ли проектом FactoryisDirectorySafeToInit(dir)— проверка, можно ли инициализировать каталогgenerateClaudeSettings(projectDir)— генерация конфигурации прав Claude Codefactory continue— продолжение выполнения конвейера в новой сессии