静默Agent:为何你的AI需要闭嘴并倾听图
Source: Dev.to
请提供您希望翻译的具体文本内容(文章正文),我将为您翻译成简体中文并保留原有的 Markdown 格式、代码块和链接。谢谢!
我们正在错误地构建代理
当前业界对具备代理能力的 AI 的标准是 Chatty Generalist(健谈的通用型)。你给大型语言模型(LLM)一份工具列表,一个系统提示写着 “You are a helpful assistant”,然后祈祷它不要出现参数幻觉、不要陷入 “Sorry, I’m confused” 的循环,或在用户仅要求状态更新时调用 delete_database()。
当这些代理出错时,常见的修复方式是 更多 对话:加入 “Reasoning Loops”(推理循环)、“Self‑Reflection”(自我反思)和 “Chain of Thought”(思考链),为此花费成千上万的 token,让代理通过自我对话——希望——做出正确的决定。
我提出一种不同的思路:Mute Agent(静默代理)。它不进行对话、反思或幻觉。它要么执行,要么快速失败,将安全性从 prompt(概率性的)转移到 graph(确定性的)上。
实验:基线 vs. 静默
我进行了一项实验,将标准的 “Chatty” 代理与 “Mute” 代理在一个简单任务上进行比较:“重启支付服务”。
在我们的系统中,重启服务 需要 指定环境(PROD vs. DEV),但用户的提示中省略了此信息。
标准的 “Chatty” 代理
- 基于典型的 ReAct 模式。
- 看到请求后,扫描工具定义,找到
restart_service(service_name, environment)。 - 由于大语言模型天生乐于助人,它会 幻觉 出一个默认环境(通常是 “PROD”),或循环询问 “我信息够了吗?也许我应该猜一下。”
结果: 高风险的未授权操作或在澄清循环中浪费 token。
成本: 高(工具定义 + 推理 token)。
延迟: 高(生成时间)。
静默代理(“受限代理”)
- 使用 多维知识图谱 取代 LLM 上下文中的工具定义。
- 在图谱中,
restart_service有一条显式边:REQUIRES → environment_specified。 - 当用户说 “重启支付服务” 时,代理遍历图谱:
| 节点 | 边 | 上下文检查 |
|---|---|---|
restart_service | REQUIRES environment_specified | 环境 environment 在上下文中吗?否 |
立即停止 —— 代理无法提出该操作。约束逻辑位于 LLM 之外,因此它不能幻觉出 environment="PROD"。
代码:工作原理
# Knowledge Graph Definition
restart_action = Node(
id="restart_service",
attributes={
"requires_environment": True,
"requires_service_name": True,
},
)
# Constraint Edge
restart_requires_env = Edge(
source_id="restart_service",
target_id="environment_specified",
edge_type=EdgeType.REQUIRES, # Hard Constraint
attributes={"mandatory": True},
)
# Critical test: check constraints BEFORE proposing action
if not env:
# Fail immediately. Zero hallucinations.
result = MuteAgentResult(
success=False,
hallucinated=False,
constraint_violation="Missing Constraint: Environment not specified",
error_loops=0, # No “Let me think about this” loops
)
逻辑刻意保持简洁:没有 AI 的猜测,只进行确定性的约束检查。
结果
| 指标 | Chatty Agent | Mute Agent |
|---|---|---|
| 幻觉 | Present(存在错误环境的风险) | Zero(缺少必要数据无法执行) |
| Token usage | High(工具定义 + 推理) | Low(仅相关子图) |
| Error loops | Multiple clarification turns(多次澄清回合) | Zero – 快速失败并给出精确错误 |
Mute Agent 返回了明确的错误:Missing Constraint: Environment not specified,避免了浪费令牌和不安全的操作。
通过减法进行扩展
Typical scaling adds more tools, context, memory, or reasoning steps. The Mute Agent scales by subtracting:
- 猜测参数的能力。
- LLM 管理控制流的需求。
- 无关工具的噪声。
By constraining the agent with a “Semantic Firewall” (the Knowledge Graph), we make it more reliable and powerful. Sometimes, the smartest thing an AI agent can do is say nothing at all.