规划会话
规划是大多数项目失败的地方。不是因为缺少创意或人才,而是因为团队在没有验证假设、质疑范围或识别眼前风险的情况下直接开始构建。
Almirant 中的规划会话不是任务生成工具。它是你的 AI 陪练伙伴,会挑战你、质疑你,并迫使你在写下一行代码前先思考。
什么是规划会话
规划会话是与 AI 的多轮对话。它不是生成项列表的单个提示词,而是一个迭代式对话,AI 在其中充当陪练伙伴,挑战你的每一个决定:
- 质疑你认为理所当然的假设
- 识别你的规划中的风险
- 提出你未曾考虑的替代方案
- 细化范围,明确哪些内容包含在内,哪些不包含
结果不只是一份工作项列表,而是经过验证的范围和已被质疑的假设。
这一区别至关重要。生成器接收你的输入并产生输出。陪练伙伴会质疑你的输入,询问原因、你考虑过哪些替代方案,以及风险在哪里。
启动会话
- 从要进行规划的项目访问路径
/plan。 - 选择将在其中创建生成工作项的目标看板。
- 可选择创意 Seeds以提供初始上下文。
- 输入描述你想要达成目标的初始消息。
- 启动对话。
会话标题
启动时,可以为会话指定描述性标题。此标题可帮助你在历史记录中识别会话。示例:
- “OAuth 认证规划”
- “数据库迁移分析”
- “通知系统设计”
对话流程
会话遵循自然的对话流程:
1. 提出你的想法
描述你想要达成的目标。不需要把所有事情都想清楚:这正是陪练伙伴存在的意义。
2. AI 提出质疑
AI 不会立即生成项,而是会提出问题:
- 为什么这件事有必要?
- 你考虑过哪些替代方案?
- 盲点在哪里?
- 如果失败会怎样?
3. 辩护或重新考虑
回答问题。有时你会为自己的立场辩护,有时会意识到存在更好的方法。
4. 细化范围
随着每次迭代,范围会变得更清晰。AI 会更了解你的上下文,而你也会更了解风险。
5. 生成工作项
当范围经过验证后,AI 会生成结构化工作项:带有完成定义的史诗、功能、用户故事和任务。
6. 审查和接受
审查每个建议项。接受适用的项,拒绝不适用的项。接受的项会自动创建在所选看板中。
会话阶段
每个会话都会经过不同阶段,可在界面中查看:
| 阶段 | 描述 |
|---|---|
idle | 等待你启动对话 |
booting | 准备会话和上下文 |
chatting | 与 AI 交换消息 |
streaming | 实时接收回复 |
thinking | AI 进行处理和推理(已启用思考模式) |
waiting_for_answer | AI 等待你回答问题 |
reviewing | 审查建议项以接受或拒绝 |
completed | 会话结束,已创建项 |
paused | 会话暂停,稍后继续 |
选择创意 Seeds
开始对话前,可以选择 Seeds:在 Almirant 中捕捉的先前想法,它们作为起点。Seeds 为会话提供初始上下文:
- 已保存的头脑风暴笔记
- 先前会话中的想法
- 从与利益相关者的对话中捕捉的需求
- 已处理的用户反馈
选择 Seeds 后,AI 会将它们作为初始上下文的一部分进行分析,从而实现更明智的规划。
如何选择 Seeds
- 在会话启动界面中,你会看到 可用 Seeds 部分。
- 勾选与此次规划相关的 Seeds。
- 所选 Seeds 将包含在会话的初始上下文中。
会话结果中的 seedsProcessed 字段表示已分析的 Seeds 数量。
生成工作项
当对话达到范围清晰的阶段时,AI 会生成结构化工作项提案:
生成项的类型
| 类型 | 描述 |
|---|---|
| Epic | 聚合多个功能的大型计划 |
| Feature | 提供价值的具体功能 |
| Story | 包含验收标准的用户故事 |
| Task | 具体且可执行的技术任务 |
每个项的结构
每个提议项包括:
- 可操作且描述明确的标题
- 包含上下文的详细描述
- 建议的优先级(urgent、high、medium、low)
- 层级关系(parentTempId 指示父项)
- 来源(如果来自特定 Seed,则为 fromSeedId)
审查和接受
在审查阶段可以:
- 接受单个项
- 拒绝不适用的项
- 如果完整提案符合预期,则全部接受
接受的项会自动创建在所选看板中,并遵循提议的层级关系。
会话历史记录
所有会话都会自动保存,之后可访问:
| 状态 | 描述 |
|---|---|
| active | 会话进行中。可以继续对话。 |
| completed | 会话已结束。项已创建在看板中。 |
| archived | 会话已保存,供将来参考。 |
你可以从历史记录中:
- 查看任何会话的完整对话。
- 查看所创建的项。
- 重新激活归档会话以继续。
成本跟踪
每个会话都会记录使用指标,便于优化配额消耗:
| 指标 | 描述 |
|---|---|
totalInputTokens | 发送给 AI 的令牌数 |
totalOutputTokens | 从 AI 接收的令牌数 |
estimatedCost | 会话的估计成本 |
durationMs | 会话总时长 |
这些指标让你了解每个会话的消耗,并优化 AI 配额的使用。
会话配置
每个会话都可以有自己的配置:
| 字段 | 描述 |
|---|---|
model | 要使用的 AI 模型(例如 claude-3-opus) |
provider | AI 提供商(anthropic、openai 等) |
systemPrompt | 自定义系统提示词 |
temperature | 生成温度(0.0 - 1.0) |
默认配置来自组织设置,但可针对特定会话进行自定义。
回复模式
AI 可以根据讨论内容的复杂性在不同模式下运行:
流式输出
在生成回复时即可看到内容。适合快速迭代和流畅对话。
思考
AI 会在回复前逐步推理。更适合需要深入分析的复杂问题。
你可以在会话期间切换模式。
编写有效提示词
第一条消息很重要。以下是良好起点的示例:
良好起点
| 提示词 | 有效原因 |
|---|---|
| “我想添加社交认证,但不确定其投入是否值得,相比 magic links 如何” | 邀请 AI 比较替代方案 |
| “我需要提高产品列表的性能,用户抱怨速度慢” | 定义真正的问题,而非假定的解决方案 |
| “我们必须从 REST 迁移到 GraphQL,团队说它更好,但我不相信” | 为质疑该决策留出空间 |
应避免
| 提示词 | 问题 |
|---|---|
| “为认证生成任务” | 关闭对话空间,要求直接输出 |
| “实现用户 CRUD” | 没有要解决的问题,只有机械操作 |
| “改进整个系统” | 没有焦点,无法质疑 |
前置条件
要使用规划会话,需要:
- 已配置AI 提供商,并具有有效 API key
- 组织中有可用配额
- 一个至少拥有一个活跃看板的项目,用于创建项
数据结构
会话存储时包含以下主要字段:
| 字段 | 类型 | 描述 |
|---|---|---|
id | uuid | 唯一标识符 |
organizationId | text | 所属组织 |
projectId | uuid | 关联项目 |
boardId | uuid | 创建项的看板 |
title | text | 会话标题 |
status | enum | active、completed、archived |
config | json | model、provider、systemPrompt、temperature |
result | json | summary、workItemsCreated、seedsProcessed |
会话消息
每条对话消息包含:
| 字段 | 类型 | 描述 |
|---|---|---|
role | enum | user、assistant、system |
content | text | 消息内容 |
messageType | varchar | 消息类型 |
inputTokens | integer | 输入令牌数 |
outputTokens | integer | 输出令牌数 |
MCP 工具
| 工具 | 描述 | 主要参数 |
|---|---|---|
record_ai_session | 记录规划会话 | projectId, prompt, response, tokensUsed |
get_ai_sessions | 获取项目的会话历史记录 | projectId, limit |
示例:记录会话
Tool: record_ai_session
Parametros:
projectId: "uuid-del-proyecto"
prompt: "Necesito un sistema de notificaciones push"
response: "Propuesta generada por la IA..."
tokensUsed: 1250
访问路径
规划会话的主路径为 /plan。可从此处启动新会话、查看历史记录和继续暂停的会话。