Xây dựng trợ lý lập trình AI trên AWS: Hướng dẫn cho các cơ quan liên bang

by Kyong Pak, Cindy Ames, Getnet Mekuriyaw, Jeffrey Chen, John Little, and Ola Olanipekun on 31 MAR 2025 in Artificial Intelligence, Federal, Generative AI, Government, Public Sector Permalink  Share

Hãy tưởng tượng bạn cắt giảm thời gian phát triển phần mềm bằng cách tự động hóa các tác vụ tẻ nhạt như tạo các đơn vị kiểm thử hoặc giải mã mã nguồn cũ. Đó là sức mạnh của generative AI, đang biến đổi toàn bộ vòng đời phát triển phần mềm (SDLC) và giảm thiểu “toil” cho các nhà phát triển trong nhiều tác vụ phát triển phần mềm. Bằng cách giải quyết những tác vụ cần thiết nhưng tốn thời gian này, generative AI có thể tăng cường hiệu quả và năng suất của đội ngũ phát triển.

Nếu bạn đang làm việc trong các ngành được quy định nghiêm ngặt như chính phủ liên bang hoặc an ninh quốc gia, bạn đối mặt với những thách thức độc đáo—từ quản lý các hệ thống cũ phức tạp với nợ kỹ thuật tích lũy đến theo kịp các công nghệ đang phát triển nhanh chóng. Nhu cầu phát triển phần mềm nhanh của bạn phải được cân bằng với các yêu cầu an ninh và tuân thủ nghiêm ngặt khi áp dụng các khả năng generative AI. Điều này đặc biệt đúng với các nhà tích hợp hệ thống (SIs) phát triển mã cho các sứ mệnh liên bang, những người có rất ít lựa chọn để tích hợp các khả năng AI mới nổi trong khi đồng thời đáp ứng các hướng dẫn của Viện Tiêu chuẩn và Công nghệ Quốc gia (NIST) 800-171Chứng nhận Mô hình Chín chắn Mạng mạng mạng (CMMC) cho phát triển mã an toàn.

Trong bài viết này, chúng tôi cung cấp một tổng quan về cách xây dựng một trợ lý lập trình AI tuân thủ Chương trình Quản lý Rủi ro và Ủy quyền Liên bang (FedRAMP)Hướng dẫn Yêu cầu An ninh Đám mây Công nghệ Quốc phòng (DoD CC SRG), sử dụng các công cụ phát triển nguồn mở và các dịch vụ generative AI của Amazon Web Services (AWS) trong cả AWS GovCloud (US) và các Vùng AWS tiêu chuẩn.

Điều quan trọng cần lưu ý là việc sử dụng phần mềm nguồn mở và triển khai an toàn các giải pháp trên AWS là trách nhiệm của khách hàng trong Mô hình Trách nhiệm Chia sẻ AWS.

Trợ lý lập trình AI trên AWS

Mô hình nền tảng (FMs), như Mô hình ngôn ngữ lớn (LLMs), là trung tâm của việc tạo mã, giải thích, tổ chức lại và kiểm tra bằng AI. AWS cung cấp một số cách để bạn truy cập và sử dụng các mô hình mạnh mẽ này:

Amazon Bedrock

Amazon Bedrock là một dịch vụ quản lý đầy đủ cung cấp một lựa chọn các FM hiệu suất cao, từ các công ty AI hàng đầu như AI21 Labs, Anthropic, Cohere, Meta, Mistral AI, Stability AI, và Amazon thông qua một API duy nhất, cùng với một bộ khả năng rộng để giúp bạn xây dựng các ứng dụng generative AI. Amazon Bedrock cung cấp một dòng mô hình toàn diện cho các tác vụ phát triển bao gồm:

  • Anthropic’s Claude, nổi tiếng với khả năng tạo mã và tính năng đại lý xuất sắc
  • Meta’s Llama, xuất sắc trong hoàn thành mã và giải thích khái niệm
  • Amazon Nova, một FM thế hệ tiếp theo được giới thiệu gần đây mang lại lợi ích hiệu suất giá cả hàng đầu trong ngành.

