Zhanbo's Blog

Articles / Notes

Writing

Practical notes on Java backend engineering, Spring systems, AI agents, RAG, and the implementation details that are hard to preserve in a resume.

RAG/Learning Notes/AI Agent/11 min read/2026-08-03

读懂 LlamaIndex:从 RAG 数据流到 Tool、Agent 与 Workflow

LlamaIndex 经常和 LangChain、LangGraph、smolagents 一起出现在 Agent 教程中,但它真正有辨识度的部分并不是 Agent 或 Multi-Agent,而是围绕私有数据建立的一整套 RAG 抽象:`Document`、`Node`、`IngestionPipeline`、`VectorStoreIndex`、`Retriever`、`QueryEngine` 与 `ResponseSynthesizer`。本文从一份 persona 数据集出发,完整拆解数据加载、分块、Embedding、向量存储、检索、回答合成与评估的链路,并进一步解释为什么 QueryEngine 还要包装成 Tool、什么时候 Agent 层属于过度设计、Workflow 又如何通过 Event 类型连接多个 Step。最后给出 LlamaIndex、LangGraph 与 smolagents 的定位对比,以及本地运行 Notebook 时遇到的典型问题。

Read note
AI Agent/Learning Notes/15 min

读完 Pi Coding Agent:一个 Agent Harness 应该拥有多少状态?

继续阅读 Pi Coding Agent 的设计文章后,我发现作者反复强调的并不只是“功能少”,而是尽量不让 harness 拥有隐藏状态。Pi 保留最小 agent loop、事件流和工具协议,却把 todo、plan、MCP、后台进程与 sub-agent 等能力交给普通文件、CLI、tmux 和独立 session。本文沿着我阅读时提出的问题,梳理这种设计的收益、代价,以及它对自建 Agent 和 eval 的启发。

AI Agent/Learning Notes/7 min

阅读 Pi Coding Agent:从多 Provider 兼容到结构化工具结果

Pi 通过 pi-ai、pi-agent-core、pi-tui 和 pi-coding-agent 实现模型协议、Agent 编排、终端界面与 CLI 应用的分层。在多 Provider 支持上,Pi 使用兼容配置统一 OpenAI-compatible API 的字段、reasoning 和 usage 差异;Token 统计则以 Provider 实际返回的数据为准,因此只能做到 best effort。跨 Provider 切换时,Pi 会保留或降级转换 reasoning 等上下文,但无法保证私有签名和超长上下文无损迁移。此外,Pi 支持端到端中止流式请求,并通过结构化工具结果区分模型可见内容与 UI 专用数据,从而保持 Agent 核心的透明、精简与可扩展。

Learning Notes/RAG/AI Agent/5 min

从 @tool 到 BM25:smolagents 中 Tool 与 RAG 的四种认知纠偏

在学习 Hugging Face Agents Course Unit 2.1 时,我以为自己懂了 Tool 和 RAG,直到看到源码和 notebook 才发现好几处理解偏差。这篇笔记记录了从 `@tool` 装饰器到 `BM25` 稀疏检索的四个关键问题。

Profile

Master's student in Computer Science at the University of Illinois Urbana-Champaign, bachelor's graduate in Computer Science and Technology from Capital Normal University (Rank 5%). Focused on AI application development and Java backend engineering, with practical experience in microservices architecture, Docker sandboxing, and LLM integration. Participated in the autonomous driving simulation project at NEVC, and led the development of an online programming training platform and an AI music creation platform.

Education

University of Illinois Urbana-Champaign

2026-08 / 2028-05

Master, Computer Science

Rank: N/A

Capital Normal University

2022-09 / 2026-07

Bachelor, Computer Science and Technology

Rank: 5%

Focus

AI Application Development

Building intelligent applications based on large language models, exploring cutting-edge AI engineering practices such as RAG and Agents.

Java Backend Development

Building high-performance, scalable enterprise backend services, proficient in the Spring ecosystem and microservices architecture.

GITHUB ACTIVITY

GitHub contribution activity and LeetCode progress

--
Contributions, past year
--
Active days
--
Repos
SepOctNovDecJanFebMarAprMayJunJulAug
-- contributionsLess - More
LeetCode
--
Problems solved
leetcode.cn
--
Easy
--
Medium
--
Hard
Loading LeetCode stats...

Selected Systems

Projects as technical records.

A smaller set of systems framed by architecture, implementation scope, and tradeoffs instead of product-marketing cards.

01
Microservices/Java + Spring Cloud Alibaba

在线编程训练平台

基于微服务架构与大语言模型的智能刷题系统

基于 Spring Cloud Alibaba 搭建的微服务架构在线判题与智能问答系统,支持多语言代码沙箱、智能问答与可扩展判题策略。

JavaSpring Cloud AlibabaSpring BootNacosDockerMySQLRedis

Implementation notes

  • 基于 Spring Cloud Alibaba 搭建微服务架构,拆分为用户服务、题目服务、判题服务、智能问答服务等模块
  • 通过 Nacos 实现服务注册与发现,保障微服务间的高可用调用
  • 设计在线判题模块,基于 Docker 构建代码执行沙箱,实现用户代码隔离运行、结果评测与执行信息记录
02
AI application/Spring Boot + FastAPI

MusicLens AI 音乐创作与分析平台

AI 驱动的音乐生成、情绪分析与作品管理平台

前后端分离的 AI 音乐平台,提供音乐生成、作品管理、情绪分析、AI 封面生成与图片文字识别等能力。

Spring BootFastAPIPythonAI APIVue.jsMySQL

Implementation notes

  • 设计并实现前后端分离架构,基于 Spring Boot 构建用户端与管理端后端服务
  • 搭建独立 AI 服务模块,基于 FastAPI 封装 Python AI 能力,完成音乐情绪分析等智能功能
  • 集成第三方 AI 服务,实现基于提示词和歌词的音乐生成、AI 封面生成以及图片文字识别