Files
aiops/docs/ai-agent/09-三产品定位与执行边界.md
T
Logan.Li 1c98c25c74 feat(agentcli): 运行结果 incomplete 语义与契约文档
RunResult 增加 Outcome/Reason;触顶标记 incomplete:max_steps;
WebSocket finish 区分 incomplete 与 fatal error。补充 ai-agent docs 13 与挂点索引。
2026-10-19 03:53:09 +08:00

77 lines
4.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 三产品 AI 运维 Agent 定位与执行边界
> 更新:2026-09-03
> 适用范围:OpsXCLI、OpsXShell、AIOps 三个独立项目的 AI 运维能力。
## 设计声明
三个项目服务不同的运维入口,必须独立实现目标选择、凭证取得、风险裁决和执行生命周期。可以共享安全原则、结构化结果和评测用例,但不得共享一个可在本机、桌面 SSH 与 Web 平台之间自由切换的“通用远程执行器”。
| 项目 | 产品角色 | 唯一默认目标来源 | 凭证边界 | 审计边界 |
|------|----------|------------------|----------|----------|
| OpsXCLI | 服务器本机 CLI 运维工具 | 当前操作系统和当前工作目录 | 当前 OS 用户;SSH 仅显式启用并使用本机密钥 | 本机权限受限的会话/执行记录 |
| OpsXShell | 桌面远程终端助手 | 用户当前活跃 SSH connectionId | 已建立连接内部持有,模型不得选择或读取凭证 | 默认仅当前窗口,不建设堡垒机审计 |
| AIOps | 多用户 Web 运维管理平台 | 平台授权的资产 ID 或 Kubernetes 目标 | 后端凭证库按权限解析,模型只见目标摘要 | 独立、可检索、不可随聊天会话删除 |
## 强制不变量
1. OpsXCLI 默认本地执行。远程 SSH 是例外能力,必须显式指定,严格校验 `known_hosts`,不得因校验文件缺失而降级为信任所有主机。
2. OpsXShell Agent 只能复用任务开始时的活跃 SSH 连接。执行期间连接改变、断开或被替换时,任务必须停止,不得自动切换到其他标签或保存的主机。
3. AIOps Agent 只能使用后端注入的平台目标和凭证。模型不得提供任意 IP、用户名、密码、私钥路径或集群凭证绕过资产系统。
4. 工具结果和错误必须先脱敏,再进入模型上下文、UI、记忆、缓存或持久化。
5. 风险确认只批准精确的目标与命令。目标、命令或参数发生变化后必须重新裁决。
6. 自动学习内容默认不可信,未经审核不得成为无人值守执行依据。
## 统一结果语义
三个项目的工具结果至少应表达运行 ID、工具调用 ID、目标摘要、动作摘要、退出码、成功状态、开始/结束时间、超时、取消、脱敏数量和验证结果。具体类型可以独立实现,但语义不得依靠解析自由文本猜测。
## 推荐执行链
```text
用户意图
→ 生成计划
→ 锁定产品内合法目标
→ 参数与风险校验
→ 必要时人工确认/平台审批
→ 独立执行器执行
→ 输出脱敏
→ 结果验证
→ 产品范围内审计或会话记录
```
## 禁止的错误复用
- 不把 OpsXCLI 的本机任意 Shell 直接暴露给 AIOps Web 用户。
- 不让 OpsXShell Agent 创建第二套 SSH 连接或读取保存凭证。
- 不把 AIOps 的平台审批、资产库存和永久审计强加给轻量桌面终端。
- 不以共享正则文件代替各项目执行前的最终安全裁决。
## 演进优先级
- P0:脱敏、目标锁定、危险操作拒绝、超时与真实取消、记忆不自动获得执行权。
- P1:结构化结果、只读诊断工具、执行后验证、目标与命令绑定确认。
- P2:版本化 Runbook、受控经验库、场景评测、跨资产自动化与熔断。
---
## 统一结果状态衔接(2026-09-18 增补)// Logan.Li
**边界优先**:统一结果状态 ≠ 统一执行平面。不削弱上文三产品隔离;不得共享可跨入口自由切换的通用远程执行器。
三产品应对用户暴露同一套语义(实现可分阶段):
`completed` | `incomplete` | `failed` | `cancelled` | `awaiting_confirm`
`incomplete` reason:`max_steps` / `context_budget` / `tool_timeout` / `llm_timeout` / `connection_lost` / `safety_abort`
详见 [13-运行结果状态与可续跑契约](13-运行结果状态与可续跑契约.md)。
| 产品 | 默认步数预算 | 触顶现状 | 目标 |
|------|--------------|----------|------|
| opsxcli | MaxIterations=16 | 硬失败文案 | incomplete + 可续 |
| aiops agentcli | MaxIterations=16 | 硬停 | 同上;续聊已有 prior |
| opsxshell | `MAX_AGENT_STEPS=12` | 抛错 | 同上;仍绑当前 connectionId |
Shell 侧短文:`opsxshell/docs/01-AI-Agent步数预算与incomplete.md`。