章节 01
导读 / 主楼:CWB_Project:人机协作的项目规划智能助手
CWB_Project:人机协作的项目规划智能助手
项目背景与核心痛点
在项目管理实践中,一个长期存在的难题是:会议和邮件中做出的决策往往无法同步到官方跟踪系统中。项目计划因此逐渐偏离现实,导致团队成员对实际进度和任务分配产生认知偏差。
CWB_Project 正是为解决这一痛点而诞生的 Agentic AI 助手。该项目参加了 Microsoft Code Without Barriers Hackathon 2026 的 "SJ Project Planner Agent" 挑战赛,旨在通过智能代理技术弥合非结构化沟通与结构化计划之间的鸿沟。
核心功能架构
从会议记录到计划更新的完整工作流
该系统设计了一套端到端的自动化流程:
- 收件箱接收:系统通过 Inbox 页面接收会议记录、邮件或聊天消息
- 智能提取:自动识别任务要素——标题、负责人、截止日期、状态、依赖关系,并附带原始语句作为证据引用
- 变更分类:将每个提取项分类为新建任务、现有任务更新或冲突需澄清
- 草案生成:生成结构化的计划更新提案,附带执行摘要
- 人工审批:向人工审核员展示草案,支持逐条批准、拒绝或编辑
- 原子提交:经批准的变更以原子方式提交,记录完整的前后对比审计追踪
关键原则:没有任何变更能在未经明确人工批准的情况下进入官方跟踪系统。
技术特性详解
智能提取与分类引擎
系统能够从自然语言笔记和邮件中提取任务形状的信息,包括:
- 任务标题与负责人分配
- 截止日期与状态信号识别
- 依赖关系提示解析
- 置信度评估与来源引用
三层变更分类机制
| 分类类型 | 说明 | 处理方式 |
|---|---|---|
| NEW | 全新任务 | 创建新任务条目 |
| UPDATE | 现有任务更新 | 修改现有任务属性 |
| CONFLICT | 冲突需澄清 | 标记为需人工决策 |
人在回路审批系统
这是该项目的核心创新点:
- 逐条控制:每条提议的变更都有独立的批准/拒绝/编辑控件
- 批量操作:支持批量批准或拒绝多个变更
- 冲突解决:并排对比候选方案,提供合并或保持分离选项
- 置信度驱动 UX:高置信度变更预先勾选,低置信度标红并需显式操作
- 证据引用固定:每个应用的计划变更都可追溯到会议记录中的确切源语句
可视化与追踪能力
多维度项目视图
系统提供丰富的可视化界面:
- 跟踪器面板:可筛选的表格视图,带有逾期/即将到期颜色提示
- 甘特图:Plotly 驱动的交互式时间线,按状态着色
- 紧急面板:突出显示需要立即关注的任务
- 变更日志:完整的审计追踪,记录所有历史变更
双向可追溯性
点击跟踪器中的任何任务,即可查看:
- 该任务的所有历史变更
- 每次变更的时间戳和差异对比
- 来源笔记中的确切证据引用
基线对比与重放模式
- 变更检测:将实时计划与原始 tasks_master.csv 数据集对比,高亮显示负责人变更、超过7天的日期偏移和状态变更
- 重放模式:按时间顺序逐步浏览所有摄入的会议记录,查看每条记录对计划的贡献
技术栈与架构设计
四层严格单向依赖架构
┌─────────────────────────────────────────────────────────────┐
│ UI 层 (Streamlit Web App) │
│ 页面:Inbox · Drafts · Tracker · Gantt · Change Log · Replay │
└─────────────────┬───────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ PlannerService 层 │
│ 工作流控制:ingest_note · run_pipeline · apply_draft · digest│
└──────────┬──────────────────────────────┬───────────────────┘
│ │
▼ ▼
┌──────────────────────┐ ┌─────────────────────────────────┐
│ PlannerAgent 层 │ │ Repository 层 │
│ LLM 工具: │ │ 数据访问:meeting_notes · tasks │
│ - extract_tasks │ │ pending_drafts │
│ - classify_change │ │ change_log │
│ - generate_draft │ └────────────────┬────────────────┘
│ - summarize_changes │ │
└──────────┬───────────┘ ▼
│ ┌────────────────────────┐
▼ │ Azure Database for │
┌──────────────────────┐ │ PostgreSQL (Flexible) │
│ OpenCode Go API │ └────────────────────────┘
│ DeepSeek V4 Pro │
│ (OpenAI-compatible) │
└──────────────────────┘
技术选型
| 层级 | 技术 |
|---|---|
| LLM | OpenCode Go (DeepSeek V4 Pro/Flash) via OpenAI-compatible API |
| 存储 | Azure Database for PostgreSQL Flexible Server (SQLAlchemy 2 + Alembic) |
| UI | Streamlit + Plotly |
| 部署 | Azure Container Apps + Azure Container Registry |
| 语言 | Python 3.12 |
| 测试 | pytest (单元测试 + 集成测试) |
| CI | GitHub Actions (ruff + pytest) |
数据集与演示
项目使用官方 CWB_SJ 数据集(CC0 许可):
- tasks_master.csv:约50个任务的基线计划
- meeting_notes.jsonl:前10条会议记录可供处理
- emails.csv:前5封邮件作为邮件类型会议记录
用户可通过侧边栏的 "Load sample dataset" 按钮即时填充应用进行演示。
实用意义与应用前景
解决的真实问题
- 信息孤岛:打破会议决策与计划系统之间的壁垒
- 责任追溯:每个变更都有明确的来源和审批记录
- 效率提升:自动化繁琐的手动转录工作
- 风险管控:人在回路确保关键决策的人工监督
适用场景
- 敏捷开发团队的 Sprint 规划回顾
- 跨部门项目的进度同步
- 客户沟通记录的任务提取
- 远程团队的异步协作
总结与展望
CWB_Project 展示了一种务实的 Agentic AI 应用范式:不是取代人类决策,而是增强人类决策能力。通过将 LLM 的提取能力与人类的判断力相结合,该系统在自动化效率与人工监督之间找到了平衡点。
该项目的架构设计——特别是四层单向依赖和严格的 Repository 模式——为类似的 Agentic 应用提供了可复用的模板。其对可追溯性和审计追踪的重视,也使其适用于对合规性有要求的企业环境。
在线演示地址:https://sjplanner-sm2026.calmbush-865eff5f.eastasia.azurecontainerapps.io/