Skip to content

Instantly share code, notes, and snippets.

@Przemocny
Last active May 27, 2025 08:15
Show Gist options
  • Save Przemocny/11b6c7859634e55ac4c7c714ab9693f6 to your computer and use it in GitHub Desktop.
Save Przemocny/11b6c7859634e55ac4c7c714ab9693f6 to your computer and use it in GitHub Desktop.
prompt_xml_framework.md

Przewodnik po Frameworku Promptów XML dla AI

Wprowadzenie

Witaj w przewodniku po frameworku promptów XML! Ten system został stworzony, aby umożliwić precyzyjne i ustrukturyzowane definiowanie zadań dla agentów AI. Dzięki wykorzystaniu tagów XML możesz szczegółowo określić rolę AI, zadanie do wykonania, kontekst, oczekiwane rezultaty, a także wiele innych aspektów, co prowadzi do lepszego zrozumienia intencji przez AI i wyższej jakości odpowiedzi.

Framework ten opiera się na zestawie zdefiniowanych tagów, które pozwalają na dekompozycję złożonych zapytań na mniejsze, zarządzalne części.

Podstawowe Zasady

  1. Tag Główny <prompt>: Każdy prompt musi być zawarty w tagu <prompt>. Jest to główny kontener dla wszystkich innych instrukcji.
  2. Struktura Hierarchiczna: Tagi mogą być zagnieżdżane, tworząc logiczną hierarchię. Na przykład, tag <task> może zawierać szczegółowe instrukcje lub być modyfikowany przez tagi takie jak <constraints> czy <context>.
  3. Czytelność i Precyzja: Staraj się, aby treść wewnątrz tagów była jak najbardziej precyzyjna i jednoznaczna. Im lepiej AI zrozumie poszczególne komponenty, tym lepszy będzie wynik.
  4. Kompletność: W miarę możliwości, staraj się dostarczyć AI wszystkich niezbędnych informacji, korzystając z odpowiednich tagów.

Kategorie Tagów i Ich Zastosowania

Poniżej przedstawiono główne kategorie tagów wraz z opisem ich zastosowania, pogrupowane według celów, jakie pomagają osiągnąć. Wszystkie tagi i ich podstawowe opisy pochodzą z dokumentu prompts.md.

Cel 1: Definiowanie Głównego Zadania i Roli AI

Aby AI wiedziała, co ma zrobić i kim ma być.

  • <prompt>: Tag główny zawierający cały prompt.
  • <task>: Precyzyjny opis zadania, które AI ma wykonać.
  • <role>: Rola, którą AI ma przyjąć (np. ekspert finansowy, kreatywny pisarz).
  • <objective>: Główny cel do osiągnięcia w ramach zadania.
  • <expected_output>: Dokładne opisanie oczekiwanego rezultatu.
  • <deliverables>: Oczekiwane produkty końcowe zadania (np. diagram architektury, specyfikacja API).

Cel 2: Określanie Kontekstu, Odbiorców i Wiedzy Dziedzinowej

Aby AI zrozumiała otoczenie zadania i dostosowała odpowiedź do odpowiedniego poziomu i stylu.

  • <context>: Istotne informacje kontekstowe dla zadania (np. "Dla firmy z branży IT").
  • <audience>: Opis odbiorców docelowych dla treści (np. "początkujący programiści").
  • <knowledge_level>: Poziom wiedzy u odbiorcy (np. "średniozaawansowany").
  • <domain_knowledge>: Określenie dziedziny wiedzy, którą AI powinna zastosować (np. "Zastosuj praktyki DevOps").
  • <frameworks>: Metodologie lub ramy koncepcyjne do zastosowania (np. "Zastosuj framework TOGAF").
  • <assumptions>: Założenia do przyjęcia podczas zadania.
  • Tagi Użytkownika: Służą do personalizacji interakcji.
    • <user_profile>: Profil użytkownika.
    • <user_preferences>: Preferencje użytkownika.
    • <user_history>: Historia interakcji użytkownika.
    • <user_skills>: Umiejętności i kompetencje użytkownika.
    • <user_goals>: Cele użytkownika.
    • <user_constraints>: Ograniczenia użytkownika.
    • <user_feedback>: Wcześniejsza informacja zwrotna od użytkownika.
    • <user_context>: Kontekst sytuacyjny użytkownika.
    • <user_authorization>: Poziom uprawnień użytkownika.
  • Tagi Kontekstu Firmowego: Definiują otoczenie biznesowe.
    • <company_profile>: Profil firmy.
    • <company_values>: Wartości i kultura firmy.
    • <business_goals>: Cele biznesowe.
    • <target_audience>: Grupa docelowa firmy (różni się od <audience> dla konkretnej treści).
    • <brand_voice>: Ton i styl komunikacji marki.
    • <corporate_guidelines>: Wytyczne korporacyjne.
    • <company_resources>: Dostępne zasoby firmowe.
    • <market_position>: Pozycja rynkowa firmy.
    • <organizational_structure>: Struktura organizacyjna.

