必须绕过AgentSpace默认语义路径,用自定义Code Execution Skill调用difflib实现文件比对;需确保两文件同Workspace同目录、Agent有对应读写权限,并通过自然语言或Tool Call触发,最后可提取摘要并写入文档。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

要在 AgentSpace 中对比两个文件的差异并生成结构化变更报告,必须绕过其默认的“语义理解”路径,直接调用底层文件比对能力——因为 AgentSpace 本身不提供可视化 diff 工具,但支持将文件内容注入到自定义 Skill 中执行确定性比对。
准备待比对文件
登录 AgentSpace 控制台 → 进入「Files」模块 → 确保两份文件(如 config_v1.yaml 和 config_v2.yaml)已上传至同一 Workspace 的同一目录下。注意:AgentSpace 不支持跨 Workspace 比对,【文件必须位于同一挂载点且可被当前 Agent 的访问策略允许读取】。
右键任一文件 → 选择「Copy file path」→ 将路径粘贴保存,例如:/workspace/proj-a/config/config_v1.yaml。
创建专用比对 Skill
进入「Agent Designer」→ 点击「+ New Skill」→ 选择「Code Execution」模板。
在代码编辑区粘贴以下 Python 脚本(适配 AgentSpace 内置 Python 3.11 环境):
```python
import sys
import difflib
from pathlib import Path
file1 = Path(sys.argv[1])
file2 = Path(sys.argv[2])
if not file1.exists() or not file2.exists():
print("ERROR: One or both files not found")
sys.exit(1)
try:
lines1 = file1.read_text(encoding="utf-8").splitlines(keepends=True)
lines2 = file2.read_text(encoding="utf-8").splitlines(keepends=True)
diff = list(difflib.unified_diff(lines1, lines2, fromfile=file1.name, tofile=file2.name, n=3))
if not diff:
print("NO CHANGES DETECTED")
else:
print("".join(diff))
except Exception as e:
print(f"ERROR: {e}")
```
点击「Save & Test」→ 在测试面板中填入两个完整文件路径(用空格分隔),例如:/workspace/proj-a/config/config_v1.yaml /workspace/proj-a/config/config_v2.yaml → 执行成功后将输出标准 unified diff 格式结果。
在 Agent 对话中触发比对
方法一:使用自然语言指令调用 Skill
在 AgentSpace 聊天界面输入:“运行比对 Skill,对比 /workspace/proj-a/config/config_v1.yaml 和 /workspace/proj-a/config/config_v2.yaml” → Agent 将自动解析路径、调用已注册的 Skill 并返回 diff 输出。
方法二:手动构造 Tool Call(适合调试)
点击输入框旁「+」→ 选择「Tool Call」→ 从下拉菜单中选中你刚创建的比对 Skill → 在参数栏填入 JSON:{"file1": "/workspace/proj-a/config/config_v1.yaml", "file2": "/workspace/proj-a/config/config_v2.yaml"} → 发送。
⚠️ 注意:若返回 “Permission denied”,说明该 Workspace 的 IAM 策略未授予当前 Agent 对目标路径的 read 权限,需前往「Settings → Access Control」中为该 Agent 添加对应目录的只读策略。
提取变更摘要并写入文档
第一步:等待 Skill 返回完整 diff 文本 → 复制全部内容(含 @@ 行和 +/- 行)。
第二步:在聊天中对 Agent 下达后续指令:“基于以上 diff,提取三项信息:① 新增了几个配置项;② 删除了几个字段;③ 修改了哪些值(列出 key 和变化前后的值);格式为 Markdown 表格。”
第三步:确认摘要无误后,追加指令:“将这份摘要写入 /workspace/proj-a/docs/CHANGELOG_config_update.md,如果文件不存在则新建,存在则追加到末尾。”
这一步依赖 Agent 的上下文理解与文件写入能力,【必须确保该 Agent 已被授权对 /workspace/proj-a/docs/ 目录具有 write 权限】。


















