为什么做
很多 AI 学习产品的起点是“给聊天框增加学科提示词”。我更想解决的是一个长期问题:当预习、做题、复习、错题诊断等能力越来越多时,学生怎样仍然处于同一个简单、可控制的学习空间?新的教学模块又怎样被持续生产、审核和更新,而不破坏已有的学习记录与权利边界?
Terracogni 因此被设计成一个本地优先的学习 Agent 生态,而不是单一聊天机器人:
- 学生端承载画像、任务、资料、学习证据和历史;
- 中央学习管家负责全局任务排序与能力匹配,单个模块不能私自创建全局事实;
- 预习、做题、复习等官方能力与学科包、内容包按任务组合;
- 内部团队通过无代码 Studio 设计、模拟、审核、试用和发布新模块;
- 家长只能在授权后查看受限摘要,不能直接控制学生任务或读取完整对话;
- 模块、模型和管理人员都必须经过明确授权,不能绕过学生确认与治理流程。
首期面向高中生,以高中数学和三角函数内容作为第一条教学落地路径。
我的角色
我发起并主导 Terracogni,从问题定义一直参与到生产代码与验收证据:
- 定义学生、家长、中央学习管家、教师评审、模块创作者和最终审批人的权力边界;
- 设计画像、任务、学习收据、证据等级、组件契约和模块生命周期;
- 把产品规则拆成决策编号、机器契约、失败语义、实现位置与验收用例;
- 设计 Windows-first 学生桌面端和本地 Runner,以及 Web-first Studio、治理、家长和手机入口;
- 参与 Rust、Tauri、React、TypeScript、Axum 与 PostgreSQL 的全栈实现;
- 组织跨平台门禁、独立审查、真实浏览器验收和逐提交证据归档。
项目不是先写代码再补说明。产品事实、技术 ADR、Rust 数据类型、JSON Schema、TypeScript 绑定、OpenAPI、fixture 和测试需要保持同一含义,任何一层漂移都会被门禁拒绝。
系统设计
学生端与本地可信核心
学生端采用 Tauri + React。学习资料默认保存在本机隔离空间,使用 SQLCipher 加密,并通过追加式 journal、确定性 projection 和备份恢复保留可追溯历史。
学习能力以经过签名的纯数据包交付,不能携带任意脚本。模型调用经过最小披露网关,只获得完成当前任务所需的有限上下文;密钥进入操作系统安全存储,不写入学习记录或日志。
Studio 与治理
Studio 不是一个可随意执行代码的流程编辑器。创作者只能组合经过批准的官方组件,并在受控范围内修改教学文案、参数和连接关系。
当前编辑器纵向切片已经覆盖组件插入、连线、重排、配置、删除、撤销、重做、持续校验、保存和重新加载。服务端重新计算权威结果,浏览器不能把自己提交的图结构直接当作事实。
治理服务负责版本、审核、试用、终审、发布、暂停和审计。系统明确禁止自审、越权发布、跨项目票据复用和把验证组件误当成正式组件。
契约与证据
项目将安全边界放进可执行门禁:
- Rust 类型生成 JSON Schema 与 TypeScript 绑定,并做逐字节漂移检查;
- OpenAPI、客户端、mock 和 fixture 必须与同一契约保持一致;
- 测试同时覆盖成功路径、篡改、越权、无效状态、崩溃和恢复;
- Windows 与 Ubuntu 必须验证同一个 commit,不能拿旧提交的成功结果证明新代码;
- 每个范围限定的验收都记录 SHA、环境、命令、测试分母、人工结论和剩余风险。
已完成的可验证成果
Terracogni 已经从产品文档进入生产 workspace,并形成多条可以运行的纵向切片:
- 建立 Rust/TypeScript 契约生成、OpenAPI、fixture 与无漂移门禁;
- 实现学生端与 Studio Runner 的 Tauri 安全壳和 Windows WebView smoke;
- 实现加密日志、账号隔离、签名数据包、最小披露模型网关和备份恢复;
- 实现学生任务纵向切片、持久化命令账本和桌面端交互;
- 建立 Studio Web、治理服务、PostgreSQL 持久化与受控发布链路;
- 实现第一个持久化创作者动作和受治理的线性组合编辑器;
- 建立治理、家长、手机、隐私同意与低风险实验的范围限定技术切片。
最新的 Studio Slice 4A 验收在隔离的“验证权限”下,通过了真实 Axum、PostgreSQL 与 Chromium 流程。该轮证据包含 434 项 Rust workspace 测试、119 项 Platform Web 单元测试、68 项浏览器场景和真实数据库一致性检查;同时验证键盘操作、窄屏、200% 字号、强制配色与减少动态效果等可访问性场景。
当前边界
Terracogni 仍在开发中,不能描述为已经上线或完整交付。当前通过的是明确范围内的技术切片,不等同于完整 Studio、正式组件激活或整个学习生态验收。
接下来仍需完成正式内容包和教师书面评审、完整模块生命周期、真实学生试用、独立安全与合规复核,以及 Windows 安装、签名、更新和回退候选。
这段经历
Terracogni 让我重新理解了“做一个 Agent 产品”。困难不只在于模型效果,而在于谁有权创建任务、哪些资料可以被读取、一次学习是否真的完成、错误判断如何撤回,以及新模块怎样在不破坏旧证据的前提下升级。
它也是我目前最系统的一次 AI 协作工程实践:把产品判断写成契约,把契约变成代码,把代码交给正负测试与独立审查,再让每个结论都能回到具体证据,而不是依赖一句“应该没问题”。