Cel 3: Specyfikacja Danych Wejściowych i Formatu Wyjściowego

Aby AI wiedziała, na jakich danych ma pracować i w jakiej formie przedstawić wynik.

  • <input_prompt>: Tag główny dla instrukcji przetwarzania danych wejściowych.
    • <data_format>: Format oczekiwanych danych wejściowych (np. JSON, CSV, tekstowy).
    • <schema>: Struktura lub schemat danych wejściowych.
    • <validation_rules>: Reguły walidacji danych wejściowych.
    • <required_fields>: Pola wymagane w danych wejściowych.
    • <preprocessing>: Instrukcje przetwarzania wstępnego danych.
    • <example_input>: Przykład poprawnych danych wejściowych.
    • <batch_processing>: Instrukcje dotyczące przetwarzania wsadowego.
    • <metadata_requirements>: Wymagania dotyczące metadanych.
  • <data>: Ogólny tag na dane wejściowe do wykorzystania.
  • <format>: Określenie pożądanego formatu odpowiedzi (np. "raport z punktowanymi sekcjami", "kod Mermaid").
  • <tone>: Preferowany ton i styl komunikacji (np. "formalny", "kreatywny").

Cel 4: Ustalanie Ram, Ograniczeń i Kryteriów Sukcesu

Aby AI działała w określonych granicach i było jasne, kiedy zadanie zostało wykonane poprawnie.

  • <constraints>: Ograniczenia, które należy uwzględnić (np. "maks. 500 słów", "Musi działać z istniejącą bazą danych").
  • <requirements>: Specyfikacja wymagań, które rozwiązanie musi spełnić.
  • <acceptance_criteria>: Kryteria określające sukces zadania (np. "Testy bezpieczeństwa zaliczone").
  • <criteria>: Ogólne kryteria sukcesu lub elementy do uwzględnienia (np. "musi zawierać przykłady kodu").
  • <priority>: Określenie najważniejszych aspektów zadania lub hierarchii ważności (np. "Bezpieczeństwo > Wydajność > UX").

Cel 5: Sterowanie Procesem Myślenia, Działania i Iteracji AI

Aby ukierunkować AI, jak ma podejść do problemu i jak ma przebiegać proces doskonalenia odpowiedzi.

  • <instructions>: Szczegółowe instrukcje dotyczące procesu realizacji zadania, krok po kroku.
  • <reasoning>: Wskazówka dotycząca sposobu rozumowania, np. "Rozwiązuj problem krok po kroku".
  • <chain_of_thought>: Polecenie wyjaśnienia toku rozumowania AI, "Pokaż swoje rozumowanie".
  • <prioritization>: Hierarchia ważności elementów w procesie rozumowania.
  • Tagi Iteracji:
    • <feedback_loop>: Instrukcje dotyczące iteracyjnego ulepszania.
    • <alternatives>: Prośba o przedstawienie alternatywnych podejść.
    • <tradeoffs>: Instrukcje do analizy kompromisów między rozwiązaniami.
  • Tagi Iteracji i Wariantów: Śledzenie i zarządzanie procesem iteracyjnym.
    • <iteration_count>: Liczba wykonanych iteracji.
    • <variant_id>: Identyfikator wariantu.
    • <previous_results>: Wyniki poprzednich iteracji/wariantów.
    • <improvement_focus>: Obszary do ulepszenia w kolejnej iteracji.
    • <variant_comparisons>: Porównanie różnych wariantów.
    • <convergence_criteria>: Kryteria zakończenia iteracji.
    • <ab_testing>: Parametry testów A/B.
    • <feedback_summary>: Podsumowanie informacji zwrotnych z iteracji.
    • <iteration_strategy>: Strategia dla kolejnych iteracji.

