Type web3
Created Jul 14, 2026, 00:00:00 / Updated Jul 14, 2026, 09:22:05
Views — / Comments — / Words 6,212
Moss 项目分析:为什么存在、解决什么问题,以及 AI Agent 为什么需要它
深入分析 Moss 如何通过协议适配器、结构化 Plan 与交易模拟,为 AI Agent 提供安全、可验证的 Monad 链上交互能力。
项目仓库:https://github.com/nishuzumi/moss
分析范围:项目 README、Getting Started、MCP Tools Reference、Agent Skill Guide、Security 文档
分析日期:2026-07-14
Moss 是一个面向 Monad 链上交互的 Agent 交易能力框架与安全验证层。
它并不是让大模型直接读取 ABI、拼接 calldata、保管私钥并发送交易,而是把不同 DApp 和协议的复杂操作封装成统一的 Agent 可调用能力:
discover → load → action → simulate
Agent 负责理解用户意图、选择能力并检查结果是否符合用户要求;Moss 负责生成结构正确的未签名交易、声明交易预期效果,并通过链上状态模拟验证实际效果。
其核心价值可以概括为:
Moss 试图解决的并不只是“如何让 Agent 调用智能合约”,而是更关键的问题:
如何让 AI Agent 以可控、可审计、可验证的方式调用智能合约。
从用户角度看,一次兑换可能只是:
将 1 MON 兑换为 USDC。
但对实际执行程序来说,可能涉及:
这些工作具有很强的协议特异性。即使 Agent 能读取 ABI,也不代表它能可靠理解完整的业务约束。
Moss README 明确指出:由 Agent 自行组装交易时,“几乎正确”的交易恰恰是最危险的,因为它可能能够成功执行,却产生非预期的资产变化。
大语言模型适合:
但它不天然适合:
因此,Moss 的设计思想是:
让模型负责“语义和决策”,让确定性软件负责“交易构建和机械验证”。
普通 MCP 工具通常提供“调用某个函数”的能力,但链上操作需要比工具调用更严格的安全模型。
如果只给 Agent 一个通用合约调用工具,它仍然需要自行决定:
Moss 不只是暴露工具,而是增加了一层协议适配器、结构化 Plan、预期效果声明和模拟对账机制。
因此,它更接近:
不同协议可能使用完全不同的函数名和参数结构。Moss 使用面向用户语义的统一动词,例如:
swapwrapunwrapsupplywithdrawborrowrepaystakeunstakeclaimminttransfer例如,WMON 合约中的 deposit() 在 Moss 中被表示为 wrap,因为 Agent 应依据用户语义寻找能力,而不应依据协议内部函数名进行推断。
这种抽象使 Agent 可以先表达“我要做什么”,再由 Moss 确定“协议层面如何做”。
Moss 的协议适配器负责:
Agent 只需要传入人类可读参数,例如:
{
"tokenIn": "MON",
"tokenOut": "USDC",
"amount": "1"
}
而不是传入经过缩放的整数、ABI 编码参数或底层 Router 方法。
Moss 的 action 不直接执行交易,而是生成一个 Plan。
Plan 中包含:
txs:完整编码的未签名交易;intent:该计划声称要完成的操作;declaredRisk:涉及资金流出、授权、价格冲击等风险;expects.out:最多允许流出的资产;expects.in:至少应收到的资产;expects.approvals:允许授予的 Token、spender 和最大额度;confirms:模拟后必须出现的协议级回执;planHash:对核心计划内容生成的完整性哈希。这使交易不再只是一个不透明的 calldata,而成为:
交易内容 + 预期结果 + 风险声明 + 完整性证明。
Moss 使用 debug_traceCall 对未签名交易进行模拟,并提取实际效果,包括:
然后将这些实际效果与 Plan 的 expects 对比。
可能产生的警告包括:
REVERTEDPLAN_TAMPEREDUNDECLARED_OUTFLOWOUTFLOW_EXCEEDS_MAXUNDECLARED_APPROVALAPPROVAL_EXCEEDS_MAXMIN_INFLOW_NOT_METUNDECLARED_NFT_OUTNFT_OPERATOR_GRANTEDCONFIRMATION_MISSINGMoss 的规则非常明确:
任何 warning 都必须停止,不得将交易交给签名器。
这是 Moss 最重要的设计之一。
Moss 可以判断:
Moss 看不到用户最初的自然语言,因此它不能判断:
因此,一个 warning-free Plan 只说明:
交易符合适配器自己声明的预期。
它并不自动说明:
交易符合用户的原始意图。
最终需要 Agent 将模拟得到的 effects 与用户要求再次对齐。
Moss 的 simulate(plans[]) 可以按顺序模拟多个 Plan,并在模拟过程中连续传递状态。
例如:
claim → swap → supply
第二个 Plan 可以使用第一个 Plan 在模拟中产生的资产,第三个 Plan 又可以使用第二个 Plan 的结果。
这为 Agent 提供了一种不依赖真实执行即可验证复杂工作流的方法。
需要注意的是,Moss 当前支持的是:
它暂不支持:
Agent 根据用户语义搜索可用能力:
discover(verb?, category?, protocol?)
返回的信息包括:
这一阶段解决的是:
哪个协议能力能够完成用户任务?
load([{ protocol, method }])
Load 会返回:
参数说明专门面向 Agent 编写。例如金额统一使用 "1.5" 这样的十进制字符串,而不是预先换算成链上最小单位。
Token 优先使用经过策展的符号目录,避免直接相信链上可伪造的 symbol()。
action(protocol, method, account, params)
读操作直接返回查询结果;写操作返回 Plan。
Moss 不签名、不发送,只构建交易。
simulate(plans[])
模拟后返回:
effectswarningsobservationsgasPerTxplanHashValid其中:
effects 是机械验证和意图对齐的主要依据;warnings 决定是否必须停止;observations 是协议适配器生成的可读业务回执;observations 只能辅助解释,不能覆盖 warning。只有以下条件都满足时,交易才应进入钱包:
Moss 自身不接触私钥,也不会发送交易。
让 Agent 直接调用任意合约类似于让自然语言模型直接生成机器码。
理论上可行,但难以保证:
Moss 将协议操作封装成受约束的 capability,使 Agent 的行动空间从“任意 calldata”缩小为“经过维护和验证的业务动作”。
这与操作系统权限、类型系统和 API 网关的作用相似:不是单纯增加功能,而是限制错误表达的空间。
LLM 的输出具有概率性。即使提示词明确,它也可能:
资产操作不能只依赖“模型大概率会做对”。
Moss 通过确定性组件补足:
因此,Moss 代表一种更合理的 Agent 工程范式:
概率性规划 + 确定性执行约束 + 可验证结果
传统钱包通常只能向用户显示:
但 Agent 需要更结构化的信息,例如:
Moss 的 expects 相当于 Agent 交易的风险契约。
未来 Agent 不会只执行单一 swap,而会执行完整策略:
领取奖励 → 兑换资产 → 补充抵押物 → 偿还债务 → 重新配置仓位
如果每一步都由模型临时拼接,错误会随步骤数快速累积。
Moss 的多 Plan 连续模拟使 Agent 能够先验证整个过程,再将每个计划分别交给用户处理。
真正面向普通用户的链上 Agent 不应要求用户把私钥交给模型、MCP 服务或云端 Agent。
Moss 明确划分:
这种边界有助于构建非托管 Agent 产品。
链上协议数量庞大,无法要求每个 Agent 自己学习和维护所有协议。
Moss 使用“一协议一包”的适配器模型,使协议团队或社区可以贡献:
这相当于建立一个 Agent 可用的链上能力生态。
Moss 的分层结构包括:
| 层级 | 组件 | 作用 |
|---|---|---|
| Machinery | @themoss/core | Registry、Plan、decorators 等纯框架能力 |
| Verification | @themoss/simulator | trace 模拟、effects 提取和 expects 对账 |
| Interfaces | @themoss/erc | ERC-20、ERC-721 等通用标准接口 |
| Instances | @themoss/system | Monad 网络配置、Token 目录、WMON |
| Protocols | @themoss/protocol-* | 每个具体协议的适配器 |
| Product | @themoss/mcp-server | 向 Agent 暴露四个 MCP 工具 |
这种分层有三个主要优点:
Moss 目前仍处于 Alpha 阶段,尚未审计,接口和 Plan 格式可能变化。
模拟基于某个时刻的链上状态。模拟完成到用户签名之间,可能发生:
因此,模拟是安全网和执行预览,而不是结果承诺。最终仍需依赖交易中的 minAmountOut 等链上约束。
Moss 需要 RPC 支持:
debug_traceCallcallTracerprestateTracer部分公共 RPC 不开放这些能力。
如果适配器:
则可能影响构建结果。
模拟对账可以发现许多未声明效果,但不能证明适配器的业务选择符合用户需求。因此适配器仍需要:
当前刻意不支持:
这些限制反映了 Moss 的设计原则:
不能可靠验证的能力,不应仅为了覆盖更多场景而草率暴露给 Agent。
用户可以用自然语言表达:
Moss 负责生成和模拟交易,Agent 负责策略选择与解释,钱包负责签名。
这是最直接的应用方向。
未来 Agent 可以根据用户预设策略持续监控:
当满足条件时,Agent 生成再平衡 Plan,但在授权模型下决定:
Moss 可以充当策略模型与钱包执行之间的交易编译和验证层。
在多 Agent 世界中,不同 Agent 可能分别负责:
Moss 可以提供统一行动协议,使 Agent 之间传递的不是模糊自然语言,而是:
这能够让 Agent-to-Agent 协作具有机器可验证性。
例如:
研究 Agent 提出策略
→ 风控 Agent 设置资产流出和授权上限
→ 执行 Agent 生成 Plan
→ Moss 模拟并对账
→ 审计 Agent 检查意图一致性
→ 钱包或智能账户签名
对于持续运行的 Agent 世界,Agent 可能需要:
若 Agent 直接生成链上交易,世界越复杂,资金风险越高。
Moss 可作为世界经济的安全动作层:
世界意图
→ Moss capability
→ Plan
→ 模拟
→ 世界规则与用户策略检查
→ 签名或账户策略执行
还可以在 Moss 上扩展世界专属 capability,例如:
enterWorldacceptBountypayAgentpurchaseResourcecreateGuildfundTreasurysettlePredictionclaimWorldReward每种 capability 都声明明确的资产流动和协议回执。
AI Agent 可以代表个人或组织完成:
Moss 的价值在于,将“Agent 可以付款”升级为:
Agent 只能通过经过声明、模拟和验证的计划付款。
结合智能账户策略,可以进一步设置:
钱包可以将 Moss 集成为自然语言交易编译器:
相比直接展示 calldata,这种方式可向用户展示:
DAO Treasury Agent 可以生成:
Moss Plan 可以作为治理提案附件或机器可读执行说明,使治理参与者能够检查:
即使不使用自然语言 Agent,Moss 的 Plan 和模拟机制也可以单独用于:
换言之,Moss 的长期价值可能不仅是 Agent 框架,也可能成为通用的链上“意图—交易—验证”基础设施。
协议方未来可以发布官方 Moss Adapter,使其协议能够被各种 Agent 安全调用。
适配器可能形成类似“Agent App Store”的能力市场:
这可以降低新协议进入 Agent 生态的成本。
Moss 的结构化流程适合构建 Agent Benchmark:
这可以用于评测不同模型在链上任务中的:
单独来看,以下能力并非全新:
Moss 的创新点在于把这些能力组合成一条面向 Agent 的安全链路:
自然语言意图
→ 语义化 capability
→ 结构化 Plan
→ 量化 expects
→ trace 模拟
→ effects reconciliation
→ Agent intent alignment
→ 用户钱包签名
特别是以下设计具有较强价值:
可以将 Moss 理解为以下几种角色的结合:
不一定每个 Agent 都必须使用 Moss,但任何要自主处理真实链上资产的 Agent,都需要解决 Moss 所处理的同类问题:
因此,即使未来行业采用的不是 Moss 本身,也很可能采用类似的架构原则。
若 Moss 希望从实验框架发展为通用 Agent 基础设施,建议重点扩展以下方向。
增加:
Moss 当前把最终签名交给钱包。未来可以与智能账户策略结合:
这样 Agent 可以在明确边界内实现有限自主执行。
目前 intent alignment 主要由 Agent 完成。未来可以增加独立策略引擎:
max_single_outflow: 100 USDC
allowed_protocols:
- kuru
allowed_verbs:
- swap
- claim
forbid_unlimited_approval: true
require_human_confirmation_above: 20 USDC
这可以减少安全性对提示词遵循的依赖。
如果 Plan 格式发展为开放标准,就可以实现:
这比绑定单一模型或单一 MCP Client 更有长期价值。
未来需要处理:
当前 Moss 重点处理签名前阶段,未来可以扩展到完整交易生命周期,但仍应保持签名边界清晰。
Moss 的存在是因为:
让 AI 理解“用户想做什么”相对容易,让 AI 安全、准确、可验证地完成链上资产操作则困难得多。
Moss 没有尝试通过更复杂的提示词让 Agent 永远正确,而是承认模型具有概率性,并通过协议适配器、结构化 Plan、量化预期、链上模拟和强制停止规则建立确定性约束。
它解决的是 AI Agent 进入真实链上经济前必须解决的一类基础问题:
因此,Moss 最值得关注的地方不是当前只支持几个 Monad 协议,而是它提出了一种可推广的 Agent 链上执行架构:
Agent 负责意图,Adapter 负责协议知识,
Simulator 负责事实验证,Wallet 负责最终授权。
Comments
Notes, questions, and follow-ups are welcome here.