In modern data-streaming systems, alongside traditional programs, a new type of entity has emerged that can interact with streaming data: AI agents. Unlike traditional programs, AI agents use LLM reasoning to accomplish high-level tasks specified in natural language over streaming data. Unfortunately, current streaming systems cannot fully support agents: they lack the fundamental mechanisms to avoid the performance interference caused by agentic tasks and to safely handle agentic writes. We argue that the shared log, the core abstraction underlying streaming data, must support creating forks of itself, and that such a forkable shared log serves as a great substrate for agents acting on streaming data. We propose AgileLog, a new shared log abstraction that provides novel forking primitives for agentic use cases. We design Bolt, an implementation of the AgileLog abstraction, that uses novel techniques to make forks cheap, and provide logical and performance isolation.
翻译:在现代数据流系统中,除了传统程序外,一种能与流式数据交互的新型实体——AI智能体——已然出现。与传统程序不同,AI智能体利用大语言模型推理,通过自然语言在流式数据上完成高层级任务。遗憾的是,当前流式系统无法完全支持智能体:它们缺乏避免智能体任务引起的性能干扰以及安全处理智能体写入的基础机制。我们认为,作为流式数据核心抽象的共享日志必须支持创建自身分支,而这种可分支的共享日志可作为智能体在流式数据上运行的优良基础。我们提出AgileLog,一种为智能体用例提供新型分支原语的新型共享日志抽象。我们设计了Bolt——AgileLog抽象的实现,它采用创新技术使分支操作成本低廉,并提供逻辑隔离与性能隔离。