ZWZixi Wang
作品

项目 / AI Agent

Field(原 Idea2PaperLab)

一个从自动化研究原型演进而来的本地优先 Agent 工作空间,让 Agent、项目、工具与活动共享持久环境。

角色
产品方向、架构与实现
成果
构建基于 Electron、React 与 FastAPI 的工作空间,提供隔离的 Agent Run、中心事实存储、持久上下文和审批感知工具。

Field 最初名为 Idea2PaperLab,是一个尝试让研究想法依次经过文献检索、数据集准备、编码、实验、分析、修订、写作与批评的原型。构建这条链路的过程暴露出一个更一般的问题:Agent 需要的不只是一张工作流图,还需要一个让上下文、工具、文件、审批、失败和长期任务始终保持一致的地方。

Field 正是从这个认识中演进而来的项目。它现在是一个本地优先的 Agent 工作空间,让 Agent、项目、任务、工具与活动共享同一套持久运行环境。

从流水线到工作空间

最初的研究序列仍然是一条有价值的内置工作流:

idea -> literature -> dataset -> coding -> experiment -> analysis
     -> revision -> experiment -> analysis -> writing -> critic

但系统不再假设所有有用的活动都能装进一条流水线。对话 Agent 可以检查项目、调用工具、创建子 Run、接收后续任务、暂停等待输入,并从持久事件中继续执行。桌面应用运行期间,定时任务和项目文件变化也可以在同一环境中触发 Agent 工作。

这一变化重新定义了系统的中心抽象:研究阶段只是 Activity 的一种,而不再是容纳所有状态的唯一结构。

本地控制面

Field 由 Electron 桌面外壳、React 界面和受管理的 FastAPI sidecar 组成。FastAPI 负责中心 SQLite 事实存储,大型研究产物则继续保存在普通项目目录中。每次 Agent Run 都在独立的 Python Worker 进程中执行,而不是与控制面共享同一进程。

这套设计让 Agent 状态、消息、事件、工具调用、审批、检查点与存储遥测拥有一致的持久位置,同时又不把项目文件藏进不透明的数据库。SQLite 使用迁移、完整性检查、WAL、检查点与在线备份,因为“本地优先”仍然应当意味着可以长期可靠运行。

将上下文视为证据,而非对话技巧

Field 保存只追加的原始 Event,以及带有来源关系、不可变的 Episode 摘要。每次运行前,Context Compiler 从连续的近期事件后缀和相关长期材料中,编译出本次模型运行使用的不可变上下文视图。

这样就不必让聊天记录同时扮演界面和记忆系统。摘要可以追溯到源事件,Agent 之间只传递有界的 Handoff Packet,模型供应商的缓存也只是加速手段,而不是 Agent “记得什么”的权威依据。

默认拒绝越界的工具环境

当工具运行在个人电脑上时,隔离就是产品契约的一部分。Field 在 macOS、Linux 与 Windows 上使用原生沙箱辅助程序;当系统缺少必要能力时,只读和工作区写入模式会直接拒绝运行,而不会静默退回无隔离执行。网络默认禁止,危险操作则需要匹配且只能使用一次的审批。

这是 Idea2PaperLab 早期软隔离模型的一次实质演进。目标并不是宣称本地 Agent 没有风险,而是让安全边界变得明确、可测试,并对真正承担风险的机器所有者可见。

始终没有改变的问题

项目名称和范围发生了变化,但最初的问题仍在:一个想法怎样才能跨越对话与完成工作之间的距离?Field 的答案,是把执行历史、上下文、项目文件与人的审批都视为一等事实。研究自动化仍然是重要用例,只是现在由一套更通用、也更持久的基础支撑。