Product Management
Đăng nhập
ESC

Nhập từ khóa để tìm kiếm

↑↓ Di chuyển
Enter Mở
ESC Đóng

Bài 7 — Nhắc nhở chủ động và lập kế hoạch ngày tự động

Đã đọc 0/8 mục · còn khoảng 3 phút
Cách chúng tôi ghi nhận

Một mục được tính là đã đọc khi nó nằm giữa màn hình đủ lâu so với độ dài của nó (bảng và sơ đồ tính một nửa), bạn vẫn đang cuộn hoặc bấm phím, và bạn đã thấy tới cuối mục. Lướt nhanh hoặc để tab mở không được tính. Chúng tôi chỉ lưu thời gian đọc từng mục — không lưu gì khác.

Bài 7 — Nhắc nhở chủ động và lập kế hoạch ngày

Đến giờ agent vẫn bị động — chỉ phản hồi khi bạn nhắn. Một trợ lý thật phải chủ động: sáng gửi kế hoạch ngày, nhắc deadline sắp tới, cảnh báo lịch trống bị bỏ phí. Bài này biến agent thành proactive assistant qua cơ chế trigger + lập kế hoạch.

Kiến trúc chủ động: Trigger → Agent → Kênh gửi

[Cron 7h sáng] ──┐
[Deadline gần] ──┼→ Agent (đọc lịch+task, ưu tiên) → soạn thông điệp
[Lịch trống]  ──┘                                    → Telegram / Email

Agent chủ động chỉ khác agent hội thoại ở chỗ ai kích hoạt: không phải người dùng gõ, mà là một sự kiện (thời gian, điều kiện).

Các bước xây bản lập kế hoạch ngày

  • Trigger lúc 7h sáng (cron / scheduler).
  • Đọc list_events(today) và list_tasks().
  • Chạy khung ưu tiên (bài 5) → top việc trong ngày.
  • Ghép lịch cứng (cuộc họp) với việc linh hoạt vào các khung trống, tôn trọng preference (deep work sáng).
  • Soạn tin nhắn ngắn gọn, gửi qua kênh bạn hay dùng.
def daily_plan():
    events = list_events_today()
    tasks = sorted(list_tasks(), key=score, reverse=True)[:3]
    prompt = f"""Lịch hôm nay: {events}
Top task: {[t['content'] for t in tasks]}
Hãy soạn kế hoạch ngày: chào buổi sáng, liệt kê cuộc họp,
đề xuất chèn 3 task vào khung trống, tôn trọng deep work 9-11h.
Ngắn gọn, có emoji tối thiểu, giọng động viên."""
    plan = ask_llm(prompt)
    send_telegram(plan)

Nhắc nhở theo điều kiện (không spam)

Mẹo quan trọng: nhắc đúng lúc, không lặp. Dùng cờ trạng thái để mỗi nhắc chỉ bắn một lần.

def check_deadlines(state):
    for t in list_tasks():
        d = t.get("due")
        if d and urgency(d) >= 4 and t["id"] not in state["notified"]:
            send_telegram(f"Nhắc: '{t['content']}' hạn {d}. Cần chặn giờ làm không?")
            state["notified"].add(t["id"])

Lịch nhắc nhở đề xuất (checklist)

  • [ ] 7:00 — Kế hoạch ngày (lịch + top 3 task).
  • [ ] Trước mỗi cuộc họp 15 phút — nhắc + link.
  • [ ] Khi task quá hạn/đến hạn hôm nay — nhắc một lần.
  • [ ] Chiều 17:00 — điểm lại: việc chưa xong, đề xuất dời sang mai.
  • [ ] Tối Chủ nhật — review tuần + phác thảo tuần tới.

Ví dụ cụ thể

7h sáng bạn nhận Telegram: "Chào buổi sáng! Hôm nay có 2 họp: 10h Standup, 15h Review Q3. Đề xuất: 9-10h dùng deep work xử lý 'Báo cáo Q3' (hạn hôm nay). 14h trước Review nên chuẩn bị slide 30 phút. Chiều trống sau 16h — muốn mình chặn cho việc học SQL không?" Bạn chỉ cần trả lời để agent hành động.

Khung tư duy: chủ động nhưng không phiền

Proactive tốt = đúng thứ, đúng lúc, đúng liều. Ba câu hỏi trước khi cho agent gửi tin: (1) Tin này có đáng gián đoạn người dùng không? (2) Đã gửi tin tương tự chưa (chống lặp)? (3) Có kèm hành động cụ thể để người dùng phản hồi 1 chạm không?

Sai lầm thường gặp

  • Spam thông báo. Gửi quá nhiều khiến người dùng tắt luôn agent. Gom nhóm, đặt ngưỡng, chống lặp.
  • Nhắc trùng nhiều lần. Không lưu trạng thái "đã nhắc" → mỗi vòng cron lại bắn lại. Dùng cờ notified.
  • Kế hoạch bỏ qua preference. Đề xuất họp vào giờ deep work làm mất uy tín agent. Luôn đọc prefs.
  • Nhắc mà không kèm hành động. "Bạn có deadline" thì vô dụng; phải kèm "chặn giờ ngay không?".
  • Cron chạy nhưng agent im lặng khi lỗi. Nếu API lịch fail lúc 7h, cần log + báo lỗi, đừng để người dùng tưởng hôm nay rảnh.
Chốt bài: Agent đã chủ động lập kế hoạch và nhắc nhở đúng liều. Bài 8 ta triển khai chạy 24/7 và vận hành thực tế.

Học xong bài này rồi? Tạo tài khoản miễn phí để lưu lại — lần sau vào là biết ngay đang dở ở đâu, và học hết khóa thì có chứng chỉ. Lưu tiến độ của tôi