LLM לא יכול לפקח על עמדות המס שלו עצמו. בניתי שכבה דטרמיניסטית שמאמתת עמדות שנוסחו בבינה מלאכותית מול החוק המקודד, לא מול המודל.
Tax TechnologyArtificial IntelligenceCompliance

ניסיתי לגרום ל-LLM לתפוס את שגיאות המס שלו עצמו. הוא לא יכול, והתברר שזה כל העסק.

Ashutosh SinghalAshutosh Singhal19 ביוני 202613 min

הטענה הייתה מושלמת מבחינה דקדוקית. זו הייתה הבעיה.

אני עדיין זוכר את העמדה הראשונה שגרמה לי לעצור ולהניח את הקפה. בינה מלאכותית ניסחה שורה על ניכוי הריבית החדש על הלוואות רכב לפי OBBBA, והיא נשמעה כך: "ניכוי הריבית החדש על הלוואות רכב לפי OBBBA הוא ניכוי מעל השורה שמפחית את ה-AGI של הלקוח." המשפט היה נקי. הוא היה בטוח בעצמו. הוא היה מעוצב כמו כל עמדה שניתן להגן עליה שקראתי אי פעם. והוא היה שגוי בדיוק בדרך שעולה לאדם אמיתי כסף אמיתי.

ניכוי הריבית על הלוואת רכב נוסעים מוסמך (QPVLI) הוא ניכוי מתחת לשורה לפי §63(b)(7). הוא אינו מפחית הכנסה גולמית מותאמת. להציב אותו מעל השורה אינו טעות כתיב שתופסים בקריאה חוזרת. הוא מזיז בשקט את ה-AGI, וAGI הוא המספר שחצי מהדוח נשען עליו. מה שהפתיע אותי לא היה שמודל טעה מעט בחוק. זה היה כמה טוב נראתה התשובה השגויה.

ציטוט מומצא קל לתפוס. סיווג שגוי בביטחון, שנכתב באנגלית מס מושלמת, הוא זה שמגישים.

זה היה הרגע שבו הבעיה האמיתית התחדדה אצלי. התעשייה בילתה שלוש שנים באוטומציה של ניסוח עבודת המס, ועשתה עבודה טובה באמת. Thomson Reuters מכינה אוטומטית דוחות 1040. CCH Axcess מנסחת תובנות ייעוץ על פני אלפי משרדים. Blue J עונה על שאלות מחקר בשפה פשוטה. ההכנה נפתרת. אבל השלב אחרי ההכנה, זה שבו מישהו צריך להחליט אם העמדה באמת ניתנת להגנה לפי החוק, הועבר לאותו מודל הסתברותי שניסח אותה. ולפי IRC §6662, קנס של 20% הקשור לדיוק נופל על האדם שחתם על הדוח, לא על האלגוריתם שכתב אותו.

ביליתי שבוע בניסיון לגרום למודל לבדוק את שיעורי הבית של עצמו.

האינסטינקט הראשון שלי היה הברור, ואני רוצה להיות כנה שרדפתי אחריו יותר זמן ממה שהיה צריך. אם המודל יכול לנסח את העמדה, בוודאי שפרומפט מספיק טוב יכול לגרום לו לבדוק את העמדה. אז ניסיתי. נתתי לו את החוק. נתתי לו את כלל ה-QPVLI מפורט. ביקשתי ממנו לבקר את הפלט שלו עצמו ולסמן כל דבר שמציב ניכוי בשורה הלא נכונה.

הוא תפס חלק. הוא פספס אחרים. והפספוסים היו מהסוג המפחיד, כי כשהיה שגוי בביקורת הוא היה שגוי עם אותו ביטחון שוטף שהיה לו כשניסח. הבדיקה העצמית רצה דרך אותם משקלים שייצרו את השגיאה מלכתחילה. לבקש ממודל לפקח על עצמו זה לבקש מהדבר שעשה את הטעות להיות גם הדבר שמבחין בטעות, באמצעות אותו היגיון בדיוק שיצר אותה.

אני זוכר שהסברתי את זה לעמית ושמעתי את עצמי אומר בקול רם: "אי אפשר לסמוך על LLM שיפקח על LLM." המשפט הזה הוא הרגע שבו העיצוב התהפך אצלי. ניסיתי להפוך את המודל למדויק יותר. התשובה האמיתית הייתה להפסיק לסמוך על המודל שיהיה השופט בכלל.

