LangChain 0.3手写Agent循环:工具注册与记忆回溯机制
上个月在电商客服场景中,我基于AutoGPT思路用LangChain 0.3.7搭建了一个能查订单、算优惠、发券的Agent。系统处理了4120轮对话,工具调用成功率92.3%,但最初版本在连续对话第8轮时token溢出、第5轮时工具参数幻觉频发。本文记录我从零实现Agent主循环的过程:如何用Pydantic定义工具Schema、用SQLite做短期记忆滑窗、用异常捕获实现工具级熔断,以及那个让

关注用户体验,长期记录跨团队协作、产品可用性分析和从需求到交付的完整过程。重视可维护性、稳定性与协作效率,希望用清晰的方法帮助产品与业务更高效地落地。
上个月在电商客服场景中,我基于AutoGPT思路用LangChain 0.3.7搭建了一个能查订单、算优惠、发券的Agent。系统处理了4120轮对话,工具调用成功率92.3%,但最初版本在连续对话第8轮时token溢出、第5轮时工具参数幻觉频发。本文记录我从零实现Agent主循环的过程:如何用Pydantic定义工具Schema、用SQLite做短期记忆滑窗、用异常捕获实现工具级熔断,以及那个让
在电商以图搜图业务中,我们对比了Milvus 2.4.1与Qdrant 1.9.2在千万级768维向量下的真实表现。Qdrant在单机部署上节省了40%内存,RPS(每秒请求数)达到3200,而Milvus依赖分布式架构在16节点下才勉强追平。但Milvus的标量过滤和索引构建速度优势明显,索引时间仅为Qdrant的1/3。本文记录了完整部署流程、性能压测数据以及资源占用的详细对比,并附上生产环境
上周接手一个内部数据聚合API,上游依赖三个外部服务,平均响应3.2秒。通过asyncio将串行调用改为并发协程,引入超时控制和信号量限流,最终P95延迟降至410ms。本文记录从同步Flask到异步Sanic的完整改造过程,包含Python 3.12 + asyncio 3.12的版本踩坑、Semaphore控制并发数、以及asyncio.timeout的正确用法。改造后单机QPS从12提升到8