由TutorGuard(LX AI)

TutorGuard是什么

TutorGuard — 在学生看到之前保持每个AI教练回复的安全。将其用作决策支持:演示模式无需实时密钥即可运行;实时运行需要配置。没有虚假的指标,也没有SSO/CSV/Slack的声明,除非该功能实际上已经发布。

TutorGuard 的功能

我创建了 TutorGuard,以便它可以位于 AI 教师和学生界面之间。当教师生成回复时,TutorGuard 接收文本,运行一系列检查,并返回结果。结果告诉您回复是否安全显示、需要编辑或应被阻止。该工具不会改变回复本身;它只提供信息供您采取行动。

核心循环很简单:输入文本 → 安全扫描 → 输出决策。您可以在 demo 模式下运行扫描,使用内置的模拟模型,这允许您在没有外部 API 密钥的情况下查看流程。对于生产环境,您需要将 TutorGuard 指向自己的 LLM 端点并提供有效密钥。扫描运行同步,因此您在决定发布之前会收到响应。

每次扫描都会产生一份简短的报告,包括:

- 安全评分(0-100)

- 检测到的问题类别标志

- 建议的操作(允许、编辑、阻止)

- 带有突出显示的原始文本

审查流程的工作原理

我设计了审查流程,围绕三个阶段:预处理、基于模型的检测和基于规则的后处理。每个阶段都增加了一层审查,而不会降低整体的延迟。

预处理

首先,收到的回复被标准化。我去除多余的空白字符,转换Unicode为一致的形式,并将文本分割成句子。这一步使得后续的模式匹配更加可靠,并减少了由于格式问题引起的假阳性。

基于模型的检测

接下来,我运行一个轻量级的分类模型,该模型在公共数据集上进行了微调,用于检测不安全的LLM输出。该模型返回诸如骚扰、仇恨、自我伤害和事实不一致等类别的概率。我选择了一个在中等CPU上运行时间不到200毫秒的模型,因此决策支持循环保持交互性。

该模型托管在TutorGuard容器内;您无需调用外部服务即可进行核心扫描。如果您更喜欢使用自己的模型,您可以通过配置标志替换二进制文件,但默认模型随产品提供。

基于规则的后处理

在获得模型评分后,我应用了一组确定性规则。这些规则涵盖了统计模型难以捕捉的项目,例如:

- 个人数据模式的存在(电子邮件、电话号码)

- 您的机构政策中特定的禁止短语

- 数值主张超过配置阈值(例如“得分超过95%”而最大值为100)

- 您为导师回复设置的长度限制

最终的安全评分是模型概率和规则处罚的加权和。我在运行了几百个手动审查的真实导师聊天后设置了权重;目标是保持假阴性率低,同时避免过载标志。

配置和演示模式

TutorGuard 在启动时提供两种运行模式.

演示模式

在演示模式下,产品使用内置的回显服务,返回任何输入的预设响应。无需外部 API 密钥,并且无数据离开您的机器。此模式适用于:

- 测试 UI 流程 - 向同事展示判决结果的外观 - 在 CI 中运行自动化测试而无需网络调用

由于回显服务不调用真实的 LLM,因此安全评分是静态的。我将演示输出视为示意图;您必须在评估实际导师行为之前切换到实时模式。

实时模式

实时模式需要您设置三个环境变量:

- LLM_ENDPOINT - 您的导师生成服务的 URL - LLM_KEY - 服务期望的 API 密钥或令牌 - LLM_MODEL - 您要保护的模型标识符

当这些变量存在时,TutorGuard 将用户提示转发到您的端点,等待回复,然后在该回复上运行安全扫描。所有通信都通过 HTTPS 进行;除非您启用可选的审计标志,否则我不会记录原始提示或回复,该标志将加密的 blob 写入本地.data/ 目录。

您可以通过简单的 JSON 文件调整安全阈值:

{ "model_threshold": 0.78, "rule_penalty": 12, "max_length": 250, "block_on_personal_data": true } 更改这些值会更改最终评分和建议的操作,而无需重新构建容器。

我们检查的安全类别

我将检查映射到OWASP针对大型语言模型应用的顶级10项,因此您可以看到TutorGuard如何与广泛引用的框架保持一致。您可以在此处阅读完整列表。

类别1 – 提示注入

我查找尝试覆盖教练系统指令的模式,例如重复的“忽略前一个”字符串或base64中的编码命令。如果检测到,规则会添加高罚分,建议的操作变为“阻塞”。

类别2 – 不安全的输出处理

