打开网易新闻 查看精彩图片

生产环境的AI agent幻觉不是demo里的"偶尔抽风"——它意味着真金白银的订单错误、客服投诉、合规风险。AWS工程师Elizabeth Fuentes最近把一套笔记本上的防幻觉demo搬上Amazon Bedrock AgentCore,结果发现:托管基础设施不仅扛住了流量,还让业务规则的迭代从"改代码 redeploy"变成了"改数据库行"

这套方案的核心矛盾很典型:本地demo用硬编码数据、内存规则、单用户验证,技术验证通过了,工程化却卡壳。生产化需要回答三个问题——数据放哪、规则怎么热更新、工具调用怎么不跑偏。Fuentes的解法是把5种防幻觉技术全部 infrastructure-as-code 化。

从笔记本到生产:一张表看懂替换逻辑

从笔记本到生产:一张表看懂替换逻辑

先看改造前后的对照。本地demo的硬编码业务规则,换成DynamoDB动态配置;in-process的工具函数,拆成Lambda serverless;内存里的向量检索,接入S3+知识图谱。

技术栈选型有讲究。Strands Agents负责agent编排,原生支持tool calling和guardrail hooks;MCP(模型上下文协议)作为统一接口,把工具调用路由到Bedrock AgentCore Gateway。类似模式可以平移到LangGraph、AutoGen、CrewAI。

部署依赖两个独立CDK stack。HotelBookingAgentStack先跑,承载核心预订逻辑;GraphRAGStack后加,补FAQ能力。这种分层让MVP和增强功能解耦,避免一次性堆复杂度。

数据库驱动的guardrail:改行数据就能纠偏agent

数据库驱动的guardrail:改行数据就能纠偏agent

打开网易新闻 查看精彩图片

demo 04里的业务规则是Python硬编码——改个阈值要动代码、跑CI、重新部署。生产版本把规则结构化进DynamoDB,每条规则包含两个关键字段:

fail_message描述违规本身,steer_message指导agent自我修正。比如"最大10人"的规则,steer_message会明确告诉agent:"15人预订不可行,但你可以调整为10人继续,并告知用户"。

这种设计把"拦截"和"引导"分开。单纯阻断会让agent僵住,而给出修正路径能让对话继续。enabled字段支持灰度——新规则先关,验证完再开,不用碰代码。

validate_booking_rules工具在agent执行前读取DynamoDB,把规则检查从编译期挪到运行期。业务方自己改表,工程师不用on-call。

Semantic tool routing:让agent别乱抓工具

Semantic tool routing:让agent别乱抓工具

幻觉的另一种表现是"工具错配"——该查房价的时候去调支付接口。Fuentes用语义路由解决这个问题:工具不再靠名字匹配,而是基于描述向量的相似度检索。

实现上,工具描述预先嵌入向量库,agent的意图同样向量化,Top-K相似度决定调用哪个Lambda。这比关键词匹配容错率高,"我要订房"和"我想住宿"不会指向不同工具。

打开网易新闻 查看精彩图片

MCP在这里扮演关键角色。它标准化了工具发现的协议,Gateway层统一处理鉴权、限流、日志,agent侧只关心语义匹配结果。

Knowledge graph:把FAQ从"检索段落"变成"遍历关系"

Knowledge graph:把FAQ从"检索段落"变成"遍历关系"

最后一块拼图是GraphRAGStack。传统RAG把文档切成块、算相似度、拼上下文,容易丢失实体关系。知识图谱把酒店、房型、政策变成节点,预订规则、退改条款变成边。

agent回答"这家酒店带泳池的家庭房周末价格"时,图谱查询能精确定位节点路径,而不是在整篇文档里捞片段。幻觉率下降的同时,答案的可解释性提升——你可以回溯agent走了哪条边。

这套架构的隐性收益是审计友好。DynamoDB里的规则版本、Lambda的调用日志、图谱的查询路径,全部可追踪。合规团队要查"为什么agent拒绝了这笔预订",能拉出完整证据链。

Fuentes在GitHub开源了完整代码,两个CDK stack一键部署。她的观察是:很多团队卡在"demo漂亮、生产翻车",不是因为算法不够聪明,而是基础设施没给算法纠错的余地。

当业务规则能从数据库实时流入agent行为,当工具调用能被语义层拦截误操作,当知识检索从"模糊匹配"变成"关系遍历"——幻觉没有被消灭,但被关进了可观测、可干预、可回滚的笼子里。这大概是2024年大模型工程化最务实的进展之一。

你的agent生产化卡在哪一步?是规则热更新、工具路由,还是知识检索的精度?