AI Prompt Engineering · Урок

Запросы для сравнения нескольких изображений

Сравнивайте два или более изображения: различия, сходства и изменения с течением времени

Урок 3 из 413 шагов

«Запросы для сравнения нескольких изображений» — бесплатный урок AI Prompt Engineering на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения AI Prompt Engineering, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс AI Prompt Engineering содержит 4 уроков всего.

Промпты для нескольких изображений

Модели компьютерного зрения могут обрабатывать несколько изображений в одном вызове программного интерфейса. Это открывает возможности для сложных задач сравнения:

  • Анализ до и после (фотографии товаров, ремонт помещений, медицинские изображения)
  • Сравнение вариантов товара (варианты цвета, сравнение размеров)
  • Сравнение качества (выбор лучшей фотографии для карточки товара)
  • Обнаружение изменений (две версии документа, два изображения с отметками времени)

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

Отправка нескольких изображений одним вызовом

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

import anthropic, base64

client = anthropic.Anthropic(api_key='YOUR_API_KEY')

def compare_images(image_path_1, image_path_2, comparison_prompt):
    def encode(path):
        with open(path, 'rb') as f:
            return base64.standard_b64encode(f.read()).decode('utf-8')

    r = client.messages.create(
        model='claude-opus-4-5', max_tokens=600,
        messages=[{'role': 'user', 'content': [
            {'type': 'text', 'text': 'IMAGE 1:'},
            {'type': 'image', 'source': {'type': 'base64', 'media_type': 'image/jpeg', 'data': encode(image_path_1)}},
            {'type': 'text', 'text': 'IMAGE 2:'},
            {'type': 'image', 'source': {'type': 'base64', 'media_type': 'image/jpeg', 'data': encode(image_path_2)}},
            {'type': 'text', 'text': comparison_prompt}
        ]}]
    )
    return r.content[0].text

print('Multi-image comparison function defined.')

Промпт для сравнения двух товаров

Сравнение двух изображений товаров для приложения, ориентированного на потребителей:

product_comparison_prompt = '''
Compare the two product images above (Image 1 and Image 2).

Analyze each of the following dimensions:

1. SIMILARITIES: What features, design elements, or characteristics do both products share?

2. DIFFERENCES: What are the key visual differences? Focus on:
   - Color and finish
   - Size and proportions (estimate if possible)
   - Design style (minimalist, ornate, modern, traditional)
   - Materials (if discernible)
   - Quality indicators

3. QUALITY ASSESSMENT: Which image appears to show a higher-quality product, and why?
   Rate each product 1-10 for apparent quality.

4. USE CASE: Based on appearance alone, which product seems better suited for:
   a) Professional/office use
   b) Home/casual use

Return your response in this format exactly.
'''

print(product_comparison_prompt)

Сравнение до и после

Промпты для сравнения до и после должны явно указывать, какое изображение относится к каждому этапу и в чём состоит контекст преобразования:

before_after_prompt = '''
You are looking at two images: a BEFORE image (Image 1) and an AFTER image (Image 2).

Analyze the transformation:

1. WHAT CHANGED: List all visible changes from Before to After
2. WHAT STAYED THE SAME: List elements that are unchanged
3. QUALITY IMPROVEMENT: Rate the improvement on a scale of 1-10 (1=no improvement, 10=dramatic improvement)
4. REMAINING ISSUES: What could still be improved that the transformation did not address?

Context: This is a [CONTEXT_PLACEHOLDER] before/after comparison.

Return JSON:
{
  "changes": ["string"],
  "unchanged": ["string"],
  "improvement_score": 1-10,
  "remaining_issues": ["string"],
  "summary": "one sentence summary"
}
'''

# Use contexts: room renovation, product refurbishment, skin care treatment, document cleanup
print('Before/after prompt with JSON output defined.')

Выбор лучшей фотографии

Выбор лучшей фотографии из нескольких вариантов — полезная задача для электронной коммерции, социальных сетей и издательских процессов:

import anthropic, base64, json

client = anthropic.Anthropic(api_key='YOUR_API_KEY')

