name: error-analysis description: 使用AI分析TRON区块链交易错误,提供简洁、用户友好的解释,包括根因和可操作的解决方案。
错误分析技能
何时使用此技能
使用此技能时:
- 交易失败并显示模糊的错误消息
- 用户询问“为什么报错?”或“怎么解决?”
- 需要以简单术语解释区块链错误
- 交易广播返回错误代码
它做什么
分析TRON区块链错误并提供:
- 根因 - 一句简单的解释
- 可能原因 - 2个主要贡献因素
- 解决方案 - 2个可操作的步骤来修复问题
输出极其简洁(总计<100个字符)。
处理的常见错误
| 错误消息 | 含义 | 解决方案 |
|---|---|---|
balance is not sufficient |
TRX余额过低 | 充值TRX |
Contract validate error |
能量/带宽不足 | 质押或租赁能量 |
account not found |
账户未激活 | 发送1 TRX激活 |
Transaction expired |
交易超时 | 重试交易 |
REVERT opcode |
智能合约执行失败 | 检查合约参数 |
如何使用
from skills.error_analysis.scripts.analyze_error import analyze_error
result = await analyze_error(
error_message="Contract validate error : No contract or Not enough energy",
error_context="broadcast" # 可选: "transfer", "signing", "broadcast"
)
# 返回:
# {
# "analysis": "TRX余额不足支付手续费",
# "causes": ["未质押获取能量", "账户余额 < 手续费"],
# "suggestions": ["充值 TRX", "质押获取能量"]
# }
输出格式
简洁格式(<100字符):
原因:TRX余额不足
1. 未质押获取能量
2. 账户余额 < 手续费
建议:
1. 充值 TRX
2. 质押获取能量
Hex解码
自动解码十六进制编码的错误消息:
- 检测十六进制格式(例如,
436f6e747261637420...) - 转换为人类可读文本
- 分析解码后的消息
错误上下文类型
transfer- 转账准备期间的错误signing- 钱包签名期间的错误broadcast- 网络广播期间的错误validation- 交易验证期间的错误
LLM提示设计
使用优化的提示以实现简洁性:
- 总输出<100个中文字符
- 无冗余解释
- 直接问题→解决方案映射
- 利用TRON特定错误模式
集成
技能被以下调用:
- API端点:
/api/analyze-error(当前) - LLM工具(未来):
analyze_error函数 - 前端:TransactionCard错误处理程序
性能
- 响应时间:<2秒
- 令牌使用:约150个令牌每次分析
- 缓存:未实现(错误是唯一的)