Как сделать human-in-the-loop?

Контроль человека над почтой агента.

Несколько механик, чтобы человек оставался в контуре при отправке писем агентом.

1. Копия человеку (CC / BCC)

Самый простой вариант — копировать руководителя на каждое исходящее.

Python
1client.inboxes.messages.send(
2 inbox_id="agent@yourdomain.com",
3 to=["customer@example.com"],
4 cc=["manager@yourcompany.com"],
5 subject="Re: Your request",
6 text="I've processed your refund...",
7 html="<p>I've processed your refund...</p>"
8)

bcc — если получатель не должен видеть копию.

2. Черновики до отправки

Агент создаёт черновик, человек утверждает — для договоров, юридических и финансовых писем.

Python
1draft = client.inboxes.drafts.create(
2 inbox_id="agent@yourdomain.com",
3 to=["important-client@example.com"],
4 subject="Contract proposal",
5 text="Here is our proposal...",
6 html="<p>Here is our proposal...</p>"
7)
8
9print(f"Draft created: {draft.draft_id}")
10
11sent_message = client.inboxes.drafts.send(
12 inbox_id="agent@yourdomain.com",
13 draft_id=draft.draft_id
14)

Все черновики организации:

Python
1all_drafts = client.drafts.list()
2print(f"{all_drafts.count} drafts pending review")

См. Черновики.

3. Метки для эскалации

Python
1client.inboxes.messages.update(
2 inbox_id="agent@yourdomain.com",
3 message_id=msg.message_id,
4 add_labels=["needs-human-review", "escalation"]
5)

Периодический опрос:

Python
1flagged = client.inboxes.messages.list(
2 inbox_id="agent@yourdomain.com",
3 labels=["needs-human-review"]
4)
5
6for msg in flagged.messages:
7 notify_human(msg)

4. Allowlist как жёсткая граница

Send allowlist — письма только на явно разрешённые адреса/домены; иначе API отклонит запрос.

Python
1client.lists.create("send", "allow", entry="trusted-customer.com")
2client.lists.create("send", "allow", entry="partner-corp.com")

Практика

  • В начале — CC + черновики, пока нет доверия к агенту
  • Рутину можно автоматизировать; важное — через черновики
  • Всегда задавайте эскалацию, когда агент не уверен
  • Единые соглашения по меткам для дашбордов и алертов
  • Комбинируйте: allowlist для известных получателей, черновики для новых, CC на первое время