Pi Agent 源码解析(一):从调试环境到双层主循环
从源码搭建 Pi Agent 调试环境,并沿着 cli.ts、sdk.ts、agent.ts 和 agent-loop.ts 的真实调用链,分析模型配置、StreamFn 注入、双层 Agent Loop、流式响应和工具调用。
围绕 Java 运行时、低成本大模型推理和 Agent 工程,按学习顺序整理已有文章。
从类加载、Java Agent 和 Javassist 进入字节码增强,最后串联到 ByteKit 与 Arthas。
按顺序阅读从本地部署、量化和 KV Cache 参数入手,逐步理解显存占用、GPU Offload 与 MoE 专家缓存。
按顺序阅读从 Agent 开发框架和工具系统出发,理解循环、上下文、工具调用、Subagent 与 MCP 的工程实现。
按顺序阅读从源码搭建 Pi Agent 调试环境,并沿着 cli.ts、sdk.ts、agent.ts 和 agent-loop.ts 的真实调用链,分析模型配置、StreamFn 注入、双层 Agent Loop、流式响应和工具调用。
接着 3060 跑 FreeToken 的实操,从分析故障日志的例子出发,逐步理解 DeepSeek V4.1 Flash 的输入输出分工、缓存共享与压缩、局部重放、Engram 和推测解码,也算清激活参数、缓存与整机内存不是同一本账。
After exploring FreeToken's low-VRAM design, I tried Qwen3.6-35B-A3B on my own 6GB RTX 3060 Laptop, worked through Windows and WSL failures, then tested how much more speed its GPU cache and transfers could deliver.
接着前两篇 FreeToken 文章,这次在自己的 RTX 3060 Laptop 6GB 上实跑 Qwen3.6-35B-A3B:从 Windows、WSL 的启动问题,到恢复 GPU 专家计算,再逐项测试缓存和异步传输能带来多少提速。
6GB显存可以尝试运行Qwen3.6-35B-A3B-NVFP4,但代价是更小的专家缓存和KV容量,以及对32GB以上内存、CPU与PCIe带宽的更高依赖。本文给出已验证配置、调优顺序、压测脚本和明确限制。