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
- R1: create_initial_state.
- R2: validate_chat_message, print_chat_result, run_chat.
- R3: get_recent_history, resolve_followup_question, finalize_turn.
- R4: build_tool_choice_prompt, propose_action, normalize_action_proposal.
- R5: validate_answer_arguments, normalize_tool_output, execute_tool_call.
- 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
- Kontrakt R1 i własny moj_m5.py.
- Notebook warsztatowy z wynikami testów.
- Katalogi prób z parametrami, trybem, indeksem i surowymi wynikami.
- Dla R6: functional_tests.jsonl, assistant_trace.jsonl, tool_trace.jsonl, ocena_<id>.json i raport_integracji_<id>.md.
- 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
- Rozróżniam interfejs, asystenta, RAG i wybór narzędzia.
- Historia nie zastępuje źródeł.
- Nie wykonuję nazwy funkcji przez eval ani powłokę.
- Oddzielam format, intencję i wykonanie.
- Znam różnicę między answered z odmową i insufficient_context.
- Łączę źródła, turę, wynik i ocenę.
- Dubler nie jest pomiarem LLM.
- 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