现场 Skill 为什么一次只给一条命令
执行中状态优先于下一条指令。单步工作流不是保守,而是为了保存证据和停止边界。
关联项目:现场算力运维 Agent通用 Agent 喜欢一次给出十几条排查命令。对现场运维而言,这种回答看起来完整,实际很容易破坏证据链。
命令查询和真实执行不是同一件事
用户问“怎么查”时,系统应该给出稳定语法和影响说明。只有用户明确要求操作,并提供真实目标后,才进入执行流程。
一个实用的状态模型包括:
- 未执行:解释语法、用途和风险。
- 准备执行:确认目标、影响和停止条件。
- 执行中:命令尚未返回提示符,不发送下一条。
- 已有结果:收到完整输出和新的提示符,判断证据后再前进。
- 记录模式:区分计划、执行中、成功、失败和待确认。
为什么执行中必须阻塞
长时间诊断、固件操作、压测和日志导出可能持续数分钟甚至更久。此时发送第二条命令,会带来三个问题:
- 现场人员不知道哪条命令仍在运行。
- 新输出与旧输出混在一起,时间线不可复核。
- 失败后无法确定是哪一步改变了状态。
因此,“下一条”不能覆盖“执行中”。除非输出证明出现紧急停止条件,否则应该等待当前命令结束。
一条命令需要四个配套信息
真正可执行的单步指令应该同时提供:
- 当前目标。
- 已替换真实路径或设备的命令。
- 通过条件。
- 停止条件和需要回传的完整输出。
这不是减少信息,而是把信息放到正确的时间点。完整清单适合维护方案和培训文档,现场操作则适合逐步验证。
对 Agent 设计的启示
Agent 的质量不只取决于知识量,也取决于是否能识别当前状态。一个知道一百条命令但无法判断“上一条是否结束”的 Agent,不适合进入真实现场。