Cel 6: Zapewnienie Jakości, Walidacja i Testowanie

Aby upewnić się, że odpowiedź AI jest poprawna, kompletna i spełnia standardy.

  • Tagi Walidacji:
    • <validation_task_prompt>: Tag główny dla zadań walidacyjnych.
    • <test_cases>: Przypadki testowe do walidacji rozwiązania.
    • <edge_cases> (w kontekście walidacji): Przypadki brzegowe do uwzględnienia w testach.
    • <verification_steps>: Kroki do weryfikacji rozwiązania.
    • <review_criteria>: Kryteria do oceny jakości rozwiązania.
  • Tagi Jakości:
    • <verification>: Instrukcje weryfikacji odpowiedzi.
    • <edge_cases> (w kontekście jakości): Wskazanie na uwzględnienie przypadków brzegowych w rozwiązaniu.
    • <accuracy_level>: Wymagany poziom dokładności.
  • <self_assessment>: Instrukcje dla AI do samooceny zaproponowanego rozwiązania.

Cel 7: Prowadzenie Analiz, Badań i Generowanie Pomysłów

Gdy celem jest dogłębne zbadanie tematu, znalezienie wzorców lub wygenerowanie nowych koncepcji.

  • Tagi Analizy:
    • <analytical_prompt>: Tag główny dla zadań analitycznych.
    • <data_input> (w kontekście analizy): Dane do analizy lub źródła danych.
    • <analytical_framework>: Metodologia analizy (np. SWOT).
    • <depth>: Wymagany poziom szczegółowości analizy.
    • <focus_areas>: Kluczowe obszary do szczególnej uwagi w analizie.
    • <patterns_to_identify>: Wzorce lub anomalie do wykrycia.
    • <critical_questions>: Pytania, na które analiza powinna odpowiedzieć.
    • <statistical_approach>: Podejście statystyczne do analizy.
  • Tagi Burzy Mózgów:
    • <brainstorm_prompt>: Tag główny dla burzy mózgów.
    • <challenge>: Problem wymagający kreatywnych rozwiązań.
    • <ideation_scope>: Zakres poszukiwanych pomysłów.
    • <constraints_to_break>: Ograniczenia, które można kwestionować podczas burzy mózgów.
    • <inspiration_sources>: Dziedziny lub technologie inspirujące.
    • <quantity>: Liczba oczekiwanych pomysłów.
    • <diversity>: Instrukcja dotycząca różnorodności pomysłów.
    • <wild_ideas>: Zachęta do niestandardowego, przełomowego myślenia.

Cel 8: Interakcja z Narzędziami i Zewnętrzną Bazą Wiedzy

Gdy AI ma korzystać z określonych narzędzi lub odwoływać się do specyficznych źródeł wiedzy.

  • Tagi Narzędzi (Tools):
    • <tools_prompt>: Tag główny dla instrukcji używania narzędzi.
    • <available_tools>: Lista dostępnych narzędzi.
    • <tool_capabilities>: Możliwości i ograniczenia narzędzi.
    • <tool_selection_criteria>: Kryteria wyboru odpowiedniego narzędzia.
    • <tool_usage_sequence>: Zalecana sekwencja używania narzędzi.
    • <tool_authentication>: Instrukcje uwierzytelniania do narzędzi.
    • <tool_output_handling>: Instrukcje przetwarzania wyników narzędzi.
    • <custom_tool_parameters>: Parametry do dostosowania narzędzi.
    • <tool_error_handling>: Obsługa błędów specyficznych dla narzędzi.
  • Tagi Wiedzy (Knowledge):
    • <knowledge_prompt>: Tag główny dla instrukcji dotyczących bazy wiedzy.
    • <knowledge_domains>: Dziedziny wiedzy dostępne dla agenta.
    • <knowledge_sources>: Źródła wiedzy i ich hierarchia.
    • <knowledge_recency>: Aktualność bazy wiedzy i ograniczenia czasowe.
    • <knowledge_gaps>: Znane luki w bazie wiedzy.
    • <knowledge_structure>: Struktura organizacji wiedzy.
    • <knowledge_access_patterns>: Zalecane wzorce dostępu do wiedzy.
    • <knowledge_confidence>: Poziomy pewności dla różnych obszarów wiedzy.
    • <knowledge_update_process>: Proces aktualizacji wiedzy.

