## Omni:人工智能驱动的工作场所助手
Omni 是一款自托管的人工智能助手和搜索平台,旨在提高工作场所的生产力。它连接到流行的应用程序,如 Google Drive、Slack、Confluence 和 Jira,提供**统一搜索**,利用全文搜索和语义搜索功能。
除了搜索,Omni 还具有**AI 代理**,可以与用户聊天、访问连接的应用程序、分析文档,甚至在安全、沙盒环境中执行代码。一个关键优势是**数据隐私**——Omni 完全在您的基础设施上运行,尊重现有的权限结构。
在技术上,Omni 利用 Postgres 来存储所有数据和进行搜索,避免了多数据库的复杂性。它使用 Rust、Python 和 SvelteKit 构建,并提供通过 Docker Compose 或 Terraform 进行灵活部署的选项。用户还可以**自带 LLM**(Anthropic、OpenAI、Gemini 或开源模型)。
Omni 是开源的(Apache 2.0 许可),并欢迎贡献。
## 放弃引擎:2025年的独立游戏开发
作者在游戏开发20年后,提倡*远离* Unity 和 Unreal 等大型商业游戏引擎。虽然承认它们的实用性,但他们发现构建自定义工具和工作流程更令人愉快、更高效,并最终为项目的长期可行性提供更强的保障。
核心论点是,对于许多独立项目——尤其是小型项目而言——大型引擎的开销超过了其优势。相反,利用 SDL、FNA 和 Love2D 等开源框架,结合 C# 等现代语言(具有改进的性能和热重载),可以提供更大的控制权,并避免对潜在不稳定或存在伦理问题的专有软件的依赖。
作者使用 SDL 实现跨平台兼容性和渲染,使用 FMOD 处理音频,使用 Dear ImGui 构建编辑器工具。他们强调了根据特定游戏需求定制的关卡编辑器的强大功能以及使用更简单的系统加载资源时的便捷性。
最终,这是一种个人选择,但作者倡导“从头开始制作游戏”在 2025 年并非一项不可能完成的任务,并提供了一条通往更大创意自由和长期项目所有权的道路。他们甚至切换到基于 Linux 的开发环境,进一步远离专有系统。
## 并发系统的周期性重塑
数十年以来,开发者们不断地创建用于运行并发、有状态代理的框架——这些框架具有隔离的状态、消息传递以及用于容错的监督机制。这是因为这些模式解决了一个真正困难的问题,BEAM虚拟机(Elixir & Erlang 使用)自 1986 年以来就已解决这个问题,并非作为库,而是作为其核心运行时。
核心问题是并发:现代硬件*可以*同时处理多个任务,但传统的共享状态并发与锁会导致复杂的、难以调试的竞争条件和性能瓶颈。BEAM 的方法——通过消息进行通信的隔离进程——避免了这些陷阱。
BEAM 进程是轻量级的(~2KB),具有抢占式调度,并且完全隔离,这意味着一个进程崩溃不会影响其他进程。这种“让它崩溃”的理念,结合监督树,为架构构建了弹性。
虽然其他语言可以*实现*类似的模式,但 BEAM 的运行时提供了独特的优势,例如每个进程的垃圾回收和热代码交换,提供难以复制的稳定性和可预测性。 这对于现代 AI 代理系统尤其重要,这些系统需要长期存在、有状态和并发的进程——行业正在重新发现这种模式,证明 Erlang 最初的见解至今仍然非常重要。