---
title: "Điều tra việc lỗi hoặc chưa rõ kết quả"
locale: vi
url: https://tlg.builera.app/docs/agent-playbooks/investigate-failed-job
verified: 2026-10-24
app_version: "2.0"
---

# Điều tra việc lỗi hoặc chưa rõ kết quả

Đọc bằng chứng của thao tác, phân biệt việc bị giữ với việc lỗi và chỉ chạy lại khi có căn cứ cùng xác nhận cần thiết.


## Mục tiêu

Bạn tìm nguyên nhân một thao tác không hoàn thành và đề xuất cách xử lý có bằng chứng. Không coi “chưa thấy thành công” là lý do đủ để tạo một lần gửi mới.

## Quyền cần

Cần quyền đọc phù hợp với dữ liệu liên quan, chẳng hạn `accounts.read`, `messages.read` hoặc `audit.read`.

- `messages.send` nếu sau điều tra cần dùng `messages.retry`.
- `accounts.manage` và vai trò Quản lý phù hợp nếu cần `jobs.redrive`.

Không xin quyền chạy lại ngay từ đầu nếu nhiệm vụ chỉ là điều tra.

## Hỏi người trước khi

Xin ID thao tác, thời điểm, tài khoản và kết quả mong đợi. Hỏi người đã thử lại bằng web hoặc hệ thống khác chưa.

Làm rõ người muốn báo cáo nguyên nhân hay muốn khôi phục. Quyền điều tra không đồng nghĩa với đồng ý lặp lại tác động trên Telegram.

## Kiểm trước

Gọi `whoami`. Xác nhận thao tác thuộc phạm vi của kết nối.

`operations_list` chỉ liệt kê thao tác do kết nối hiện tại khởi tạo. Bạn không có một trình duyệt toàn bộ việc của workspace chỉ vì có công cụ này. Với thao tác của kết nối khác, chuyển người có quyền kiểm tra hoặc dùng đúng kết nối đã tạo việc.

## Các bước

1. Gọi `operations_list` để tìm các thao tác gần đây của kết nối.
2. Gọi `operations_get` với ID cần điều tra.
3. Đọc trạng thái thao tác, các việc bên dưới và lỗi trả về.
4. Đối chiếu tài khoản hoặc tin nhắn liên quan bằng thao tác đọc được phép.
5. Phân loại theo bảng dưới đây.
6. Ghi nhận bằng chứng và đề xuất bước tiếp theo.

| Tình huống | Quyết định |
|---|---|
| Đang chờ hoặc đang chạy | Theo dõi thao tác cũ |
| `held` | Đọc lý do và thời điểm có thể tiếp tục; không nhân đôi việc |
| `failed` hoặc `expired` | Điều tra nguyên nhân, rồi xét khả năng chạy lại |
| Việc `unverified` hoặc thao tác `outcome_unknown` | Đối soát; không gửi lại mù |
| Đã thành công | Không chạy lại để “chắc chắn” |

`messages.retry` xử lý thử lại tin nhắn theo quy tắc riêng. `jobs.redrive` dành cho việc chết hợp lệ và tạo việc mới có liên kết `replay_of`; không biến việc cũ thành chưa từng chạy.

> [!IMPORTANT]
> Điểm dừng — hỏi người
>
> Trước khi chạy lại việc có tác động, trình bày kết quả đã biết, phần chưa biết và nguy cơ tác động trùng. Không tự đặt `acknowledgeDuplicateRisk: true`.

7. Chỉ sau khi có quyết định phù hợp, đọc schema [`messages.retry`](https://tlg.builera.app/docs/reference/rest/messages.retry) hoặc [`jobs.redrive`](https://tlg.builera.app/docs/reference/rest/jobs.redrive).
8. Gọi `messages_retry` khi phù hợp, hoặc `tools_run` với mã `jobs.redrive`.
9. Theo dõi thao tác mới bằng `operations_get`.

## Kiểm sau

Ghi cả ID cũ và ID mới. Redrive kiểm lại quyền hiện tại; việc mới vẫn chịu cổng an toàn, hạn mức và không liên hệ hiện tại.

Không báo khôi phục thành công chỉ vì lời gọi redrive đã được chấp nhận. Chờ kết quả thực thi.

## Khi lỗi

Nếu chạy lại bị từ chối, đọc lý do thay vì đổi payload để ép qua. Với `held`, xử lý nguyên nhân giữ. Với kết quả chưa rõ, chuyển sang [đối soát gửi chưa xác minh](https://tlg.builera.app/docs/troubleshooting/unverified-send).

## Điều kiện dừng

Dừng khi đã có nguyên nhân và hướng xử lý, khi bằng chứng không đủ loại trừ trùng, hoặc khi cần người xác nhận mà chưa nhận được quyết định.

