Skip to content

Часто задаваемые вопросы и устранение неполадок

Что вы сможете сделать после изучения

  • Быстро определять и решать проблемы с каталогом при инициализации
  • Выявлять причины сбоев при запуске AI-помощника
  • Понимать процесс обработки сбоев на этапах (повторный запуск/откат/ручное вмешательство)
  • Решать проблемы с установкой зависимостей и конфликтами версий
  • Обрабатывать ошибки превышения полномочий Agent
  • Использовать factory continue для возобновления выполнения в отдельных сессиях

Текущие трудности

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

  • ❌ При выполнении factory init появляется сообщение "Каталог не пуст"
  • ❌ AI-помощник не запускается, не знаете, как настроить права доступа
  • ❌ Выполнение конвейера внезапно прерывается на каком-то этапе, не знаете, как продолжить
  • ❌ Ошибки при установке зависимостей, серьёзные конфликты версий
  • ❌ Артефакты, созданные Agent, помечены как "превышение полномочий"
  • ❌ Не понимаете механизм контрольных точек и повторных попыток

Не волнуйтесь, все эти проблемы имеют чёткие решения. Этот учебник поможет вам быстро выявить и устранить различные сбои.


🎒 Подготовка перед началом

Необходимые знания

Перед началом убедитесь, что вы:

Основная стратегия

Обработка сбоев в AI App Factory следует строгой стратегии. Понимание этого механизма позволит вам не паниковать при возникновении проблем.

Три уровня обработки сбоев

  1. Автоматический повторный запуск: каждому этапу разрешён один повторный запуск
  2. Откат и архивация: при сбое артефакты перемещаются в _failed/, откат к предыдущей успешной контрольной точке
  3. Ручное вмешательство: после двух последовательных сбоев выполнение приостанавливается, требуется ручное исправление

Правила обработки превышения полномочий

  • Agent записывает в несанкционированный каталог → перемещается в _untrusted/
  • Конвейер приостанавливается, ожидает вашей проверки
  • При необходимости настройте права доступа или измените поведение Agent

Границы прав доступа

Каждый Agent имеет строгий диапазон прав на чтение и запись:

AgentЧтениеЗапись
bootstrapНетinput/
prdinput/artifacts/prd/
uiartifacts/prd/artifacts/ui/
techartifacts/prd/artifacts/tech/, artifacts/backend/prisma/
codeartifacts/ui/, artifacts/tech/, artifacts/backend/prisma/artifacts/backend/, artifacts/client/
validationartifacts/backend/, artifacts/client/artifacts/validation/
previewartifacts/backend/, artifacts/client/artifacts/preview/

Проблемы инициализации

Проблема 1: Ошибка "каталог не пуст"

Симптомы:

bash
$ factory init
Error: Directory is not empty or contains conflicting files

Причина: Текущий каталог содержит конфликтующие файлы (не .git, README.md и другие разрешённые файлы).

Решение:

  1. Проверьте содержимое каталога:
bash
ls -la
  1. Удалите конфликтующие файлы:
bash
# Способ 1: удалите конфликтующие файлы
rm -rf <conflicting-files>

# Способ 2: переместите в новый каталог
mkdir ../my-app && mv . ../my-app/
cd ../my-app
  1. Повторно инициализируйте:
bash
factory init