Cel 9: Zarządzanie Złożonymi Procesami, Obsługa Błędów i Śledzenie Stanu

Do koordynowania wieloetapowych zadań, radzenia sobie z problemami i monitorowania postępów.

  • Tagi Nadzoru Procesu (Process Oversight):
    • <process_oversight_prompt>: Tag główny dla nadzoru procesu.
    • <process_definition>: Opis procesu lub projektu do nadzoru.
    • <monitoring_metrics>: Kluczowe wskaźniki do śledzenia.
    • <checkpoints>: Punkty kontrolne w procesie.
    • <risk_management>: Zarządzanie ryzykiem.
    • <escalation_paths>: Ścieżki eskalacji problemów.
    • <optimization_focus>: Obszary do optymalizacji w procesie.
    • <resource_allocation>: Zarządzanie zasobami w procesie.
    • <continuous_improvement>: Elementy ciągłego doskonalenia procesu.
  • Tagi Obsługi Błędów (Error-Handling):
    • <error_handling_prompt>: Tag główny dla obsługi błędów.
    • <expected_errors>: Lista spodziewanych typów błędów.
    • <error_categorization>: Klasyfikacja błędów wg priorytetów.
    • <fallback_strategy>: Strategia działania awaryjnego.
    • <retry_policy>: Zasady ponawiania operacji.
    • <error_reporting>: Format raportowania błędów.
    • <missing_data_strategy>: Strategia dla brakujących danych.
    • <escalation_procedure>: Procedura eskalacji błędów.
    • <graceful_degradation>: Instrukcje dla stopniowej degradacji usługi w przypadku problemów.
  • Tagi Stanu Procesu: Umożliwiają śledzenie i przekazywanie stanu procesu.
    • <data_state>: Aktualny stan danych procesowych.
    • <knowledge_base> (jako stan): Baza wiedzy dostępna w danym momencie procesu.
    • <process_history>: Historia wcześniejszych kroków procesu.
    • <markdown_content>: Treść w formacie Markdown jako część stanu.
    • <json_data>: Dane w formacie JSON jako część stanu.
    • <css_styles>: Style CSS do zastosowania jako część stanu.
    • <checkpoint_state>: Stan punktów kontrolnych procesu.
    • <variables>: Zmienne procesu.
    • <session_data>: Dane sesji użytkownika.

Cel 10: Tworzenie Specyficznych Typów Treści i Rozwiązań

Dla zadań wymagających konkretnego formatu lub podejścia, np. dokumentacja, materiały edukacyjne, prototypy.

  • Tagi Dokumentacji:
    • <documentation_prompt>: Tag główny dla zadań dokumentacyjnych.
    • <doc_type>: Typ dokumentacji (np. "dokumentacja techniczna API").
    • <target_users>: Odbiorcy dokumentacji.
    • <technical_depth>: Poziom szczegółowości technicznej dokumentacji.
    • <structure>: Struktura dokumentu.
  • Tagi Edukacyjne (Learning):
    • <learning_prompt>: Tag główny dla materiałów edukacyjnych.
    • <learning_objectives>: Cele nauczania.
    • <prerequisite_knowledge>: Wymagana wiedza wstępna.
    • <learning_path>: Ścieżka nauki.
    • <practical_exercises>: Ćwiczenia praktyczne.
  • Tagi Prototypowania:
    • <prototype_prompt>: Tag główny dla prototypowania.
    • <fidelity_level>: Poziom wierności prototypu (np. "szkic koncepcyjny").
    • <tech_stack>: Wykorzystywane technologie w prototypie.
    • <implementation_speed>: Priorytet szybkości implementacji prototypu.
    • <mockup_details>: Szczegółowość makiety.
  • Tagi Refaktoryzacji:
    • <refactoring_prompt>: Tag główny dla refaktoryzacji kodu.
    • <code_quality_issues>: Problemy jakości kodu do zaadresowania.
    • <refactoring_patterns>: Wzorce refaktoryzacji do zastosowania.
    • <technical_debt>: Dług techniczny do spłacenia.
    • <modernization>: Uwspółcześnienie kodu.

Cel 11: Definiowanie Aspektów Strategicznych, Komunikacyjnych i Współpracy (Szerszy Kontekst Projektowy)

