前端进阶之旅前端进阶之旅
基础篇
进阶篇
高频篇
精选篇
手写篇
原理篇
面经篇
AI 面试
自检篇
每日一题
  • 综合
    • 综合题型
    • 其他问题
    • 设计模式
    • 思维导图
    • 学习路线
  • 前端基础
    • HTTP
    • 浏览器
    • 计算机基础
  • 进阶学习
    • NPM工作流
    • Docker
    • Canvas
    • Node学习指南
    • 前端综合文章
  • 其他
    • Handbook
    • 职场话题
    • CSS可视化
小程序题库
公众号动态
博客动态
AI 热点
开发者导航
基础篇
进阶篇
高频篇
精选篇
手写篇
原理篇
面经篇
AI 面试
自检篇
每日一题
  • 综合
    • 综合题型
    • 其他问题
    • 设计模式
    • 思维导图
    • 学习路线
  • 前端基础
    • HTTP
    • 浏览器
    • 计算机基础
  • 进阶学习
    • NPM工作流
    • Docker
    • Canvas
    • Node学习指南
    • 前端综合文章
  • 其他
    • Handbook
    • 职场话题
    • CSS可视化
小程序题库
公众号动态
博客动态
AI 热点
开发者导航
返回 AI 情报前线
All News · 全部资讯3541
  • 2026 LLM网关对比:成本、可靠性与市场格局
  • RAG 2026:开源框架与托管平台的架构权衡
  • AI漏洞检测2026:从RCA到自动修复的Agent演进
  • 代码重构显著降低 AI 编程的 Token 消耗
  • AI时代文档成为代码的运行手册
  • AI从检测Bug转向自动修复范式
  • OpenAI Astra 数学成果:从模型输出到可验证代码
  • Agent 系统失败根源:协调瓶颈而非模型智能
  • 开源工具:减少前端 AI Agent 的 token 浪费
  • AI 模型突破数学难题,数学家警示职业风险
  • Agent 持久化记忆与秘密防泄:从入口单次清洗
  • LLM推荐系统成本陷阱与三层优化策略
  • Cursor Windows任意代码执行漏洞,沙箱打开前需谨慎
  • MCP:AI 工具集成的统一标准
  • 同一模型不同运行时效果差异大
  • AI/ML 工程师实战学习路线图与里程碑
  • 本地 LLM 驱动智能合约模糊测试
  • Herdr:Agent 并行管理工具
  • 按不确定性选模型:DeepSeek Flash 用法指南
  • Prompt 模板失效的根本原因与修复方法
  • Ollama 驱动的自主 Agent 实战:定时执行与安全网关
  • MCP 中的工具形状:Agent 安全治理的新边界
  • Agent 内存系统的取舍:什么值得记住,什么该遗忘
  • 三个易混淆概念澄清:内存 vs 上下文窗口 vs RAG
  • Spring AI 集成 Gemini:配置即用,无需重写
  • AI Agent的四层记忆系统:工作/事件/语义/程序记忆
  • Agent的遗忘问题:持久化内存的设计与实现
  • 编码智能体的双面性:60倍加速与科学正确性困境
  • 高风险 LLM 推理系统的精细设计:从置信度到脆弱性感知
  • AI 编码时代的规范危机:从代码优先到持续同步机制
  • 从单 Agent 到吞吐量模型:Herdr 的多 Agent 并行工作流
  • 统一 Agent 推理与 UI 的本体论:避免 Schema 漂移陷阱
  • Node.js 24.18.1 LTS维护版本要点
  • 为AI Agent设计可靠的API接口
  • 用Agent舰队构建生产级SaaS全流程
  • LLM Agent的科学评测框架与自动化回归门禁
  • Claude Code高效协作的五步预检查工作流
  • Agent商业化必备:工具隔离与最小权限安全设计
  • Word文档中隐藏的自传播Prompt Injection漏洞
  • AI 代码辅助时代,验证与迭代胜过堆砌提示词
  • Agent 防错机制:从错误记录到规则硬化
  • 用多模态 LLM 自动化文档数据提取
  • 7.5B 小模型在编码基准上超越 24B 大模型
  • 如何在 Claude/GPT/Gemini 间无损迁移 Prompt
  • 字节跳动 Seedance 2.5:30秒视频一键生成音视频
  • 生产级聊天机器人的四层架构实战
  • 长时间运行 Agent 的可靠执行方案
  • 28 年生产工程师眼中 AI 编程工具的真实影响
  • Google Gemini 4 月更新:原生 macOS 和 NotebookLM 集成
  • AI 工程四层进化:从 Prompt 到 Loop(2026 范式转移)
  • AI Code Review 中『上下文感知』的真实含义
  • 已加载 51 / 3541