Разрешённые файлы: .git, .gitignore, README.md, .vscode/*, .idea/*

Проблема 2: Проект Factory уже существует

Симптомы:

bash
$ factory init
Error: This is already a Factory project

Причина: Каталог уже содержит каталоги .factory/ или artifacts/.

Решение:

  • Если это новый проект, сначала очистите, затем инициализируйте:
bash
rm -rf .factory artifacts
factory init
  • Если хотите восстановить старый проект, просто выполните factory run

Проблема 3: Сбой при запуске AI-помощника

Симптомы:

bash
$ factory init
 Factory project initialized
Could not find Claude Code installation.

Причина: Claude Code не установлен или настроен неправильно.

Решение:

  1. Установите Claude Code:
bash
# macOS
brew install claude

# Linux (скачайте с официального сайта)
# https://claude.ai/code
  1. Проверьте установку:
bash
claude --version
  1. Запустите вручную:
bash
# В каталоге проекта Factory
claude "Пожалуйста, прочитайте .factory/pipeline.yaml и .factory/agents/orchestrator.checkpoint.md, запустите конвейер"

Процесс ручного запуска: 1. Прочитайте pipeline.yaml → 2. Прочитайте orchestrator.checkpoint.md → 3. Подождите выполнения AI


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

Проблема 4: Ошибка "не проект Factory"

Симптомы:

bash
$ factory run
Error: Not a Factory project. Run 'factory init' first.

Причина: Текущий каталог не является проектом Factory (отсутствует каталог .factory/).

Решение:

  1. Проверьте структуру проекта:
bash
ls -la .factory/
  1. Перейдите в правильный каталог или повторно инициализируйте:
bash
# Перейдите в каталог проекта
cd /path/to/project

# Или повторно инициализируйте
factory init

Проблема 5: Файл Pipeline не найден

Симптомы:

bash
$ factory run
Error: Pipeline configuration not found

Причина: Файл pipeline.yaml отсутствует или путь неверен.

Решение:

  1. Проверьте, существует ли файл:
bash
ls -la .factory/pipeline.yaml
ls -la pipeline.yaml
  1. Скопируйте вручную (если файл потерян):
bash
cp /path/to/factory/source/hyz1992/agent-app-factory/pipeline.yaml .factory/
  1. Повторно инициализируйте (наиболее надёжно):
bash
rm -rf .factory
factory init

Обработка сбоев на этапах

Проблема 6: Сбой на этапе Bootstrap

Симптомы:

  • input/idea.md не существует
  • idea.md не содержит ключевых разделов (целевая аудитория, основная ценность, гипотезы)

Причина: Недостаточно информации от пользователя или Agent неправильно записал файл.

Процесс обработки:

1. Проверьте, существует ли каталог input/ → если нет, создайте
2. Повторите один раз, указав Agent использовать правильный шаблон
3. Если сбой повторяется, запросите у пользователя более подробное описание продукта

Ручное исправление:

  1. Проверьте каталог артефактов:
bash
ls -la artifacts/_failed/bootstrap/
  1. Создайте каталог input/:
bash
mkdir -p input
  1. Предоставьте подробное описание продукта:

Дайте 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 лет"

Ручное исправление:

  1. Проверьте неудавшийся PRD:
bash
cat artifacts/_failed/prd/prd.md
  1. Исправьте содержимое:
  • Удалите описание стека технологий
  • Упростите список функций до ≤ 7
  • Добавьте список неназначенных целей
  1. Переместите вручную в правильное место:
bash
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

Ручное исправление:

  1. Проверьте синтаксис YAML:
bash
npx js-yaml .factory/artifacts/ui/ui.schema.yaml
  1. Откройте предпросмотр в браузере:
bash
open artifacts/ui/preview.web/index.html  # macOS
xdg-open artifacts/ui/preview.web/index.html  # Linux
  1. Уменьшите количество страниц: проверьте ui.schema.yaml, убедитесь, что количество страниц ≤ 8

Проблема 9: Сбой на этапе Tech

Симптомы:

  • Ошибка синтаксиса схемы Prisma
  • Введение избыточных решений, таких как микросервисы, кэширование
  • Слишком много моделей данных (количество таблиц > 10)
  • Отсутствие определения API

Причина: Усложнение архитектуры или проблемы с проектированием базы данных.

Процесс обработки:

1. Запустите npx prisma validate для проверки схемы
2. Проверьте, содержит ли tech.md необходимые разделы
3. Подсчитайте количество моделей данных
4. Проверьте, не вводятся ли ненужные сложные технологии

Ручное исправление:

  1. Проверьте схему Prisma:
bash
cd artifacts/backend/
npx prisma validate
  1. Упростите архитектуру: проверьте artifacts/tech/tech.md, удалите ненужные технологии (микросервисы, кэширование и т. д.)

  2. Добавьте определение API: убедитесь, что tech.md содержит все необходимые конечные точки API

Проблема 10: Сбой на этапе Code

Симптомы:

  • Сбой при установке зависимостей
  • Ошибки компиляции TypeScript
  • Отсутствуют необходимые файлы
  • Неудачные тесты
  • API не запускается

Причина: Конфликты версий зависимостей, проблемы с типами или ошибки логики кода.

Процесс обработки:

1. Запустите npm install --dry-run для проверки зависимостей
2. Запустите npx tsc --noEmit для проверки типов
3. Проверьте структуру каталогов по списку файлов
4. Запустите npm test для проверки тестов
5. Если все прошло успешно, попробуйте запустить службу

Исправление распространённых проблем с зависимостями:

bash
# Конфликт версий
rm -rf node_modules package-lock.json
npm install

# Несоответствие версии Prisma
npm install @prisma/client@latest prisma@latest

# Проблемы с зависимостями React Native
npx expo install --fix

Обработка ошибок TypeScript:

bash
# Проверьте ошибки типов
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. Проверьте результаты сканирования безопасности

Ручное исправление:

  1. Просмотрите отчёт о проверке:
bash
cat artifacts/validation/report.md
  1. Исправьте серьёзные проблемы: исправьте по отчёту

  2. Откат к этапу Code (если слишком много проблем):

bash
factory run code  # Повторный запуск с этапа Code

Проблема 12: Сбой на этапе Preview

Симптомы:

  • README неполный (отсутствуют шаги установки)
  • Ошибка сборки Docker
  • Отсутствует конфигурация развертывания

Причина: Пропуск содержимого или проблемы с конфигурацией.

Процесс обработки:

1. Проверьте, что README.md содержит все необходимые разделы
2. Попробуйте docker build для проверки Dockerfile
3. Проверьте, существуют ли файлы конфигурации развертывания

Ручное исправление:

  1. Проверьте конфигурацию Docker:
bash
cd artifacts/preview/
docker build -t my-app .
  1. Проверьте файлы развертывания:

Убедитесь, что существуют следующие файлы:

artifacts/preview/
├── README.md
├── Dockerfile
├── docker-compose.yml
└── .github/workflows/ci.yml  # Конфигурация CI/CD

Обработка ошибок превышения полномочий

Проблема 13: Превышение прав Agent при записи

Симптомы:

bash
Error: Unauthorized write to <path>
Artifacts moved to: artifacts/_untrusted/<stage-id>/
Pipeline paused. Manual intervention required.

Причина: Agent записал содержимое в несанкционированный каталог или файл.

Решение:

  1. Проверьте файлы с превышением прав:
bash
ls -la artifacts/_untrusted/<stage-id>/
  1. Проверьте матрицу прав: подтвердите диапазон записи для этого Agent

  2. Выберите способ обработки:

    • Вариант A: Исправьте поведение Agent (рекомендуется)

    Укажите в AI-помощнике проблему превышения прав, требуйте исправления.

    • Вариант B: Переместите файл в правильное место (осторожно)

    Если вы уверены, что файл должен существовать, переместите вручную:

    bash
    mv artifacts/_untrusted/<stage-id>/<file> artifacts/<target-stage>/
    • Вариант C: Настройте матрицу прав (расширенный)

    Измените .factory/policies/capability.matrix.md, добавьте права записи для этого Agent.

  3. Продолжите выполнение:

bash
factory continue

Примеры сценариев:

  • Code Agent пытается изменить artifacts/prd/prd.md (нарушение границ ответственности)
  • UI Agent пытается создать каталог artifacts/backend/ (превышение прав доступа)
  • Tech Agent пытается записать в каталог artifacts/ui/ (выход за границы)

Проблемы выполнения в отдельных сессиях

Проблема 14: Недостаточно токенов или накопление контекста

Симптомы:

  • Ответы AI замедляются
  • Слишком длинный контекст приводит к снижению производительности модели
  • Чрезмерное потребление токенов

Причина: Накопление слишком большого количества истории диалогов в одной сессии.

Решение: используйте factory continue

Команда factory continue позволяет:

  1. Сохранить текущее состояние в .factory/state.json
  2. Запустить новое окно Claude Code
  3. Продолжить выполнение с текущего этапа

Шаги выполнения:

  1. Проверьте текущее состояние:
bash
factory status

Пример вывода:

bash
Pipeline Status:
──────────────────────────────────────
Project: my-app
Status: Waiting
Current Stage: tech
Completed: bootstrap, prd, ui
  1. Продолжите в новой сессии:
bash
factory continue

Эффект:

  • Каждый этап имеет чистый контекст
  • Избегайте накопления токенов
  • Поддержка прерывания и возобновления

Ручной запуск новой сессии (если factory continue не удалось):

bash
# Повторно сгенерируйте конфигурацию прав
claude "Пожалуйста, повторно сгенерируйте .claude/settings.local.json, разрешите операции Read/Write/Glob/Bash"

# Запустите новую сессию вручную
claude "Пожалуйста, продолжите выполнение конвейера, текущий этап — tech"

Проблемы с окружением и правами

Проблема 15: Версия Node.js слишком низкая

Симптомы:

bash
Error: Node.js version must be >= 16.0.0

Причина: Версия Node.js не соответствует требованиям.

Решение:

  1. Проверьте версию:
bash
node --version
  1. Обновите Node.js:
bash
# 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.

Решение:

  1. Проверьте файл прав:
bash
cat .claude/settings.local.json
  1. Повторно сгенерируйте права:
bash
factory continue  # Автоматическое повторное создание

Или выполните вручную:

bash
node -e "
const { generateClaudeSettings } = require('./cli/utils/claude-settings');
generateClaudeSettings(process.cwd());
"
  1. Пример правильной конфигурации прав:
json
{
  "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: Сетевые проблемы导致 сбой установки зависимостей

Симптомы:

bash
Error: Network request failed
npm ERR! code ECONNREFUSED

Причина: Проблемы с сетевым подключением или сбой доступа к источнику npm.

Решение:

  1. Проверьте сетевое подключение:
bash
ping registry.npmjs.org
  1. Переключите источник npm:
bash
# Используйте зеркала Taobao
npm config set registry https://registry.npmmirror.com

# Проверьте
npm config get registry
  1. Повторно установите зависимости:
bash
rm -rf node_modules package-lock.json
npm install

Дерево решений для ручного вмешательства

Stage сбой


 Первый сбой?
    ├─ Да → Автоматический повторный запуск
    │         │
    │         ▼
    │     Повторный запуск успешен? → Да → Продолжить процесс
    │            │
    │            Нет → Второй сбой

    └─ Нет → Анализ причины сбоя


          Это проблема ввода?
              ├─ Да → Измените файл ввода
              │         └─ Откат к upstream Stage

              └─ Нет → Запросить ручное вмешательство

Ключевые моменты решений:

  • Первый сбой: разрешите автоматический повторный запуск, наблюдайте, исчезнет ли ошибка
  • Второй сбой: остановите автоматическую обработку, требуется ручная проверка
  • Проблема ввода: измените input/idea.md или upstream артефакты
  • Техническая проблема: проверьте зависимости, конфигурацию или логику кода
  • Проблема превышения прав: проверьте матрицу прав или поведение Agent

Напоминания о подводных камнях

❌ Распространённые ошибки

  1. Прямое изменение upstream артефактов

    Неправильно: на этапе PRD измените input/idea.md

    Правильно: откат к этапу Bootstrap

  2. Игнорирование подтверждения контрольных точек

    Неправильно: быстро пропустите все контрольные точки

    Правильно: тщательно проверьте каждый этап артефактов на соответствие ожиданиям

  3. Ручное удаление неудачных артефактов

    Неправильно: удалите каталог _failed/

    Правильно: сохраните неудачные артефакты для сравнительного анализа

  4. Изменения без повторного создания прав

    Неправильно: после изменения структуры проекта не обновите .claude/settings.local.json

    Правильно: выполните factory continue для автоматического обновления прав

✅ Лучшие практики

  1. Ранний сбой: обнаруживайте проблемы как можно раньше, избегайте траты времени на последующих этапах

  2. Детальное журналирование: сохраняйте полные журналы ошибок для выявления проблем

  3. Атомарные операции: вывод каждого этапа должен быть атомарным, что облегчает откат

  4. Сохранение доказательств: после архивации неудачных артефактов повторите попытку для сравнительного анализа

  5. Постепенное повторение: при повторной попытке предоставляйте более конкретные указания, а не простое повторение


Итоги урока

Этот урок охватывает различные распространённые проблемы при использовании 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.js32-53
Запуск AI-помощникаcli/commands/init.js119-147
Определение стратегии сбоевpolicies/failure.policy.md1-276
Спецификация кодов ошибокpolicies/error-codes.md1-469
Матрица границ возможностейpolicies/capability.matrix.md1-23
Конфигурация конвейераpipeline.yamlПолный текст
Ядро планировщикаagents/orchestrator.checkpoint.md1-301
Команда Continuecli/commands/continue.js1-144

Ключевые константы:

  • Разрешённое количество Must Have функций: ≤ 7
  • Разрешённое количество UI страниц: ≤ 8
  • Разрешённое количество моделей данных: ≤ 10
  • Количество повторных попыток: каждому этапу разрешён один повторный запуск

Ключевые функции:

  • isFactoryProject(dir) — проверка, является ли проектом Factory
  • isDirectorySafeToInit(dir) — проверка, можно ли инициализировать каталог
  • generateClaudeSettings(projectDir) — генерация конфигурации прав Claude Code
  • factory continue — продолжение выполнения конвейера в новой сессии