giờ này cứ ngồi đặt câu hỏi AI có thay thế lập trình viên hay không nó cứ thế nào ấy, cảm giác là ko muốn nói chuyện nữa. nói câu chuyện sâu hơn nhé (phần mô hình hóa, chưa kịp verify nên có thể có nhầm nhọt, nhưng tinh thần vẫn truyền đạt đầy đủ)

1. Prompt

ngôn ngữ tự nhiên có ngữ cảnh (Contextual Natural Language Instructions). prompt không phải là câu lệnh, nó là một sự mô tả kỳ vọng được diễn giải bởi một mô hình xác suất. sự khác biệt cốt lõi là:

>. command/instruction và prompt AI đều là cách con người giao việc cho hệ thống, nhưng cơ chế vận hành rất khác nhau. lệnh truyền thống mang tính xác định(deterministic): khi cú pháp đúng và đầu vào giống nhau, hệ thống thường cho ra một kết quả cố định. prompt AI lại mang tính xác suất: mô hình tạo ra câu trả lời dựa trên phân phối đầu ra, nên cùng một yêu cầu vẫn có thể sinh ra nhiều phương án khác nhau.

>. sự khác biệt lớn nhất nằm ở yếu tố quyết định chất lượng kết quả. với cách lập trình truyền thống, trọng tâm là cú pháp chính xác và logic rõ ràng, sai thì thường xuất hiện compile error hoặc runtime error dễ nhận biết. với AI, điều quan trọng hơn là context và semantics. câu lệnh có thể rất trôi chảy nhưng đầu ra vẫn có thể lệch ý, ảo giác (hallucination) hoặc trôi ngữ cảnh (drift) mà người dùng không nhận ra ngay. vì vậy, khi làm việc với AI, năng lực viết prompt không chỉ là ra lệnh, mà là mô tả đúng ngữ cảnh, mục tiêu, ràng buộc và tiêu chí đánh giá kết quả.

để định nghĩa prompt một cách có cấu trúc:

gọi P là không gian của tất cả các prompt có thể. Một prompt p P là một cấu trúc bộ năm (quintuple):

p = (𝒰, 𝒞, , , )

trong đó: 𝒰 (Universe/Purpose) là không gian Mục đích; 𝒞 (Constraints) : không gian Ràng buộc; (Instructing) : không gian hướng dẫn; (Format) : không gian Định dạng; (Results): không gian kết quả kỳ vọng.

trong đó mỗi không gian đều được tham số hóa bởi một hàm ngữ cảnh: D {𝒰, 𝒞, , , } :  D = D(κ)

trong đó : κ (kappa) là context, một biến tiềm ẩn xác định toàn bộ ngữ nghĩa của mỗi chiều kích.

Định nghĩa Context κ như là giao của tất cả không gian ngữ nghĩa liên quan:

κ  =  𝒰(κ) ∩ 𝒞(κ) ∩ (κ) (κ) (κ)

đây là một điểm bất động (fixed point) theo nghĩa của Tarski: context vừa là đầu vào vừa là bất biến của cả hệ thống. nó không thể được tách rời khỏi bất kỳ chiều kích nào mà không làm mất tính toàn vẹn của toàn bộ prompt.

Hệ quả trực tiếp: nếu κ bị thiếu hoặc mơ hồ, phép giao trở thành rỗng:

κ ≈    P  là vô định nghĩa (undefined behavior)

điều này giải thích tại sao một prompt mơ hồ dù được viết rất dài vẫn cho ra đầu ra tệ: không phải thiếu từ ngữ, mà là thiếu context.

Xét một hệ thống gồm n chiều kích prompt và m yếu tố context. định nghĩa context matrix M  =  [ m_{ij} ]   Rˣᵐ

với n = 5 (các chiều kích: 𝒰, 𝒞, , , ) và m là số lượng yếu tố context (domain knowledge, user role, task type, constraints type, output schema...). mỗi phần tử m_{ij} biểu diễn mức độ liên kết giữa chiều kích i và yếu tố context j.

một prompt được gọi là context-complete khi và chỉ khi M có hạng đầy đủ (full rank):

rank(M) = min(n, m) = 5      prompt là context-complete

khi M suy biến (rank(M) < 5), tức là có ít nhất một chiều kích không được cung cấp đủ context, kết quả đầu ra của LLM sẽ có phương sai cao tương đương với "context rot" được định nghĩa: "as the number of tokens in the context window increases without relevant information, the model's ability to accurately recall information decreases." 

2. Không thể mô tả những gì mình không hiểu 

nếu đứng trên một niềm tin :

cho một hệ thống S và một prompt P nhằm mô tả hoặc vận hành S.

P là context-complete (α(P) = 1) khi và chỉ khi người tạo P đã nắm đủ. mô hình tinh thần (mental model) của S, ký hiệu: M_S κ(P).

hệ quả là nếu M_S  κ(P)  rank(M_P) < 5  P không định nghĩa được S hoàn chỉnh.

hay diễn giải lại là: không ai có thể viết prompt tốt cho thứ mình chưa hiểu.

không chỉ đúng với prompt cho AI trong triết học, nó là nhận thức phổ quát "những gì ta không thể nói, về đó ta phải im lặng". ứng dụng vào bối cảnh này ta có thể nói "những gì ta chưa hiểu, về đó ta không thể viết prompt tốt."

thiếu hụt context xuất hiện theo hai dạng không tương đương:

>type 1 là epistemic gap: người viết prompt không biết mình thiếu context (unknown unknowns). đây là dạng nguy hiểm nhất vì không thể tự phát hiện.

