0
0
Lập trình
Harry Tran
Harry Tran106580903228332612117

Hướng Dẫn Tạo Trợ Lý AI Trong Terminal Để Tăng Năng Suất Lập Trình

Đăng vào 8 tháng trước

• 9 phút đọc

Tóm tắt

Tạo một lệnh trong terminal giúp bạn sinh ra mã lệnh và câu lệnh bằng cách sử dụng bất kỳ nhà cung cấp AI nào. Không còn phải chuyển đổi giữa các tab nữa. Hỗ trợ cả vim với lệnh pip install llmswapllmswap generate "lệnh của bạn"


Thứ Ba vừa qua, tôi đang gỡ lỗi một cụm Kubernetes lúc 3 giờ sáng. Tôi mở vim với một tệp YAML không hoạt động, ChatGPT mở trong Chrome, Stack Overflow trong một tab khác và Claude.ai trong tab thứ ba. Việc liên tục chuyển đổi giữa terminal, ChatGPT, Stack Overflow và các trợ lý AI khiến tôi cảm thấy phát điên.

Đó là lúc tôi nhận ra - tại sao tôi phải rời khỏi terminal để nhận sự giúp đỡ từ AI?

Điểm Bùng Phát

Chúng ta đều đã trải qua điều đó. Bạn biết rằng có một lệnh nào đó tồn tại, nhưng không thể nhớ cú pháp chính xác. Có thể đó là lệnh dọn dẹp Docker, hoặc mẫu awk cụ thể bạn cần, hoặc cách cấu hình nginx đúng cách cho proxy ngược.

Quy trình luôn giống nhau: chuyển sang trình duyệt, tìm kiếm, cuộn qua kết quả, sao chép lệnh, chuyển lại terminal, dán, thử, thất bại, lặp lại.

Tôi nhận ra rằng tôi đang làm điều này hàng chục lần mỗi ngày. Mỗi lần chuyển đổi ngữ cảnh đều làm gián đoạn dòng chảy của tôi. Mỗi lần sao chép-dán đều cảm thấy như thừa nhận thất bại.

Đó là khi tôi nhớ rằng - llmswap 4.1.1 vừa mới được phát hành với lệnh generate. Liệu tôi có thể nhận sự giúp đỡ từ AI mà không cần rời khỏi terminal không?

Cuộc Cách Mạng Terminal

Dưới đây là điều đã thay đổi mọi thứ. Thay vì phải chuyển sang ChatGPT, tôi chỉ cần gõ:

Copy
llmswap generate "hiện tất cả các container Docker đang tiêu thụ bộ nhớ"

Và ngay lập tức nhận được:

Copy
docker stats --no-stream --format "table \t\t"

Không cần trình duyệt. Không cần tab. Không cần chuyển đổi ngữ cảnh. Câu trả lời xuất hiện ngay nơi tôi cần.

Nhưng còn tuyệt vời hơn nữa. Cần lưu vào tệp?

Copy
llmswap generate "kịch bản sao lưu cho PostgreSQL với quay vòng" > backup.sh
chmod +x backup.sh

Xong. Kịch bản đã được tạo, quyền đã được thiết lập, sẵn sàng để sử dụng.

Các Ví Dụ Thực Tế Trong Tuần Này

Hãy để tôi cho bạn thấy điều này thực sự hoạt động như thế nào trong thực tế. Đây là những lệnh thực tế tôi đã tạo ra trong tuần này:

Sáng thứ Hai: Trang web của khách hàng bị sập. Cần kiểm tra nhật ký nginx nhanh chóng.

Copy
llmswap generate "tìm lỗi trong nhật ký nginx từ giờ trước"
# Nhận được: tail -f /var/log/nginx/error.log | grep $(date -d '1 hour ago' '+%d/%b/%Y:%H')

Thứ Ba: Thiết lập một dự án Django mới. Cần docker-compose mà tôi luôn quên.

Copy
llmswap generate "docker compose cho django postgres redis phát triển" --language yaml

Hoàn hảo, tệp docker-compose.yml dài 40 dòng đã xuất hiện. Với kiểm tra sức khỏe, gắn kết volume, mọi thứ.