def select_best_photo(image_paths, use_case='e-commerce product listing'):
    def encode(path):
        with open(path, 'rb') as f:
            return base64.standard_b64encode(f.read()).decode('utf-8')

    content = []
    for i, path in enumerate(image_paths):
        content.append({'type': 'text', 'text': f'IMAGE {i+1}:'})
        content.append({'type': 'image', 'source': {'type': 'base64', 'media_type': 'image/jpeg', 'data': encode(path)}})

    prompt = f'''
You have received {len(image_paths)} images. Select the best one for: {use_case}

Evaluate each on: lighting, composition, clarity, and suitability for the use case.
Return JSON: {{"best_image": 1-{len(image_paths)}, "score_breakdown": [{{"image_id": int, "score": 1-10, "reason": str}}]}}
'''
    content.append({'type': 'text', 'text': prompt})

    r = client.messages.create(model='claude-opus-4-5', max_tokens=300, messages=[{'role': 'user', 'content': content}])
    return json.loads(r.content[0].text)

print('Photo selection function defined.')

Промпт для обнаружения изменений

Обнаружение конкретных изменений между двумя версиями одного изображения — полезная задача для управления версиями документов, проверки дизайна интерфейса и мониторинга:

change_detection_prompt = '''
Compare Image 1 (version A) with Image 2 (version B) of the same item.

Identify ALL changes, no matter how small.
For each change:
- Describe what changed
- Where in the image the change occurs (use quadrant: top-left, top-right, bottom-left, bottom-right, center)
- Classify the change: addition, removal, modification, movement

Return JSON:
{
  "total_changes": int,
  "changes": [
    {
      "description": str,
      "location": str,
      "type": "addition|removal|modification|movement"
    }
  ],
  "is_significant_change": true | false
}

If the images appear identical, return: {"total_changes": 0, "changes": [], "is_significant_change": false}
'''

print(change_detection_prompt)

A/B-сравнение дизайна

Объективное сравнение двух вариантов дизайна — полезная задача для принятия решений в области UI/UX и определения творческого направления:

design_comparison_prompt = '''
You are an experienced UX designer reviewing two design variants (Image 1 = Design A, Image 2 = Design B).

Evaluate both designs on:

1. VISUAL HIERARCHY: Which design guides the eye more effectively? Why?
2. READABILITY: Which has better text legibility and information density?
3. BRAND CONSISTENCY: Which feels more professional and polished?
4. USABILITY: Which would be easier for a new user to navigate?
5. EMOTIONAL IMPACT: Which creates a stronger positive first impression?

For each dimension, declare a winner (A or B) and explain in one sentence.

Final verdict: Return JSON:
{
  "winner": "A|B|tie",
  "dimension_winners": {"visual_hierarchy": str, "readability": str, "brand": str, "usability": str, "emotional": str},
  "winning_reasons": [str],
  "recommendation": str
}
'''

print('Design comparison prompt defined.')

Структурированная оценка сходства

Для автоматизированных конвейеров формируйте числовые оценки сходства между изображениями:

similarity_prompt = '''
Compare these two images and provide a structured similarity analysis.

Return JSON:
{
  "overall_similarity": 0.0-1.0,
  "dimensions": {
    "subject_match": 0.0-1.0,
    "color_match": 0.0-1.0,
    "composition_match": 0.0-1.0,
    "style_match": 0.0-1.0
  },
  "key_differences": [str],
  "are_same_item": true | false | "cannot_determine"
}

Scoring: 1.0 = identical, 0.0 = completely different.
'''

import json
def similarity_score(image_path_1, image_path_2):
    result_text = compare_images(image_path_1, image_path_2, similarity_prompt)
    return json.loads(result_text)

print('Similarity scoring function defined.')
print('Use case: duplicate detection, product matching, visual search.')

Обработка более двух изображений

Для трёх и более изображений структурируйте промпт с учётом дополнительной сложности:

def multi_image_prompt(n_images):
    image_labels = ', '.join(f'Image {i+1}' for i in range(n_images))
    return f'''
You have received {n_images} images: {image_labels}.

Rank all {n_images} images from best to worst for use as a product hero image.
For each image, provide:
- Rank (1=best)
- Score 1-10
- Key strengths
- Key weaknesses

Return JSON:
{{
  "ranking": [
    {{"rank": int, "image_id": int, "score": int, "strengths": [str], "weaknesses": [str]}}
  ],
  "recommended_image": int
}}
'''

