HuaRenCa
返回论坛
日常交流

有人将AI代理作为长期运行的后台进程,而不仅仅是聊天界面吗?

sanqi
sanqi

2个月前

我看到的多数代理框架都是围绕聊天范式设计的(用户发送消息,代理响应)。但我更感兴趣的是那些在后台自主运行的代理:

监控系统并在出现异常时发出警报

无需人工提示处理任务队列

按计划运行(每日摘要、定期检查、维护任务)

监听事件并做出反应

这些挑战与聊天不同。当无人监控时,如何处理代理错误?如何为无限期运行的任务设置资源限制?如何在不被噪音淹没的情况下了解后台代理的活动?如何阻止一个在凌晨3点消耗API配额的失控代理?

有人在生产环境中这样做吗?你们用于自主/定时代理工作负载的架构是什么样的?

4
19

评论 (4)

Your avatar
点击登录后即可评论
Emma Tcherkezian
Emma Tcherkezian2个月前

代理之所以脆弱,很大程度上是由于内存限制

你问的目前还没有实现,因为观察者应用可以做得更好。K-I-S-S 确实是最好的标准

针对你的观点:

监控和告警可以在本地完成,无需任何代理

处理队列需要交接。我目前自托管了一个 Fizzy 板,并将 MCP 连接到 Grok-cli 和 Kiro-cli。Webhook 在一个代理完成任务时通知群组。这也让我能够直观地了解项目的进展

每日摘要完全合理,可以使用任何流行的框架(如 OpenClaw、Hermes 等)来实现

事件监控可以使用 RSS,或者如果你真的希望它具备代理能力,只需为你的事件类型创建一个爬虫,并将其指向你认为能产生最佳结果的网站(音乐会 = StubHub),这也可以由你的代理框架处理

希望这些信息对你有帮助。祝一切顺利

mgchaotian
mgchaotian2个月前

从技术上讲,像自动OCR处理传入文档和索引搜索这样的功能,早在LLM出现之前就已经是AI了,但这可能不是你指的内容。

LLM本质上是概率性的,因此有意义的用例是那些将非结构化数据作为输入,并产生非结构化或半结构化输出,且没有一致的方法来执行这种映射的场景。

新文章出现在网上,总结并映射到现有数据点,以便我们构建某个主题的信息图。生成一份AI摘要,涵盖我原本不会阅读的十几个RSS源中的新闻,并通过电子邮件发送简报。总结对开放式调查问题的新回复,并更新仪表板以获取意见的移动平均值。监控GitHub仓库,检查常见错误或代码改进,并提交拉取请求。分析异常行为,并将摘要发送给人工审核员。所有这些都存在于我正在运行或作为工作一部分处理的系统中,它们都通过明确的输入触发器、对生成内容的限制以及单个管道中可生成的token上限来工作。你可以通过将触发器可能发生的次数乘以每个触发器可以摄取和生成的token数量来确定成本,这就是成本的上限。

对于输入大小不确定或可能触发更多次的情况,你必须在源头设置护栏。你不能完全信任代理独自找到终点。不要直接让LLM读取你的Loki日志,只有当它注意到Prometheus或Kuma报告的问题出现离散上升时才触发。将其传递给像Sonnet或Haiku这样的廉价模型进行分类。如果通过足够的阈值,再传递给更智能的AI进行总结。我认为当前的模型甚至不足以在没有人工参与的情况下进行自动调试,但这取决于用户对失控过程的风险承受能力。你总是可以在AI上游设置使用限制作为停止措施。

如果代理被证明有价值并且能够大规模运行,代理编排将成为一个不断发展的领域。我个人没有使用过任何代理,但我听说不同实验室的人正在采用并实践它们。不过,在这些情况下,他们不关心烧钱,他们关心的是找到结果。

zdandan
zdandan2个月前

对于后台代理,一个可行的模式更接近于一个无聊的工作服务,而不是聊天代理。使用显式触发器、有界作业和独立的看门狗。

一种有效的形态:

队列/事件/调度创建一个带有幂等键的作业

代理获得一个小型工具允许列表和每个作业的硬预算

每个决策写入一个仅追加的事件,包含输入、工具调用、输出摘要

模型外部的看门狗检查最大运行时间、花费、重试次数和心跳年龄,然后将失败的作业路由到死信队列,并附带捕获的事件轨迹以供重放

可能改变状态的输出通过干运行、差异或人工审批,直到该类任务被证明是低风险的

这样保持代理对非结构化工作有用,而实际可靠性来自正常的运维控制:工作者、队列、租约、死信队列、警报和终止开关。

sanqi
sanqi2个月前

如果你将代理与其监视器分离,大多数失控问题就会消失。一个简单的bash脚本(不是另一个LLM)监控成本、错误率和上次运行时间戳,当任何阈值被触发时杀死代理。这样你就可以从一个进程中获得凌晨3点的终止开关、静默成功/详细失败可见性以及预算停止。运行循环本身只追加异常。