扫描器检查回复是否包含可执行代码片段(例如<script>标签、SQL片段或shell元字符),如果直接渲染可能会有危险。这里的标志会触发“编辑”建议,突出显示有问题的跨度。

类别3 – 训练数据中毒

虽然我无法直接检测中毒数据,但我监测事实一致性的突然变化。基于模型的检测器标记与已知知识库(例如,错误的历史日期)相矛盾的语句。这有助于捕获可能来自损坏训练的输出。

类别4 – 模型拒绝服务

大型回复可能会消耗过多的带宽或导致客户端渲染问题。我强制执行可配置的长度限制;超过限制的回复会收到长度违规标志和“修剪”建议。

类别5 – 供应链漏洞

TutorGuard本身在运行时不拉取外部库,从而降低了供应链风险。我在文档中注意到这一点,因此您知道扫描器的攻击面仅限于二进制文件及其配置文件。

类别6 – 敏感信息披露

电子邮件地址、电话号码和ID号码的正则表达式在基于规则的阶段运行。任何匹配都会引发高严重性标志并强制“阻塞”判决,除非您将模式列入白名单。

类别7 – 不安全的插件设计

如果您的教练使用插件,我建议单独扫描插件生成的文本。TutorGuard可以指向任何文本源,因此您可以对插件输出运行相同的检查。

类别8 – 过度代理

我监视语言,暗示教练正在采取自主行动(例如“我现在将发送电子邮件”)。此类措辞会收到中等标志和重新措辞的建议。

类别9 – 过度依赖

该产品明确声明仅为决策支持。我在报告中包含一个提醒,人类应该在最终发布之前审查标记的内容。

类别10 – 模型盗窃

什么是 TutorGuard 不支持的

我想明确 TutorGuard 的限制,以免您依赖它做一些它无法做的事情。

首先,TutorGuard 不能保证每个不安全的回复都会被捕获。基于模型的检测器是基于概率的;有可能一些微妙的问题会被忽略。这就是为什么输出被标记为决策支持的原因,也是为什么您必须审查标记的内容。

其次,它在任何指标上都不可能达到 100% 的准确率。我避免声称完美的精度或召回率,因为底层模型具有固有的错误率。安全评分是一个指南,而不是确定性。

第三,TutorGuard 不是您自己的内容策略或人工审查员的替代品。它增加了一个自动化层,但最终的责任仍然在您身上。

第四,本产品不包括单点登录、Slack 通知或批量 CSV 导出,除非这些功能已在此版本中发布。我故意在文档中省略了这些功能的提及,以避免混淆。

第五,TutorGuard 不会修改 AI 教练的回复。它只返回一个判决和突出显示的跨度。如果您需要自动重写,您必须自己构建该步骤。

参考资料

- https://owasp.org/www-project-top-10-for-large-language-model-applications - https://www.nist.gov/itl/ai-risk-management-framework

常见问题

什么是TutorGuard?

在学生看到之前,保持每个AI导师回复的安全。

谁应该使用TutorGuard?

需要快速的初稿或检查清单的运营商和构建者应该使用TutorGuard。

没有API密钥是否可以工作?

是的,在显式的Demo模式下可以工作。实时AI需要配置密钥。

是否保证结果?

否。输出是决策支持;您仍需要在发布或采取行动之前进行审查。

是否包括SSO、Slack或批量CSV?

只有在此产品版本中实现了这些功能时才包括——不要假设它们来自营销副本。

数据去哪里?

运行可能存储在产品的.data/边界内;将演示视为短暂的。

参考

- schema.org — FAQPage - Google Search Central — Structured data

尝试 TutorGuard

相关阅读

- 如何使用TutorGuard — TutorGuard - LX AI微SaaS主题矩阵

什么是TutorGuard?

在学生看到之前保持每个AI教练回复的安全。

谁应该使用TutorGuard?

需要快速草稿或检查清单的运营商和构建者。

是否可以在没有API密钥的情况下运行?

是的,在显式演示模式下。实时AI需要配置密钥。

是否保证结果?

否。输出是决策支持;您仍需要在发布或采取行动之前进行审查。

是否包括SSO、Slack或批量CSV?

仅当这些功能在此产品版本中实现时才包括 —— 不要从营销副本中假设它们。

数据去哪里了?

运行可能存储在产品的.data/边界内;将演示视为短暂的。

仅供决策支持使用。不替代教学,不保证成绩,也不提供课程证书。

← 返回博客

这次结果有帮助吗?Feedback