אי אפשר להפוך מערכת הסתברותית לדטרמיניסטית בבקשה בנימוס. מעבירים את הפסק אל מחוצה לה.

ההבחנה שלקח לי יותר מדי זמן להפנים היא שניסוח ואימות אינם אותה משימה שנעשית קלה או קשה יותר. אלה בעיות שונות. ניסוח מתגמל שוטפות, כיסוי וסבירות — בדיוק מה שמודל שפה בנוי בשבילו. אימות מתגמל להיות נכון באופן שניתן להוכיח לגבי כלל ספציפי אחד, ולהיות מסוגל להראות את העבודה לבוחן שלא היה בחדר. אלה מזגים מנוגדים. הפסקתי לנסות לגרום למערכת אחת לעשות את שניהם.

מה באמת אומר "הסוכן מייעץ, הקוד מחליט"?

אני רוצה להיות מדויק לגבי הארכיטקטורה שאליה הגעתי, כי הביטוי יכול להישמע כמו שיווק עד שרואים איפה נמתח הקו. ב-StatuteGuard, הדמו שבניתי, מודל השפה עושה בדיוק עבודה אחת: הוא קורא שפת מס מבולגנת בשפה טבעית ומציע טענה מובנית ומטויפת. זה השלב העצבי היחיד. הוא באמת טוב בזה, וכשהוא לא בטוח הוא נמנע והעמדה עולה לאדם במקום לקבל פסק מנוחש.

הכול אחרי זה הוא קוד. הפסק נקבע על ידי מנוע מדיניות דטרמיניסטי, OPA/Rego אמיתי עם תאום טהור זהה ב-Python, שמריץ כללים שכתבתי מול החוק הראשוני. חילוץ עצבי, אימות סימבולי. המודל מייעץ. הקוד מחליט. וההבדל אינו אקדמי, כי אי אפשר לשכנע את הקוד לוותר על תשובתו בפסקה כתובה היטב.

החלק שלא ציפיתי שאכפת לי ממנו כמו שאכפת לי הוא קריאות. המדיניות אינה קופסה שחורה שאני מבקש שתסמכו עליה. אלה טבלאות החלטה ומקור Rego שאתם יכולים לפתוח ולבדוק מול החוק בעצמכם.

לוח כללי המדיניות מציג טבלאות החלטה קריאות עבור §280A ו-§30D לצד מקור ה-OPA/Rego האמיתי
כללי הרכב הנקי של §30D מקודדים כטבלה קריאה (תקרת MSRP לרכב 55,000$, לרכב שטח/משאית/ואן 80,000$; תקרת AGI מותאם ליחיד 150,000$, ל-HoH 225,000$, ל-MFJ 300,000$) עם מקור ה-OPA/Rego האמיתי מתחתיה. אפשר לקרוא את המדיניות ולאשר שהיא תואמת את החוק.

צילום המסך הזה הוא כל התזה בפאנל אחד. ראש מחלקת מס צריך להיות מסוגל לשבת עם שותף הציות שלו, לפתוח את הכלל, ולאשר אותו מול §30D לפני שהוא סומך על פסק בודד. כשההיגיון הוא פסקת הנמקה של מודל, אי אפשר לעשות את זה. כשזה כלל שניתן לקרוא, אפשר.

אז מה קורה כשהקוד אומר לא?

בפעם הראשונה שהרצתי את עמדת הלוואת הרכב של OBBBA דרך השער המוכן, חייכתי באמת. המודל ניסח את הטענה "מעל השורה, מפחית AGI" בדיוק כמו קודם. אבל הפעם המנוע הדטרמיניסטי הסתכל על הטענה שחולצה, התאים אותה לכלל §63(b)(7) המקודד, והחזיר פסק קשיח: BLOCK. לא להגיש.

StatuteGuard מחזיר פסק BLOCK על עמדת הלוואת הרכב של OBBBA עם באנר אל-תגיש ועם מפל חמשת ההשלכות במורד הזרם מסומן באדום
עמדת ה-QPVLI של OBBBA מחזירה BLOCK ("נחסם. ההצהרה שנוסחה סותרת את החוק המקודד; אל תגישו כפי שנכתב."), עם מפל חמשת ההשלכות במורד הזרם (AGI, מס מדינה הצמוד ל-AGI, תוספת פרמיית Medicare IRMAA, רצפת ניכוי הוצאות רפואיות של 7.5%, והחזר הלוואות סטודנטים מבוסס הכנסה IDR) כולן מסומנות.

