基于 Harness 的可控编程系统
Vizo 是一款基于 Harness 工程搭建的可控编程系统,以自然语言为入口,主动识别任务类型,执行对应的工作流,任务知识主动沉淀为项目记忆,让AI越来越懂你的项目。
02 / PROBLEMS
解决的问题
长任务容易断上下文,失败后接续成本高。
通过 sub agent 承接具体任务执行,把长任务拆入可独立推进的工作单元,降低主会话上下文压力。
项目知识散落在聊天记录、文档和代码中,后续任务需要重复解释背景。
任务过程中产生的关键知识会被主动识别,沉淀到项目记忆中,让后续任务能够复用已有背景。
用户难以判断 AI 当前执行到哪一步,也难以在关键节点参与决策。
所有节点都有工作报告产出,关键节点会主动提交分析结果并请求用户确认,让执行过程可看、可控。
多模型、多底座的配置、计费和模型选择成本高,不同模型的擅长领域和调用成本难以统一管理。
系统内置多角色与多模型配置能力,按任务节点和角色需要选择合适助手,减少人工判断和反复配置成本。
03 / ARCHITECTURE
整体架构
用户入口层
用户通过 CLI、Web Console、Dialogue Console、移动端和通知入口发起任务或查看进度。不同入口面向不同使用场景,但都会进入同一套任务状态和项目记忆体系。
意图识别与路由层
主会话先识别用户需求属于直接沟通、正式研发任务、AgentHub 专业模块,还是后台任务提案。它会结合启动协议、项目记忆和路由规则,决定后续应该进入哪种工作方式。
任务编排层
任务编排层负责把需求拆成可执行步骤,并安排对应角色推进。研发任务进入 Orchestrator 工作流,专业服务进入 AgentHub 模块流,关键节点会保留确认、暂停和恢复能力。
模型与成本治理层
这一层统一管理模型配置、角色模型策略、成本记录和能力路由。复杂推理、架构设计和关键实现使用更强模型,轻量整理、格式转换和辅助检查使用更合适的低成本模型。
运行时抽象层
运行时抽象层把主会话和 sub agent 的执行方式统一起来,负责上下文组织、交互请求、命令审批、任务恢复和状态回传,让不同底座在产品层表现一致。
运行时适配层
运行时适配层负责连接 Claude Code、Codex 等不同 AI 编程底座,把各自的输出、工具调用、审批请求和执行事件转换成 Vizo 可以统一展示和管理的事件。
知识与状态层
知识与状态层沉淀项目长期记忆、任务进度、阶段产出、用户反馈和运行事件。它让任务失败后能恢复,也让项目经验在后续任务中继续复用。
外部工具层
外部工具层提供 MCP 服务、Serena、Chrome、Playwright、Vizo Router、Git 和本地文件系统等能力,帮助 Agent 读取项目、操作环境、验证结果和完成交付。
04 / MODEL GOVERNANCE
角色、模型与工具配置
模型与成本治理层负责把不同模型的能力、价格和适用场景纳入统一管理。复杂推理、架构设计、关键实现可以使用能力更强的模型;轻量整理、格式转换、辅助检查可以使用成本更低的模型,从而在质量和成本之间做更稳定的分配。
模型的配置在角色配置中完成,不同角色可以使用不同的模型。
05 / MEMORY SYSTEM
记忆系统设计
记忆分层
第一层是项目长期记忆,由 Serena 托管,记录项目概述、技术架构、代码风格、常见陷阱、技术栈、设计规范等稳定知识。
第二层是启动协议记忆,例如 startup/role-memory-whitelist 和 startup/vizo-collaboration-protocol。它们负责告诉主会话和角色:开工前先读什么,什么情况下应该发起正式任务。
第三层是任务过程记忆,包括阶段文档、用户反馈、运行元数据和事件日志。知识提取角色会从这些材料里筛选可复用内容,沉淀成长期项目记忆。
角色级记忆白名单
通过白名单控制不同角色的必读记忆,每个角色只读和当前任务相关的长期知识,降低上下文噪音。记忆读取规则由项目配置控制,减少反复修改角色 prompt 的成本。
记忆命名空间
Vizo 将研发项目记忆和 AgentHub(非研发工作流)领域知识分开治理。普通研发项目知识放在 .serena/memories/*.md,AgentHub 模块自己的领域知识放在 .serena/memories/hub/{module_id}/*.md。
知识沉淀闭环
正式任务结束后,知识提取逻辑会读取任务产出、用户反馈和阶段结论,把可复用经验写回项目记忆。随着任务持续执行,项目记忆会从初始化模板逐渐成长为项目经验库。
06 / ORCHESTRATION
编排层设计
任务流程可视化
任务流程直观展示,sub agent 的执行日志一目了然。
任务流程可控
任务可以被随时暂停或终止,关键节点会主动请求用户审核并附带分析报告。
任务异常降级机制
任务出现异常时会主动分析问题并重试,无法正常流转时任务挂起等待用户处理,任务过程数据全部保留,随时可恢复执行。