Головна/WordPress Fullstack/Блупринти/ШІ & Агенти/Self-Healing CI/CD у GitHub Actions з авто-виправленням багів
До карток розділу «ШІ & Агенти»
ШІ & Агенти(ТЗ 46 из 54)
ТЗ: Self-Healing CI/CD у GitHub Actions з авто-виправленням багів
ШІ & Агенти5 шагов • +25 XP

ТЗ: Self-Healing CI/CD у GitHub Actions з авто-виправленням багів

Проєктування автономного Self-Healing пайплайну в GitHub Actions: перехоплення падіння тестів (Vitest/PHPUnit), парсинг стек-трейсів та AST-контексту, генерація патчів за допомогою LLM-агентів і створення автоматичних Pull Request.

~10 ч работыУровень: SeniorGitHub Actions WorkflowDocker Isolated RunnerVitest / PlaywrightAnthropic Claude 3.7 / Claude Code@octokit/rest (GitHub API)Node.js 22 LTS
+5 XP за шаг
Выполнено 0 из 5 шагов (0%)
Трудозатраты~10 рабочих часов
Фриланс вилка~$450 – $750 (€400 – €700)
Оценка веб-студии~$950 – $1,600 (€900 – €1500)

ТЗ заказчика (исходный бриф):

«Бот повинен виправляти робочий код, а НЕ видаляти або послаблювати тести, що впали.»
Ключевые требования:
  • •Умовний запуск кроку при падінні збірки (if: failure())
  • •Парсинг логів тестів (Vitest / PHPUnit) у структурований JSON
  • •AST-вилучення пов'язаних вихідних файлів і діапазонів рядків для контексту LLM
  • •Промпт-інжиніринг для генерації точкових Unified Diff латок
  • •Захисний бар'єр: автоматична перевірка відсутності модифікацій у тестах (*.test.*, *Test.php)
Ограничения проекта:
  • •Ліміт бюджету: не більше 3 спроб виправлення за один прогін
  • •Розмір патчу обмежений 100 рядками diff
Критерии приёмки (KPI):
  • ≥ 60% успішних автоматичних виправлень збірок
  • Середній час усунення збою < 3 хвилин
  • Нуль ручних правок у згенерованих PR

Пошаговое практическое руководство по ТЗ

Подробный разбор архитектуры, код реализации и советы эксперта по каждому этапу:

1
Этап 1 из 5

Крок 1: Конфігурація GitHub Actions з умовним тригером if: failure()

~45 минСредний

Практическое руководство:

Налаштуйте окрему задачу self-healing у .github/workflows/ci.yml з умовою if: failure(). Забезпечте підключення секретів репозиторію для доступу до AI API.

План и контрольные точки реализации:
1Настроить вывод тестов в формат JSON
2Сконфигурировать upload/download артефактов
3Выдать необходимые permissions для GITHUB_TOKEN
Важные технические нюансы и подводные камни:

Надайте права contents: write та pull-requests: write у блоці permissions поточної задачі.

Ожидаемый артефакт этапа:

GitHub Actions пайплайн с изолированной джобой авто-исправления.

YAML
name: Continuous Integration & Self-Healing

on:
  push:
    branches: [main, develop]
  pull_request:

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: pnpm/action-setup@v3
        with:
          version: 9
      - uses: actions/setup-node@v4
        with:
          node-version: 22
          cache: 'pnpm'

      - run: pnpm install --frozen-lockfile
      - name: Run Test Suite
        id: run_tests
        run: pnpm test --reporter=json --outputFile=test-results.json

      - name: Upload Test Results on Failure
        if: failure()
        uses: actions/upload-artifact@v4
        with:
          name: vitest-failure-report
          path: test-results.json

  auto-heal:
    needs: test
    if: failure()
    runs-on: ubuntu-latest
    permissions:
      contents: write
      pull-requests: write
    steps:
      - uses: actions/checkout@v4
      - uses: actions/download-artifact@v4
        with:
          name: vitest-failure-report
      - name: Run Self-Healing Agent
        env:
          ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        run: node scripts/self-heal/agent-fix-runner.mjs
2
Этап 2 из 5

Крок 2: Парсинг логів помилок і локалізація проблемного контексту

~45 минСредний
3
Этап 3 из 5

Крок 3: Агентський цикл генерації та застосування виправлення

~60 минСложный
4
Этап 4 из 5

Крок 4: Захисний бар'єр: валідація недоторканності тестів

~30 минЛегкий
5
Этап 5 из 5

Крок 5: Прогін верифікації та автоматичне відкриття Pull Request

~45 минСредний

Типичные грабли на этом ТЗ

3 антипаттерна

Что сдаём клиенту (Deliverables)

Чек-лист сдачи
Файл GitHub Actions workflow (.github/workflows/self-heal-ci.yml)
Скрипт парсинга логов Vitest/Jest (extract-failure-context.mjs)
Изолированный агентский скрипт исправления (agent-fix-runner.mjs)
Автоматическое открытие Pull Request через Octokit с детальным описанием
Защитный валидатор (test-tampering-detector.mjs) против изменения файлов тестов

Инструменты экосистемы Fullstack AI Lab для этого ТЗ

Интеграция