Với kiến trúc không cần quản lý cơ sở hạ tầng của Amazon Bedrock, bạn không cần quản lý cơ sở hạ tầng nào để quản lý nên bạn có thể nhanh chóng tích hợp và chuyển đổi giữa các mô hình để thử nghiệm và tối ưu hóa. Điều này có nghĩa là các nhà phát triển có thể nhanh chóng tích hợp Amazon Bedrock với các ứng dụng và công cụ nguồn mở của họ, cho phép họ sử dụng các mô hình AI mạnh mẽ này để cho phép biến đổi mã, đánh giá mã tự động và gợi ý gỡ lỗ không rời khỏi môi trường phát triển của họ. Và với mô hình giá cước sử dụng token theo sử dụng, bạn chỉ trả tiền cho những gì bạn sử dụng, không có cam kết theo thời gian.

Amazon SageMaker AI

Amazon SageMaker AI là một dịch vụ quản lý đầy đủ mang lại một bộ công cụ rộng để cho phép khả năng học máy (ML) hiệu suất cao, chi phí thấp. Bạn có thể tối ưu hóa quy trình xây dựng, đào tạo và triển khai các mô hình ML quy mô mà không cần quản lý cơ sở hạ tầng riêng.

Để tăng cường khả năng tiếp cận và áp dụng SageMaker AI, SageMaker JumpStart tối ưu hóa triển khai mô hình bằng cách cung cấp một giao diện điểm và nhấp trực quan hoặc API mà bạn có thể sử dụng để khởi chạy các mô hình, bao gồm LLMs. Bạn có thể nhanh chóng triển khai các điểm cuối sẵn sàng sản xuất từ các mô hình nguồn mở được thiết kế cho các tác vụ tạo mã bao gồm Starcoder2, CodeLlama, và Mistral cho các ứng dụng hiệu suất cao và hiệu quả.

Sau khi triển khai, các nhà khoa học dữ liệu và kỹ sư dữ liệu có thể tinh chỉnh các mô hình này trên kho mã nguồn và tập dữ liệu riêng tư của họ. SageMaker AI cung cấp cơ sở hạ tầng chuyên dụng để triển khai và lưu trữ các mô hình để bạn có quyền kiểm soát đầy đủ về hiệu suất và tối ưu hóa chi phí bằng mô hình giá cước dựa trên sử dụng linh hoạt. Sự kết hợp giữa khả năng triển khai không mã và khả năng tinh chỉnh linh hoạt này cho phép bạn nhanh chóng điều chỉnh một lựa chọn rộng các mô hình đã được chứng minh để phù hợp với nhu cầu cụ thể của họ, giảm thời gian từ ý tưởng đến giao hàng.

Giải pháp suy diễn LLM cho Amazon Dedicated Cloud (LISA)

Giải pháp suy diễn LLM cho Amazon Dedicated Cloud (LISA) là một giải pháp infrastructure-as-code (IaC). LISA cung cấp quyền truy cập an toàn, có khả năng mở rộng và thời gian trễ thấp đến các LLM sinh tạo và các mô hình nhúng ngôn ngữ của khách hàng. Khách hàng triển khai LISA trực tiếp vào tài khoản AWS và tích hợp nó với một nhà cung cấp danh tính (IdP). Khách hàng “mang mô hình của riêng họ” (BYOM) để tự tổ chức và suy diễn. LISA bổ sung cho Amazon Bedrock bằng cách hỗ trợ khả năng cấu hình tích hợp với các mô hình Bedrock, và bằng cách cung cấp các khả năng bổ sung.

Khách hàng mang mô hình đến LISA để tự tổ chức và suy diễn thông qua Amazon Elastic Container Service (ECS). LISA hỗ trợ các mô hình tương thích với Text Generation Inference (TGI)Text Embeddings Inference (TEI) của Hugging Face và vLLM. LISA cũng hỗ trợ thông số kỹ thuật API của OpenAl thông qua LiteLLM proxy, một thư viện Python phổ biến. LiteLLM chuẩn hóa tương tác bằng cách sử dụng định dạng API của OpenAl, dịch các đầu vào để phù hợp với yêu cầu API độc đáo của từng nhà cung cấp mô hình. Điều này làm cho LISA tương thích với hơn 100 mô hình được tổ chức bởi các nhà cung cấp bên ngoài, bao gồm Bedrock và SageMaker Jumpstart. Sử dụng LISA như một lớp tổ chức mô hình, khách hàng tập trung và chuẩn hóa thông tin liên lạc một cách an toàn giữa nhiều nhà cung cấp mô hình. Khách hàng có thể chuyển đổi một cách liền mạch giữa các LLM tự tổ chức và các mô hình được tổ chức bên ngoài.

