跳转到内容

技能与解决方案调试

技能开发应用(http://<host>:8020/studio/skill-editor)提供技能的在线编辑和调试能力。在该应用中可以:

  • 实时编辑 SKILL.md 并测试效果
  • 上传完整的解决方案包进行集成调试
  • 查看技能解析结果和工具列表
+----------------------------------------------------------+
| 技能开发应用 http://<host>:8020/studio/skill-editor |
+----------------------------------------------------------+
| 左侧面板 | 右侧对话区 |
| +--------------+ | +----------------------------+ |
| | SKILL.md | | | 用户: 帮我分析这份数据 | |
| | 编辑器 | | | | |
| | | | | 智能体: 正在调用技能... | |
| | --- | | | [工具调用详情] | |
| | name: xxx | | | | |
| | description: | | +----------------------------+ |
| | --- | | |
| | | | 状态: 技能已加载 | 工具: 3 个 |
| +--------------+ | |
+----------------------------------------------------------+

在技能开发应用中上传解决方案包时,系统会自动校验目录结构和字段合法性。校验不通过时,界面会提示具体的错误信息。

+----------------------------------------------------------+
| 上传解决方案 |
+----------------------------------------------------------+
| |
| [拖拽或点击上传 solution.zip] |
| |
| 校验结果: |
| x 错误: role.yaml 中的 id "prd" 与目录名 "sf_prd" 不一致 |
| x 错误: local_skills 引用的 "analyzer" 在 skills/ 下不存在|
| ! 警告: 未设置 initial_message |
| |
+----------------------------------------------------------+
错误原因解决方法
id 与目录名不一致role.yaml 中的 id 与所在目录名不同保持 id 和目录名一致
技能路径不存在local_skills 引用的技能在 skills/ 下找不到skills/<id>/ 下创建 SKILL.md
roles 列表为空solution.yaml 中没有定义角色至少添加一个角色 id
包含未知字段YAML 中存在不支持的字段移除多余字段或检查拼写
v3 不支持角色级技能目录roles/<id>/skills/ 下放了技能将技能移到 Solution 级 skills/ 目录

排查智能体运行行为时,可以查看容器日志:

Terminal window
docker logs <container_name> --tail 100 -f

日志包含 session 创建、技能同步、错误信息等运行时事件。

在智能体高级设置中,可以进入 LLM 观测页面 查看完整的 LLM payload 业务日志,包括:

  • 每轮对话发送给模型的完整 prompt
  • 模型返回的原始响应
  • 工具调用的输入输出
+----------------------------------------------------------+
| 高级设置 > LLM 观测 |
+----------------------------------------------------------+
| 会话列表 | 请求详情 |
| +----------+ | +------------------------------------+ |
| | 会话 1 | | | 时间: 2024-01-15 10:32:05 | |
| | 会话 2 ← | | | 模型: gpt-4 | |
| | 会话 3 | | | Token: 输入 1234 / 输出 567 | |
| +----------+ | | | |
| | | [System Prompt] | |
| 过滤: | | 你是一个专业的... | |
| [ 全部 v ] | | | |
| | | [Tool Call] bash_tool | |
| | | 输入: {"command": "ls"} | |
| | | 输出: "file1.txt\nfile2.txt" | |
| | +------------------------------------+ |
+----------------------------------------------------------+

在对话界面中,可以对智能体的输出进行划词标注,标记回答质量(好/差),并导出标注数据用于后续分析和改进。

平台内置了冒烟测试技能,可以快速验证智能体的基础能力是否正常(如工具调用、技能加载等)。

现象先确认处理
沙箱一直启动中Docker daemon、镜像是否存在、磁盘和挂载权限查看 Blade Agent 与 Docker 日志;不要只刷新页面重复创建会话
模型请求超时或空响应模型源健康、配额、LLM Gateway 延迟在 LLM 观测页找首个上游错误;确认没有把全局模型状态误关
浏览器登录态失效页面是否回到登录页,Cookie 是否过期让用户重新登录或接管浏览器;不要盲目重试业务按钮
长任务中断是否收到 system:error、后台任务是否仍在运行保存 session_id 和工具输出;检查后台任务接口,再决定恢复或重跑
Skill 显示已安装但会话找不到会话技能快照、Solution 引用、版本是否一致重新同步会话 Skill;检查 local_skills / imported_skills 与注册中心版本
工作区文件不存在上传目录、文件名、会话是否正确用工作区列表接口核对路径,不要让智能体猜文件名

排障时先保留 session_id、Blade Agent 版本、Solution、BizRole 和 Skill 版本。只截一张错误弹窗通常不够。