חזרה למאמרים

מאמר מקצועי

TypeScript לסוכני קוד: לתפוס הנחות שגויות מוקדם

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

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

טעות שהבודק תופס

צרו תיקייה חדשה, אתחלו אותה והתקינו את גרסת המהדר שנבדקה:

mkdir typescript-agent-feedback
cd typescript-agent-feedback
npm init -y
npm install --save-dev typescript@5.9.3

שמרו את הקוד הבא בקובץ broken.ts:

function lineTotal(price: number, quantity: number): number {
  return price * quantity;
}

console.log(lineTotal("19.90", 2));

הריצו npx tsc --noEmit --strict broken.ts. TypeScript מדווח שמחרוזת נשלחה למקום שדורש מספר. המשוב מגיע לפני שהנתיב הזה מגיע למשתמש.

עכשיו שמרו את התיקון המלא בקובץ corrected.ts:

type PricePayload = { price: number; quantity: number };

function isPricePayload(value: unknown): value is PricePayload {
  if (typeof value !== "object" || value === null) return false;
  const candidate = value as Record<string, unknown>;
  return typeof candidate.price === "number" && typeof candidate.quantity === "number";
}

function lineTotal({ price, quantity }: PricePayload): number {
  return price * quantity;
}

const externalJson: unknown = JSON.parse('{"price":19.9,"quantity":2}');
if (!isPricePayload(externalJson)) throw new Error("Invalid price payload");

console.log(lineTotal(externalJson).toFixed(2));

הריצו npx tsc --strict --outDir dist corrected.ts && node dist/corrected.js. הפלט הצפוי הוא 39.80.

הלולאה השימושית לסוכן

  1. כותבים שינוי ממוקד אחד.
  2. מריצים npx tsc --noEmit --strict.
  3. מחזירים לסוכן את השגיאה המדויקת.
  4. מתקנים את החוזה במקום להשתיק את השגיאה.
  5. מריצים שוב את הבדיקה ואת הטסט הרלוונטי.

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

לראות את הרעיון בסרטון

לצפייה בסרטון BetterMeir המקורי, EP007.

נבדק עם TypeScript 5.9.3 ו-Node.js 26.0.0 ב-13 בספט׳ 2026.

מקורות ראשוניים