>type 2 là articulation gap: người viết prompt biết context nhưng không thể diễn đạt thành ngôn ngữ (known but unspeakable). xảy ra với expertise tacit (kiến thức ẩn).

khi gặp type I: kể cả có AI hỗ trợ, bạn vẫn không thể xây dựng được hệ thống đúng. AI là công cụ nó khuếch đại những gì bạn biết, không thể bù đắp những gì bạn không biết.

Khi gặp Type II: context builder có thể hỗ trợ bằng cách dùng few-shot examples, analogies, và chain-of-thought để "dẫn dắt" người dùng vật chất hóa context ẩn.

triển khai context builder:

định nghĩa không gian chiến lược cung cấp context là:

S_context = { zero-shot, one-shot, few-shot, chain-of-context, hybrid }

mỗi chiến lược tương ứng với một hàm xây dựng context κ-builder:

κ_builder : S_context × Input → κ_complete

trong đó:

> zero-shot context : không cung cấp ví dụ; toàn bộ context được truyền qua mô tả ngôn ngữ thuần túy. hàm context:

κ_zero(x) = Desc(Purpose) + Desc(Constraints) + Desc(Format) + Desc(Results)

điều kiện hiệu quả: rank(M_zero) = 5, yêu cầu người dùng phải có mô hình tinh thần hoàn chỉnh về nhiệm vụ và có thể diễn đạt hoàn toàn bằng ngôn ngữ. "LLMs are highly sensitive to subtle variations in prompt formatting, structure, and linguistic properties" chính vì vậy, zero-shot là chiến lược rủi ro nhất.

> one-shot : cung cấp một ví dụ minh họa (example pair):

κ_one(x) = κ_zero(x) + { (input₁, output₁) }

ví dụ đơn này hoạt động như một "neo ngữ nghĩa" (semantic anchor) --> nó thu hẹp phân phối xác suất đầu ra của LLM. tác động được mô tả bằng bayes:

P(output | context, example)  P(example | output) · P(output | context).

> few-shot context: k ví dụ được chọn lọc, tạo ra một context manifold:  κ_few(x) = κ_zero(x) + { (input, output) }

few-shot không chỉ là 'thêm ví dụ' mà là bài toán tối ưu hóa thứ tự và lựa chọn tập mẫu để tối đa hóa rank(M).

ta có thể biểu diễn few-shot như bài toán tối ưu:

arg max  rank(M(κ_zero + S_k))

  S_k  𝒟                         |S_k| = k

với 𝒟 là tập dữ liệu mẫu khả dụng và S_k là tập k ví dụ được chọn.

> chain-of-context: đây là chiến lược mạnh nhất, trong đó context được xây dựng tuần tự qua nhiều lượt, mỗi lượt output trở thành input context cho lượt tiếp theo:

κ₀ = initial_context

κ = κ    LLM(P))

κ_chain = κ_T    (T = số bước)

đây chính là nền tảng toán học của chain-of-thought (CoT) prompting do wei et al. (Google, 2022) đề xuất. Anthropic (2025) mở rộng sang mô hình context compaction: "the model preserves architectural decisions, unresolved bugs, and implementation details while discarding redundant tool outputs" đây chính là phép projection trong không gian context: giữ lại các chiều thông tin có rank cao, loại bỏ chiều nhiễu.

3. context rot và giới hạn tuyến tính

một phát hiện quan trọng cần đối chiếu với mô hình tập hợp: việc cung cấp quá nhiều context cũng có hại. Chroma Research (2025) đặt tên hiện tượng này là "context rot": 

điều này thêm một chiều phức tạp vào mô hình: context không chỉ cần đầy đủ mà còn cần súc tích và có độ nhiễu thấp. ta có hàm chất lượng context tinh chỉnh hơn:

Q(κ) = α · Completeness(κ) - β · Noise(κ) - γ · Redundancy(κ)

với α, β, γ là hệ số trọng số. điều kiện tối ưu:

κ* = arg max Q(κ)

     κK

Paulsen (2026) tìm thấy rằng "the maximum effective context window (MECW) falls far short of the maximum context window by as much as >99%" tức là mô hình dù có 1M token context nhưng chỉ sử dụng hiệu quả một phần rất nhỏ. đây là bằng chứng thực nghiệm cho bất đẳng thức:

|κ*| << |κ_max|  (context tối ưu << context tối đa khả dụng)

trong thế giới của ứng dụng AI thế hệ mới, vấn đề cốt lõi không phải là viết prompt như thế nào? mà là làm thế nào để có đủ context để viết được prompt tốt? đây là sự dịch chuyển từ bài toán kỹ thuật sang bài toán nhận thức luận. AI không thể thay thế sự thấu hiểu nó chỉ có thể khuếch đại nó.

tôi thề với các bạn sinh viên, các bạn mà ko rèn thói quen và năng lực đọc hiểu thì chắc chắn là đứt. muốn tồn tại với nghề, đặc biệt là cái nghề IT, đi xây công cụ và trở thành hạ tầng cho các ngành nghề khác thì càng phải đọc.

học hành ko cẩn thận , với AI thì kết quả sẽ là bị tha hóa và trở nên kém hơn cả lúc chưa học vì sao:

các đề bài dạng progress check bắt buộc phải cung cấp đầy đủ context với κ*  = κ_max --> chụp đề bài phát là AI ra đáp án luôn, chẳng cần phải nghĩ ngợi gì. 

giá trị rèn luyện bằng 0, và biến việc học thành môi trường cho sự tha hóa.