Podręcznik uczestnika z objaśnieniami, przykładami i ćwiczeniami do samodzielnej nauki do Modułu 5

8. Podsumowanie i dalsza praca

Rezultatem jest prototyp, którego decyzje można prześledzić: od wiadomości i rozwiązania odniesienia po narzędzie, wynik i źródła. Model pozostaje jednym z elementów, a kod odpowiada za granice wykonania i zapis dowodów.

1. Mapa odpowiedzialności

Pytanie Gdzie zajrzeć
Czy wejście jest poprawne? validate_chat_message i validation.
Co oznacza zaimek? Resolver, original_question i standalone_question.
Dlaczego ta funkcja? Prompt, raw_response, proposal i decision.
Czy wolno ją wykonać? Rejestr, walidatory i znacznik próby.
Czy kontekst wystarczył? rag.diagnostics, reason, sources i teksty.
Skąd pochodzą źródła? source_origin, chunk_id i poprzedni RAG.
Czy zapis jest spójny? result_id, conversation_id, turn_id, ocena i raport.

2. Co powstało w moj_m5.py

  1. R1: create_initial_state.
  2. R2: validate_chat_message, print_chat_result, run_chat.
  3. R3: get_recent_history, resolve_followup_question, finalize_turn.
  4. R4: build_tool_choice_prompt, propose_action, normalize_action_proposal.
  5. R5: validate_answer_arguments, normalize_tool_output, execute_tool_call.
  6. R6: build_tool_call, assistant_step.

Konfiguracja, adapter RAG, opakowania wyniku, katalog metadanych i komendy pochodzą ze szkieletu. Własny moduł nadal korzysta z m4_tools i m3_tools. Testy kontraktów oraz analiza odpowiedzi sprawdzają różne właściwości; nie zastępują się nawzajem.

3. Co zachować do dalszej oceny

  1. Kontrakt R1 i własny moj_m5.py.
  2. Notebook warsztatowy z wynikami testów.
  3. Katalogi prób z parametrami, trybem, indeksem i surowymi wynikami.
  4. Dla R6: functional_tests.jsonl, assistant_trace.jsonl, tool_trace.jsonl, ocena_<id>.json i raport_integracji_<id>.md.
  5. Opis zmiany promptu lub resolvera względem wersji referencyjnej.

W M6 można osobno oceniać trafność selektora, pokrycie kontekstu, odpowiedź i kontrolę wykonania. Checkpoint oznacz jako odtworzenie; jego czas odczytu nie jest pomiarem generacji modelu.

4. Lista końcowa

  1. Rozróżniam interfejs, asystenta, RAG i wybór narzędzia.
  2. Historia nie zastępuje źródeł.
  3. Nie wykonuję nazwy funkcji przez eval ani powłokę.
  4. Oddzielam format, intencję i wykonanie.
  5. Znam różnicę między answered z odmową i insufficient_context.
  6. Łączę źródła, turę, wynik i ocenę.
  7. Dubler nie jest pomiarem LLM.
  8. Po /clear nie używam starych odniesień i źródeł.

5. Typowe problemy

Objaw Najpierw sprawdź
NotImplementedError Zastąp całą wskazaną funkcję i zapisz plik.
Stary wynik po zmianie kodu Przeładuj moduł i utwórz nowy stan.
Brak importu m4_tools Zachowaj strukturę Student i ścieżkę kod.
Brak checkpointu Porównaj pytanie i prompt; dla zmiany użyj Ollama.
Brak zapisu oceny Usuń UZUPEŁNIJ i zachowaj właściwe result_id.
Standardowy notebook nie używa zmian Użyj warsztatu oraz jego adaptera scenariuszy.

ENHANCER+ · Politechnika Warszawska · podręcznik do samodzielnej pracy · M5