מה שאני מוצא משכנע בתצוגה הזו, ומה שאני מקווה שקורא מס ימצא משכנע, הוא המפל. המנוע לא רק אומר "שורה לא נכונה." הוא מראה לכם את חמשת המקומות במורד הזרם שבהם הפחתת AGI כוזבת תשחית: את ההכנסה הגולמית המותאמת עצמה, מס הכנסה מדינתי הצמוד ל-AGI, תוספת פרמיית Medicare IRMAA, רצפת ניכוי הוצאות רפואיות של 7.5%, והחזר הלוואות סטודנטים מבוסס הכנסה. ניכוי אחד שסווג לא נכון אינו שגיאה אחת. זה רדיוס פיצוץ קטן, והפאנל הופך את הרדיוס לגלוי.

ואז הוא מציג באנימציה את הסיבה, וזה החלק שאני הכי קשור אליו. הוא צועד בשרשרת הציטוטים על פני גרף ההפניות הצולבות של ה-IRC, צומת אחר צומת, כך שה"לא" לעולם אינו טענה עירומה.

שרשרת ציטוטי החוק המונפשת חוצה את גרף ה-IRC מ-§163(h)(1) דרך §63(b)(7) עם כלל המיקום מתחת לשורה מוצג
שרשרת הציטוטים החיה: §163(h)(1) אל §163(h)(4)(A) אל §163(h)(4)(B) אל §63(b)(7) אל §62/§63. בחירת צומת §63(b)(7) מציגה את כלל המיקום: QPVLI מותר בחישוב ההכנסה החייבת מתוך AGI, ניכוי מתחת לשורה, מאושר על ידי כלל הריבית על הלוואות רכב ב-Federal Register (ינואר 2026).

הנה הפרט שאני חוזר אליו שוב ושוב, כי הוא זה שמוכיח שזו אינה בעיית צעצוע. לפי ה-README של הדמו עצמו, הסימון השגוי "מעל השורה" אינו משהו שהמצאתי כדי שיהיה נבל. זו שגיאת קונצנזוס מתועדת שגם הנחיות הכנת מס מיינסטרים, כולל האתר של H&R Block, פרסמו. תשובה שגויה סבירה, כתובה היטב וחוזרת על עצמה בהרחבה היא בדיוק מצב הכשל שעבורו נועד שער דטרמיניסטי. הביטחון של ההמון אינו מעביר את הניכוי אל ה-AGI. החוק מחליט את זה, ועכשיו גם הקוד.

שגיאת המס המסוכנת ביותר אינה זו שנראית שגויה. זו שנראית נכונה, נשמעת נכונה, ומופיעה בהנחיות של שלושה ספקים.

אם תרצו לשבת עם משהו מזה, הדמו החי נמצא ב-veriprajna.com/he/demos/tax-compliance-ai. אפשר להדביק עמדה משלכם ולראות את השער מחליט.

התכונה שכמעט טעיתי בה: לדעת מתי לומר "אני לא יודע"

אני חייב להודות בטעות שכמעט אפיתי פנימה, כי זו הטעות שכל מהנדס שבונה כלי אימות רוצה לעשות. האינסטינקט המוקדם שלי היה לגרום למכונה לענות על הכול. כיסוי הרגיש כמו המטרה. כלי שמחזיר פסק על כל עמדה נראה מושלם יותר מכלי שלפעמים מושך בכתפיים.

האינסטינקט הזה שגוי, ועמדה ספציפית לימדה אותי למה. קחו את ניכוי המשרד הביתי לפי §280A. האם חדר שינה פנוי משמש "באופן קבוע ובלעדי" כמקום העסק העיקרי הוא מבחן של עובדות ונסיבות. אין כלל נקי לקודד, כי התשובה תלויה באיך אדם אמיתי משתמש בחדר אמיתי. אם הייתי כופה על המנוע הדטרמיניסטי לפסוק בזה, הייתי עושה בדיוק את מה שבניתי את זה כדי למנוע: מייצר פסק בטוח במקום שבו התשובה הכנה היא "אדם צריך להסתכל על זה."

