航运领域多Agent系统,4个专业Agent+1个编排Agent(OOW)持续监控船只GPS、船员疲劳、舰队模式等,发现异常才通知人类决策。
大多数 Agent 演示回答的都是你已经知道要问的问题。Manrova 起于一个不同的问题:如果困难的本质不是回答,而是察觉呢?
一艘船会产生持续不断的工作信号流:GPS 和雷达位置、船员值班表、近距险情报告、合规记录。这些信息没有一个是缺失的。真正的问题在于,没有人有时间去关联四个不同的系统,对每艘船、每天都做一次这样的分析,把一个小分歧掐灭在萌芽阶段——而不是等它演变成一份事故报告。
所以我们没有去构建一个被动等待提问的聊天机器人,而是建立了一个 Agent 系统,它的职责是持续监控、在发现异常时调查、各 Agent 之间相互协调,只有人类真正需要做决策时才打断。
Manrova 有四个专业 Agent 和一个编排器——值班官(Officer of the Watch,OOW)。
导航完整性 Agent 检查 GPS 和雷达推算位置是否一致。 船员就绪 Agent 观察休息和值班模式,评估疲劳风险。 船队模式 Agent 扫描整个船队的近距险情历史,而非仅限于单船。 合规就绪 Agent 根据船只的实际航线推算证书风险期,而非仅仅看一个原始到期日。
它们都不是孤立工作的。当导航完整性 Agent 标记了某个情况,值班官决定需要拉取哪些其他上下文信息、关联证据,并通过确定性风险逻辑得出总体严重程度。低于阈值的,Manrova 继续默默监控。高于阈值的,OOW 准备响应并停下,等待人类批准任何对外发出的东西。
这道闸门是整个项目中最重要的一条设计决策:系统辅助值班,而非替代值班。

安全关键运算从不触碰语言模型。位置偏差、加权风险评分、事件状态转换:全部是确定性 Python 代码,每次都以相同方式计算,可审计、可复现。LLM 层位于结构化输出之上,用直白的语言解释并叙述给船队运营商听。
直接拿原始遥测数据丢给模型让它做判断,会更快。但这对于一个假阴性会产生真实后果的系统来说,是错误的选择。确定性逻辑划定边界,Agent 解读边界之内发生的事,当边界被跨越时由人类最终拍板。
对于 Fortified Enterprise Fleet 赛道,我们不想只是概念性地描述这些组件——我们想让它们真正跑起来。
Agent 注册中心:五个 Agent(四个专业 Agent 加 OOW)全部发布到一个实时的 Firestore 集合中,带版本控制,并标明每个 Agent 被允许行使的确切权限。
Agent 网关:每个专业 Agent 调用在放行之前都要经过针对注册中心的策略检查。
Model Armor(我们自己实现的同构护栏):任何不可信的自由文本,比如近距险情描述,都要经过提示词注入筛查,并在到达模型之前完成 PII 删除。
Agent 可观测性:每次调查都包裹在 OpenTelemetry trace span 中,因此完整的推理链可被审查。
记忆库:完成的调查持久化到 Firestore 中,使船只的历史在不同会话之间得以保留,而不是每次请求都重置。
Agent 身份:每个 Agent 在自己的 IAM 服务账号下运行,遵循最小权限原则,而非用一个共享凭证包揽一切。
大多数黑客松演示永远用同样的三行 fixture 数据让我们很烦躁。Manrova 的线上站点支持两条路径:一键触发的固定演示场景,以及真实的注册流程——任何船队运营商都可以注册、添加船只(真名或内部别名,不要求披露船体身份),然后用真实输入的航行和船员数据运行调查。测试时,我们使用了一艘真实在航船只的公开 AIS 派生位置数据作为现实场景的基础,并与应用其他地方使用的合成演示数据做了明确区分。

我们原以为难点在于提示词工程。结果并不是。真正的难点是逐个 Agent 地决定每个 Agent 确切被允许信任什么、何时应该交接给另一个 Agent,以及无论模型说什么都必须把控制权交回人类的地方。这个职责划分的正确性比任何一个单独的提示词都重要。
我们也因此更加坚信,确定性逻辑与 Agentic 推理并非竞争关系。它们协同工作时比各自单独承担全部工作要好得多:确定性层划定边界,Agent 解读边界内正在发生的事,当情况真正需要时由人类做出最终裁决。
Live site: manrova.vercel.app
Source: github.com/serinalapoez/Manrova
Built with Gemini (3.5+) via Google's Agent Development Kit, with Firestore as the persistence layer, and a parallel implementation on AWS Strands Agents SDK running on Amazon Bedrock.