5. 工具调用、流式与内联图
智能体回答时不是只输出文字——它会调用工具(跑 Python、读写文件、查注册表等),这些都内联展示在对话流里。
5.1 步骤块
每次工具调用渲染成一个可折叠的步骤(step)块:
- 摘要行(如
› Ran 1 command、› 1 个工具)显示干了几件事,点开可展开细节。 - 展开后是工具名(青色)+ 参数(灰色)+ 结果代码块。
- 正在执行时结果区会实时流式输出(等宽字体,可滚动)。

如上图,一次"把 adata.obs 展示出来"的请求里能看到完整轨迹:运行 run python code 步骤、第一次因 NameError 报错的回溯(智能体随后自动改写)、以及最终在对话里渲染成表格的结果。
5.2 内联图表
当分析生成 matplotlib / scanpy 图(如 UMAP、QC 小提琴图)时,图片会直接内联显示在对应工具步骤下方,无需切走。下图是让智能体"加载 pbmc3k → 预处理 → UMAP → Leiden 聚类 → 画图"后,对话里直接呈现的聚类分布表与 UMAP 图:

生成的图同时落进工作区文件,可在第 8 章里再打开;产生的 adata 等对象则进入 kernel,可在第 7 章变量检查器里交互查看。
5.3 权限与审批
工具执行受权限模式控制(输入区的「完全权限」胶囊,点开可切换):

- 只读预览:agent 只能读取和搜索,不能执行 shell、写文件、跑 Python。
- 可执行分析:允许运行代码并写入工作区文件(仅在你信任当前任务时用)。
- 完全权限:agent 不经询问执行任何工具(仅在你信任当前对话内容时用)。
在需要审批的模式(如「可执行分析」)下,执行类工具(run_python_code / shell / 文件写入)会先弹出审批卡:

如上图:卡片头是工具类型(黄色 PYTHON 徽章)+ 工具名 run_python_code + 调用号;中间预览将要执行的代码(print(adata.shape)),可「查看参数」展开完整入参;底部三个按钮——拒绝(Deny,红) / 允许一次(Allow once) / 本会话允许(Allow for session)。卡片按风险级别配色。
此外还有两类内联卡:
- 计划审批卡(Plan):智能体写好多步计划后请你 Approve & execute 或 Reject。
- 复核卡(Notify / Review):智能体在关键节点用
notify_user中断,列出待复核内容,你确认后点「继续」。
5.4 付费技能占位
如果某个技能属于更高订阅档位,而你的账户档位不够,对话里会出现一个锁定占位(🔒 Pro skill content hidden),提示需要升级才能查看该技能内容(见第 11 章)。
下一步:内核与运行时监控。