Giải thích thuật ngữ
Tài liệu này giải thích các thuật ngữ thường gặp khi làm việc với Jai1 framework, giúp bạn hiểu rõ hơn về các khái niệm và công nghệ cốt lõi.
Agentic IDE
Agentic IDE là môi trường phát triển tích hợp (IDE) được tăng cường bởi các tác tử AI (Agentic AI), cung cấp các tính năng thông minh để hỗ trợ lập trình viên. Các thành phần chính bao gồm:
Autocomplete
Autocomplete là tính năng gợi ý và tự động hoàn thành mã nguồn khi người dùng đang gõ. Trong Agentic IDE, tính năng này được cải tiến bởi AI để đưa ra các gợi ý thông minh hơn, dựa trên ngữ cảnh của toàn bộ dự án.
Assistant Chat
Assistant Chat là giao diện trò chuyện nơi người dùng có thể tương tác với trợ lý AI bằng ngôn ngữ tự nhiên. Nó được sử dụng để đặt câu hỏi, yêu cầu tạo mã, nhận giải thích và hướng dẫn các hành động của AI.
Inline Edit
Inline Edit là một tính năng cho phép người dùng hoặc AI chỉnh sửa mã nguồn trực tiếp trong trình soạn thảo mà không cần chuyển sang một giao diện riêng biệt. AI có thể đề xuất các thay đổi và người dùng có thể chấp nhận hoặc sửa đổi chúng ngay tại chỗ. Điều này mang lại trải nghiệm lập trình liền mạch và hiệu quả.
Agent Mode
Agent Mode là một chế độ hoạt động của AI, trong đó AI có khả năng tự chủ thực hiện các tác vụ phức tạp mà không cần sự can thiệp liên tục từ người dùng. Ở chế độ này, AI có thể tự lập kế hoạch, thực thi các bước, và tự sửa lỗi để đạt được mục tiêu cuối cùng.
INFO
Hiện tại có nhiều tên gọi khác nhau:
- Agent:
Agent,Write, ... - Assistant:
Chat,Assistant,Ask, ...
Các khái niệm và công nghệ khác
Context (Ngữ cảnh)
Context là toàn bộ thông tin mà AI có được tại một thời điểm nhất định để hiểu và xử lý yêu cầu của người dùng. Ngữ cảnh có thể bao gồm:
- Nội dung các file đang mở.
- Vị trí con trỏ của người dùng.
- Lịch sử cuộc trò chuyện.
- Thông tin về dự án (cấu trúc thư mục, các file quan trọng).
- Các memory (bộ nhớ) đã được lưu trữ từ trước. Ngữ cảnh càng đầy đủ và chính xác, AI càng có khả năng đưa ra câu trả lời hoặc giải pháp phù hợp.
Markdown
Markdown là một ngôn ngữ đánh dấu nhẹ được sử dụng rộng rãi để định dạng văn bản. Trong Agentic IDE, Markdown được dùng để:
- Viết tài liệu (như file này).
- Định dạng các câu trả lời, giải thích của AI trong giao diện chat.
- Tạo các ghi chú, mô tả trong code.
llmstxt
llmstxt là một định dạng file đặc biệt được thiết kế để cung cấp "context" hoặc "prompt" cho các mô hình ngôn ngữ lớn (LLM). Các file này thường chứa các chỉ dẫn, ví dụ, hoặc dữ liệu nền tảng để AI có thể hiểu rõ hơn về một tác vụ cụ thể.
- Mục đích: Giúp AI hoạt động hiệu quả hơn bằng cách cung cấp ngữ cảnh có cấu trúc, giảm thiểu sự mơ hồ và tăng tính nhất quán.
MCP (Model Context Protocol)
MCP (Model Context Protocol) là một giao thức chuẩn cho phép AI (Model) tương tác với các công cụ và nguồn dữ liệu bên ngoài (Context). Nó định nghĩa cách AI có thể yêu cầu thông tin, gọi các API, hoặc thực thi các hành động một cách an toàn và có cấu trúc.
- Ví dụ: Khi AI cần truy cập vào một cơ sở dữ liệu hoặc một dịch vụ web, nó sẽ sử dụng MCP để gửi yêu cầu và nhận lại kết quả. Điều này giúp mở rộng khả năng của AI vượt ra ngoài những gì nó đã được huấn luyện.
Agentic AI
Là một lĩnh vực của trí tuệ nhân tạo, tập trung vào việc tạo ra các "agent" (tác tử) có khả năng hành động tự chủ trong một môi trường để đạt được mục tiêu. Các agent này có thể nhận thức, suy luận, lập kế hoạch và hành động.
Codebase
Toàn bộ mã nguồn của một dự án phần mềm. AI cần hiểu rõ codebase để có thể thực hiện các thay đổi một cách chính xác.
Call Tools (Công cụ)
Đây là các công cụ mà IDE cung cấp để Agent có thể gọi và tự động thực hiện các hành động ví dụ: read_file, write_to_file, run_command, grep, ....
Memory (Bộ nhớ)
Là nơi lưu trữ các thông tin quan trọng, sở thích của người dùng, hoặc các quyết định thiết kế đã được thống nhất. AI có thể truy cập vào memory để đảm bảo tính nhất quán và cá nhân hóa trong các tương tác sau này.
Short term: bộ nhớ ngắn hạn, vì dụ chỉ trong conversation.Long term: bộ nhớ dài hạn, vì dụ trong dự án, công ty.
Conversation
Là một cuộc trò chuyện giữa người dùng và AI. Mỗi conversation có thể bao gồm nhiều message, và AI sẽ sử dụng ngữ cảnh của conversation để hiểu và xử lý yêu cầu của người dùng.
Prompt
Prompt là một câu lệnh, câu hỏi hoặc một đoạn văn bản đầu vào được cung cấp cho mô hình ngôn ngữ lớn (LLM) để nó tạo ra một phản hồi cụ thể. Chất lượng của prompt ảnh hưởng trực tiếp đến chất lượng đầu ra của AI. Một prompt rõ ràng, chi tiết và có ngữ cảnh tốt sẽ giúp AI tạo ra kết quả chính xác và phù hợp hơn.
Instruction (Chỉ dẫn)
Instruction là một mệnh lệnh hoặc yêu cầu cụ thể nằm bên trong một prompt. Nó chỉ dẫn cho AI biết chính xác phải làm gì. Trong khi prompt cung cấp toàn bộ ngữ cảnh, instruction là phần hành động.
- Ví dụ: Trong prompt "Bạn là một chuyên gia về Python. Hãy viết một hàm để tính tổng hai số.", thì "Hãy viết một hàm để tính tổng hai số" chính là instruction.
Prompt Engineer
Prompt Engineer là người chuyên thiết kế, tinh chỉnh và tối ưu hóa các prompt để đạt được kết quả tốt nhất từ các mô hình AI. Công việc của một Prompt Engineer bao gồm việc hiểu sâu về cách hoạt động của LLM, thử nghiệm các loại prompt khác nhau và xây dựng các chiến lược prompt hiệu quả cho các ứng dụng cụ thể.
Rules (Quy tắc)
Rules là các quy tắc, ràng buộc hoặc hướng dẫn được định nghĩa trước để kiểm soát hành vi của AI. Các quy tắc này đảm bảo rằng AI hoạt động trong một khuôn khổ nhất định, tuân thủ các tiêu chuẩn bảo mật, đạo đức và yêu cầu của dự án.
- Ví dụ: một quy tắc có thể là "Không bao giờ xóa file mà không có sự cho phép của người dùng".
Workflows (Luồng công việc)
Workflows là một chuỗi các bước hoặc hành động được xác định trước để hoàn thành một nhiệm vụ cụ thể. Trong Agentic IDE, workflows giúp tự động hóa các quy trình lặp đi lặp lại, đảm bảo tính nhất quán và giảm thiểu sai sót. Người dùng có thể định nghĩa các workflows tùy chỉnh để phù hợp với nhu cầu công việc của mình.
Hallucination (Ảo giác)
Hallucination là hiện tượng khi mô hình ngôn ngữ lớn (LLM) tạo ra thông tin sai lệch, không chính xác, hoặc hoàn toàn bịa đặt nhưng lại trình bày chúng một cách tự tin và thuyết phục như thể đó là sự thật.
- Nguyên nhân: Thường xảy ra do mô hình cố gắng lấp đầy những khoảng trống trong kiến thức của nó hoặc diễn giải sai yêu cầu của người dùng.
- Ví dụ: AI có thể "sáng tác" ra các sự kiện lịch sử không có thật, trích dẫn các bài báo không tồn tại, hoặc viết ra các đoạn mã không hoạt động.
- Lưu ý: Đây là một trong những thách thức lớn nhất của công nghệ LLM hiện nay. Việc kiểm tra và xác thực lại thông tin do AI cung cấp là rất quan trọng.
Vibecoding
Vibecoding là một phong cách lập trình trong đó lập trình viên đưa ra các yêu cầu hoặc ý tưởng ở mức độ cao, dựa trên "cảm hứng" (vibe) hoặc định hướng chung, thay vì viết ra các thông số kỹ thuật chi tiết. Sau đó, AI sẽ diễn giải những ý tưởng này và chuyển chúng thành mã nguồn cụ thể.
Nhà khoa học máy tính Andrej Karpathy, người đồng sáng lập OpenAI và cựu lãnh đạo AI tại Tesla, đã giới thiệu thuật ngữ 'vibe coding' vào tháng 2 năm 2025. Khái niệm này đề cập đến một phương pháp lập trình dựa vào các Mô hình Ngôn ngữ Lớn (LLM), cho phép lập trình viên tạo ra mã nguồn hoạt động bằng cách cung cấp các mô tả bằng ngôn ngữ tự nhiên thay vì viết mã thủ công.
Thực tế
Đây là một phương pháp làm việc hiệu quả trong kỷ nguyên Agentic AI, đặc biệt ở giai đoạn tạo mẫu (prototyping) hoặc khám phá ý tưởng mới. Lập trình viên đóng vai trò là người định hướng, còn AI là người thực thi chi tiết. Tuy nhiên, phương pháp này đòi hỏi AI phải có ngữ cảnh (context) rất tốt về dự án và mục tiêu của người dùng để có thể "Kiểm soát" và tạo ra kết quả mong muốn. Nó cũng yêu cầu kỹ năng đánh giá và tinh chỉnh lại sản phẩm do AI tạo ra.