StatuteGuard מנתב את עמדת המשרד הביתי לפי §280A אל NEEDS HUMAN REVIEW כי שימוש קבוע ובלעדי הוא מבחן של עובדות ונסיבות
עמדת המשרד הביתי לפי §280A (חדר שינה פנוי המשמש לעבודת ייעוץ, עם בלעדיות שלא הוכחה) מנותבת אל NEEDS HUMAN REVIEW. האזור האפור מועלה במקום להיפתר, כי שימוש קבוע ובלעדי הוא מבחן של עובדות ונסיבות מחוץ לכיסוי הדטרמיניסטי.

אז לשער יש ארבעה פסקים, לא שניים. PASS כשהעמדה ניתנת להגנה. BLOCK כשהיא סותרת את החוק המקודד. NEEDS-REVIEW כשזה אזור אפור אמיתי. OUT-OF-COVERAGE כשההוראה פשוט אינה מקודדת בגרסה הזו. שני האחרונים אומרים את אותו דבר כנה: אדם מחליט את זה, לא המכונה. בניית נתיב ההסלמה הרגישה כמו הודאה במגבלה. למעשה זו התכונה החשובה ביותר במוצר, כי שכבת אימות שלעולם לא אומרת "אני לא יודע" היא רק מודל שני שמבלף עם עוד צעדים.

המספרים, ומה בדיוק הם לא טוענים

אני זהיר עם מדד הביצועים, זהיר יותר ממה שמשווק היה רוצה שאהיה, כי הדרך שבה המספרים האלה בדרך כלל מוצגים היא שקר. הרצתי את המנוע הדטרמיניסטי מול סט זהב מסומן של 42 עמדות שסווגו מראש (14 נקיות, 16 שגיאה, 12 להסלמה) ומדדתי מה השכבה עושה.

לוח התוצאות של מדד סט הזהב מציג כיסוי דטרמיניסטי של 71.4%, דיוק שער של 100%, תפיסת שגיאות של 100%, הסלמה נכונה של 100% על פני 42 עמדות
מדד סט הזהב: כיסוי דטרמיניסטי של 71.4%, דיוק שער של 100% (0 חסימות שווא), שלמות תפיסת שגיאות של 100%, 100% מהאזורים האפורים הוסלמו נכון, אומת על פני 42 העמדות המסומנות, הוערך מקומית.

על סט הזהב של 42 המקרים: כיסוי דטרמיניסטי של 71.4%, כלומר המנוע פתר את החלק הזה ל-PASS או BLOCK בעצמו והסלים נכון את השאר. דיוק שער של 100%, כלומר אפס עמדות נכונות נחסמו בטעות. שלמות תפיסת שגיאות של 100% על ההוראות המקודדות. 100% מהאזורים האפורים הוסלמו נכון. התפוקה רצה בעשרות אלפי עמדות בשנייה (כ-58,000 בהרצה שצילמתי, אף שזה תלוי במכונה), כי אימות הוא תשתית, לא קריאת מודל.

ועכשיו החלק שעליו אני מתעקש. המספרים האלה נכונים על סט הזהב הזה, לא כהבטחה לעולם הפתוח. לא אגיד לכם ש-StatuteGuard הוא "100% מדויק," כי המשפט הזה אינו כנה ברגע שיוצאים מהסט המסומן. מה שכן אגיד עדין יותר, ולדעתי עמיד יותר: כי הפסק הוא קוד דטרמיניסטי, ההתנהגות שלו על ההוראות המקודדות ניתנת לשחזור ולהוכחה, לא הסתברות שמתדרדרת. אפילו הצלבתי כל אחד מ-42 הפסקים מול OPA 1.17.1 ומול התאום הטהור ב-Python, והם התאימו בדיוק. זו הטענה שאני יכול לעמוד מאחוריה. היא מתארת את השכבה, לא את המודל.

"דיוק של 100%" הוא מספר שיווקי. "ניתן לשחזור על ההוראות המקודדות, עם הסלמה כנה בכל מקום אחר" הוא מספר הנדסי. אני מעדיף לשלוח את השני.

וזו הסיבה שזה לא מתיישן. מודל בסיס טוב יותר בשנה הבאה עדיין לא יכול להוכיח לבוחן איזו הוראה חוקית תמכה באיזו עמדה. כיסוי, דיוק שער, ומסלול ביקורת שניתן להגשה הם תכונות של שכבת האימות. הם אינם שיעור שגיאות של מודל שמצטמצם כשהמודלים משתפרים.

הארטיפקט שלא ידעתי שאני בונה עד שבוחן ביקש אותו

