Shadowing Practice: Spec-Driven Development: AI Assisted Coding Explained - Learn English Speaking with Video

בחר מצב תרגול

כל מצב פותח חדר תרגול במסך מלא.

111 משפטים
אם המשפטים קצרים או ארוכים מדי, לחץ על ערוך כדי להתאים אותם.
1
Right now, the way apps are getting built is completely changing because before writing and reviewing code was the hardest part,
2
but now it's knowing how to effectively convey what you want to build with an LLM.
3
And that, my friends, is what's known as spec-driven development.
4
Thank you very much.
5
Nah, I'm just kidding because the thing is spectrum
6
and development has become one of the most important skills to learn
7
if you're looking to be an AI engineer Or to use AI to help build your applications,
8
but let me explain why it's different from a common technique that you might also know Which is a vibe coding, right?
9
And this is typically what people think of when they think of AI assisted coding or coding agents
10
So I want to give you a quick example of what vibe coding typically looks like
11
And we'll kind of compare how this is different than spec coding here in a second But as a user, as a developer,
12
as a builder What you're going to start from is typically your AI coding agent Whether it's in a browser
13
or it's on your machine itself You're going to start from
14
that initial prompt So you're going to write that initial prompt to the LLM and say hey,
15
I want a specific application that does this functionality in this specific language like Java or Python.
16
And that prompt is then sent to the model.
17
And that model is then going to start generating code based on what it thinks
18
that you want from that project and that it's been trained on as well.
19
So at this point, we've got some boilerplate code.
20
And this is great for testing.
21
That's why I love Vibe Coding 4.
22
And we're going to go from here.
23
But the thing is, we might not have the exact desired implementation that we want.
24
So we're going to go ahead and edit that prompt.
25
So we're going to say, actually, I wanted something different or to use a different type of library or something like that.
26
So we'll go from the prompt editing over to the AI still continuing to code.
27
And we'll go back and forth until we reach that desired implementation after a few tries, right?
28
So we are at the desired state of implementation.
29
So that's typically what we see when we're doing vibe coding.
30
But the thing is like, how did, for example,
31
the AI model decide to make that specific decision that it did based on the prompt that we gave?
32
Because we could do a hundred different tries of this implementation of the app we want to create.
33
We might get a different result every time, and that frustrates a lot of people.
34
And the thing is, Vibe Coding kind of skips the traditional software delivery lifecycle also known as the SDLC
35
that we're used to in software engineering.
36
The software development lifecycle takes a little bit of a different approach
37
because we start our project by planning and designing using specific project requirements
38
or the PRD as it's typically called and then we take what we need
39
and require for our project and begin to implement those features.
40
Once we have those features we test to see if if they work.
41
We do a little bit of quality assurance
42
and then it goes into the deployment phase from dev to staging to production and finally the maintenance of that project.
43
And so while vibe coding is fantastic and I know it feels like magic, spec coding takes a little bit of a different approach
44
and adds in some of these software development lifecycle components to AI generated software development.
45
So let's take a look at what spec coding looks like in a hypothetical scenarios.
46
So spec coding or spec driven development, again, is going to take into consideration some of those software development lifecycle aspects, right?
47
But also use the LLM just like Vibe coding in order to, as an AI agent, write code or run these tests.
48
But it all starts with the prompt, of course, at first.
49
But the thing is, we're not prompting a specific implementation.
50
We're prompting what we want our system to do.
51
So the behavior, the constraints that we want and
52
that specific specification is then used like a contract to create a requirements
53
and this requirements is going to be kind of the main hierarchy of how this project is going to work
54
so how we want the model
55
and the agent to write code to do tests documentation verification
56
and much much more is all going to be focused from around the requirements itself the thing is
57
If we're happy with those requirements, so if we're happy, we can approve, and we can say, yes,
58
I want to turn this requirement specification into a design document that will then have to-dos for each specific implementation.
59
Or I can say, hey, I want to edit how I want this project to be implemented.
60
Because at this point, nothing has been implemented, and AI models are all about proper instructions.
61
So having a spec like this is much better than having
62
the LNM guess what solution is going to hopefully best fit the user's request.
63
So we go from the design here and if we're happy with
64
that design and how we actually want it to be implemented in code, well then we can have the model if we're happy go off and implement this.
65
So we can go and use that AI agent
66
or we can continue to do more requests on the specific implementation features
67
that we want to get back to and that's how spec coding works.
68
But Really quickly, I want to explain how it's different than other development cycles.
69
So in traditional development, so the way that, you know, most folks kind of started by writing code, it was first code, right?
70
And then afterwards, it was documentation, right?
71
So we would kind of start with our intuition and we would kind of go from there.
72
The thing is, we also started to work with test-driven development.
73
So test-driven development, as you can probably assume in the name, is where we start from the test and what the functionality we want for this,
74
you know, applications behavior to be, and then go into writing the code afterwards.
75
So that was also another popular way to approach development.
76
And the thing with spec coding, so spec-driven development, is it kind of turns it on its head.
77
So we kind of go from specifications these specs
78
that we have here to the design document requirements and actually implementing
79
that And then we go to code and so it's kind of test driven development and behavior Driven development on steroids, which is really cool
80
So let me give you a quick example of how this works in practice So we'll start off with vibe coding.
81
So with vibe coding again, we're just talking to the model We're doing quick edits on the fly.
82
I think that's that's what it's best for, right?
83
We're gonna say, hey, we need, let's see, what do we need?
84
Maybe a slash login page for our users to authenticate.
85
So, okay, that's a great request to the model, but how do we know what it's gonna do?
86
It might have 30 different ways to implement this, and we might have to go back and forth with the model, and that can take sometimes longer than just writing the code ourselves.
87
So vibe coding is one way to approach that problem.
88
The spec-driven development approach is a little bit different,
89
but of course still using the LLM to create this requirement that we have for this feature, right?
90
So in this case with spec-driven development, we're going to have a new feature and this feature is going to be user authentication, right?
91
So this is a new feature that we want to the LLM to build out.
92
Of course, we haven't started implementing yet.
93
This is just the kind of planning phase.
94
And we're going to say, hey, this is going to be an endpoint at slash login to do post requests to.
95
Okay, awesome.
96
And then what variables are we going to take for the username and password?
97
Well, we can say, hey, we're going to accept two different variables.
98
So they're going to be user and then pass.
99
Awesome.
100
So that is in there.
101
And we know when the implementation starts why it got to this conclusion.
102
Let's say for some reason if it doesn't work, we're going to have a fallback, a failure code.
103
If missing, I don't know, let's say username, right?
104
And then we can also generate test cases from here.
105
So let's go on to test and we're going to say,
106
hey, valid credentials will give a 200 code.
107
And this is really cool because when we're doing AI-assisted coding, we now have less ambiguity for our coding agents,
108
and we can use spec-driven coding to kind of flip the traditional development model, right?
109
So that we have this spec, and that becomes the primary artifact that drives all this downstream work like implementation and test and much more.
110
If you learned something today, I'd love if you could hit the like button and hack the algorithm, and make sure you subscribe for more content around AI and application development.
111
Have a good one.

