Github Copilot – Đồng nghiệp ảo trong phát triển dự án

Chúng ta đang sống trong thời đại AI đang thay đổi cách chúng ta làm việc. Trong lĩnh vực lập trình, có nhiều công cụ AI đang nổi lên như Cursor AI mà một số đồng nghiệp đã chia sẻ (AnhPQ và TruyenTQ). Tuy nhiên, hôm nay tôi muốn giới thiệu với các bạn GitHub Copilot – công cụ AI được phát triển bởi GitHub và OpenAI, với những tính năng đặc biệt phù hợp cho developer trong hệ sinh thái GitHub

Mục Tiêu của bài viết tôi muốn chia sẻ:

– GitHub Copilot là gì và khác với các công cụ AI khác ra sao ?

– Cách GitHub Copilot hỗ trợ trong quy trình phát triển

– Cách viết prompt hiệu quả để tận dụng tối đa sức mạnh của Copilot

– Copilot hỗ trợ viết unit test, ngay cả khi bạn chưa quen với testing

Github Copilot là gì ?

GitHub Copilot là “đồng nghiệp ảo” – một AI pair programmer được phát triển bởi GitHub và OpenAI. Nó có thể gợi ý code, hoàn thiện hàm, sinh cả block function, thậm chí viết test, giải thích đoạn code hoặc giúp bạn debug ngay trong IDE quen thuộc (VS Code, JetBrains, Neovim, v.v.).

Copilot khác gì so với Cursor AI? Cùng nhìn vào bảng dưới nhé:

Nếu bạn làm việc chủ yếu trên VS Code hay không muốn đổi IDE, code editor,… hoặc đã dùng GitHub cho codebase, Copilot sẽ là “đồng đội AI” cực kỳ hữu ích.

Copilot giúp gì cho dev Backend như mình ?

1. Generate code CRUD nhanh chóng

Chỉ cần mô tả ngắn bằng tiếng Anh/Vietnamese, Copilot có thể generate model, migration, controller, service, repository… chuẩn Laravel, đúng chuẩn clean code, dùng luôn được.

Mình đã viết 1 prompt rất cơ bản và Copilot cũng có thể hiểu được.

Sau khi xem kết quả mình có thể Keep hoặc Undo nếu chưa thỏa mãn.

Ảnh dưới là function tại Controller. Nó cũng tự generate được connection dùng cho table user cũng như các error code mà dự án thường dùng.

2. Tạo query phức tạp, pagination, lọc dữ liệu

Bạn có thể mô tả nhu cầu lấy top 10 affiliate có doanh số cao nhất theo tháng, Copilot sẽ sinh Eloquent query, join, group by… đúng chuẩn Laravel.

3. Generate code test đơn giản

Dù bạn chưa quen viết test, chỉ cần mô tả, Copilot sẽ sinh ra các unit test, feature test phù hợp, kèm luôn assert và cách dùng factory.

4. Sinh workflow GitHub Actions và CI/CD

Copilot có thể sinh file YAML cho deploy Laravel, chạy test, build Docker… giúp team bạn CI/CD dễ dàng hơn.

5. Hỗ trợ refactor, giải thích code, tự động viết docblock

Đọc code cũ, bạn có thể hỏi Copilot: “Giải thích function này”, hoặc “Viết lại đoạn này cho tối ưu”, Copilot sẽ gợi ý luôn

Ví dụ: Viết và chạy code test đơn giản với Copilot trong Laravel

Giả sử tôi có model Affiliate với method tính hoa hồng:


// app/Models/Affiliate.php

public function calculateCommission($amount)
{
    return $amount * ($this->commission_rate / 100);
}

Bạn chỉ cần mở file test mới, viết prompt:

/**
 * Unit test cho method calculateCommission của Affiliate.
 * - Test với commission_rate = 10%, amount = 1000
 * - Kết quả phải là 100
 */

Copilot sẽ tự động sinh ra đoạn test như sau:

//php name=tests/Unit/AffiliateTest.php
<?php

namespace Tests\Unit;

use App\Models\Affiliate;
use Tests\TestCase;

class AffiliateTest extends TestCase
{
    /** @test */
    public function it_calculates_commission_correctly()
    {
        $affiliate = new Affiliate([
            'commission_rate' => 10
        ]);
        $this->assertEquals(100, $affiliate->calculateCommission(1000));
    }
}

Chạy test trong Laravel

Thiết lập môi trường test:

cp .env .env.testing
# Chỉnh sửa .env.testing để sử dụng database test

Tạo database test (nếu test liên quan DB):

 - Copy `.env` thành `.env.testing`, chỉnh DB cho phù hợp.
 - Chạy migrate:

      php artisan migrate --env=testing

Chạy test:

- Chạy toàn bộ test:

      php artisan test

- Chạy test file cụ thể:
  
      php artisan test tests/Unit/AffiliateTest.php
  

=> Terminal sẽ báo số test pass/fail, lỗi ở đâu, tại assert nào.

Tips để tận dụng Copilot hiệu quả:

Viết prompt ngắn, rõ ràng: Mô tả task, input, output mong muốn. Copilot càng hiểu rõ, code càng chuẩn.

Chấp nhận và chỉnh sửa: Đừng ngại sửa lại code Copilot gợi ý cho phù hợp với context dự án.

Kết hợp Copilot Chat: Khi bí ý tưởng, hãy hỏi Copilot Chat ngay trong IDE hoặc trên GitHub.

Thường xuyên review lại code: Dù Copilot rất thông minh, bạn vẫn cần kiểm tra lại để đảm bảo code an toàn và clean.

Học kèm với Copilot: Đọc giải thích Copilot sinh ra, bạn sẽ hiểu hơn về code base, best practice của Laravel.

Khi sử dụng Copilot tôi cũng có thể lựa chọn được AI model mà mình tin tưởng. Copilot đã có các AI model mới nhất của nhà GPT và Claude cũng như Gemini. Quá xịn xò đúng không ạ. Việc chỉ tốn 10$ cho gói pro thì ta có thể sử dụng thoải mái các model AI mà không phải mua từng cái một.



Khác với Cursor AI, Copilot không chỉ là trợ lý ảo hỗ trợ code mà nó chẳng khác gì là 1 trợ lý tổng hợp các model AI xịn xò nhất trên thế giới hiện tại vào một. Copilot cũng có thể truy cập web và hỏi các câu hỏi khác mà không phải chỉ về code.
Bạn chỉ cần truy cập vào đường link: https://github.com/copilot

GitHub Copilot không chỉ là công cụ generate code tự động, mà thực sự là “đồng nghiệp AI” giúp tăng tốc quy trình lập trình, từ phát triển tính năng, viết test, đọc hiểu code cũ, cho tới vận hành CI/CD trên GitHub.
Copilot hỗ trợ cực tốt cho cả những người chưa quen test, hoặc muốn tiết kiệm thời gian với các tác vụ lặp đi lặp lại.
Copilot cũng hỗ trợ chúng ta với các gói cực kì “hạt dẻ” cho người dùng. Tích hợp các AI vào làm một.

Related Posts