Xây dựng trợ lý mã AI bằng Tác nhân mã Pipet

Việc viết mã có thể mang lại nhiều lợi ích và khiến bạn hài lòng, nhưng việc viết mã của bạn từ trạng thái làm việc đến có thể trình bày cho đồng nghiệp thường là việc nhàm chán. Các mô hình tạo sinh dựa trên trí tuệ nhân tạo có thể giúp bạn thêm nhận xét cho mã, phát hiện lỗi trước khi nhân viên đánh giá thực hiện và thực hiện một loạt nhiệm vụ khác để quy trình lập trình trở nên dễ dàng hơn.

Phần hướng dẫn này trình bày cách mở rộng Pipet Code Agent, một công cụ hỗ trợ lập trình dựa trên AI do nhóm Quan hệ với nhà phát triển AI của Google xây dựng. Dự án nguồn mở này là một tiện ích cho Mã Visual Studio (Mã VS) của Microsoft, giúp bạn xử lý một số công việc quan trọng nhưng ít thú vị hơn khi lập trình, chẳng hạn như nhận xét mã, tìm lỗi và đề xuất cách cải thiện. Tiện ích này gửi các yêu cầu hỗ trợ lập trình đến API Gemini và tích hợp các phản hồi vào cửa sổ chỉnh sửa mã của bạn.

Bạn có thể sửa đổi Pipet để giúp các hàm hiện có này hoạt động hiệu quả hơn cho bạn hoặc tạo các lệnh mới để hỗ trợ tốt hơn cho quy trình phát triển.

Để xem video tổng quan về dự án và cách mở rộng dự án, bao gồm cả thông tin chi tiết từ đội ngũ xây dựng dự án, hãy xem video AI Code Assistant – Build with Google AI (Trợ lý mã AI – Xây dựng bằng AI của Google). Nếu không, bạn có thể bắt đầu mở rộng dự án theo hướng dẫn bên dưới.

Thiết lập dự án

Những hướng dẫn này sẽ hướng dẫn bạn thiết lập dự án Pipet Code Agent để phát triển và kiểm thử. Các bước chung bao gồm cài đặt một số phần mềm tiên quyết, đặt một vài biến môi trường, sao chép dự án từ kho lưu trữ mã và chạy quá trình cài đặt cấu hình.

Cài đặt điều kiện tiên quyết

Dự án Pipet Code Agent chạy dưới dạng một tiện ích của Microsoft Visual Studio Code, đồng thời sử dụng Node.js và công cụ npm để quản lý các gói cũng như chạy ứng dụng. Hướng dẫn cài đặt sau đây dành cho máy chủ Linux.

Cách cài đặt phần mềm được yêu cầu:

  1. Cài đặt Visual Studio Code (Mã Visual Studio) cho nền tảng của bạn.
  2. Cài đặt nodenpm bằng cách làm theo hướng dẫn cài đặt cho nền tảng của bạn.

Sao chép và định cấu hình dự án

Tải mã dự án xuống và dùng lệnh cài đặt npm để tải các phần phụ thuộc bắt buộc xuống và định cấu hình dự án. Bạn cần phần mềm kiểm soát nguồn git để truy xuất mã nguồn dự án.

Cách tải xuống và định cấu hình mã dự án:

  1. Sao chép kho lưu trữ git bằng lệnh sau.
    git clone https://github.com/google/generative-ai-docs
    
  2. Bạn có thể định cấu hình kho lưu trữ git cục bộ để sử dụng quy trình thanh toán thưa thớt (không bắt buộc), nhờ đó bạn chỉ có các tệp cho dự án Tác nhân tài liệu.
    cd generative-ai-docs/
    git sparse-checkout init --cone
    git sparse-checkout set examples/gemini/node/pipet-code-agent/
    
  3. Chuyển đến thư mục gốc của dự án Pipet Code Agent.
    cd generative-ai-docs/examples/gemini/node/pipet-code-agent/
    
  4. Chạy lệnh cài đặt để tải các phần phụ thuộc xuống và định cấu hình dự án:
    npm install
    

