Skip to content

one-toolkit giải quyết vấn đề gì?

Vấn đề phổ biến khi dùng AI coding agent hiện nay

Khi làm việc với AI coding agents (Cursor, Claude Code, GitHub Copilot, v.v.), bạn có thể gặp những tình huống này:

1. AI "nhảy thẳng vào code" mà không hiểu bài toán

Developer: "Tôi cần làm tính năng thanh toán"
AI: "OK, đây là code PaymentController..."

Vấn đề: AI bỏ qua các câu hỏi quan trọng:

  • Thanh toán bằng gì? (Credit card, e-wallet, bank transfer?)
  • Flow thanh toán như thế nào?
  • Xử lý lỗi ra sao?
  • Bảo mật thế nào?

Kết quả: Code được sinh ra nhanh nhưng thiếu suy nghĩ, phải refactor nhiều lần.

2. Context bị "quên" giữa các phiên làm việc

Ngày 1: AI thiết kế REST API với JWT authentication
Ngày 3: AI suggest dùng session-based auth (mâu thuẫn với thiết kế ban đầu)

Vấn đề: AI không có "bộ nhớ dài hạn" về quyết định kiến trúc. Mỗi lần chat mới, AI có thể đưa ra giải pháp khác nhau, không nhất quán.

3. Thiếu quy trình có hệ thống

Trong phát triển phần mềm thực tế, chúng ta có SDLC (Software Development Life Cycle):

Requirements → Design → Planning → Implementation → Testing

Nhưng khi dùng AI agent, flow thường là:

Prompt → Code → Debug → Code lại → Debug lại → ...

Vấn đề: Không có giai đoạn suy nghĩ, thiết kế trước. Dẫn đến:

  • Code bị refactor nhiều lần
  • Thiếu documentation
  • Khó maintain
  • Team khó collaborate

4. Hallucination và over-engineering

AI có xu hướng:

  • Tạo ra code phức tạp không cần thiết
  • Thêm các pattern/library mà project không dùng
  • "Tưởng tượng" ra API hoặc function không tồn tại
  • Implement feature không được yêu cầu

Ví dụ thực tế:

typescript
// Bạn yêu cầu: "Tạo function validate email"
// AI có thể trả về:
import { EmailValidator } from 'super-advanced-validator'; // Library không tồn tại
import { RegexEngine } from './regex-engine'; // File bạn chưa tạo
import { LoggerService } from '@nestjs/common'; // Dù bạn không dùng NestJS

class AdvancedEmailValidator {
  // 200 dòng code phức tạp cho việc validate email đơn giản
}

Vì sao prompt đơn lẻ là không đủ

Prompt tốt vs Prompt có hệ thống

Prompt đơn lẻ (cách thông thường):

"Viết REST API cho user authentication với JWT, 
có register, login, logout, refresh token"

AI sẽ sinh code ngay lập tức. Nhưng:

  • Không có requirements document
  • Không có design doc
  • Không có test plan
  • Không có implementation notes

Khi cần thay đổi sau này (ví dụ: thêm OAuth), bạn phải giải thích lại toàn bộ context.

Prompt có hệ thống (với one-toolkit):

Phase 1 - Requirements:
- Định nghĩa rõ authentication flow
- Xác định security requirements
- Liệt kê edge cases

Phase 2 - Design:
- Thiết kế database schema
- Định nghĩa API endpoints
- Quyết định JWT structure

Phase 3 - Planning:
- Break down thành tasks nhỏ
- Xác định dependencies
- Estimate effort

Phase 4 - Implementation:
- Code theo plan đã định
- AI có context đầy đủ từ các phase trước

Phase 5 - Testing:
- Test cases đã được định nghĩa từ requirements
- Coverage target rõ ràng

Tại sao cần structure?

Trong thực tế phát triển phần mềm:

  1. Solo developer: Bạn cần nhớ lại quyết định của mình sau 2 tuần
  2. Team: Người khác cần hiểu tại sao bạn làm như vậy
  3. Maintenance: 6 tháng sau, ai đó (có thể là bạn) phải sửa bug
  4. Scale: Thêm feature mới không làm break hệ thống cũ

Prompt đơn lẻ không giải quyết được những vấn đề này.

Vì sao cần workflow + phase + rule

Workflow: Quy trình làm việc có cấu trúc

Không có workflow:

Developer → AI → Code → Bug → Fix → Bug → Fix → ...

Có workflow:

Developer → Requirements → Design → Planning → Implementation → Testing
           ↑                                                          ↓
           └──────────────── Feedback Loop ─────────────────────────┘

Lợi ích:

  • Mỗi giai đoạn có mục tiêu rõ ràng
  • Output của giai đoạn trước là input của giai đoạn sau
  • Dễ review và rollback

Phase: Chia nhỏ công việc

Mỗi phase có:

  • Scope rõ ràng: Làm gì, không làm gì
  • Deliverable cụ thể: Output là gì
  • Validation criteria: Làm sao biết phase này xong

Ví dụ Phase "Requirements":

  • ✅ Làm: Viết user stories, define success criteria
  • ❌ Không làm: Viết code, chọn technology stack
  • 📄 Output: File docs/agent/requirements/feature-name.md
  • ✓ Done khi: Tất cả stakeholders đồng ý với requirements

Rule: Ràng buộc hành vi của AI

Rules giúp AI:

  • Không "nhảy phase" (không code trong giai đoạn requirements)
  • Tuân thủ coding standards của project
  • Reference đúng documents
  • Không hallucinate

Ví dụ rule:

markdown
## Phase: Requirements
AI được phép:
- Hỏi câu hỏi làm rõ
- Viết user stories
- Đề xuất success criteria

AI KHÔNG được phép:
- Viết code
- Đề xuất technology stack
- Tạo database schema

Tại sao cần cả 3?

Giống như xây nhà:

  • Workflow = Quy trình xây dựng (móng → tường → mái)
  • Phase = Từng bước cụ thể (đổ móng, xây tường, lợp mái)
  • Rule = Quy chuẩn xây dựng (độ dày tường, chất lượng vật liệu)

Không có workflow → Xây lung tung Không có phase → Không biết đang ở đâu Không có rule → Chất lượng không đảm bảo

Kết luận

Vấn đề cốt lõi: AI coding agents rất mạnh, nhưng thiếu cấu trúc và kỷ luật.

Giải pháp: one-toolkit cung cấp framework để:

  1. Ép AI suy nghĩ có hệ thống (workflow)
  2. Chia nhỏ công việc (phases)
  3. Kiểm soát hành vi AI (rules)

Kết quả: Code chất lượng cao hơn, dễ maintain hơn, team collaboration tốt hơn.


Câu hỏi tiếp theo: Vậy one-toolkit hoạt động như thế nào? → Xem phần tiếp theo.

Internal documentation for iNET Portal