From 1c7464c2ce2a098b9d859d3718377b168feb99c7 Mon Sep 17 00:00:00 2001 From: Chaim Date: Sat, 25 Jul 2026 16:49:27 +0000 Subject: [PATCH] =?UTF-8?q?refactor(agents):=20=D7=9E=D7=91=D7=A0=D7=94-?= =?UTF-8?q?=D7=A4=D7=A8=D7=95=D7=9E=D7=A4=D7=98=20=E2=80=94=20verdict=20?= =?UTF-8?q?=D7=9E=D7=95=D7=91=D7=A0=D7=94=20=D7=9C-QA,=20=D7=AA=D7=92?= =?UTF-8?q?=D7=99=D7=AA=20chair=5Fdirections,=20=D7=A0=D7=99=D7=A7=D7=95?= =?UTF-8?q?=D7=99=20=D7=AA=D7=91=D7=A0=D7=99=D7=95=D7=AA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit שדרוג מבנה-פרומפט ממוקד (Anthropic prompt-engineering), רק היכן שיש ROI אמיתי — הפרומפטים כבר בנויים היטב, אז לא בוצעה עטיפת-XML גורפת: - legal-qa: דוח-בדיקה במבנה קבוע (טבלת pass/fail/חומרה + החלטת-ייצוא). markdown ולא XML — הדוח מוצג ליו"ר כהערת Paperclip. - legal-ceo ↔ legal-writer (זוגי): ה-CEO עוטף עמדות-יו"ר מילוליות ב- בהעברה לכותב; הכותב מונחה להתייחס אליהן כמחייבות (כמו chair_ruling מהכלי). - legal-analyst: הבהרה ששתי הופעות "7א" הן אותו סעיף (הסרת תבניות חופפות). - legal-writer: דוגמת-הפלט עטופה ב- (מבדיל דוגמה מהוראה). תגיות רק במקום שהמודל קורא (פרומפט/הקשר-מועבר), לא ב-output מוצג-למשתמש. Deploy: קבצי-סוכנים נקראים מעץ-העבודה על ה-host; אחרי merge צריך git pull ב-~/legal-ai. 🤖 Generated with [Claude Code](https://claude.com/claude-code) --- .claude/agents/legal-analyst.md | 2 +- .claude/agents/legal-ceo.md | 3 ++- .claude/agents/legal-qa.md | 20 +++++++++++++++----- .claude/agents/legal-writer.md | 8 ++++++-- 4 files changed, 24 insertions(+), 9 deletions(-) diff --git a/.claude/agents/legal-analyst.md b/.claude/agents/legal-analyst.md index 0665bc1..1e6f1c1 100644 --- a/.claude/agents/legal-analyst.md +++ b/.claude/agents/legal-analyst.md @@ -234,7 +234,7 @@ search_precedent_library( ### 5ד. תיעוד מחייב — סעיף "שאילתות לקורפוסים" ב-`analysis-and-research.md` -ב-artifact הסופי, חובה להופיע סעיף חדש בשם **"7א. שאילתות לקורפוסים — log מלא"**, עם הפורמט הבא: +ב-artifact הסופי, חובה להופיע סעיף חדש בשם **"7א. שאילתות לקורפוסים — log מלא"**, עם הפורמט הבא. (זהו סעיף 7א שמופיע גם בתבנית-הפלט המלאה שבהמשך — **אותו סעיף אחד**, לא תבנית נפרדת.) ```markdown ## 7א. שאילתות לקורפוסים — log מלא diff --git a/.claude/agents/legal-ceo.md b/.claude/agents/legal-ceo.md index 5514e7b..653c76c 100644 --- a/.claude/agents/legal-ceo.md +++ b/.claude/agents/legal-ceo.md @@ -850,7 +850,8 @@ ls data/cases/$CASE_NUMBER/documents/research/analysis-and-research.md ... ### 4. chair directions -- העתק מלא של עמדות הוועדה מ-analysis-and-research.md (או הפנייה: "קרא get_chair_directions") +- העתק מלא של עמדות הוועדה מ-analysis-and-research.md (או הפנייה: "קרא get_chair_directions"). +- **עטוף את ההעתק המילולי בתגית ``** — כך הכותב מבחין בין הוראות-היו"ר המילוליות לבין הערות ה-CEO, ואינו דורס אותן. בתוך התגית: טקסט מילולי בלבד, בלי פרפרזה. ### 5. הנחיות סגנון - ניטרליות: בלוק ו = עובדות בלבד, בלי ציטוטים מצדדים diff --git a/.claude/agents/legal-qa.md b/.claude/agents/legal-qa.md index 91c06b2..0ee8110 100644 --- a/.claude/agents/legal-qa.md +++ b/.claude/agents/legal-qa.md @@ -232,11 +232,21 @@ new → processing → documents_ready → analyst_verified → research_complet 6. האם יש אנלוגיה לתקדים ללא הסבר מדיניות (למה הדמיון רלוונטי)? ### שלב 3: דיווח — חובה! -פרסם comment ב-Paperclip עם: -- תוצאת כל בדיקה (pass/fail) -- רשימת שגיאות מפורטת (אם יש) -- האם מותר לייצא (כל הקריטיים pass?) -- עדכן סטטוס ל-qa_review (אם נכשל) או drafted (אם עבר) +פרסם comment ב-Paperclip **במבנה קבוע** (markdown — נקרא ע"י היו"ר וע"י ה-CEO), כדי שהפסיקה תהיה עקבית וניתנת-לפרסינג. מלא שורה לכל אחת מ-7 הבדיקות: + +```markdown +## דוח בדיקת איכות — ערר {case_number} + +| בדיקה | תוצאה | חומרה | ממצא (אם fail) | +|-------|:-----:|:-----:|-----------------| +| {שם הבדיקה} | pass / fail | critical / major / minor | {פירוט קצר} | +| ... שורה לכל 7 הבדיקות ... | | | | + +**מותר לייצא:** כן / לא ← "לא" אם ולו בדיקה **critical** אחת ב-fail +**סטטוס חדש:** drafted (עבר) / qa_review (נכשל) +``` + +- עדכן סטטוס בהתאם: `drafted` (אם עבר) או `qa_review` (אם נכשל). ### סגור את ה-issue של עצמך + העֵר CEO — חובה! diff --git a/.claude/agents/legal-writer.md b/.claude/agents/legal-writer.md index 92aab76..8a3d965 100644 --- a/.claude/agents/legal-writer.md +++ b/.claude/agents/legal-writer.md @@ -122,9 +122,11 @@ tools: 4. החזר את הטקסט ל-CEO (בקומנט או כ-return value) — **לא** שומר ב-DB 5. CEO יקרא ל-`revise_draft` עם הטקסט שלך -**דוגמה לפלט מצופה:** +**דוגמה לפלט מצופה** (עטופה בתגית כדי שלא תתבלבל עם הוראה): -> בבג"ץ 1234/21 [פלוני נ' הוועדה המחוזית] קבע בית המשפט העליון כי הוועדה המקומית מחויבת לשקול שיקולי Y גם בהיעדר התנגדות מפורשת. הלכה זו חלה ישירות על ענייננו: הוועדה המקומית לא בחנה את Y, ודי בכך כדי להחזיר את הדיון לוועדה. + +בבג"ץ 1234/21 [פלוני נ' הוועדה המחוזית] קבע בית המשפט העליון כי הוועדה המקומית מחויבת לשקול שיקולי Y גם בהיעדר התנגדות מפורשת. הלכה זו חלה ישירות על ענייננו: הוועדה המקומית לא בחנה את Y, ודי בכך כדי להחזיר את הדיון לוועדה. + --- @@ -373,6 +375,8 @@ case_update(case_number, status="drafted") ### חובה: שימוש בעמדות יו"ר מ-`get_chair_directions` +> **מקור העמדות:** בדרך-כלל מ-`get_chair_directions` (שלב 1ג). אם ה-CEO **העתיק** עמדות-יו"ר לתוך ה-issue שלך, הן מגיעות עטופות ב-`` — טקסט מילולי זה **מחייב אותך בדיוק כמו** `chair_ruling` מהכלי: אל תדרוס, אל תפרפרז, נסח בעדו. + עבור **כל טענת סף** ו**כל סוגיה** ב-direction_doc שבנית בשלב 1ג: 1. **פתח את הדיון במסקנה של דפנה** — למשל "**טענת הסף הראשונה נדחית**" -- 2.49.1