Định cấu hình và kiểm tra tiện ích

Bây giờ, bạn có thể kiểm thử chế độ cài đặt bằng cách chạy Pipet Code Agent dưới dạng một tiện ích phát triển trong Mã VS trên thiết bị. Chương trình kiểm thử sẽ mở ra một cửa sổ Máy chủ phát triển tiện ích mã VS riêng biệt có sẵn tiện ích mới. Trong cửa sổ mới này, bạn định cấu hình Khoá API mà tiện ích sử dụng để truy cập vào API Google Gemini.

Tác nhân mã Pipet chạy trong cửa sổ Máy chủ phát triển tiện ích Hình 1. Cửa sổ Máy chủ phát triển tiện ích mã VS có các lệnh tiện ích Pipet.

Cách định cấu hình và kiểm thử chế độ thiết lập:

  1. Khởi động ứng dụng Mã VS.
  2. Trong VS Code, hãy tạo một cửa sổ mới bằng cách chọn File > New Window (Tệp > Cửa sổ mới).
  3. Mở dự án Pipet Code Agent bằng cách chọn File > Open Folder (Tệp > Mở thư mục) rồi chọn thư mục pipet-code-agent/.
  4. Mở tệp pipet-code-agent/package.json.
  5. Chạy tiện ích ở chế độ gỡ lỗi bằng cách chọn Run > Start Debugging (Chạy > Bắt đầu gỡ lỗi). Bước này mở ra một cửa sổ Máy chủ phát triển tiện ích mã VS riêng.
  6. Mở chế độ cài đặt VS Code bằng cách chọn Code > Settings > Settings (Mã > Cài đặt > Cài đặt).
  7. Lấy Khoá API Google Gemini trên trang web dành cho Nhà phát triển AI tạo sinh rồi sao chép chuỗi khoá.
  8. Đặt khoá API làm một chế độ cài đặt cấu hình. Trong trường Search Settings (Cài đặt tìm kiếm), hãy nhập pipet, chọn thẻ User (Người dùng) và trong chế độ cài đặt Google > Gemini: Api Key (Google > Gemini: Khoá Api), hãy nhấp vào đường liên kết Edit in settings.json và thêm khoá API Gemini:
    "google.gemini.apiKey": "your-api-key-here"
    
  9. Lưu các thay đổi vào tệp settings.json rồi đóng các thẻ cài đặt.

Cách kiểm thử các lệnh của tiện ích:

  1. Trong cửa sổ Tiện ích máy chủ phát triển tiện ích (VS) mã VS, hãy chọn mã bất kỳ trong cửa sổ trình chỉnh sửa.
  2. Mở bảng lệnh bằng cách chọn Xem > Bảng lệnh.
  3. Trong Bảng điều khiển lệnh, hãy nhập Pipet rồi chọn một trong các lệnh có tiền tố đó.

Sửa đổi lệnh hiện có

Việc sửa đổi các lệnh được cung cấp trong Pipet Code Agent là cách đơn giản nhất để thay đổi hành vi và chức năng của tiện ích. Cả lệnh nhận xét và lệnh xem xét đều sử dụng phương pháp lời nhắc nhanh với các ví dụ về mã và nhận xét cho mã đó, cũng như một số hướng dẫn chung cho mô hình tạo sinh bằng AI. Thông tin về bối cảnh của câu lệnh này sẽ hướng dẫn mô hình tạo sinh Gemini để tạo câu trả lời. Bằng cách thay đổi hướng dẫn lời nhắc, ví dụ hoặc cả hai trong lệnh nhận xét hoặc xem xét, bạn có thể thay đổi cách hoạt động của từng lệnh hiện có.

Tập hợp hướng dẫn này giải thích cách sửa đổi lệnh review.ts bằng cách thay đổi văn bản lời nhắc của lệnh.