8.0
热点
AI SCORE
技术实践2026-08-01 23:00

Ollama 驱动的自主 Agent 实战:定时执行与安全网关

dev.to · AI#Agent#Ollama#自主系统
Editor brief · 编辑速览

展示了基于 Ollama、Postgres、Python 的完整 Agent 架构,包括 cron 定时调度、controversy gate(内容审查)和 credit gate(额度检查)的实现,适配社交媒体自动发布场景。

文章思维导图
Knowledge map
拖拽缩放
Full translation

完整中文译文

我们构建了一个通过 cron 定时运行、基于 Ollama 的自主 Agent。它将 voice profile 作为独立文件管理,并在发布到社交渠道之前设置了争议内容门禁和 credit 门禁。这个 Agent 兼顾安全性与表达能力,下面将详细介绍它的工作原理。

我们的技术栈由用于 LLM 推理的 Ollama、用于数据存储的 Postgres,以及将整个流程串联起来的自定义 Python 脚本组成。Agent 使用 cron 每小时运行一次,处理由其他系统生成并放入队列的语音消息。每条消息在发布到所有社交渠道之前,都要经过争议内容门禁和 credit 门禁的检查。

争议内容门禁由另一个充当分类器的模型实现。它会检查内容是否可能引发争议或造成伤害。如果存在这类风险,消息就会被移入隔离文件夹,等待审核。credit 门禁则会检查用户在 Postiz DB 中是否有足够的 credits 来发布消息。如果 credits 充足,消息就会发布到所有渠道;否则,它同样会被移入隔离区。

下面是我们代码库中 publish_to_all_channels 函数的结构:

def publish_to_all_channels(message_id: str, voice_profile: str, content: str) -> bool:
    # Load the message from the queue
    message = load_message_from_queue(message_id)

    # Check voice profile
    if not is_valid_voice_profile(voice_profile):
        log(f"Invalid voice profile for message {message_id}")
        move_to_quarantine(message_id)
        return False

    # Controversy gate: check with second model
    if is_controversial(content):
        log(f"Controversial content detected for message {message_id}")
        move_to_quarantine(message_id)
        return False

    # Credit gate: check Postiz DB
    if not has_sufficient_credits(message.user_id):
        log(f"Insufficient credits for user {message.user_id}")
        move_to_quarantine(message_id)
        return False

    # Publish to all channels
    publish_to_twitter(content)
    publish_to_telegram(content)
    publish_to_mastodon(content)

    log(f"Published message {message_id} successfully")
    return True

这个函数依次执行 voice profile 验证、争议内容门禁和 credit 门禁。每一步都是关键检查,用来确保消息在发出之前既安全,又获得了相应授权。隔离文件夹是系统中的重要组成部分,它让我们能够审核未通过任意门禁的消息,并在适当时重新处理这些消息。

我们做出的一个关键取舍,是为争议内容门禁使用第二个模型。虽然这会增加计算开销,但也显著提高了系统的安全性。我们还选择把 voice profile 存储为独立文件,而不是嵌入消息结构中,这样便能更轻松地单独管理和更新它们。

目前,我们正在集成一个实时反馈闭环,让用户可以标记应当隔离或重新发布的消息。我们也在探索如何使用能够在 edge 端运行的轻量级模型,降低争议内容门禁的延迟。对于使用轻量级模型进行实时过滤,你怎么看?

如需采取进一步措施,你可以考虑屏蔽此人和/或举报滥用行为。

Original source

本文由 AI 翻译整理自 dev.to · AI,原文版权归原作者所有。

阅读英文原文
上一篇
Prompt 模板失效的根本原因与修复方法
下一篇
MCP 中的工具形状:Agent 安全治理的新边界