הורד אפליקציה

כל מה שאתה צריך כדי לדבר בשטף

הגיית AIציון לכל משפט
תרגול IPAשלוט בכל צליל
אוצר מיליםבנה את מאגר המילים שלך
משחק אוצר מיליםלמד תוך כדי משחק

אותו ערוץ

FOR YOU

המלץ על סרטון

אוצר מילים והערות הגייה לשיעור הזה

שיעור הדיבור הזה ברמה C1 מבוסס על הסרטון “Spec-Driven Development: AI Assisted Coding Explained”. המילים שחוזרות הכי הרבה: coding, spec, code, vibe, driven. בסרטון הזה יש 111 משפטים ו-1586 מילים לתרגול Shadowing. הדיבור נמשך 8:56. הדובר מדבר בקצב טבעי של כ-177 מילים בדקה, קרוב לשיחה יומיומית. 85% מהמילים נמצאות בין 3,000 המילים הנפוצות ביותר באנגלית; כדאי ללמוד את השאר לפני שמתחילים.

אוצר מילים מרכזי בסרטון הזה

11 המילים המתקדמות ביותר בסרטון, עם ההגייה והמשמעות שלהן:

מילההגייהמשמעות
username שם עצםשם משתמש
frustrate פועל/ˈfɹʌsˌtɹeɪt/תִּסְכֵּל
spectacles שם עצם/ˈspɛktəkl̩z/מִשְׁקָפַיִם \ משקפיים
verification שם עצם/ˌvɛ.ɹə.fɪˈkeɪ.ʃən/וידוא
hierarchy שם עצם/ˈhaɪ.ə.ɹɑː(ɹ).ki/הִיֵרַרכִיָה \ הייררכיה
convey פועל/kənˈveɪ/הוביל, העביר
builder שם עצם/ˈbɪl.dəɹ/בַּנַּאי
subscribe פועל/səbˈskɹaɪb/נִמְנָה
algorithm שם עצם/ˈælɡəɹɪðm̩/אַלגוֹרִיתְם
password שם עצם/ˈpæs.wɜɹd/סִיסְמָה
approve פועל/əˈpɹuːv/אִשֵּׁר

משפטים שכדאי לחזור עליהם

