# LEARNINGS.md

## [LRN-20260322-001] best_practice

**Logged**: 2026-03-22T11:42:03Z
**Priority**: high
**Status**: promoted
**Area**: config

### Summary
在 OpenClaw 聊天场景中，不要使用“文本确认消息 + 最终正式回复”的双通道模式；应优先用 reaction / typing / streaming 提供即时反馈。

### Details
历史问题复盘确认：当 agent 在收到消息后手动发送一条“收到，我来查一下”之类的文本确认，同时系统仍按常规投递最终答复时，Slack 等 IM 场景很容易出现两条语义几乎相同的消息。问题不是单一模型能力不足，而是交互结构本身存在重复送达风险。更稳妥的设计是：快速反馈交给非文本信号（reaction、typing、partial/native streaming），正文只保留一条最终答复；仅当任务预计超过 20 秒时，再补 1 条真正的进度更新。

### Suggested Action
1. 默认不发送手工文本确认消息。
2. 保留 reaction / typing / streaming 作为“立即响应”。
3. 慢任务才允许发送 1 条进度消息，且不得重复确认措辞。
4. 若主动用 message 工具发送了用户可见结果，最终必须 NO_REPLY，避免重复投递。

### Metadata
- Source: conversation
- Related Files: SOUL.md
- Tags: openclaw, slack, duplicate-replies, responsiveness, ux

### Resolution
- **Resolved**: 2026-03-22T11:42:03Z
- **Notes**: 已将该规则提升到 SOUL.md，作为默认响应原则。

---