לא יצאתי לבנות מסמך ציות, אבל ככל שדיברתי עם יותר אנשי מס, השיחה הסתיימה שוב ושוב באותו מקום: "בסדר, הוא תפס את השגיאה, אבל מה אני מוסר ל-IRS?" אז כל פסק כותב עכשיו רשומת בדיקת נאותות §6662 שניתן להגיש, נייר עבודה להדפסה שמתעד שהעמדה אומתה מול החוק לפני ההגשה. נייר עבודה מקור, הוראה, מקור ראשוני, הטענה שחולצה, נרטיב הקביעה, שרשרת הציטוטים המלאה. זו הראיה לכך שננקטה עמדה של סיבה סבירה וזהירות נאותה בפועל, וזה חשוב ישירות תחת עדכוני ה-AICPA SSTS שנכנסו לתוקף בינואר 2024.

יש עוד סיבה אחת שאכפת לי איפה זה רץ, והיא הפכה למוחשית אחרי פסיקת Heppner (SDNY, פברואר 2026), שהעלתה שאלת ויתור על חיסיון לגבי הזנת מחקר לקוח לכלי בינה מלאכותית ציבורי. StatuteGuard רץ במלואו מקומית בלי מפתח API כברירת מחדל. שום עמדה ושום נתוני לקוח לא יוצאים מההיקף. אחרי Heppner, ארכיטקטורה סגורה, מקומית וניתנת לביקורת אינה רק נחמד-שיש בביקורת אבטחה. היא מהותית משפטית. לא עיצבתי את העמדה המקומית-תחילה בגלל הפסיקה הזו. אבל הפסיקה היא הסיבה שאני מוביל איתה עכשיו.

להקשר של הסיכון, עלויות ציות המס לעסקים בארה"ב עוברות את 126 מיליארד דולר בשנה (מחקר פתרון WP1, 2026), וקנס IRC §6662 הוא 20% מהתשלום החסר, עם חשיפת הונאה לפי §6663 שמגיעה ל-75%. כשהניסוח אוטומטי והקנס אישי, שלב האימות הוא זה שצריך להשאיר ראש מחלקת מס ער בלילה.

מה שאני באמת מאמין עכשיו

התחלתי את זה בחשבה שאני בונה בינה מלאכותית טובה יותר למס, ואני רוצה לסיים באמירה ברורה שטעיתי לגבי מה הייתה הבעיה. לבינה המלאכותית שלכם למס אין בעיית דיוק. יש לה בעיית אימות, ומודל טוב יותר לא יתקן אותה, כי קנס ה-20% נופל על החתימה שלכם, לא על המשקלים שלו. התאמה אישית ואוטומציה של ניסוח עבודת המס היא התקדמות אמיתית. זה גם אינו אותו דבר כמו להוכיח שעמדה ניתנת להגנה, והתעשייה מתייחסת אליהם בשקט כאילו היו.

הדמו חי ב-veriprajna.com/he/demos/tax-compliance-ai אם תרצו לנסות לשבור את השער. באמת אשמח שתנסו.

ואם תעדיפו לראות את השער מחליט מאשר לקרוא אותי מתאר אותו, הנה הכול רץ מקצה לקצה.

אז הנה השאלה שאני ממשיך לשאול מנהיגי מס, ועדיין אין לי תשובה נוחה אליה. כשבינה מלאכותית מנסחת עמדה ואתם חותמים על הדוח, מהו הארטיפקט שמוכיח שאתם אימתתם אותה, ולא סמכתם עליה? אם התשובה הכנה היא "כלום, סמכתי על המודל," אז המודל אינו העוזר שלכם. הוא השותף לחתימה שלכם, ואי אפשר לזמן אותו לביקורת.

מחקר קשור

פורסם גם ב

בנו את ה-AI שלכם בביטחון.

שותפו עם צוות בעל ניסיון עמוק בבניית הדור הבא של AI ארגוני. אנו נסייע לכם לתכנן, לבנות ולהטמיע אסטרטגיית AI שתוכלו לסמוך עליה.

Veriprajna ייעוץ דיפ-טק מתמחה בבניית מערכות AI קריטיות לבטיחות עבור תחומי הבריאות, הפיננסים והרגולציה. הארכיטקטורות שלנו מאומתות מול פרוטוקולים מבוססים ומלוות בתיעוד ציות מקיף.