Dla zadań osadzonych w szerszym kontekście strategicznym, wymagających określonego stylu komunikacji lub uwzględniających strukturę zespołu.

  • Tagi Strategiczne:
    • <vision>: Długoterminowa wizja projektu/produktu.
    • <roadmap>: Plan rozwoju, kolejność wdrażania funkcjonalności.
    • <market_fit>: Dopasowanie do rynku.
    • <competitive_analysis>: Analiza konkurencji.
  • Tagi Komunikacyjne:
    • <stakeholder_type>: Typ interesariusza, do którego kierowany jest komunikat.
    • <communication_goal>: Cel komunikacji.
    • <presentation_style>: Styl prezentacji.
    • <narrative>: Narracja komunikatu.
  • Tagi Współpracy (Collaboration):
    • <team_structure>: Struktura zespołu.
    • <roles_responsibilities>: Role i odpowiedzialności w zespole.
    • <coordination_tools>: Narzędzia koordynacji pracy zespołu.
    • <knowledge_sharing>: Sposoby dzielenia się wiedzą w zespole.

Jak Tworzyć Efektywne Prompty?

  1. Zacznij od Celu: Jasno zdefiniuj, co chcesz osiągnąć, używając <task> i <expected_output>.
  2. Określ Rolę i Kontekst: Pomóż AI zrozumieć, kim ma być (<role>) i w jakim otoczeniu działa (<context>, <audience>).
  3. Dostarcz Dane i Określ Format: Jeśli AI ma pracować na danych, użyj <data_input> lub <data>. Zdefiniuj format wyjściowy za pomocą <format>.
  4. Dodaj Ograniczenia i Instrukcje: Użyj <constraints> do określenia ram, a <instructions> do podania szczegółowych kroków.
  5. Bądź Precyzyjny: Im dokładniejsze informacje, tym lepsza odpowiedź. Unikaj wieloznaczności.
  6. Iteruj i Testuj: Tworzenie idealnego promptu często wymaga kilku prób. Testuj różne kombinacje tagów i treści, aby zobaczyć, co działa najlepiej. Analizuj odpowiedzi AI i dostosowuj prompt.
  7. Korzystaj z Przykładów: Tag <examples> może pomóc AI zrozumieć oczekiwany styl lub strukturę odpowiedzi.

Zaawansowane Przykłady: Agenci i Narzędzia

Poniżej znajdują się przykłady ilustrujące, jak definiować prompty dla agentów korzystających z narzędzi oraz jak tworzyć prompty dla samych narzędzi AI, które mogą być wywoływane przez agentów.

1. Prompty dla Agentów Korzystających z Narzędzi/Funkcji

Te prompty instruują agenta, jak wybierać, konfigurować i wykorzystywać dostępne narzędzia (lub funkcje) do realizacji bardziej złożonych zadań. Kluczową rolę odgrywa tutaj sekcja <tools_prompt>.

Przykład 1.1: Agent planujący podróż

Agent ma za zadanie zaplanować podróż, korzystając z API do wyszukiwania lotów, hoteli, atrakcji i pogody.

<prompt>
    <role>Asystent planowania podróży</role>
    <task>Zaplanuj 3-dniową podróż do Paryża dla 2 osób w przyszłym miesiącu, uwzględniając loty, hotel (4 gwiazdki, centrum) i sugestie 2 atrakcji dziennie.</task>
    <context>Użytkownik szuka kompletnego planu podróży.</context>
    <constraints>Budżet całkowity: 2000 EUR. Daty elastyczne w przyszłym miesiącu.</constraints>
    <tools_prompt>
        <available_tools>
            <tool name="FlightSearchAPI" description="Wyszukuje dostępne loty."/>
            <tool name="HotelBookingAPI" description="Wyszukuje i rezerwuje hotele."/>
            <tool name="AttractionFinderAPI" description="Znajduje atrakcje turystyczne i ich opisy."/>
            <tool name="WeatherAPI" description="Sprawdza prognozę pogody."/>
        </available_tools>
        <tool_selection_criteria>Wybierz narzędzia w kolejności potrzebnej do zaplanowania podróży: najpierw loty i hotel, potem atrakcje i pogoda.</tool_selection_criteria>
        <tool_usage_sequence>
            1. FlightSearchAPI (parametry: cel='Paryż', osoby=2, miesiąc='przyszły')
            2. HotelBookingAPI (parametry: miasto='Paryż', gwiazdki=4, lokalizacja='centrum', daty_z_lotów, osoby=2)
            3. AttractionFinderAPI (parametry: miasto='Paryż', liczba_dni=3, preferencje_użytkownika='opcjonalne')
            4. WeatherAPI (parametry: miasto='Paryż', daty_podróży)
        </tool_usage_sequence>
        <tool_output_handling>
            Zbierz wyniki ze wszystkich narzędzi i stwórz spójny plan podróży w formacie listy. Podaj ceny lotów i hotelu.
        </tool_output_handling>
    </tools_prompt>
    <expected_output>Szczegółowy plan podróży zawierający propozycje lotów, hotelu, atrakcji na każdy dzień oraz prognozę pogody, mieszczący się w budżecie.</expected_output>