Cách chuẩn bị chỉnh sửa lệnh review.ts:

  1. Khởi động ứng dụng Mã VS.
  2. Trong VS Code, hãy tạo một cửa sổ mới bằng cách chọn File > New Window (Tệp > Cửa sổ mới).
  3. Mở dự án Pipet Code Agent bằng cách chọn File > Open Folder (Tệp > Mở thư mục) rồi chọn thư mục pipet-code-agent/.
  4. Mở tệp pipet-code-agent/src/review.ts.

Cách sửa đổi hành vi của lệnh review.ts:

  1. Trong tệp review.ts, hãy thay đổi trạng thái bắt đầu của hằng số PROMPT thành các lệnh khác.
    const PROMPT = '
    Write review comments for following code, identifying bugs and ways to improve code quality. Examples of bugs are syntax errors or typos, out of memory errors, and boundary value errors. Examples of improving code quality are reducing complexity of code, eliminating duplicate code, and ensuring other developers
    are able to understand the code.
    ${CODE_LABEL}
    ...
  2. Trong tệp review.ts, hãy thêm một ví dụ khác vào danh sách ví dụ về đánh giá mã và mã (không bắt buộc).
    ...
    ${REVIEW_LABEL}
    There are duplicate lines of code in this control structure.
    ${CODE_LABEL}
    const fixed_value = 128;
    ${REVIEW_LABEL}
    Make sure constant names are in all capitals (FIXED_VALUE) for clarity.
    ';
  3. Lưu nội dung thay đổi vào tệp review.ts.

Cách kiểm thử lệnh đã sửa đổi:

  1. Trong cửa sổ dự án tiện ích mở rộng VS Code Pipet, hãy khởi động lại trình gỡ lỗi bằng cách chọn Run > Restart Debugging (Chạy > Khởi động lại gỡ lỗi).
  2. Trong cửa sổ Tiện ích máy chủ phát triển tiện ích (VS) mã VS, hãy chọn mã bất kỳ trong cửa sổ trình chỉnh sửa.
  3. Mở bảng lệnh bằng cách chọn Xem > Bảng lệnh.
  4. Trong Bảng điều khiển lệnh, hãy nhập Pipet rồi chọn lệnh Pipet: Xem lại mã đã chọn.

Tạo lệnh mới

Bạn có thể mở rộng Pipet bằng cách tạo các lệnh mới thực hiện các tác vụ hoàn toàn mới bằng API Gemini. Mỗi tệp lệnh (comment.tsreview.ts) hầu như đều độc lập và bao gồm mã để thu thập văn bản từ trình chỉnh sửa đang hoạt động, soạn câu lệnh, kết nối với API Gemini, gửi lời nhắc và xử lý phản hồi.

Tác nhân mã Pipet có công cụ Đặt tên cho hàm lựa chọn Hình 2. Lệnh đề xuất tên hàm mới trong cửa sổ Máy chủ phát triển tiện ích mã VS.

Bộ hướng dẫn này giải thích cách tạo một lệnh mới bằng cách sử dụng mã của lệnh hiện có là comment.ts làm mẫu.

