Show HN: RiskKernel – 为失控AI代理设计的终止开关和预算控制
RiskKernel是一个自托管的代理可靠性运行时,提供硬性成本、循环和时间预算,崩溃可恢复的检查点,人工审批门控,以及自有的内存。它通过单一环境变量即可集成到现有代理中,防止无限循环和意外高额费用。
RiskKernel是一个新发布的开源项目,旨在为AI代理提供可靠的运行保障。它由一位开发者独立构建,以自托管二进制文件的形式提供,专注于解决生产环境中AI代理的常见故障:无限循环、意外的高额账单、缺乏故障恢复和可观测性、缺少人工监督以及治理不足。
与现有的代理框架(如LangGraph、CrewAI、AutoGen)不同,它们主要编排推理过程,但并未内置防止代理在夜间无限循环中消耗大量资金的防护措施。RiskKernel作为代理可靠性运行时,位于代理前端,强制执行硬性限制。它使用确定的Go代码来处理预算、终止开关、门控等,而LLM只负责提出建议。
RiskKernel的核心功能包括:硬性成本上限(每次运行达到预算后立即终止,状态持久化)、硬性循环迭代上限(防止无限循环)、硬性墙钟时间预算(超时自动停止)、崩溃可恢复的检查点(即使守护进程被kill -9也能从中断处恢复,且不会重复消耗预算)、框架无关的人工审批门控(副作用工具调用需要人工批准)、自有内存(使用Git本地存储markdown/YAML,SQLite存储状态),以及OpenTelemetry GenAI支持(发出gen_ai.*跨度)。
采用方式有三种:作为代理(设置环境变量OPENAI_BASE_URL即可,零代码改动)、Python SDK(提供深度控制和适配器,支持Claude Agent SDK、OpenAI Agents SDK、LangChain)、或OpenTelemetry(作为OTLP端点和发射器,用于已使用OpenLLMetry等工具的应用)。
快速启动很简单,通过Docker运行,设置API密钥和默认预算(例如50美分),然后指向现有代理即可。它还提供了丰富的示例,包括代码库问答、崩溃恢复演示、LangChain集成、MCP工具门控等。
设计原则强调确定性的Go核心、无遥测、用户自有密钥和基础设施、极低的采用摩擦(一个环境变量即可),以及向后兼容性。项目采用Apache-2.0许可证,欢迎贡献。