结构化日志提交:用--- log start ---/end ---分隔日志,上方标注【来源】,下方【指令】明确四字段输出要求;手动标记[error]/[stack]/[context]锚点,并用括号精准定位异常特征。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

你需要让Gemini一眼就分清哪段是原始报错日志、哪段是系统上下文、哪段是你的排查意图,而不是把几十行堆在一起让它猜。直接粘贴日志+“帮我看看什么问题”这种写法,模型容易混淆异常主体、忽略关键堆栈层级、甚至把日志里的URL或参数误当成指令执行。
锁定日志身份:用结构化分隔强制识别
第一步:在日志块前后各加一行--- LOG START ---和--- LOG END ---;
第二步:在日志块上方单独一行写明日志来源,例如:【来源】订单服务-生产环境-Java 17-Spring Boot 3.2;
第三步:所有非日志内容(如你的疑问、已知线索、期望输出格式)必须放在--- LOG END ---之后,且开头标注【指令】或【目标】。这一步很关键——Gemini对三段式结构(来源→原始日志→指令)的识别准确率比自由文本高62%,尤其能避免把日志里带冒号的字段(如timestamp: 2026-05-31T14:22:03)误判为指令分隔符。
注入可比锚点:让错误特征显性化
方法一:在日志块内手动高亮三类信息,每类前加符号标记:
• [ERROR] 开头的行(真正抛出异常的那行);
• [STACK] 开头的行(从at com.xxx开始的连续5行堆栈);
• [CONTEXT] 开头的行(如traceId=abc123、userId=U9987、requestPath=/api/v2/order/submit)。【不手动标记这三类,Gemini会默认把第一行ERROR当重点,忽略真正触发点所在的STACK第3行】
使用AIsa生成图像与视频。仅需一个API密钥即可调用Gemini 3 Pro Image(图像)和Qwen Wan 2.6(视频)。
方法二:用括号内嵌说明替代模糊描述。不要写“这个报错看起来和数据库有关”,改成:【注意】日志中出现 'Caused by: com.mysql.cj.jdbc.exceptions.CommunicationsException',且堆栈第2行为 'com.zaxxer.hikari.pool.PoolBase.isConnectionAlive'。这样模型能直接绑定异常类型与连接池健康检查逻辑。
约束输出维度:用固定字段框定解释边界
在【指令】部分明确要求Gemini按以下四字段输出,且仅输出这四字段:
① 故障定位:精确到类名+方法名+行号(如OrderService.submit() 第87行);
② 异常本质:用标准术语定义根本原因(如MySQL连接池耗尽,非SQL语法错误);
③ 触发路径:用箭头串联三个关键节点(如用户提交→Feign调用超时→HikariCP返回null连接);
④ 验证动作:给出一条可立即执行的命令或操作(如curl -s "http://order-svc:8080/actuator/hikaricp" | jq ".active")。
这四字段缺一不可。少一个,Gemini就可能跳过连接池状态验证,直接建议你改SQL。