</prompt>

Przykład 1.2: Agent analizujący dane sprzedażowe

Agent wykorzystuje narzędzia do połączenia z bazą danych, przetwarzania danych i generowania wykresów.

<prompt>
    <role>Analityk danych sprzedażowych</role>
    <task>Przeanalizuj dane sprzedażowe z ostatniego kwartału, zidentyfikuj najlepiej sprzedające się produkty i stwórz wykres słupkowy pokazujący ich sprzedaż.</task>
    <context>Dane znajdują się w bazie danych 'sales_db', tabela 'quarterly_sales'.</context>
    <tools_prompt>
        <available_tools>
            <tool name="DatabaseConnector" description="Łączy się z bazą danych i wykonuje zapytania SQL."/>
            <tool name="DataProcessor" description="Przetwarza dane, np. grupuje, sortuje."/>
            <tool name="ChartGenerator" description="Generuje wykresy na podstawie danych."/>
        </available_tools>
        <tool_usage_sequence>
            1. DatabaseConnector (parametry: query='SELECT product_name, SUM(units_sold) AS total_units FROM quarterly_sales GROUP BY product_name ORDER BY total_units DESC LIMIT 5;')
            2. DataProcessor (parametry: input_data=wynik_z_DB, task='przygotuj dane do wykresu')
            3. ChartGenerator (parametry: type='bar', data=wynik_z_DataProcessor, title='Top 5 sprzedających się produktów QX YYYY')
        </tool_usage_sequence>
        <tool_output_handling>Wyświetl listę top 5 produktów oraz wygenerowany wykres.</tool_output_handling>
    </tools_prompt>
    <expected_output>Lista top 5 produktów z ostatniego kwartału wraz z wykresem słupkowym ich sprzedaży.</expected_output>
</prompt>

2. Prompty Definiujące Narzędzia AI dla Agentów

Te prompty określają, jak ma działać konkretne, wyspecjalizowane narzędzie AI, które może być następnie wywoływane przez innego agenta. Są to w istocie "system prompty" dla tych narzędzi.

Przykład 2.1: Narzędzie AI do Analizy Sentymentu

Ten prompt definiuje narzędzie, które analizuje sentyment podanego tekstu.

<prompt>
    <role>Specjalistyczne narzędzie AI do analizy sentymentu tekstu</role>
    <task>Przeanalizuj podany tekst wejściowy i określ jego sentyment (pozytywny, negatywny, neutralny) oraz zwróć ocenę pewności tej klasyfikacji.</task>
    <context>Działasz jako funkcja, która przyjmuje tekst i zwraca ustrukturyzowaną odpowiedź. Twoja analiza powinna być obiektywna i oparta wyłącznie na treści tekstu.</context>
    <input_prompt>
        <data_format>JSON zawierający klucz "text_to_analyze" z wartością tekstową.</data_format>
        <example_input>{"text_to_analyze": "Obsługa klienta była fantastyczna, a produkt przekroczył moje oczekiwania!"}</example_input>
        <schema>{"type": "object", "properties": {"text_to_analyze": {"type": "string"}}, "required": ["text_to_analyze"]}</schema>
    </input_prompt>
    <instructions>
        1. Przetwórz tekst z pola "text_to_analyze".
        2. Dokonaj klasyfikacji sentymentu na jedną z trzech kategorii: "pozytywny", "negatywny", "neutralny".
        3. Określ poziom pewności swojej klasyfikacji w skali 0.0 do 1.0.
        4. Zwróć wynik w formacie JSON.
    </instructions>
    <format>
        Odpowiedź wyłącznie w formacie JSON.
        ```json
        {
            "sentiment": "pozytywny | negatywny | neutralny",
            "confidence_score": 0.0-1.0
        }
        ```
    </format>
    <expected_output>Obiekt JSON zawierający pole "sentiment" z jedną z trzech wartości oraz pole "confidence_score" z wartością liczbową.</expected_output>
    <criteria>
        - Poprawność klasyfikacji sentymentu.
        - Zgodność formatu wyjściowego JSON ze specyfikacją.
        - Podanie wiarygodnego wskaźnika pewności.
    </criteria>
