Practice: which yes?
What you will be able to do
Answer a Thai question with the right yes — hand back the verb it used, and choose deliberately between ใช่, ได้, ตกลง, เอา and ก็ได้ instead of reaching for one all-purpose word.
Thai has no all-purpose word for yes. You answer a question with the verb the question used: ไปไหม gets ไป, มีไหม gets มี, and a question ending in ได้ไหม gets ได้. ใช่ is not a general yes — it judges a statement, so it belongs after a …ใช่ไหม question or a claim about a fact, and it does not answer a verb question.
Which reply?
ไปไหม
The question is built on ไป, so ไป is what comes back. Take the verb out of the question, hand it straight back, add ครับ or ค่ะ, stop. That is the whole of yes. ใช่ judges a statement and this question put none in front of you, แล้วครับ belongs to a question ending in หรือยัง, and ถูกต้องครับ is for a number, a name or an address read back to you at a counter.
Which reply?
มีไหม
มีไหม asks about having, so มี goes back. Nothing is added and nothing changes shape; the refusal would be the same verb with ไม่ in front of it, ไม่มีค่ะ. ได้ค่ะ says only that a thing is possible or allowed, which is not what was asked, and แล้วค่ะ answers a หรือยัง question about whether something has happened yet.
Which reply?
รับถุงไหมคะ
In a longer question the word to give back is the main verb, not the last word you hear. The verb is รับ, and ถุงครับ is not an answer. ใช่ cannot answer a verb question, and แล้วครับ answers a different shape again, the one ending in หรือยัง.
Which reply?
เอาเผ็ดไหมคะ
The verb is เอา, so เอาครับ. เผ็ด is only what is being asked about, and ใช่ cannot answer a verb question at all — this question put no statement in front of you to judge. ถูกต้องครับ is more official again, and it is for a number, a name or an address read back to you at a counter.
Which reply?
จ่ายด้วยบัตรได้ไหมครับ
When the question ends in ได้ไหม, it is ได้ that comes back rather than the main verb. ได้ครับ says the thing is possible or allowed — not that it will be done, and not when.
Which reply confirms the number?
สองร้อยบาทใช่ไหมครับ
ใช่ไหม hangs on the end of something you already half believe, and ใช่ judges it correct. This is the one question shape that makes ใช่ the right answer; ใช่แล้วครับ is the same with a shade more emphasis.
Which reply?
กินข้าวหรือยังครับ
A question ending in หรือยัง gets แล้ว or ยัง. กินแล้วครับ, or simply แล้วครับ, says it has already happened. Listen to the last two syllables and your yes has been chosen for you. ถูกต้องครับ confirms a detail that was read back to you, and neither ใช่ nor ได้ belongs to this shape at all.
Which yes?
a driver names a price and you are agreeing to it
ตกลง is agreement to a proposal — a price, a plan, a set of terms — and it closes something that was open. It is the weightiest everyday yes, and it is the one you want on a number. ครับผม is only the eager version of the particle, so it confirms only that you heard him, not what you agreed to, and เห็นด้วยครับ answers a view, not a price.
Which yes?
a friend says the rent round here has got too high, and you think so too
เห็นด้วย, literally see along with, is how you agree with an opinion. It answers a view rather than a request, so a plan or a price takes ตกลงครับ instead, and ได้ครับ only says a thing is possible. ไม่เป็นไรครับ waves something away or declines it; it never says you think the same.
Said flat, how does that land?
ก็ได้ครับ
ก็ได้ accepts, and it accepts with a shrug in it. Delivered flat it is closer to "if you like" than to "yes please", which makes it the wrong answer to somebody who has gone to trouble on your behalf. It does still accept, though: it is not the soft decline that ไม่เป็นไรครับ is, and it carries none of the weight that ตกลงครับ puts on a price or a plan.
On its own, what does it commit the speaker to?
ครับ
As an answer it counts as agreement, but the same syllable is the ordinary noise of listening, so it confirms that your words arrived rather than what was agreed to. Each of the other readings belongs to a different word: ได้ครับ says a thing is possible, ตกลงครับ settles the proposal as stated, and รับทราบครับ is the one that registers an instruction and undertakes to act on it. Never let a time, a price or a date rest on a particle; when you are the one accepting, echo the verb — ได้ครับ, ไปครับ, พรุ่งนี้ส่งให้ครับ.
Which job does it not do?
ไม่เป็นไรครับ
It does the other three all day. The job it does not do is accept: offered a bag, a lift or another spoonful, it is read as "I'm fine, don't go to any trouble", and the offer is quietly withdrawn. If you want the thing, say เอาครับ, รับครับ or ได้ครับ.
You are not going. Which reply removes the ambiguity?
ไม่ไปเหรอ
Repeat the verb in whichever form is true, and ไม่ไปครับ is the true one. English says "yes" here and means the opposite, so translate nothing. ไปครับ would contradict the question, ได้ครับ answers a question ending in ได้ไหม, and ไม่ใช่ครับ belongs to the ...ใช่ไหม shape rather than to this one — hung on a negative question it claims you are going after all.
What does ใช่ครับ do here?
ไม่ไปเหรอ
ใช่ agrees that the statement is correct, and the statement was that you are not going. That is the opposite of what an English yes would have meant, and the person in front of you will take you at your word. Nor is it a vague noise you can hide behind: ใช่ is a word that judges a statement, so it commits you, where a bare ครับ would not. The echo removes the ambiguity.
Common mistake
The habit to fix first is ใช่ used as a general yes: it answers a …ใช่ไหม question and it does not answer a verb question. The second is that a particle is not a plan — ครับ or ค่ะ on its own can mean only "I have heard you", so never leave a time, a day or a price standing on one.