MarsCode性能分析提示词需包含技术栈、可观测工具和具体问题现象,并强制输出带验证动作的线性步骤,每步须含可执行命令或代码且步骤间有数据依赖。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜
在marscode中输入性能分析类问题时,提示词必须包含可执行的代码操作路径和明确的上下文约束,否则模型无法生成可落地的诊断步骤。明确指定运行环境和工具链
第一步:在提示词开头声明当前项目技术栈,例如“Spring Boot 3.2 + JDK 17 + Maven 3.8.6”,避免模型默认使用旧版工具链生成不兼容命令。
第二步:写明已安装的可观测工具,如“已部署Arthas 4.0.0,JFR未启用,Prometheus采集间隔为15秒”。【若遗漏此信息,MarsCode可能推荐需额外安装的插件,导致步骤卡在准备阶段】
第三步:用一句话锁定问题现象,例如“/api/order/list接口平均响应时间从200ms突增至1.8s,错误率无变化”。不要写“接口变慢了”这类模糊描述。
强制要求输出带验证动作的线性步骤
在提示词末尾添加指令:“只输出编号步骤,每步含具体命令或代码片段,且第n步的结果必须能被第n+1步直接引用验证。”
例如正确示例:① 执行 arthas tunnel-server --port 7777 → ② 在目标JVM中运行 attach → ③ 输入 watch com.example.OrderController list '{params,returnObj}' -n 5。
这一步操作起来很简单,直接把命令复制粘贴到终端就行。但若省略“-n 5”,Arthas会持续监听,阻塞后续步骤执行。
禁用抽象建议,限定输出粒度
方法一:加入否定约束,如“不出现‘检查配置’‘查看日志’等泛化动词,所有步骤必须含shell命令、Java代码行或HTTP请求示例”。
方法二:指定最小可执行单元,例如“每个步骤只能做一件事:要么执行一条Linux命令,要么修改一行application.yml,要么curl一个endpoint”。
方法三:要求步骤间有数据依赖,例如“步骤2的输出必须作为步骤3的-c参数值”。【没有该约束时,MarsCode常生成并列式建议,无法形成闭环排查路径】


