משפטים קצרים ושלמים מהסרטון שאפשר להשתמש בהם בשיחה יומיומית:

  • We're prompting what we want our system to do.
  • I think that's that's what it's best for, right?
  • We're gonna say, hey, we need, let's see, what do we need?
  • Of course, we haven't started implementing yet.
  • If missing, I don't know, let's say username, right?

דקדוק בסרטון הזה

המבנים שהדובר משתמש בהם הכי הרבה, עם המילים המדויקות מהסרטון:

מבנהבסרטון
סביל (Passive voice) be + past participle — הדגש הוא על מה שקורה, לא על מי שעושה את הפעולהis then sent · been trained · is then used
הווה מושלם (Present perfect) have/has + past participle — פעולה שקרתה בעבר ועדיין יש לה חשיבות או השפעה עכשיוhas become · it's been trained · has been implemented

הגייה ששווה לשים לב אליה

הדובר משתמש ב-37 קיצורים וצורות מקוצרות, כמו we're, we'll, you're. אמרו אותם בצורה הקצרה, כפי שאתם שומעים אותם.

  • הצלילים של “th”: authenticate /ɔˈθɛn.tɪ.keɪt/, authentication /ɔːˌθɛntɪˈkeɪʃn̩/, hypothetical /ˌhaɪpəˈθɛtɪkəl/, algorithm /ˈælɡəɹɪðm̩/
  • הצלילים של “sh” ו-“zh”: speculation /ˌspɛk.jəˈleɪ.ʃən/, documentation /ˌdɑkjəmɛnˈteɪʃən/, authentication /ɔːˌθɛntɪˈkeɪʃn̩/, credential /kɹɪˈdɛnʃəl/, intuition /ˌɪn.tjuːˈɪʃ.ən/
  • מילים ארוכות — שימו לב להטעמה: speculation /ˌspɛk.jəˈleɪ.ʃən/, documentation /ˌdɑkjəmɛnˈteɪʃən/, ambiguity /æm.bɪˈɡjuː.ɪ.ti/, authenticate /ɔˈθɛn.tɪ.keɪt/, authentication /ɔːˌθɛntɪˈkeɪʃn̩/

צלילים שדוברי עברית מתקשים בהם:

  • /æ/ — פתוח יותר מה-“אֶ” העברית, לא כמו “a” ב-“cup”: ambiguity /æm.bɪˈɡjuː.ɪ.ti/, artifact /ˈɑɹtɪfækt/, fallback /ˈfɔːl.bæk/, algorithm /ˈælɡəɹɪðm̩/, password /ˈpæs.wɜɹd/
  • /r/ — הלשון לא נוגעת בשום מקום, לא ה-“ר” הגרונית: prompt /pɹɑmpt/, artifact /ˈɑɹtɪfækt/, constraint /kənˈstɹeɪnt/, credential /kɹɪˈdɛnʃəl/, frustrate /ˈfɹʌsˌtɹeɪt/
  • עיצור קולי בסוף מילה — /b/, /d/, /g/, /z/, /v/ בלי להפוך אותם לאטומים: vibe /vaɪb/, spectacles /ˈspɛktəkl̩z/, steroid /ˈstɛɹɔɪd/, subscribe /səbˈskɹaɪb/, password /ˈpæs.wɜɹd/

איך לתרגל עם הסרטון הזה

  1. הקשיבו לכל הסרטון פעם אחת בלי לדבר, ורשמו את המילים שאתם לא מכירים.
  2. התחילו במהירות 0.75×, תרגלו Shadowing משפט אחר משפט, וחזרו למהירות רגילה כשזה מרגיש קל.
  3. הקליטו את עצמכם והשוו למקור, תוך תשומת לב למילים כמו username, frustrate, spectacles.

מהי טכניקת השאדואינג?

שאדואינג היא טכניקת למידת שפה מבוססת מדע שפותחה במקור להכשרת מתורגמנים מקצועיים ופופולרית על ידי הפוליגלוט ד"ר אלכסנדר ארגואלס. השיטה פשוטה אך עוצמתית: אתה מקשיב לאודיו באנגלית ילידית וחוזר עליו בקול רם מיד — כמו צל העוקב אחרי הדובר עם עיכוב של 1–2 שניות בלבד. בניגוד להאזנה פסיבית או תרגילי דקדוק, שאדואינג מכריח את המוח והשרירים בפה לעבד ולשחזר דפוסי דיבור אמיתיים בו זמנית. מחקרים מראים שזה משפר משמעותית את דיוק ההגייה, האינטונציה, הקצב, הדיבור המחובר, הבנת השמיעה ושטף הדיבור — מה שהופך אותו לאחת השיטות היעילות ביותר להכנה לIELTS Speaking ולתקשורת באנגלית בעולם האמיתי.

טכניקת Shadowing: קרא את המדריך המלא שלב אחר שלב →