Cách tạo một lệnh đề xuất tên cho các hàm:

  1. Tạo bản sao của tệp pipet-code-agent/src/comment.ts có tên là name.ts trong thư mục src/.
  2. Trong VS Code, mở tệp src/name.ts.
  3. Thay đổi hướng dẫn về lời nhắc trong tệp name.ts bằng cách chỉnh sửa giá trị PROMPT.
    // Provide instructions for the AI generative model
    const PROMPT = `Recommend a name for this function. Explain your
    reasoning in 3 sentences or less:`;
    
  4. Thay đổi tên của hàm lệnh và thông báo thông tin về hàm đó.
    export async function generateName() {
      vscode.window.showInformationMessage('Generating function name...');
    
  5. Cập nhật mã tập hợp lời nhắc để chỉ bao gồm giá trị PROMPT và văn bản đã chọn trong trình chỉnh sửa.
      // Build the full prompt using the template.
      const fullPrompt = `${PROMPT}
    "
    ${selectedCode}
    "
    `;
  6. Hãy thay đổi dữ liệu đầu ra phản hồi để mô tả nội dung phản hồi đang tạo.
        // update prefix to describe output
        let commentIntro = padding + commentPrefix + "Recommended name: (generated)\n";
        editBuilder.insert(selection.start, commentIntro);
        editBuilder.insert(selection.start, pyComment);
    
  7. Lưu nội dung thay đổi vào tệp review.ts.

Tích hợp lệnh mới

Sau khi hoàn tất mã cho lệnh mới, bạn cần tích hợp mã đó với phần còn lại của tiện ích. Cập nhật các tệp extension.tspackage.json để tạo phần lệnh mới của tiện ích và bật Mã VS để gọi lệnh mới.

Cách tích hợp lệnh name với mã tiện ích:

  1. Trong VS Code, mở tệp pipet-code-agent/src/extension.ts.
  2. Thêm tệp mã mới vào tiện ích bằng cách thêm một câu lệnh nhập mới.
    import { generateName } from './name';
    
  3. Đăng ký lệnh mới bằng cách thêm mã sau vào hàm activate().
    export function activate(context: vscode.ExtensionContext) {
        ...
        vscode.commands.registerCommand('pipet-code-agent.nameFunction', generateName);
    }
  4. Lưu nội dung thay đổi vào tệp extension.ts.

Cách tích hợp lệnh name với gói tiện ích:

  1. Trong VS Code, mở tệp pipet-code-agent/package.json.
  2. Thêm lệnh mới vào phần commands của tệp gói.
      "contributes": {
        "commands": [
          ...
          {
            "command": "pipet-code-agent.nameFunction",
            "title": "Pipet: Name the selected function."
          }
        ],
    
  3. Lưu nội dung thay đổi vào tệp package.json.

Kiểm thử lệnh mới

Sau khi lập trình xong lệnh và tích hợp lệnh đó với tiện ích, bạn có thể kiểm thử lệnh đó. Lệnh mới của bạn chỉ xuất hiện trong cửa sổ Tiện ích lưu trữ mã VS, chứ không xuất hiện trong cửa sổ Mã VS nơi bạn đã chỉnh sửa mã cho tiện ích.

Cách kiểm thử lệnh đã sửa đổi:

  1. Trong cửa sổ dự án tiện ích mở rộng VS Code Pipet, hãy khởi động lại trình gỡ lỗi bằng cách chọn Chạy > Khởi động lại gỡ lỗi. Thao tác này sẽ khởi động lại cửa sổ Máy chủ phát triển tiện ích riêng biệt.
  2. Trong cửa sổ Tiện ích máy chủ phát triển tiện ích (VS) Mã VS, hãy chọn một số mã trong cửa sổ trình chỉnh sửa.
  3. Mở bảng lệnh bằng cách chọn Xem > Bảng lệnh.
  4. Trong Bảng điều khiển lệnh, hãy nhập Pipet rồi chọn lệnh Pipet: Đặt tên cho hàm đã chọn.

Tài nguyên bổ sung

Để biết thêm thông tin về dự án Tác nhân mã Pipet, hãy xem kho lưu trữ mã. Nếu bạn cần trợ giúp để xây dựng ứng dụng hoặc đang tìm cộng tác viên nhà phát triển, hãy truy cập vào máy chủ Google Developers Community Discord.

Ứng dụng sản xuất

Nếu bạn định triển khai Tác nhân tài liệu cho nhiều đối tượng, xin lưu ý rằng việc bạn sử dụng API Google Gemini có thể phải tuân theo giới hạn số lượng yêu cầu và các hạn chế sử dụng khác. Nếu bạn đang cân nhắc xây dựng một ứng dụng phát hành chính thức bằng API Gemini như Workspace Agent, hãy tham khảo các dịch vụ của Vertex AI của Google Cloud để tăng khả năng có thể mở rộng và độ tin cậy cho ứng dụng của bạn.