Thứ Tư: Ngày di chuyển cơ sở dữ liệu. Cần tìm email trùng lặp trước khi thêm ràng buộc duy nhất.

Copy
llmswap generate "PostgreSQL tìm email trùng lặp trong bảng người dùng"
# Nhận được: SELECT email, COUNT(*) FROM users GROUP BY email HAVING COUNT(*) > 1;

Thứ Năm: Phân tích một số nhật ký API. Lệnh awk mà tôi không bao giờ nhớ.

Copy
llmswap generate "trích xuất địa chỉ IP và đếm từ nhật ký truy cập nginx"
# Nhận được: awk '{print $1}' /var/log/nginx/access.log | sort | uniq -c | sort -nr

Thứ Sáu: Khách hàng cần 100 VM được tạo ra trong OpenStack với độ trễ để tránh làm quá tải API.

Copy
llmswap generate "kịch bản tạo 100 VM trong openstack với độ trễ 30 giây"

Nhận được một kịch bản bash hoàn chỉnh với phân nhóm và xử lý lỗi hợp lý.

Cuối tuần: Phiên gỡ lỗi khẩn cấp. Cần grep qua các tệp nhật ký nén.

Copy
llmswap generate "tìm kiếm mẫu lỗi trong các tệp nhật ký đã nén"
# Nhận được: zgrep -i "error\|fail\|exception" /var/log/app/*.gz | head -50

Mỗi lần, câu trả lời xuất hiện trong vài giây. Không cần trình duyệt.

Nhưng Chờ Đã, Còn Tuyệt Vời Hơn

Đây là nơi mọi thứ trở nên thú vị. Tôi phát hiện ra rằng bạn có thể sử dụng điều này bên trong vim nữa.

Làm việc trên một dự án Node.js, cần middleware giới hạn tỷ lệ. Thay vì tìm kiếm trên Google và sao chép-dán, tôi gõ bên trong vim:

Copy
:r !llmswap generate "middleware giới hạn tỷ lệ của Express"

Và điều này xuất hiện trực tiếp trong tệp của tôi:

Copy
const rateLimit = require('express-rate-limit');

const limiter = rateLimit({
  windowMs: 15 * 60 * 1000, // 15 phút
  max: 100, // giới hạn mỗi IP là 100 yêu cầu trong windowMs
  message: {
    error: 'Quá nhiều yêu cầu, vui lòng thử lại sau.'
  },
  standardHeaders: true,
  legacyHeaders: false,
});

module.exports = limiter;

Tôi chỉ ngồi đó nhìn màn hình. Mã đã hiện ra đúng vị trí con trỏ của tôi. Không cần chuyển đổi. Không cần sao chép. Chỉ cần… ở đó.

Tích Hợp Vim Khiến Tôi Ngạc Nhiên

Lệnh :r ! trong vim đọc đầu ra của bất kỳ lệnh shell nào trực tiếp vào bộ đệm của bạn. Kết hợp điều đó với llmswap generate và bạn có được sự sinh mã ngay lập tức bên trong trình soạn thảo của mình.

Cần một sơ đồ MongoDB?

Copy
:r !llmswap generate "Sơ đồ người dùng với xác thực cho MongoDB"

Cần cấu hình nginx?

Copy
:r !llmswap generate "cấu hình proxy ngược nginx cho ứng dụng Node.js"

Cần một kịch bản bash?

Copy
:r !llmswap generate "kịch bản sao lưu các tệp cũ hơn 30 ngày"

Mỗi lần, mã xuất hiện ngay tại con trỏ của bạn. Giống như có ChatGPT tích hợp trong vim, nhưng tốt hơn - vì nó hoạt động với bất kỳ nhà cung cấp LLM nào.

Tự Do Nhà Cung Cấp Thay Đổi Mọi Thứ

Điều khiến tôi thực sự phấn khích là. Trong khi GitHub Copilot buộc bạn phải đăng ký tháng 10 đô la và lựa chọn nhà cung cấp của họ, llmswap mang đến cho bạn sự tự do hoàn toàn.

Muốn sử dụng Claude vì nó tốt hơn cho lập trình hệ thống? Đặt ANTHROPIC_API_KEY.

Muốn phản hồi siêu nhanh? Sử dụng Groq với GROQ_API_KEY.

Muốn giữ mọi thứ cục bộ? Chạy Ollama.

Đã trả tiền cho Gemini API? Sử dụng nó thay vì một đăng ký khác.

Copy
export ANTHROPIC_API_KEY="khóa-của-bạn"
llmswap generate "bất kỳ điều gì bạn cần"

Cùng một lệnh, AI khác nhau phía sau. Lựa chọn của bạn.

Quy Trình Làm Việc Mới Hằng Ngày Của Tôi

Đây là cách tôi làm việc bây giờ:

Kiểm tra hệ thống buổi sáng:

Copy
llmswap generate "kiểm tra sức khỏe hệ thống trên máy chủ Ubuntu"
# Nhận được: df -h; free -m; uptime; systemctl --failed

Công việc với cơ sở dữ liệu:

Copy
llmswap generate "MySQL hiển thị truy vấn chậm từ giờ trước"
# Nhận được: mysqldumpslow -t 10 /var/log/mysql/slow.log

llmswap generate "MongoDB tạo người dùng với quyền đọc và viết"
# Nhận được: mongo admin --eval 'db.createUser({user:"appuser",pwd:"password",roles:[{role:"readWrite",db:"myapp"}]})'

Hoạt động Git (vì tôi luôn quên):

Copy
llmswap generate "git xóa tệp khỏi lịch sử hoàn toàn"
# Nhận được: git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch file.txt'

Kịch bản nhanh trong vim:

Copy
:r !llmswap generate "Hàm Python để đọc CSV với xử lý lỗi"
:r !llmswap generate "Hàm debounce JavaScript"
:r !llmswap generate "Kịch bản Bash để quay vòng nhật ký"

Các Trường Hợp Sử Dụng Bất Ngờ

Tôi bắt đầu sử dụng nó cho mọi thứ. Thực sự mọi thứ.

Hoạt động AWS:

Copy
llmswap generate "AWS CLI liệt kê tất cả các instance EC2 với tên và IP"

Gỡ lỗi Kubernetes:

Copy
llmswap generate "kubectl lệnh để gỡ lỗi pod thất bại"

Phân tích hiệu suất:

Copy
llmswap generate "tìm quá trình đang sử dụng nhiều CPU nhất"

Kiểm tra bảo mật:

Copy
llmswap generate "kiểm tra các lần cố gắng SSH thất bại trong nhật ký hệ thống"

Gỡ lỗi mạng:

Copy
llmswap generate "kiểm tra xem cổng 443 có mở trên máy chủ từ xa không"

Ngay cả các tệp cấu hình. Cần một dịch vụ systemd?

Copy
llmswap generate "tệp dịch vụ systemd cho ứng dụng web Python" > myapp.service

Câu trả lời luôn có sẵn, trong vài giây, ngay trong terminal của bạn.

Tại Sao Điều Này Quan Trọng Hơn Bạn Nghĩ

Hãy nói về con số. GitHub Copilot tốn 10 đô la/tháng cho mỗi nhà phát triển. Đối với một nhóm 10 nhà phát triển, đó là 1,200 đô la/năm.

Với llmswap:

  • Sử dụng Gemini: Tốn 96% ít hơn so với GPT-4
  • Sử dụng Ollama: Hoàn toàn miễn phí, chạy cục bộ
  • Sử dụng bất kỳ quyền truy cập API nào bạn đã có
  • Không có đăng ký, không bị khóa nhà cung cấp

Nhưng không chỉ là về tiền. Đó là về sự lựa chọn. Có thể bạn muốn IBM Watson cho các tính năng doanh nghiệp. Có thể bạn muốn Groq cho tốc độ. Có thể bạn muốn mọi thứ cục bộ với Ollama.

Terminal của bạn, AI của bạn, lựa chọn của bạn.

Cài Đặt (Cực Kỳ Đơn Giản)

Copy
pip install llmswap

Đặt một biến môi trường cho nhà cung cấp bạn muốn:

Copy
export OPENAI_API_KEY="khóa-của bạn" # Hoặc bất kỳ nhà cung cấp nào khác

Chỉ cần vậy thôi. Bắt đầu sinh ra:

Copy
llmswap generate "lệnh đầu tiên của bạn"

Điều Tôi Nhận Ra

Tôi đã không mở ChatGPT trong trình duyệt của mình trong ba tuần. Terminal của tôi đã trở thành trợ lý AI của tôi.

Hãy nghĩ về quy trình làm việc hàng ngày của bạn. Bạn đã bao nhiêu lần:

  • Hỏi ChatGPT về một lệnh bạn đã quên
  • Tìm kiếm Stack Overflow cho cú pháp
  • Chuyển sang Claude để giải thích mã
  • Nhảy đến Gemini để có một cái nhìn khác
  • Sao chép-dán từ các trang tài liệu

Điều gì sẽ xảy ra nếu bạn không bao giờ phải rời khỏi terminal nữa?

Bài Kiểm Tra Thực Sự

Thứ Sáu tuần trước, tôi đang thiết lập giám sát cho một khách hàng. Cần Prometheus, Grafana, alertmanager - toàn bộ ngăn xếp. Thay vì tìm kiếm qua tài liệu:

Copy
llmswap generate "docker compose cho ngăn xếp giám sát Prometheus Grafana" > monitoring.yml

Nhận được một tệp docker-compose hoàn chỉnh dài 80 dòng với mạng, volumes và kiểm tra sức khỏe hợp lý. Khởi chạy nó, cấu hình cảnh báo, xong.

Điều mà trước đây mất 2 giờ đã chỉ mất 20 phút.

Thử Ngay Bây Giờ

Nếu bạn đang ở trong terminal của mình, hãy thử:

Copy
echo "Thời gian hiện tại là: $(date)"

Xem đầu ra của lệnh xuất hiện? Bây giờ hãy tưởng tượng điều đó với bất kỳ mã nào bạn cần:

Copy
llmswap generate "hàm để xác thực địa chỉ email trong Python"

Hoặc trong vim:

Copy
:r !date

Xem cách nó chèn vào tệp của bạn? Bây giờ thử:

Copy
:r !llmswap generate "cái regex mà bạn luôn quên"

Tương Lai Đã Đến

Chúng ta là các nhà phát triển. Chúng ta sống trong các terminal. Các trợ lý AI của chúng ta cũng nên sống ở đó.

Mỗi lần alt-tab đều làm gián đoạn sự tập trung. Mỗi lần chuyển đổi ngữ cảnh đều tốn thời gian. Mỗi lần sao chép-dán đều gây khó khăn.

Điều này đã được phát hành trong llmswap 4.1.1 tuần trước. Nó đã thay đổi cách tôi viết mã.

Điều tuyệt nhất? Nó không thay thế suy nghĩ của bạn - nó loại bỏ sự cản trở giữa suy nghĩ của bạn và mã của bạn.

Terminal của bạn đang chờ. Trợ lý AI của bạn chỉ cách một pip install.

Copy
pip install llmswap
llmswap generate "lệnh mà bạn luôn tìm kiếm trên google"

Chào mừng bạn đến với lập trình không cần chuyển đổi ngữ cảnh.


Liên Kết:

Cài đặt: Chỉ cần thiết lập một khóa API cho nhà cung cấp bạn muốn:

Copy
export ANTHROPIC_API_KEY="sk-..." # Đối với Claude
export OPENAI_API_KEY="sk-..." # Đối với GPT-4
export GEMINI_API_KEY="..." # Đối với Google Gemini
# ... hoặc bất kỳ nhà cung cấp nào trong số 8 nhà cung cấp được hỗ trợ

⭐ Hãy đánh dấu dự án trên GitHub nếu nó giúp bạn tiết kiệm thời gian - mỗi ngôi sao đều thúc đẩy sự phát triển tiếp theo! ⭐


Đây là phần 2 trong loạt bài llmswap của tôi. Đọc phần 1: Từ Hackathon đến Mã nguồn mở để xem llmswap đã ra đời như thế nào.


Điểm đau lớn nhất của bạn khi chuyển đổi ngữ cảnh khi lập trình là gì? Hãy để lại ý kiến của bạn trong phần bình luận!

Gợi ý câu hỏi phỏng vấn
Không có dữ liệu

Không có dữ liệu

Bài viết được đề xuất
Bài viết cùng tác giả

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào