AI系统测试实践:Tool执行与状态管理(Agent系统最容易出Bug的地方)

前言:

上一篇分析了 Agent系统如何通过LLM触发Tool

复制代码
用户输入
↓
LLM决策
↓
生成 tool_call
↓
系统执行 Tool

以及:

复制代码
LLM只负责决策
系统代码负责执行
状态层负责持久化

系统中,LLM并不会直接执行业务逻辑

模型只负责生成调用请求,真正完成操作的是 Tool执行层

因此,在AI系统架构中通常会形成如下结构:

复制代码
输入层
↓
LLM决策层
↓
Tool执行层
    ├─业务逻辑
    └─状态存储(JSONL / DB)
↓
输出层

本文重点梳理 Tool执行层和状态管理层的工作方式


一、Tool执行层:AI系统真正做事情的地方

在Agent系统中,Tool层负责执行真实业务逻辑。

例如一个工作记录Agent系统中,常见Tool包括:

复制代码
record_fragment
get_fragments_by_date
confirm_clock_event

当LLM生成tool_call后,后端系统会解析并执行对应函数。

例如:

复制代码
def record_fragment(content, author, occurred_date=None):
    item = {
        "id": generate_fragment_id(),
        "type": "fragment",
        "content": content.strip(),
        "author": author,
        "created_at": now_iso()
    }

    _append_jsonl(FRAGMENTS_PATH, item)

    return {"ok": True, "saved": item}

这个函数完成两个核心工作:

复制代码
业务逻辑处理
数据持久化

在很多AI系统中,Tool层本质上就是:

复制代码
Service层

负责调用:

复制代码
数据库
日志系统
业务服务

二、状态层:AI系统的持久化数据

Tool执行完成后,系统通常需要更新状态。

状态层的作用是:

复制代码
记录系统数据
保存历史信息
支持后续查询

例如一个实现可以使用 JSONL 文件。

复制代码
def _append_jsonl(path, obj):
    with open(path, "a", encoding="utf-8") as f:
        f.write(json.dumps(obj, ensure_ascii=False) + "\n")

每次记录都会写入一行数据:

复制代码
{"id": "abc123", "type": "fragment", "content": "完成测试用例", "author": "张三"}
{"id": "def456", "type": "summary", "content": "今日完成任务", "author": "张三"}

这种方式的优点是:

复制代码
实现简单
日志可追溯
方便调试

但在企业系统中,状态层通常会使用:

复制代码
数据库
缓存系统
日志系统

例如:

复制代码
MySQL
Redis
Elasticsearch

三、为什么状态层最容易出Bug

在很多AI系统中,问题往往不是出现在模型,而是出现在状态层。

常见问题包括:

复制代码
并发写入
数据不一致
状态污染
日志损坏

例如在测试过程中,如果多个请求同时写入 JSONL 文件:

复制代码
线程A写入
线程B写入

就可能出现:

复制代码
空行
半行数据
JSON解析错误

系统在读取日志时就会出现:

复制代码
KeyError
JSONDecodeError

因此在系统中通常需要:

复制代码
文件锁
数据库事务
消息队列

来保证数据一致性。


四、AI系统中的执行链路

结合前两篇内容,可以得到完整执行流程:

复制代码
User Input
↓
LLM (Prompt + Tool Schema)
↓
tool_call
↓
Backend Parse
↓
Tool Execute
↓
State Update
↓
Return Response

可以看到:

复制代码
LLM → 决策
Tool → 执行
State → 持久化

这三者共同构成了 AI系统的核心执行链路


五、从测试视角看Tool层

在AI系统测试中,Tool层其实是非常重要的一部分。

需要重点关注:

复制代码
Tool是否正确触发
参数是否正确
执行逻辑是否稳定
状态是否正确更新

典型测试点包括:

复制代码
错误参数处理
并发写入
异常恢复
数据一致性

这些问题往往比模型本身更容易影响系统稳定性。


六、小结

在Agent系统中,大模型并不会直接执行系统操作,而是通过 Tool 驱动系统行为。

整个系统可以总结为:

复制代码
LLM负责决策
↓
Tool负责执行
↓
状态层负责持久化

梳理这一点,对于理解 AI系统架构与测试方法非常关键。


下一篇

下一篇将继续讨论:

AI系统测试实践:状态层为什么是AI系统最容易出Bug的地方

重点包括:

复制代码
并发问题
数据一致性
日志损坏
系统恢复
相关推荐
水管在开花.几秒前
Agent范式与LangGraph-②零基础保姆级教程
人工智能·面试·langchain·agent
白色机械键盘12 分钟前
LangGPT结构化提示词工程:从手写提示词到模块化编程的范式升级
人工智能
熙丫 1338148238615 分钟前
AI前沿部署工程师(FDE)适合谁考?工信部教考中心高级证书,打通大模型落地最后一公里
人工智能
小虎AI生活18 分钟前
阿里开源 Pixelle-Video:一段文案 5 分钟出片,我把短视频生产线跑通了
ai编程
ShallWeL22 分钟前
RAG 文档变更后的检索回归清单
人工智能·agent·知识库·rag·检索
Hrain-AI23 分钟前
企业 AI 治理运营怎么做:分级授权、Token 用量可观测与模型统一纳管
大数据·人工智能·算法
2401_8652616327 分钟前
亦唐科技:创新驱动下的国产贴片机领航者
人工智能
Mr数据杨27 分钟前
【CanMV K210】硬件基础 面包板连通规则与无焊接电路搭建
人工智能·硬件开发·canmv k210
长江后浪博客35 分钟前
陶瓷浮雕盘印刷视觉定位方案:8K线扫相机 + 暗场光源 + 旋转平台
人工智能·数码相机·机器视觉·视觉定位·线扫相机·暗场光源·陶瓷印刷
江苏赛融科技36 分钟前
数据驱动:能耗管理系统如何将能源数据转化为管理决策资产
大数据·人工智能·能源·智慧园区·企业资产管理·园区智能化