AI Automation

Chạy Claude Code không giao diện (claude -p): đưa agent vào script, cron và CI

Tóm tắt

claude -p "prompt" chạy một lượt rồi thoát, in kết quả ra stdout. Thêm --output-format json để parse, --allowedTools để giới hạn quyền, --max-turns để chặn vòng lặp. Dùng cho báo cáo định kỳ, review tự động, sinh changelog.

Các lệnh cơ bản

# Tóm tắt thay đổi hôm nay
git log --since=midnight --oneline | claude -p "Viết changelog ngắn, nhóm theo feature/fix"

# Kết quả JSON để script xử lý tiếp
claude -p "Liệt kê TODO trong src/ dạng JSON" --output-format json > todo.json

# Giới hạn quyền + số vòng
claude -p "Chạy test và sửa lỗi lint" \
  --allowedTools "Bash(npm test),Bash(npm run lint),Edit" --max-turns 10

Ứng dụng thực tế

ViệcTrigger
Báo cáo tiến độ sprint từ commit + ticketCron 17h mỗi ngày
Review PR theo checklist teamGitHub Actions khi mở PR
Phân loại log lỗi đêm quaCron 7h sáng
Sinh release noteKhi tạo tag

An toàn khi chạy tự động

  • Luôn khai báo --allowedTools tối thiểu; không chạy skip-permissions trên máy có dữ liệu thật.
  • Chạy trong container / runner riêng, dùng API key riêng cho automation, có spend limit.
  • Muốn tích hợp sâu hơn (custom tool, hook bằng code) → dùng Claude Agent SDK.