</prompt>

Przykład 2.2: Narzędzie AI do Tłumaczenia Tekstu

Ten prompt definiuje narzędzie realizujące funkcję tłumaczenia tekstu na wskazany język.

<prompt>
    <role>Narzędzie AI specjalizujące się w tłumaczeniu tekstu</role>
    <task>Przetłumacz dostarczony tekst na wskazany język docelowy, zachowując znaczenie i styl oryginału.</task>
    <context>Jesteś wywoływany jako funkcja. Otrzymasz tekst do przetłumaczenia oraz kod języka docelowego.</context>
    <input_prompt>
        <data_format>JSON zawierający klucze "text_to_translate" (string) oraz "target_language_code" (string, np. "en", "es", "de").</data_format>
        <example_input>{"text_to_translate": "Witaj świecie!", "target_language_code": "en"}</example_input>
        <schema>{
            "type": "object",
            "properties": {
                "text_to_translate": {"type": "string"},
                "target_language_code": {"type": "string"}
            },
            "required": ["text_to_translate", "target_language_code"]
        }</schema>
    </input_prompt>
    <instructions>
        1. Pobierz "text_to_translate" oraz "target_language_code" z danych wejściowych.
        2. Dokonaj tłumaczenia tekstu na język docelowy.
        3. Staraj się zachować naturalność brzmienia w języku docelowym.
        4. Zwróć przetłumaczony tekst w formacie JSON.
    </instructions>
    <format>
        Odpowiedź wyłącznie w formacie JSON.
        ```json
        {
            "translated_text": "Twoje przetłumaczone zdanie tutaj."
        }
        ```
    </format>
    <expected_output>Obiekt JSON zawierający klucz "translated_text" z przetłumaczonym tekstem.</expected_output>
    <criteria>
        - Poprawność gramatyczna i stylistyczna tłumaczenia.
        - Zachowanie znaczenia oryginalnego tekstu.
        - Zgodność formatu wyjściowego JSON ze specyfikacją.
    </criteria>
</prompt>

Przykłady Zastosowania Frameworka (Kompleksowe)

Framework ten jest elastyczny i może być używany do różnorodnych zadań. Przykładowe, bardziej złożone implementacje można znaleźć w następujących plikach (które również wykorzystują ten system tagów do swojej definicji):

  • mermaid.md: Generator diagramów Mermaid.
  • img_generator.md: Generator ikon w spójnym stylu.
  • metacreator.md: Generator promptów dla agentów AI.
  • pm.md: Agent zarządzający procesami (Process Master).
  • before.md: Agent do analizy zadań przed ich wykonaniem.

Prosty Przykład Ogólny: Generowanie Pomysłów na Artykuł

<prompt>
    <role>Doświadczony content manager specjalizujący się w technologiach AI</role>
    <task>Zaproponuj 5 angażujących tematów na artykuły blogowe dotyczące praktycznego zastosowania AI w małych firmach.</task>
    <context>Artykuły mają być publikowane na blogu skierowanym do przedsiębiorców, którzy nie są ekspertami technicznymi.</context>
    <audience>Właściciele i menedżerowie małych firm, osoby nietechniczne.</audience>
    <expected_output>Lista 5 tematów, każdy z krótkim (1-2 zdania) opisem, co mógłby zawierać artykuł.</expected_output>
    <constraints>Tematy powinny być oryginalne i skupiać się na rzeczywistych korzyściach, a nie na skomplikowanej teorii.</constraints>
    <tone>Praktyczny, inspirujący, zrozumiały dla laika.</tone>
    <brainstorm_prompt>
        <quantity>5</quantity>
        <diversity>Tematy powinny dotyczyć różnych obszarów działalności małej firmy (marketing, obsługa klienta, operacje itp.)</diversity>
    </brainstorm_prompt>
</prompt>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment