name: 可观察性 描述: “记录AI的思考和决策,以便人类观察。在整个任务中持续应用,以保持透明度。”
可观察性技能
保持AI决策过程的透明、人类可读日志。
工作区模式说明
在工作区模式下运行时,日志记录到.aha-loop/logs/ai-thoughts.md,而不是logs/ai-thoughts.md。
协调器将在提示上下文中提供实际路径。
任务
- 将重要思考和决策记录到
logs/ai-thoughts.md - 提供AI推理过程的可见性
- 创建锚点以便人类理解发生了什么
- 永不隐藏失败或不确定性
何时记录
始终记录
- 开始新任务 - 我即将做什么以及为什么
- 主要决策 - 当在选择方法之间时
- 意外发现 - 某些令人惊讶或重要的事情
- 错误和恢复 - 出了什么问题以及我如何处理
- 完成 - 完成了什么
可选记录(详细级别)
- 中间步骤
- 研究发现
- 次要决策
- 进度更新
日志格式
追加到logs/ai-thoughts.md:
## 2026-01-29 14:30:00 | 任务: PRD-003 | 阶段: 研究
### 上下文
我正在为Web应用程序研究认证策略。这很关键,因为它影响安全架构和用户体验。
### 内心思考
愿景中提到“简单”和“快速使用”。传统的用户名/密码可能增加摩擦。考虑无密码选项,但需要评估复杂性权衡。
### 决策点
- 考虑: 传统邮箱/密码
- 考虑: 魔法链接(无密码)
- 考虑: 仅OAuth(Google/GitHub)
- **选择:** 魔法链接与OAuth备用
- **原因:** 符合“简单”目标,减少密码疲劳,OAuth提供熟悉替代
### 当前进度
- [x] 阅读愿景需求
- [x] 研究认证选项
- [ ] 原型魔法链接流程
- [ ] 评估邮箱服务选项
### 观察
- 魔法链接需要可靠的邮箱传递
- 需要考虑速率限制以防止滥用
- 会话时长对UX很重要
### 下一步行动
将研究邮箱服务提供商(Resend, SendGrid)并评估其免费层,因为预算约束提到“无付费API”。
---
日志级别
在config.json中配置:
最小化
- 仅任务开始/结束
- 主要错误
正常(默认)
- 所有主要决策
- 阶段转换
- 错误和恢复
详细
- 以上所有
- 中间思考
- 研究笔记
- 次要决策
思考类别
内心独白
表达您的实际推理:
- “我不确定X因为…”
- “这似乎有风险因为…”
- “我选择Y而不是Z因为…”
- “我注意到…”
决策点
当面对选择时:
### 决策点
- 考虑: [选项A] - [优点/缺点]
- 考虑: [选项B] - [优点/缺点]
- **选择:** [选项]
- **原因:** [为什么]
- **权衡:** [我们放弃什么]
不确定性
诚实表达您不知道的事情:
### 不确定性
我对[X]不是100%确定。我的当前假设是[Y]因为[Z]。
如果证明错误,我需要[备用计划]。
错误
当事情出错时:
### 遇到错误
**发生了什么:** [描述]
**原因:** [已知根本原因]
**影响:** [影响什么]
**恢复:** [我如何处理]
原则
透明
- 不隐藏不确定性
- 不假装知道您不知道的事情
- 公开承认错误
有用
- 日志应帮助人类理解
- 避免未解释的行话
- 提供上下文
诚实
- 表达真实推理,而非表现
- 包括疑虑和担忧
- 注意猜测与知道
简洁
- 仅重要细节
- 无填充文本
- 结构化以便扫描
集成
任务开始时
## [时间戳] | 任务: [ID] | 阶段: 开始
### 上下文
[我即将做什么]
### 方法
[我计划如何解决]
### 潜在担忧
[可能出错的事情]
决策点时
### 决策点
[结构化决策格式]
任务结束时
## [时间戳] | 任务: [ID] | 阶段: 完成
### 总结
[完成了什么]
### 关键决策
- [决策1]
- [决策2]
### 学习
[我学到可能有用的东西]
### 未来担忧
[需要关注的任何问题]
示例:完整任务日志
## 2026-01-29 10:00:00 | 任务: PRD-001 | 阶段: 开始
### 上下文
开始项目脚手架PRD。这为整个项目奠定基础,所以我需要谨慎初始决策。
### 方法
1. 首先,查看技术栈的架构文档
2. 使用所选工具初始化项目
3. 设置基本结构
4. 配置开发环境
### 潜在担忧
- 依赖版本兼容性
- 从一开始就正确目录结构
---
## 2026-01-29 10:15:00 | 任务: PRD-001 | 阶段: 研究
### 内心思考
架构指定Rust + Axum。我应该验证我使用最新稳定版本。让我检查crates.io...
### 观察
- Axum 0.7.4是最新(2周前发布,稳定)
- Tokio 1.35是最新
- 应为未来模块化使用工作区结构
---
## 2026-01-29 10:30:00 | 任务: PRD-001 | 阶段: 实施
### 决策点
- 考虑: 单crate结构
- 考虑: 多crate工作区
- **选择:** 工作区结构
- **原因:** 项目可能增长,现在重构比以后容易
### 进度
- [x] 创建工作区Cargo.toml
- [x] 添加主crate
- [ ] 添加配置
- [ ] 添加基本错误处理
---
## 2026-01-29 11:00:00 | 任务: PRD-001 | 阶段: 完成
### 总结
成功设置Rust项目与Axum 0.7.4,配置工作区,添加src/main.rs入口点基本结构。
### 关键决策
- 可扩展性的工作区结构
- Tokio多线程运行时
- 日志的Tracing
### 学习
- Axum 0.7从0.6更改了一些API,需要使用新Router语法
### 创建文件
- Cargo.toml
- src/main.rs
- src/lib.rs
---
心态
您正在为人类利益大声思考。
您的日志应读作一位能干的同事解释他们的工作:
- 清晰推理
- 诚实不确定性
- 主动潜在问题
- 为未来参考记录
记住: 人类将阅读这些日志以理解您做了什么以及为什么。让他们的工作容易。