LISA tích hợp với các ứng dụng tương thích với thông số kỹ thuật API của OpenAI. Điều này cho phép người dùng truy cập bất kỳ mô hình nào được cấu hình LISA cho LLM prompting trực tiếp trong môi trường phát triển tích hợp (IDE) để tạo mã. Các nhà phát triển có thể truy cập tất cả các mô hình LISA được cấu hình thông qua một API lập trình tập trung duy nhất và xác thực bằng cách sử dụng các mã thông báo API tạm thời hoặc lâu dài từ IDE của họ.

Hoặc, LISA bao gồm một giao diện người dùng chatbot (UI). Ở đây, khách hàng có thể kích hoạt LLMs, sửa đổi mẫu prompt, thay đổi đối số mô hình, quản lý lịch sử phiên cá nhân của họ, tải tệp lên và truy cập các tính năng khác. Quản trị viên có thể cấu hình các mô hình thông qua UI quản lý mô hình của LISA và quản lý các tính năng khác như các cửa hàng vector cho Retrieval Augmented Generation (RAG).

Hình 1: Bảng điều khiển Quản lý Mô hình của LISA với cả mô hình được lưu trữ trên Amazon ECS (ví dụ: Starcoder2) và các mô hình Amazon Bedrock được lưu trữ qua LiteLLM (ví dụ: Mistral Mixtral hoặc Meta Llama3).

Công cụ phát triển AI nguồn mở

Các plugin AI nguồn mở như Continue, Cline, và Aider.chat tăng cường trải nghiệm phát triển phần mềm trong suốt SDLC. Các công cụ này tích hợp với FMs được tổ chức trên các dịch vụ quản lý đầy đủ, như Amazon Bedrock và SageMaker AI, hoặc với các giải pháp tự tổ chức như LISA đã nêu ở trên.

Ví dụ, plugin Continue có thể được cấu hình để nhanh chóng chuyển đổi giữa các mô hình khác nhau trực tiếp trong môi trường phát triển của bạn. Xác thực người dùng được xử lý bằng Identity and Access Management (IAM) (Amazon Bedrock và SageMaker AI) hoặc các mã thông báo API (LISA).

Ảnh chụp màn hình dưới đây hiển thị Visual Studio Code (VS Code) IDE hiển thị giao diện người dùng chat và tệp cấu hình của plugin Continue cho các mô hình khác nhau được tổ chức trên Amazon Bedrock và LISA.

Hình 2: Môi trường phát triển tích hợp VS Code hiển thị tệp cấu hình của tiện ích mở rộng Continue cho các mô hình khác nhau được lưu trữ trên Amazon Bedrock và LISA.

Nhà cung cấp mô hình cục bộ

Để cho phép tạo mã nhanh và phản hồi với độ trễ mạng tối thiểu, các nhà phát triển và tổ chức có thể sử dụng các công cụ nguồn mở như Ollama. Ollama là phần mềm nguồn mở mà bạn có thể sử dụng để tổ chức LLMs cục bộ trong một mạng riêng ảo (VPC), cung cấp một giải pháp linh hoạt và an toàn.

Ollama có thể được triển khai trên Amazon Elastic Compute Cloud (Amazon EC2) hoặc Amazon ECS, cho phép tự động mở rộng và khả năng phục hồi. Các nhà phát triển sau đó có thể chọn các mô hình từ thư viện mô hình Ollama hoặc các mô hình tùy chỉnh đã được điều chỉnh và phê duyệt cho các trường hợp sử dụng của họ. Thông qua các tiện ích mở rộng IDE như Continue, các nhà phát triển có quyền truy cập vào tự động hoàn thành mã, nhúng và chức năng trò chuyện—tất cả mà không cần kết nối bên ngoài hoặc nhà cung cấp LLM của bên thứ ba.

