מגדיר במפורש את יעד-העל שמעולם לא הוגדר: שהסוכנים יכתבו וינתחו עררים בדיוק כמו דפנה תמיר, דרך תת-מערכת Style-Acquisition נפרדת ממערכת-הכתיבה. - CLAUDE.md: פרק "יעד-העל: רכישת-הסגנון" — הפרדה writing↔learning, Authorial Style Profiling (לא fine-tuning), מדיניות-העתקה לפי סוג-תוכן - docs/spec/07-learning.md §0: תת-המערכת, 3 ערוצי-הזנה, צינור 7-שלבים, ניהול ב-UI, + INV-LRN4 (ניגוד-אמת draft↔final) + INV-LRN5 (טוהר-הקול) - TaskMaster: 15 משימות T0-T14 (89-103) — MVP=T0+T4+T7 ללא שינוי-קוד runtime. 1130-25 כבר נקלט ל-internal_committee (תהליך מקביל). INV: G9 (ידע מובנה), G10 (שער-יו"ר), G11 (סגנון דפנה). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
19 KiB
07 — לולאת הלמידה (Learning Loop)
קובץ-תחום זה כפוף ל-חוקת המערכת ומפרט כיצד המערכת לומדת לאורך זמן — מהחלטות סופיות (Hermes), מפידבק-היו"ר, ומצמיחת-הקורפוס — באופן שמזין חזרה את הכתיבה (04-analysis-writing.md) ואת שערי-האיכות (05-qa-review.md). הוא אוכף את INV-G10 (שערים אנושיים — אישור היו"ר על כל עדכון-ידע) ואת INV-G4 / כלל-ההנדסה quality-at-source (האחריות לאיכות יושבת במקור, לא בטלאי במורד הזרם).
⚠ קובץ מעורב — שני מודלי-סמכות (לפי החוקה §3, §5):
- שער-הממשל (Hermes מציע — היו"ר מאשרת ידנית; אין auto-commit ל-SKILL/lessons) הוא invariant הנדסי במודל הממשל-שיפוטי → נושא
מקורות:(NCSC/JTC · CEPEJ 2018 · FJC) +סטטוס: verified.- כלל-ההנדסה quality-at-source (היכן יושבת האחריות לאיכות-הידע) → invariant הנדסי במודל הנדסת-הנתונים → נושא
מקורות:(Fowler — Data Mesh / quality-at-source · DAMA-UK · ISO 8000) +סטטוס: verified.
0. תת-מערכת רכישת-הסגנון (Style Acquisition) — יעד-העל וההפרדה מהכתיבה
יעד-העל של legal-ai: שהסוכנים יכתבו וינתחו עררים בדיוק כמו עו"ד דפנה תמיר — להפנים את הקול והשיטה, לא רק לייצר טיוטה תקנית. ל-end זה מחייב הפרדה מובהקת בין שתי תת-מערכות:
| Writing Subsystem | Style-Acquisition Subsystem | |
|---|---|---|
| שאלה | "איך אכתוב את התיק כמו דפנה?" | "מה למדנו מהפער בין מה שכתבנו למה שדפנה חתמה?" |
| טריגר | issue כתיבה | mark-final |
| פלט | 12 בלוקים | עדכוני-קול מאושרים + מדד-מרחק |
| סוכנים | writer/analyst/qa/ceo | hermes-curator (מורחב) |
| יחס ל-artifacts-הקול | צרכן read-only | היחיד שכותב (דרך שער INV-G10) |
0.1 הגישה: Authorial Style Profiling, לא fine-tuning
היעד הוא Text Style Transfer מבוסס פרופיל-סגנון מופשט — להכליל את סגנון/שיטת דפנה ולהתאים לתיק הספציפי. fine-tuning של משקולות לא רלוונטי: המודל (Opus) סגור, והקורפוס (~48 החלטות, יו"ר חדשה) קטן מדי — מצב שבו הספרות מראה שפרופיל-מופשט + דוגמאות מנצח (≈+15% מעל RAG-בלבד). מדיניות-העתקה לפי סוג-תוכן: קבוע/נוסחאי (פתיחים דוקטרינליים, תבניות-סיום) → מותר להעתיק; ניתוח/טענות ספציפיים → להכליל ולהתאים; מהות (הלכה/עובדה מתיק אחר) → אסור (INV-LRN5).
0.2 שלושת ערוצי-ההזנה לכותב
- A — פרופיל-מופשט (ראשי): voice-fingerprint + author-features כמותיים, מוזרק לכתיבה.
- B — דוגמאות + תבניות (תומך): פסקאות-בלוק אמיתיות + Copy-Paste Templates + contrastive.
- C — deep-read (נקודתי): voice-XXXX.md — worked example לתיק-מופת.
0.3 הצינור החוזר per-final (7 שלבים)
mark-final → [1] INTAKE (snapshot של הטיוטה) → [2] PAIRING (בלוק↔בלוק) → [3] ALIGNMENT (diff פר-בלוק) → [4] DISTILLATION (מפריד סגנון↔מהות) → [5] CURATION (Hermes + שער-יו"ר) → [6] FEEDBACK (ניתוב לערוץ A/B/C) → [7] MEASUREMENT (מדד-מרחק-סגנון).
0.4 ניהול ב-UI
/methodology = עורך-הפרופיל (declarative: יחסי-זהב, כללי-דיון, צ׳קליסטים, ביטויי-מעבר, אנטי-דפוסים, voice-invariants). /training = שולחן-הלמידה (קורפוס, פורטרט-סגנון, השוואת draft↔final, curator, מדד-מרחק, פנקס-התאמה).
0.5 Invariants חדשים
INV-LRN4 (ניגוד-אמת → G10/G9): למידת-קול מבוססת pairing draft↔final ברמת-בלוק, לא קריאת-final בלבד. כל החלטה אינה "סגורה" עד שהושוותה מול הסופי; כל סופי מנותח מול הטיוטה. נשמר פנקס-התאמה (draft_final_pairs) עם מצב-חיים draft_done → final_received → analyzed → lessons_folded.
מקורות: imitation-learning-from-expert-edits · contrastive personalization (arxiv 2504.08745) · author-profiling. סטטוס: verified.
INV-LRN5 (טוהר-הקול → G4/G11): שכבת-ידע-הקול (voice-fingerprint, style_patterns, exemplars) לא תכיל הלכות/עובדות ספציפיות — רק סגנון ושיטה. מהות מנותבת ל-precedent_library/halacha. ה-distillation מפריד במקור. מקורות: quality-at-source (Data Mesh) · separation-of-concerns. סטטוס: verified.
1. שלוש לולאות-המשנה
הלמידה אינה אירוע יחיד אלא שלוש לולאות המתנקזות לאותם מסמכי-ידע מוסמכים (legal-decision-lessons.md, skills/decision/SKILL.md) ולקורפוסים:
1.1 לולאת-Hermes (post-export → הצעה → אישור)
הסוכן hermes-curator (adapter deepseek_local,
פרופילים curator-cmp / curator-cmpa) נקרא אחרי שדפנה מסמנת קובץ כסופי ב-UI
(POST /api/cases/{case_number}/exports/{filename}/mark-final → pc_wake_curator_for_final()
ב-web/paperclip_client.py → sub-issue + wakeup; חיבור ישיר מה-UI, לא דרך CEO —
hermes-curator.md:27-35). הוא:
- קורא בלבד את הטקסט הסופי (
case_get_final_text),get_style_guide, ואתSKILL.md/legal-decision-lessons.md/corpus-analysis.mdהמקומיים (hermes-curator.md:60-70). - מזהה 3–5 דפוסים/פערים חדשים, כל ממצא מתויג
[סגנון]/[מבנה]/[לקסיקון משפטי]/[טבלאי](hermes-curator.md:99-108). - מציע — comment ב-Paperclip + רישום כל ממצא כ-
decision_lessonדרךPOST /api/training/corpus/{corpus_id}/lessons(source:"curator") שמופיע ב-UI תחת הטאב "מה למדנו" (hermes-curator.md:73-96). - אינו מעדכן קבצים בעצמו (skills/, lessons.py, DB) — רק מציע (
hermes-curator.md:125-130).
1.2 לולאת-פידבק-היו"ר (capture → ניתוח שבועי → לקחים)
- לכידה מובנית:
record_chair_feedbackשומר הערת-דפנה בטבלתchair_feedback(category ∈ {missing_content, wrong_tone, wrong_structure, factual_error, style, other}) —tools/workflow.py:348, ראה 05-qa-review.md §2.3. - ניתוח שבועי: ה-scheduled job
weekly-feedback-analysis(ראשון 19:00,plugin-legal-ai/src/manifest.ts:175-179) מושךGET /api/chair-feedback/weekly-summary, ואם יש פריטים — מעיר את ה-CEO לעדכן אתlegal-decision-lessons.mdעם הלקחים החדשים (worker.ts:784-837; הוראת ה-prompt: "הוסף רק לקחים חדשים… קבץ לפי נושא" —worker.ts:830). - אין פריטים → הג'וב מדלג בשקט (
worker.ts:805). ל-CEO שמתעורר מ-weekly-feedback-jobאיןissueId— הוא כותב לקובץ בלבד, לא מפרסם comment ולא סוגר issue (כלל מ-CLAUDE.md "Scheduled Jobs").
1.3 לולאת-צמיחת-הקורפוס (החלטה סופית → קורפוס → אחזור)
החלטה סופית נקלטת לקורפוס-הסגנון (ingest_final_version — ראה 06-export.md
§ Hermes), ופסיקה/החלטות-ועדה חדשות נקלטות דרך המסלול הקנוני של
01-ingest.md. כך הקורפוס שמזין את האחזור (03-retrieval.md)
גדל מהפלט עצמו — והדיון הבא נשען על תקדים עשיר יותר. צמיחה זו כפופה לאותו חוזה-שלמות
(G4) כמו כל קליטה.
2. הלולאה במלואה (הציור)
┌──────────────────────────────────────────────────────┐
│ │
┌─────────────▼─────────────┐ ┌────────────────────────┐ │
│ כתיבה (04) │ ───▶ │ QA + שערים אנושיים (05)│ │
│ 12 בלוקים · סגנון דפנה │ │ validate_decision + │ │
│ ← lessons.py CONTENT_ │ │ פידבק-היו"ר │ │
│ CHECKLISTS · SKILL.md │ └───────────┬────────────┘ │
└───────────────────────────┘ │ ייצוא (06) │
▲ ▼ │
│ ┌──────────────────────┐ │
┌────────┴──────────────┐ │ סימון "סופי" (UI) │ │
│ legal-decision- │ │ mark-final │ │
│ lessons.md + SKILL.md │ └───────┬──────────────┘ │
│ (מסמכי-ידע מוסמכים) │ │ │
└────────▲──────────────┘ ┌──────────┴───────────┐ │
│ ▼ ▼ │
│ ✋ אישור-יו"ר ידני ┌───────────────┐ ┌────────────────┐│
└──────────────────────│ Hermes curator │ │ ingest_final → ││
(commit ידני בלבד) │ → הצעות(comment)│ │ קורפוס-סגנון → ┘│
└───────────────┘ │ אחזור (03) │
┌───────────────────────────┐ └────────────────┘
│ פידבק-היו"ר (05) ──┐ │
│ chair_feedback │ │
└────────────────────┼───────┘
▼
weekly-feedback-analysis (job)
│ מעיר CEO
▼
עדכון legal-decision-lessons.md ──┐
└──▶ (חזרה ל-04 / lessons.py)
הקשר לכתיבה: הלקחים והצ'קליסטים שב-CONTENT_CHECKLISTS
(mcp-server/src/legal_mcp/services/lessons.py:355, בורר get_content_checklist
:509-555) ו-get_lessons_for_outcome (lessons.py:309) מוזרקים ל-prompt-הכתיבה לפי
סוג-ערר ותוצאה — ראה 04-analysis-writing.md §5. כל סגירה של
לולאה (Hermes או פידבק) שמשנה את legal-decision-lessons.md / SKILL.md משפיעה ישירות
על הכתיבה הבאה.
3. Invariants של התחום
INV-LRN1: עדכון-ידע דורש אישור-יו"ר ידני — אין auto-commit (governance →G10)
כלל: מנגנוני-הלמידה (Hermes, ניתוח-פידבק שבועי) מציעים בלבד. כל שינוי ב-
SKILL.md או ב-legal-decision-lessons.md
מחייב בחינה ואישור ידניים של היו"ר/חיים ואז commit ידני — לעולם לא auto-committed.
Hermes כותב comment + decision_lesson, לא קבצים; ה-CEO השבועי כותב לקובץ אך הצעותיו
מאומתות ידנית לפני קיבוע. זהו פֶּאֶט של INV-G10
על שכבת-הידע: גם הלמידה כפופה לשיקול-הדעת האנושי.
מקורות: NCSC/JTC — Principles & Practices for AI Use in Courts (human-in-the-loop;
never replace human judgment) · Council of Europe / CEPEJ (2018, under user control) ·
Federal Judicial Center — Judicial Writing Manual (2d ed.) | סטטוס: verified
אכיפה: הסוכן read-only על תוכן ו-write רק על comments (hermes-curator.md:1-3, 125-130);
תהליך-האישור — הצעת-curator כ-comment ב-Paperclip → חיים בוחן ומאשר ידנית → commit ל-
SKILL.md ו-docs/legal-decision-lessons.md (מ-CLAUDE.md "Hermes Curator");
ה-CEO השבועי מתעורר בלי issueId וכותב לקובץ בלבד (CLAUDE.md "Scheduled Jobs").
הפרה ידועה: —
INV-LRN2: האחריות לאיכות יושבת במקור — quality-at-source (engineering →G4)
כלל: האחריות לאיכות-הידע (לקחים, הלכות, metadata של פריטים מואנדקסים) נאכפת קרוב ככל האפשר לנקודת-היצירה/הקליטה — בעת ניסוח-ההחלטה, בעת לכידת-הפידבק, ובעת קליטת-פריט — לא מתוקנת בדיעבד במורד-הזרם (re-OCR, טלאי-קריאה, ניחוש בזמן-חיפוש). פריט-ידע חסר-שלמות מסומן ומדווח בנקודת-הכניסה, לא מתקבל בשקט. מקורות: Martin Fowler — Data Mesh (quality-at-source: domain owns data quality at the point of creation) · DAMA-UK Six Primary Dimensions for Data Quality (2013, completeness) · ISO 8000 (Data quality) | סטטוס: verified אכיפה: חוזה-שלמות בקליטה (01-ingest.md §2, 02-data-model.md)
- "אין בליעה שקטה" (חוקה §6); לכידת-פידבק מובנית בנקודת-ההערה (
record_chair_feedback,tools/workflow.py:348); לקחים נשמרים מבני ולא ad-hoc (lessons.py, legal-decision-lessons.md). הפרה ידועה: ראה INV-G4 (ערן סופר 8046/24 אונדקס עםheadnote/summary/tagsריקים — שלמות לא נאכפה במקור) → ממצא ל-audit.
INV-LRN3: ידע נלכד באופן מובנה — לא ad-hoc (engineering →G9)
כלל: פידבק ולקחים נלכדים במבנה דטרמיניסטי ועקיב — chair_feedback (עם category
ו-block_id), decision_lessons (עם category/source), ו-CONTENT_CHECKLISTS בקוד —
כך שהלמידה עמידה וניתנת-לביקורת, לא פזורה בהערות חופשיות. מקור-הלקח (source:"curator"
מול פידבק-יו"ר) משומר לעקיבוּת.
מקורות: ISO 15489-1:2016 (records reliability/authenticity) · DAMA-UK Six Primary
Dimensions for Data Quality (2013) · ISO 8000 (Data quality) | סטטוס: verified
אכיפה: טבלת chair_feedback + record_chair_feedback/list_chair_feedback
(tools/workflow.py:348, 393); decision_lessons עם source+category
(hermes-curator.md:79-96); CONTENT_CHECKLISTS/get_lessons_for_outcome
(lessons.py:355, 309). עקיבוּת-מקור קושרת ל-X5-audit-provenance.md.
הפרה ידועה: —
4. הג'ובים המתוזמנים (תמיכת-תשתית ללולאה)
Job (manifest.ts) |
לוח-זמנים | תפקיד בלולאה |
|---|---|---|
weekly-feedback-analysis |
ראשון 19:00 (:175-179) |
מסכם פידבק-יו"ר → מעיר CEO לעדכון legal-decision-lessons.md (worker.ts:784-837) |
stale-case-reminder |
יומי 08:00 (:169-172) |
תזכורת על תיקים תקועים 30+ ימים (worker.ts:710-780) — היגיינת-תהליך, לא ידע |
sync-case-status |
כל 15 דק' (:162-166) |
מסנכרן סטטוסי-תיקים legal-ai↔Paperclip (worker.ts:624) — תשתית, לא ידע |
רק weekly-feedback-analysis הוא חלק מלולאת-הלמידה; שני האחרים הם היגיינת-תהליך/סנכרון.
5. הפניות-אחיות
- 00-constitution.md — INV-G10 (שערים אנושיים) + INV-G4 (quality-at-source) + כלל-ההנדסה §6.
- 04-analysis-writing.md — הכתיבה שהלקחים/הצ'קליסטים מזינים (§3, §5).
- 05-qa-review.md — שער פידבק-היו"ר (§2.3) שמתחיל את לולאת-הפידבק.
- 01-ingest.md — קליטה אחידה (quality-at-source) לצמיחת-הקורפוס.
- 03-retrieval.md — האחזור שהקורפוס הגדל מזין.
- 06-export.md —
mark-finalשמפעיל את Hermes +ingest_final_version. - X5-audit-provenance.md — עקיבוּת-מקור של לקחים (
source). - הסוכן: .claude/agents/hermes-curator.md.
- מסמכי-הידע המוסמכים: legal-decision-lessons.md · skills/decision/SKILL.md · corpus-analysis.md.