# Works for 3, 4, or 5 images
print(multi_image_prompt(3)[:300])

Распространённые ошибки в промптах для нескольких изображений

Распространённые ошибки при работе с несколькими изображениями и способы их избежать:

  • Нет подписей к изображениям: модель может перепутать изображения — всегда помещайте перед каждым изображением текстовую подпись IMAGE 1:
  • Нет критериев сравнения: просьба сравнить изображения без указания конкретных аспектов приводит к несфокусированному результату — точно перечисляйте, что нужно сравнить
  • Недостаёт контекста: промптам для сравнения до и после нужен контекст преобразования (например, ремонт комнаты, а не просто две фотографии комнаты)
  • Слишком много изображений: при 6 и более изображениях качество снижается — обрабатывайте их пакетами по 2–4 изображения
  • Забыт результат в формате JSON: сравнение в виде связного текста трудно анализировать — всегда запрашивайте структурированный JSON для конвейеров

Анализ временной последовательности изображений

Когда изображения представляют временную последовательность (еженедельные проверки, ход строительства, повторные медицинские обследования), промпт для сравнения должен явно анализировать развитие событий во времени:

temporal_prompt = '''
You are analyzing a sequence of images taken over time.
Image 1 = earliest, Image 2 = most recent.

Analyze the progression:
1. PROGRESS: What improvements or changes occurred from earliest to most recent?
2. REGRESSION: Any deterioration or negative changes?
3. RATE: Is the rate of change faster, slower, or as expected?
4. TRAJECTORY: Based on the trend, what is the likely state in the next period?

Return JSON:
{
  "progress": [str],
  "regression": [str],
  "change_rate": "faster|on_track|slower|stalled",
  "trajectory": str,
  "next_period_prediction": str
}
'''

print("Temporal sequence analysis prompt defined.")
print("Use cases: fitness progress, construction tracking, medical imaging follow-up.")

Быстрая проверка

Какой структурный элемент важнее всего включить в промпт для сравнения нескольких изображений?

Сравнение нескольких изображений — ключевые выводы

Промпты для сравнения нескольких изображений открывают широкие возможности визуального анализа:

  • Всегда явно обозначайте изображения текстом перед каждым изображением в массиве содержимого
  • Указывайте критерии сравнения — визуальную иерархию, качество, сходство, — вместо общей просьбы о сравнении
  • Промптам для сравнения до и после нужен контекст преобразования (какое именно изменение произошло)
  • Используйте структурированный результат в формате JSON для конвейеров — оценки сходства, ранжированные списки, обнаружение изменений
  • Сравнение товаров, выбор лучшей фотографии и проверка дизайна методом A/B — ценные варианты применения
  • Ограничивайте пакеты максимум 2–4 изображениями — при большем количестве качество снижается
  • В промптах для обнаружения изменений классифицируйте каждое изменение по типу: добавление, удаление, изменение, перемещение
Можно начать бесплатно

Изучай AI Prompt Engineering с ИИ-репетитором — бесплатно

Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.

Курсы
53
Уроки
199

Часто задаваемые вопросы

Урок «Запросы для сравнения нескольких изображений» бесплатный?

Да — полный текст урока «Запросы для сравнения нескольких изображений» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс AI Prompt Engineering, подпишись на CoddyKit PRO. Курс AI Prompt Engineering содержит 4 уроков всего.

Чему я научусь в уроке «Запросы для сравнения нескольких изображений»?

Сравнивайте два или более изображения: различия, сходства и изменения с течением времени Ты практикуешь AI Prompt Engineering с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать AI Prompt Engineering?

Предыдущий опыт не требуется. AI Prompt Engineering на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.

Сколько времени занимает урок «Запросы для сравнения нескольких изображений»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке AI Prompt Engineering?

Да. Каждый урок AI Prompt Engineering включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Запросы для описания изображений и создания подписей
  2. Визуальные вопросы и ответы
  3. Запросы для сравнения нескольких изображений
  4. Запросы для OCR и анализа документов
← Назад к AI Prompt Engineering