Bằng cách mở rộng cấu hình này, các nhà phát triển có thể nhanh chóng triển khai và thử nghiệm các mô hình khác nhau, cho phép đánh giá hiệu suất mô hình và xác định sự phù hợp tốt nhất cho các dự án phát triển của họ. Hơn nữa, bằng cách triển khai nhiều phiên bản của Ollama, các nhà phát triển có thể chạy nhiều mô hình đồng thời mà không ảnh hưởng đến hiệu suất của các môi trường phát triển khác.

Môi trường phát triển an toàn

Có một số lựa chọn để thiết lập môi trường an toàn và tuân thủ cho các nhóm phát triển. Điều này bao gồm các máy tính để bàn thực tế hoặc ảo và các lựa chọn dựa trên AWS Cloud cho môi trường từ xa an toàn. Một số ví dụ bao gồm:

  • Amazon WorkSpaces – Một giải pháp desktop-as-a-service (DaaS) được quản lý, an toàn và linh hoạt cho phép cung cấp các máy tính để bàn ảo Windows hoặc Linux cho các nhà phát triển.
  • Amazon AppStream 2.0 – Một dịch vụ phát sóng ứng dụng được quản lý, an toàn và có khả năng mở rộng hoàn toàn, cho phép phát sóng các ứng dụng máy tính để bàn từ AWS đến bất kỳ thiết bị nào có trình duyệt web hoặc khách hàng AppStream 2.0. AppStream 2.0 hỗ trợ các công cụ phát triển như VS Code và JetBrains.

Một ống dẫn DevSecOps mạnh mẽ có thể được thực hiện với các công cụ nguồn mở và tích hợp vào ống dẫn tích hợp liên tục và triển khai liên tục (CI/CD) như đã đề cập trong Building end-to-end AWS DevSecOps CI/CD pipeline with open source SCA, SAST and DAST tools. Cách tiếp cận này cho phép các tổ chức đạt được mức độ đảm bảo an ninh cao hơn trong khi duy trì tính linh hoạt và tốc độ cần thiết cho các công việc tải DevOps.

An ninh và tuân thủ

Tại trung tâm của bảo mật của dịch vụ này là tích hợp với AWS Key Management Service (AWS KMS) cho mã hóa dữ liệu ở trạng thái nghỉ. Điều này bao gồm mã hóa các khối lưu trữ được sử dụng bởi Amazon WorkSpaces, Amazon EC2, và Amazon ECS. Hơn nữa, tích hợp AWS PrivateLink cung cấp một kết nối an toàn riêng tư giữa môi trường phát triển và các dịch vụ AWS, lý tưởng cho các môi trường được kiểm soát hoặc không kết nối mạng, nơi truy cập internet bị hạn chế hoặc không khả dụng.

Để đáp ứng các yêu cầu bảo mật nghiêm ngặt của khách hàng chính phủ Mỹ, các dịch vụ AWS được mô tả trong giải pháp này được FedRAMP (Moderate and High)DoD CC SRG Impact Levels 2, 4, and 5 được ủy quyền sử dụng trong AWS GovCloud (US) và các khu vực AWS US East/West tiêu chuẩn. Điều này có nghĩa là giải pháp có thể được triển khai trong các môi trường nhạy cảm và bị hạn chế nhất, đồng thời đáp ứng các tiêu chuẩn chính phủ và bảo mật nghiêm ngặt. Để biết thông tin tuân thủ dịch vụ cập nhật, hãy xem trang AWS Services in Scope by Compliance Program.

Tổng quan giải pháp

Kiến trúc tham khảo sau đây cho thấy một tổng quan về cách các dịch vụ AWS và các công cụ nguồn mở được bao quát ở trên có thể được sử dụng để xây dựng một giải pháp trợ lý lập trình AI để giúp đáp ứng các yêu cầu tuân thủ cụ thể hoặc các trường hợp sử dụng duy nhất nơi cần tính linh hoạt và kiểm soát cao hơn.

