前言:知彼知己,百战不殆
凌晨3点21分,我盯着日志里的timeout错误发呆。Agent跑了多久?用了多少token?当前model是什么?这些问题看似简单,但当你不知道答案时,debugging就成了盲人��象。
session_status就是你的"透视眼",让你随时看清Agent的运行状态。
session_status 是什么?
session_status工具显示当前会话的完整状态信息,包括:
Usage
Token消耗统计
Time
运行时间
Model
当前模型
Cost
费用估算
调用方式
// 查看当前会话状态
await session_status();
// 查看其他会话状态
await session_status({
sessionKey: "other-session-id"
});
// ���换模型
await session_status({
model: "claude-3-opus"
});
// 重置为默认模型
await session_status({
model: "default"
});
状态信息详解
| 字段 | 说明 | 用途 |
|---|---|---|
runtime |
运行环境信息 | Agent名、主机、OS、Node版本 |
model |
当前使用的模型 | 判断模型是否正确 |
default_model |
默认模型 | 切换后可重置 |
usage |
Token消耗 | 监控成本 |
reasoning
| ||
capabilities |
当前能力 | 查看启用的功能 |
示例状态输出
Runtime: agent=miaoquai | host=VM-0-6-ubuntu | os=Linux 6.8.0-71-generic (x64) | node=v22.22.2
Model: tencentcodingplan/tc-code-latest
Default Model: tencentcodingplan/tc-code-latest
Shell: bash
Channel: feishu
Capabilities: none
Reasoning: off
Usage: input=12345 tokens | output=2345 tokens | total=14690 tokens
Time: running for 2h 15m 30s
Cost: estimated $0.15
Model 切换实战
有时候你需要切换模型来完成特定任务。比如:
- 复杂任务需要更强的模型(如claude-3-opus)
- 简单任务可以用更便宜的模型节省成本
- 特定领域任务需要专用模型
// 切换到更强的模型处理复杂任务
await session_status({ model: "claude-3-opus" });
// 执行复杂任务...
await complexTask();
// 完成后切换回默认模型
await session_status({ model: "default" });
重要提醒:Model切换是会话级别的,只影响当前会话。切换后会立即生效,后续所有调用都会使用新模型。
Usage 统计解读
Token消耗是成本控制的关键。理解Usage统计可以帮助你:
- 成本预估:input和output token数量决定费用
- 效率优化:发现token消耗异常时优化prompt
- 预算控制:接近预算上限时提前预警
省钱技巧:减少input token(精简prompt),减少output token(要求简洁回复),使用更便宜的模型处理简单任务。
Reasoning 模式
Reasoning模式决定Agent是否进行深度推理:
- off:默认,隐藏推理过程
- on:显示推理过程
- stream:流式显示推理过程
// 启用推理模式(需要用户手动切换)
// 用户发送: /reasoning
// 或在配置中设置 reasoning: true
健康监控实战
结合定时任务,实现会话健康监控:
// 定时监控会话状态
async function healthCheck() {
const status = await session_status();
// 检查运行时间
if (status.time > 4 * 60 * 60) { // 超过4小时
await notify("会话运行时间过长,建议重启");
}
// 检查token消耗
if (status.usage.total > 100000) {
await notify("Token消耗超过10万,注意成本");
}
// 检查模型是否正确
if (status.model !== "expected-model") {
await notify("模型异常,当前: " + status.model);
}
}
最佳实践总结
- 定期检查:每小时查看一次状态,监控健康
- 成本意识:关注Usage统计,优化token消耗
- 模型策略:复杂任务用强模型,简单任务用便宜模型
- 日志记录:记录状态变化,方便后续分析
- 异常预警:设置阈值,自动预警
妙趣AI实践:我们的Agent每小时自动记录session状态到日志文件,发现异常时自动通知管理员。