思渡AI Logo
技术架构文档数字员工系统设计

数字员工系统设计

数字员工(Digital Employee)模块详细设计与实施方案

版本: v1.0 日期: 2026-01-22 状态: 规划完成 -> 开发实施


1. 模块概述 (Module Overview)

数字员工不仅仅是简单的聊天机器人,而是具备**“记忆”“技能”“执行力”**的自主智能体。该模块旨在通过标准化的人设定义与工具挂载,将 AI 转化为企业真实的劳动力,处理从信息调研到业务操作的复杂任务。

2. 核心功能清单 (Feature List)

模块功能点描述优先级
员工管理员工创建与定岗定义员工姓名、头像、职位(如:高级分析师、内容小编)及人设 Prompt。P0
技能(Tool)配置为员工挂载具体能力,如:Google搜索RPA浏览器数据库查询发邮件P0
知识库绑定绑定特定的知识库(RAG),使其具备垂直领域专业知识(如:只懂售后的客服)。P1
任务中心使命(Mission)下达用户输入模糊的宏观指令(如:“调研竞品X的最新价格”),而非单轮对话。P0
任务拆解(Planning)自动将使命拆解为具体的执行步骤(Sub-tasks)。P1
执行监控实时查看员工的“思考过程”(Chain of Thought)和工具调用结果。P1
工作台人机协作(HIL)员工在执行关键步骤(如:发送公关稿)前请求人类审批。P2
短期/长期记忆记住过往的任务结果和用户偏好,避免重复教导。P2

3. 技术实施方案 (Technical Implementation)

3.1 数据库模型设计 (Database Schema)

扩展现有的 database/models.py,新增以下实体:

class DigitalEmployee(Base):
    __tablename__ = "digital_employees"
    id = Column(Integer, primary_key=True)
    name = Column(String)
    role_type = Column(String) # strategist, executor, reviewer
    system_prompt = Column(Text) # 人设定义的具体 Prompt
    
    # 关联
    skills = relationship("EmployeeSkill", back_populates="employee")
    knowledge_bases = relationship("EmployeeKB", back_populates="employee")

class EmployeeSkill(Base):
    # 技能表:关联具体的 Python 函数或是 API Tool
    id = Column(Integer, primary_key=True)
    employee_id = Column(Integer, ForeignKey("digital_employees.id"))
    tool_name = Column(String) # e.g., "web_search", "send_email"
    config = Column(JSON) # e.g., {"api_key": "..."}

class Mission(Base):
    # 任务/使命表
    id = Column(Integer, primary_key=True)
    objective = Column(Text) # "调研特斯拉2026年Q1销量"
    plan_dag = Column(JSON) # 任务拆解的有向无环图
    status = Column(String) # pending, running, completed, failed

3.2 后端架构 (Backend) - services/geo-brain

  • Agent 核心引擎 (core/agents/)
    • Planner (大脑):使用 ReAct 或 PDDL 思想,将用户 Objective 拆解为 Steps。建议初期使用简单的线性 Loop 结构,后续引入 LangGraph。
    • Tool Registry (手脚):建立一个工具注册中心,映射 search_tool -> GoogleSearchAPI, browser_tool -> RPA-Worker
  • API 接口 (routers/agent_router.py)
    • POST /agents/{id}/chat: 与数字员工直接对话(调试用)。
    • POST /missions: 发布异步任务。
    • GET /missions/{id}/logs: 获取执行日志流(Stream)。

3.3 前端交互 (Frontend) - apps/web-console

  • 创建向导 (/workforce/create)
    • 步骤1:人设设定。选择模板(如“品牌分析师”),系统自动填充 System Prompt。
    • 步骤2:技能勾选。复选框形式选择该员工能用什么工具。
    • 步骤3:知识库连接。下拉选择已上传的 docsknowledge
  • 任务看板 (/workforce/mission/{id})
    • 左侧:任务拆解树(ToDo List)。
    • 右侧:实时终端风格的日志输出("正在搜索..." -> "正在阅读页面..." -> "生成报告中...")。

3.4 执行层 (Execution)

  • 轻量级任务:在 geo-brain 容器内直接通过 LangChain/OpenAI Function Call 执行(如搜索、写文案)。
  • 重量级任务 (RPA):通过消息队列将任务派发给 services/rpa-worker(如爬取动态网页、模拟登录操作)。

4. 下一步行动计划 (Action Plan)

  1. 完善模型 (Backend)
    • 修改 models.py 添加 MissionMissionLog 表。
  2. 实现规划器 (Backend)
    • core/agents/planner.py 中编写一个基础的 SimplePlanner,实现将简单指令拆解为3个步骤的能力。
  3. 开发创建页 (Frontend)
    • 在前端实现创建员工的表单(人设+技能选择)。
  4. 联调任务流 (Integration)
    • 实现点击“开始任务” -> 后端拆解 -> 前端展示进度条的闭环。