Quy trình làm việc của nhà phát triển bao gồm các bước sau:

  • Môi trường phát triển an toàn – Các nhà phát triển truy cập địa phương hoặc từ xa vào các máy tính để bàn phát triển vật lý hoặc ảo (ví dụ: Amazon WorkSpaces) được cài đặt với một IDE được hỗ trợ như VS Code hoặc JetBrains. Môi trường cũng cần bao gồm quyền truy cập vào một kho lưu trữ mã nguồn như một phần của ống dẫn phát triển phần mềm DevSecOps.
  • Công cụ phát triển AI nguồn mở – Các tiện ích mở rộng plug-in IDE nguồn mở, chẳng hạn như Continue, được cấu hình và kết nối với các nhà cung cấp mô hình và mô hình được tổ chức phê duyệt.
  • (Tùy chọn) Mô hình hoàn thành tự động và nhúng – Các công cụ AI có thể hỗ trợ hoàn thành tự động hoặc nhúng, chẳng hạn như Continue, có thể sử dụng các mô hình ngôn ngữ nhỏ (SLMs) có thể được lưu trữ địa phương trên một nhà cung cấp mô hình riêng tư sử dụng Ollama chạy trên Amazon ECS hoặc Amazon EC2.
  • Mô hình trò chuyện – Các khả năng trò chuyện yêu cầu các tác vụ phức tạp hoặc kích thước ngữ cảnh lớn hơn cần truy cập vào các mô hình lớn hơn và mạnh mẽ hơn. Các nhà phát triển có quyền chọn nhanh chóng các mô hình khác nhau cho các tác vụ cụ thể hoặc so sánh kết quả giữa các mô hình. Các nhà cung cấp mô hình cung cấp quyền truy cập vào các mô hình này có thể được tích hợp trực tiếp vào các IDE tương thích dựa trên các trường hợp sử dụng dưới đây:
    • Amazon Bedrock – Lựa chọn các FM hàng đầu trong ngành cho việc tạo mã và được truy cập thông qua một API duy nhất với giá cả trả theo sử dụng.
    • SageMaker – Lựa chọn các mô hình độc quyền và nguồn mở đã được đào tạo trước hoặc tinh chỉnh và được truy cập thông qua API suy luận SageMaker AI chuyên dụng.
    • LISA – Mô hình độc quyền và nguồn mở tự lưu trữ trên Amazon ECS. Ngoài ra, yêu cầu proxy (LiteLLM) với giao diện API OpenAPI tương thích với các nhà cung cấp mô hình khác như Amazon Bedrock và SageMaker AI để truy cập và quản lý tập trung mô hình.
  • Bảo vệ dữ liệu – Truy cập an toàn và riêng tư sử dụng AWS PrivateLink và các điểm cuối VPC.

Kết luận

Trong bài viết này, chúng tôi đã chứng minh cách xây dựng một trợ lý lập trình AI để tăng tốc độ phát triển phần mềm. Sử dụng các dịch vụ và giải pháp AI của AWS như Amazon Bedrock, Amazon SageMaker AI, và LISA, khách hàng có tính linh hoạt trong việc lựa chọn và triển khai mô hình, từ các dịch vụ được quản lý đầy đủ đến các giải pháp tự lưu trữ. Kiến trúc cung cấp nhiều lớp kiểm soát bảo mật, bao gồm mã hóa và kết nối riêng tư, và đáp ứng các tiêu chuẩn tuân thủ FedRAMP và DoD CC SRG, làm cho nó phù hợp ngay cả với các khách hàng quan tâm nhiều đến bảo mật nhất.

Dù bạn chọn triển khai các mô hình địa phương cho các hoạt động thấp độ trễ hay sử dụng các dịch vụ dựa trên đám mây cho các tác vụ phức tạp, bạn vẫn giữ quyền kiểm soát đầy đủ đối với môi trường phát triển và bảo mật dữ liệu của mình. Cách tiếp cận toàn diện này cho phép các ngành được quy định nghiêm ngặt sử dụng các công cụ phát triển được tăng cường AI một cách tự tin trong khi đáp ứng các yêu cầu bảo mật và tuân thủ nghiêm ngặt.

Mặc dù trường hợp sử dụng này tập trung vào các trợ lý lập trình AI cho khách hàng liên bang, nhưng cùng hướng dẫn và công nghệ này có thể được áp dụng cho các khách hàng thương mại hoặc khu vực công cộng khác quan tâm đến việc xây dựng trợ lý lập trình AI của riêng họ trên AWS.

Tài nguyên bổ sung