kien-thai
Why this skill exists
AI-produced Thai imports English's discourse mechanics whole-cloth and adds
politeness/connective padding by default. Native readers feel the friction —
re-reading, skimming, abandoning. Surface-level rules ("don't use ทั้งนี้")
treat symptoms; the seven frames below are the structural cause. Granular
rules in
(mechanical),
(surface), and
(taste) become applications of the
frames — many auto-resolve once the frames are right.
(frame · all-registers · structural)
Frame 1 — Topic-comment over subject-verb-object. English defaults to SVO.
Thai often fronts the topic (whatever the sentence is
about)
and then comments on it. When the English source has a heavy subject ("the fact that
X is..."), calquing it into Thai produces
chains that no Thai
reader produces unprompted.
- English (SVO):
The system processes this data every five minutes.
- Calqued:
ระบบประมวลผลข้อมูลพวกนี้ทุก ๆ 5 นาที
- Topicalized:
ข้อมูลพวกนี้ ระบบจะ process ทุก 5 นาที
Heuristic: if the English subject is heavy, abstract, or really the patient of the
verb, front it as topic in Thai.
Covers
(ถูก-passive) and
(การที่...ทำให้).
(frame · all-registers · structural)
Frame 2 — Condition, time, and frame go first. English puts conditions and
time-frames after the main clause: "X happens when Y" /
"X if Y". Thai prefers the inverse: condition first, main clause after.
- English:
The DB starts timing out when traffic spikes.
- Calqued:
DB จะเริ่ม timeout เมื่อ traffic พุ่งสูง
- Native:
พอ traffic พุ่งสูง DB ก็เริ่ม timeout
Common Thai openers for fronted conditions/times:
,
,
,
,
.
(frame · all-registers · structural)
Frame 3 — Sentence boundaries via space and paragraph, not period.
English uses a period after every sentence. Modern Thai web writing
(blog, marketing, explainer, news) uses periods sparingly. Sentence boundaries are
carried by spaces and paragraph breaks; periods are reserved for end-of-paragraph
snap or genuinely terminal statements.
- AI density:
ระบบทำงานเร็วขึ้น. ใช้ memory น้อยลง. ทีมพอใจมาก.
- Native:
ระบบทำงานเร็วขึ้น ใช้ memory น้อยลง ทีมพอใจมาก
Heuristic: drop mid-paragraph periods; let space carry the boundary. Keep periods
only where a snap or finality is genuinely intended.
The Royal Institute's หลักเกณฑ์การเว้นวรรค formalizes a two-tier space system —
clause-internal vs sentence boundary. Modern keyboards emit a single ASCII space
either way, so the distinction surfaces as visual rhythm. Treat: short single
space within a clause; paragraph break at sentence boundaries.
Covers
(period spam — see
).
(frame · all-registers · structural)
Frame 4 — Closure via sentence-final particles. English doesn't need
closure particles. Thai uses a small inventory of them to wrap
clauses cleanly:
(also/too — closes additive thoughts),
(completion,
transition),
(movement away/done),
(ongoing state),
(intensification
or "right then"),
(let's just leave it / decision),
(still / nonetheless),
(contrastive correction — "actually X, not Y").
Note on
variants (per Olsson 2013 on Thai iamitive): bare
(
) alone marks completion / "by now".
adds
sequence + pacing (see Frame 6).
(
) is the
perfective-completion variant — action finished, with finality beyond just temporal
completion. Pick the form that matches whether the close needs pure completion,
sequenced flow, or finished-action force.
When AI omits these because the English source has no equivalent token, Thai
sentences feel dangling — like the writer trailed off.
- Dangling:
repo นี้ไม่ได้มากับกฎอย่างเดียว มี eval harness ผูกกับ claude และ codex
- Closed:
repo นี้ไม่ได้มากับกฎอย่างเดียว มี eval harness ผูกกับ claude และ codex ด้วย
ด้วย additive closure (
): especially watch for
,
,
frames — they almost always
need a closure particle to finish the implicit "also Y".
ต่างหาก closure (
): contrastive correction frames
(
ไม่ได้ X อยู่ที่/เป็น/คือ Y
) take
— Thai's emphatic-correction particle
that closes the "actually it's Y, not X" thought.
- Dangling:
ปัญหาส่วนใหญ่ไม่ได้อยู่ที่ยอดขาย อยู่ที่ต้นทุน
- Closed:
ปัญหาส่วนใหญ่ไม่ได้อยู่ที่ยอดขาย อยู่ที่ต้นทุนต่างหาก
(frame · all-registers · structural)
Frame 5 — Cohesion via zero anaphora and demonstratives. English needs
explicit pronouns: it / they / he / she / this / that. Thai has three
main strategies that AI underuses:
-
Zero anaphora (
) — once the topic is established, drop the subject entirely.
Re-state only when control changes. A paragraph beginning
เราเรียนรู้จากความผิดพลาด...
can run several sentences before
เรา needs to reappear.
-
Demonstratives over pronouns —
for "this / that / yonder";
reference the noun by demonstrative + classifier when needed
(
,
,
). AI overuses
,
,
because they
map to English
.
-
Demonstrative as inter-clause bridge (
) — between clauses where English would
repeat the subject, Thai uses a demonstrative referring back to the just-stated
fact:
,
,
. Especially valuable
for problem→solution pivots (see also Frame 7).
- Dangling:
ของค้างก็กลายเป็นต้นทุนเงียบ ระบบนี้ช่วย...
- Bridged:
ของค้างก็กลายเป็นต้นทุนเงียบ ตรงนี้แหละที่ระบบช่วยได้
- Calqued:
เราต้องเข้าใจว่าเราอยู่ในโลกที่เราสร้างขึ้นมาเอง มันมีกฎของมันเอง
- Native:
ต้องเข้าใจว่าโลกที่เราอยู่ คือโลกที่สร้างขึ้นเอง มีกฎของตัวมันเอง
Caveat — zero anaphora has limits. Aggressive subject-drop creates subjectless
robot-prose when the referent isn't recoverable from context. If a clause starts
with a connective (
,
,
) and immediately presents a
verb without a topic, restore reference via a demonstrative bridge or a
topic-comment restructure rather than reaching for
(banned by
).
- Robot:
เพราะรับประกัน output rate
- Native (bridge):
เพราะแบบนี้ output rate จะคงที่
- Native (restored topic):
algorithm นี้รับประกัน output rate
(frame · all-registers · structural)
Frame 6 — Pacing via ก็. is a uniquely Thai pacing particle. It marks
expectation, sequence, mild
concession, and "as expected" causation. English has no direct equivalent, so AI
drops it, and Thai prose without ก็ reads choppy or robotic.
- Without ก็:
พอ traffic ขึ้น DB เริ่มอืด
- With ก็:
พอ traffic ขึ้น DB ก็เริ่มอืด
ก็ as pacing particle (
). Common patterns:
,
,
,
,
. Standalone
(without
) also bridges sequenced action
clauses where English would use no connective:
- Choppy:
ถ่ายรูปบิลจากตลาด ระบบอ่านรายการให้เอง
- Bridged:
ถ่ายรูปบิลแล้วระบบจะอ่านรายการให้เอง
Sub-pattern: ก็ as topic-resumptive bridge (
; formalized in
Takahashi 2023 on ก็ as a pragmatic particle). When a sentence states a topic and then offers a
comment that would otherwise feel clipped, ก็ at the start of the comment gives
the natural "as expected / belongs together" beat. AI tends to write the comment
without ก็ and produce a snap that lands wrong.
- Clipped:
ในรายการนี้ ไม่มีคอลัมนิสต์ดังคนไหน เป็นความตั้งใจ
- Bridged:
ในรายการนี้ ไม่มีคอลัมนิสต์ดังคนไหน ก็เป็นความตั้งใจ
Use ก็ as breath/rhythm, not as a connective replacement. Don't force it where it
doesn't fit; do allow it where Thai naturally wants the beat.
(frame · all-registers · structural)
Frame 7 — Pivots via question, demonstrative, or simple แต่. English pivots
between ideas using formal connectives: however, moreover,
on the other hand, furthermore. Thai prose pivots more often via:
- Rhetorical question () — , , .
- Demonstrative bridge () — , (see also Frame 5).
- Simple () — replaces in roughly half of its English occurrences.
- AI pivot:
อย่างไรก็ตาม การใช้งานในระดับ production มีข้อจำกัด
- Native pivot:
แต่พอเอาขึ้น production จริง ก็มีอะไรให้ปวดหัวอีก
- Native (question pivot):
แล้วถ้าโหลดเพิ่มอีกสิบเท่าล่ะ? ตรงนี้แหละที่เริ่มน่าสนใจ
Special case — problem-list to solution pivot (
f7/problem-solution-pivot
). After listing 2–3 reader
pain-points, AI tends to dive straight into the product/solution clause without a
pivot, producing bullet-list cadence. Insert a question pivot, demonstrative bridge,
or contrastive
to mark the shift.
- Bullet-cadence:
ของหมดก็เสียยอดขาย ของค้างก็กลายเป็นต้นทุนเงียบ ระบบนี้ช่วย...
- Pivoted (question):
ของหมดก็เสียยอดขาย ของค้างก็กลายเป็นต้นทุนเงียบ — แล้วทำไงให้คุมของได้แม่น?
- Pivoted (demonstrative):
ของหมดก็เสียยอดขาย ของค้างก็กลายเป็นต้นทุนเงียบ ตรงนี้แหละที่ระบบนี้ช่วยได้
Heuristic: every "however" you'd write, ask whether a question or just
would
do better. Drop one in two.
Person deixis (apply before drafting any piece with a reader)
Person deixis — who speaks, who's addressed, who's the referent. In any piece,
identify all three roles. Most critical for Marketing copy.
-
1st person — speaker. Marketing: brand as
. Personal blog: author as
/
. News/reference: no first-person.
-
2nd person — addressee. Marketing: reader as
directly.
Never substitute
the audience's demographic noun (
,
,
,
) for
in body copy. Demographic nouns belong in headers and
category framing, not as the active 2nd-person referent.
-
3rd person — product, concept, third party. Marketing:
,
,
.
-
Bad (3rd-person address substitutes demographic noun):
เครื่องมือนี้ทำให้เจ้าของร้านเห็นภาพจริงของร้านตัวเอง
-
Good (direct 2nd-person):
ระบบนี้ช่วยให้คุณเห็นภาพจริงของร้านได้ทันที
Don't mix
and
within the same paragraph (Krungsri pattern). Body in
when teaching a concept; advisory line shifts to
for action. See
for register-specific person deixis defaults.
Stylistic conventions (apply on top of the frames)
Surface-level voice fine-tuning lives in
references/style-rules.md
(positive
rules: sentence shape, verbs over nouns, openers/closings, concreteness, voice,
ทับศัพท์, translation craft) and
(soft taste rules).
Workflow when asked to write Thai prose
-
Identify register and voice before writing. ASK if either is unclear. Five
register families live in
:
- News / reference — no first-person, no particles, active voice
- Explainer — bank/tech long-form, no particles, problem-first, /
address
- Marketing (family) — SaaS-SME / B2B-formal / fintech-warm / retail-tech
sub-registers; person deixis required
- Personal blog / dev war-story — first-person or per gender,
ครับ/ค่ะ at openings and sign-offs only. ASK gender if not stated — don't
silently default to .
- Academic long-form — no particles, longer sentences acceptable, synthesis
closings
Voice attributes (gender, brand mood, formality level) are orthogonal to
register — pick both.
1.5.
Identify person deixis for any piece with a reader, especially Marketing.
1st (brand
) / 2nd (reader
— never demographic noun) / 3rd (product).
See Person deixis section above.
-
Draft frame-first. Before picking words, ask:
- What's the topic? Is it fronted (Frame 1)?
- Are conditions/times leading (Frame 2)?
- Are sentences flowing without period spam (Frame 3)?
- Do clauses close with appropriate particles (Frame 4)?
- Is cohesion via zero anaphora + demonstratives (Frame 5)?
- Is ก็ pacing where Thai wants the beat (Frame 6)?
- Are pivots via question or simple , not formal connectives (Frame 7)?
-
Self-edit pass — scan for AI tells:
- Search for the forbidden phrases in
references/forbidden-phrases.md
.
- Connective budget: at most one ซึ่ง, one โดย, one ดังนั้น per ~100 words.
- Period audit: drop mid-paragraph periods.
- Closure audit: any / needs a closure particle.
- Sentence-length variance.
- ครับ/ค่ะ usage matches register.
- ถูก- passive: each instance genuinely adversative or genuinely agentless?
-
Closing. Don't recap. Real Thai writing ends with: a forward-looking line, a
reframed question, a quiet handoff (
,
), or just
stops. Never
then re-state the body.
When asked to edit Thai prose
Apply the same passes in reverse: hunt for frame violations and AI tells, propose
specific line edits with the
why. See
for before/after
worked examples.
When asked to translate English to Thai
Translation is where AI fails hardest because it preserves English shape — meaning
all seven frames are at maximum risk.
Minimum checklist:
- Reorder to topic-comment (Frame 1).
- Move condition/time clauses to front (Frame 2).
- Drop English-style mid-paragraph periods (Frame 3).
- Add Thai closure particles where the English-shaped sentence dangles (Frame 4).
- Drop pronouns once topic is set; use demonstratives where English uses pronouns
(Frame 5).
- Insert ก็ where Thai wants the beat (Frame 6).
- Convert "however / moreover" to questions or simple (Frame 7).
- Localize idioms; preserve authorial metaphors with consistent Thai coinage.
- Don't add politeness the source doesn't have. Confident essayists stay confident
in Thai.
- ทับศัพท์ judgment per the four-bucket guide in
references/style-rules.md
.
References
References (full text below, in bundle order):
(mechanical),
(surface),
(soft),
(positive),
(active register only when the harness scopes),
(active register only when scoped),
(audit blocklist).
Scholarly provenance (Iwasaki & Ingkaphirom, Smyth, Prasithrathsint,
Takahashi, Olsson, Thai Discourse Treebank, Singnoi, Royal Institute,
Marcel Barang) lives in
corpus/curated/scholarly/
— not in the bundle.
Important: when in doubt, ask the user
If the register is ambiguous (is this for a dev blog or formal docs? is the audience
SME owners or finance pros?), ask before drafting. Wrong register is worse than
rough prose.