AI Prompt Engineering · Lekcja

Prompty do porównywania wielu obrazów

Porównuj dwa lub więcej obrazów: różnice, podobieństwa i zmiany w czasie.

Lekcja 3 z 413 kroki

Prompty do porównywania wielu obrazów to bezpłatna lekcja AI Prompt Engineering na CoddyKit. To lekcja 3 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej AI Prompt Engineering, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs AI Prompt Engineering zawiera 4 lekcji w sumie.

Prompty z wieloma obrazami

Modele wizyjne mogą przetwarzać wiele obrazów w jednym wywołaniu API. Umożliwia to realizację zaawansowanych zadań porównawczych:

  • Analiza przed/po (zdjęcia produktów, remonty pomieszczeń, obrazowanie medyczne)
  • Porównywanie wariantów produktu (opcje kolorystyczne, porównywanie rozmiarów)
  • Porównywanie jakości (wybór najlepszego zdjęcia do oferty)
  • Wykrywanie zmian (dwie wersje dokumentu, dwa obrazy opatrzone znacznikami czasu)

Prompty z wieloma obrazami wymagają starannej struktury, aby model wiedział, który obraz jest który oraz jaką relację ma przeanalizować.

Wysyłanie wielu obrazów w jednym wywołaniu

API przyjmuje wiele obrazów jako listę elementów treści. Każdy obraz należy jednoznacznie oznaczyć:

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.')

Prompt do porównania dwóch produktów

Porównywanie dwóch zdjęć produktów na potrzeby aplikacji skierowanej do konsumentów:

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)

Porównanie przed i po

W promptach przed/po należy jednoznacznie określić, który obraz przedstawia stan początkowy, a który końcowy, oraz podać kontekst transformacji:

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.')

Wybór zdjęcia o najlepszej jakości

Wybór najlepszego zdjęcia spośród wielu opcji — przydatny w procesach związanych z handlem elektronicznym, mediami społecznościowymi i publikowaniem treści:

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.')

Prompt do wykrywania zmian

Wykrywanie konkretnych zmian między dwiema wersjami tego samego obrazu — przydatne w wersjonowaniu dokumentów, przeglądach projektów UI i monitorowaniu:

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)

Porównanie projektów A/B

Obiektywne porównywanie dwóch wariantów projektu — przydatne przy podejmowaniu decyzji dotyczących UI/UX i kierunku kreatywnego:

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.')

Ustrukturyzowane ocenianie podobieństwa

W zautomatyzowanych potokach generuj liczbowe wartości podobieństwa między obrazami:

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.')

Obsługa więcej niż dwóch obrazów

W przypadku trzech lub większej liczby obrazów należy tak skonstruować prompt, aby uwzględnić dodatkową złożoność:

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])

Typowe pułapki w promptach z wieloma obrazami

Typowe błędy podczas pracy z wieloma obrazami oraz sposoby ich unikania:

  • Brak oznaczeń obrazów: Model może pomylić obrazy — przed każdym obrazem należy zawsze umieścić tekst IMAGE 1:
  • Brak kryteriów porównania: Prośba o porównanie bez określenia wymiarów prowadzi do nieukierunkowanych wyników — należy dokładnie wymienić elementy, które mają zostać porównane
  • Brak kontekstu: Prompty przed/po wymagają podania kontekstu transformacji (remont pomieszczenia, a nie tylko dwa zdjęcia pomieszczenia)
  • Zbyt wiele obrazów: Jakość spada przy 6 lub większej liczbie obrazów — należy przetwarzać je w partiach po 2–4 obrazy
  • Pomijanie wyniku w formacie JSON: Porównanie w formie tekstu jest trudne do przetworzenia — w potokach należy zawsze żądać ustrukturyzowanego wyniku JSON

Analiza sekwencji obrazów w czasie

Gdy obrazy przedstawiają sekwencję w czasie (cotygodniowe kontrole, postęp prac budowlanych, wizyty kontrolne), prompt porównawczy powinien wyraźnie wymagać analizy zmian zachodzących w czasie:

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.")

Szybkie sprawdzenie

Jaki jest najważniejszy element strukturalny, który należy uwzględnić w prompcie do porównywania wielu obrazów?

Porównywanie wielu obrazów — najważniejsze wnioski

Prompty do porównywania wielu obrazów odblokowują zaawansowane możliwości analizy wizualnej:

  • Obrazy należy zawsze jednoznacznie oznaczać tekstem umieszczonym przed każdym obrazem w tablicy treści
  • Należy określić wymiary porównania — hierarchię wizualną, jakość lub podobieństwo — zamiast prosić o ogólne porównanie
  • Prompty przed/po wymagają podania kontekstu transformacji (jakiego rodzaju zmiana zaszła)
  • W potokach należy używać ustrukturyzowanego wyniku JSON — wartości podobieństwa, list rankingowych, wykrywania zmian
  • Porównywanie produktów, wybór zdjęcia o najlepszej jakości i przegląd projektów A/B to zastosowania o dużej wartości
  • Należy ograniczać partie do maksymalnie 2–4 obrazów — przy większej liczbie jakość spada
  • Prompty do wykrywania zmian powinny klasyfikować każdą zmianę według typu: dodanie, usunięcie, modyfikacja, przemieszczenie
Bezpłatny start

Ucz się AI Prompt Engineering dzięki korepetycjom AI — za darmo

Pisz i uruchamiaj kod w przeglądarce, otrzymuj natychmiastową pomoc od korepetytora AI dostępnego 24/7 i kontynuuj naukę w sieci lub w aplikacji.

Kursy
53
Lekcje
199

Często zadawane pytania

Czy lekcja „Prompty do porównywania wielu obrazów” jest bezpłatna?

Tak — pełny tekst „Prompty do porównywania wielu obrazów” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu AI Prompt Engineering, przejdź na CoddyKit PRO. Kurs AI Prompt Engineering zawiera 4 lekcji w sumie.

Co nauczysz się w „Prompty do porównywania wielu obrazów”?

Porównuj dwa lub więcej obrazów: różnice, podobieństwa i zmiany w czasie. Ćwiczysz AI Prompt Engineering z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć AI Prompt Engineering?

Nie wymagamy żadnego doświadczenia. AI Prompt Engineering w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 3 z 4.

Ile czasu zajmuje lekcja „Prompty do porównywania wielu obrazów”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji AI Prompt Engineering?

Tak. Każda lekcja AI Prompt Engineering zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Prompty do opisu obrazów i tworzenia podpisów
  2. Wizualne odpowiadanie na pytania
  3. Prompty do porównywania wielu obrazów
  4. Prompty do OCR i analizy dokumentów
← Powrót do AI Prompt Engineering