开放实习机会

你好,我是 kaii

软件工程 · 2028 届 · Agent 应用开发 · Java 后端

欢迎来到我的小站。我在做的是 Agent 应用 —— 能自己查资料、自己动手办事的 AI,而不只是陪你聊天。
这里记录我在这条路上的实践,和踩过的坑。

kaii
github.com/dream-kaii
学习中
方向Agent 应用开发 · Java 后端
正在学检索与重排、图编排、上下文管理
正在用FastAPI · LangGraph · Milvus · Redis
届别软件工程 · 2028 届
Agent当前主攻方向
Java工程底子
HOW IT WORKS

Agent 和普通 AI 问答,差在哪

如果只记一句话:普通 AI 只是「回答你」,Agent 会「替你把事办了」。
下面用同一个问题,把两种走法并排演一遍。

我的快递到哪了? 播放中
普通 AI 问答 一步到底 · 说不了就是不知道
拿到问题
直接从记忆里编答案
抱歉,我无法查询你的快递信息,
建议你联系快递公司客服。
够不到真实数据,只能说「做不到」
Agent 边走边想 · 会自己动手查
模型在想什么
这是要查物流,光靠我不行
得先知道是哪个订单
去调物流查询工具
拿到了:已到武汉转运中心
可以回答了
系统在做什么
01
接住请求SSE 流式通道建立,多轮上下文续接
02
理解意图判断这是「物流查询」,抽出关键信息
03
决策调用Function Calling 选定物流查询工具
04
执行工具统一引擎管超时、重试与权限
05
生成留痕带引用作答,全过程落 trace
你的快递已到达武汉转运中心,
预计明天下午送达。
自己决定去查、真的查到了,再回答你

差别不在「模型更聪明」,而在外面这套工程:检索、工具、编排、上下文、留痕。
下面这些环节,就是我理解的、一个能真正跑起来的 Agent 应用要补上的东西。

LANDSCAPE

一个 Agent 应用要做好哪些事

一个能上线的 Agent,不只是「调个模型」这么简单。左边是它要听懂的部分,右边是它要答对的部分,中间是这句话真正走过的一遍。

输入侧 · 怎么听懂

多轮上下文

历史不是全量塞进去。最近几轮保真原文,更早的压成摘要,按 token 预算兜底。

滑窗滚动摘要

指代消解

「它能退吗」必须结合历史补全成完整问句,否则检索和意图都会判错。

corefquery rewrite

意图分流

退款要走确定性子流程,闲聊不该进 Agent,投诉要有固定兜底话术。

intentrouting

Query 扩写

一句问题泛化成几条侧重点不同的查询,多路检索后再去重合并。

multi-query

请求在系统里走一遍

从一句话进来到一句话出去,中间要过的关卡。

01

进来先补全

结合摘要与滑窗,把指代补成完整问句。

02

判意图定路线

八类意图带置信度,拿不准归「其他」。

03

知识类必先检索

该检索就检索(RAG),写成流程硬约束,而不是指望模型自觉。

04

过证据置信度闸

精排分、有效证据数、分差共同决定能不能答。

05

进 Agent 做决策

ReAct 循环临场决定调哪个工具、走几步收敛。

06

执行引擎统一把关

参数校验、权限分级、写操作等确认。

07

带引用生成

说出来源编号,答不了就如实拒答。

08

落 trace 与审计

每个节点的 prompt、耗时、token 都留痕。

输出侧 · 怎么答对

混合检索

关键词与向量各有所长。BM25 抓精确型号,向量抓同义说法,融合后取长补短。

BM25denseRRF

重排精筛

召回要宽、排序要准。粗排 Top-50 后交给重排模型精排出 Top-10。

reranker

拒答与引用

证据不足时如实拒答,比编一个像样的答案更有价值。

citationsabstain

数据飞轮

答不上来的问题不该被丢掉 —— 它们是数据飞轮最好的燃料。

问题池人工审核
EVOLUTION

Agent 应用的十步演进

从一条对话接口到一个可运维的系统,中间要补的能力按依赖顺序排开。点任意节点可以看细节。

STEP 01

对话能跑通 Pure Chat

任何 Agent 应用的起点都是把一次对话做稳:流式输出让用户不用干等,多轮上下文让对话能接住,历史按 token 预算裁剪避免越聊越贵。这一步不涉及智能,但没有它后面都无从谈起。

要做成什么样

  • SSE 流式输出,逐 token 渲染
  • 多轮会话续接与会话标识
  • 历史裁剪按 token 预算兜底
  • 结构化抽取:把自然语言变成可入库的字段

容易踩在哪儿

  • 裁剪要按「对话对」整组删,否则会把工具调用链拆散
  • 上游统一走一种协议,换模型只改配置
PROJECTS

精选项目

上面那些环节,我在自己的项目里一条条写过。三个项目连起来,是从 Java 后端到 AI 应用的一条路。

WRITING

技术文章

先把 Agent 相关的写扎实,再回来补 Java 基础。都是自己啃过一遍才动手写的东西。

LLM
大语言模型。就是 GPT、DeepSeek 这类「会说话」的模型本体,只负责理解和生成文字,本身够不到你的数据库。
Agent
在模型外面套一层「能动手」的框架:它自己判断该做什么、去调工具拿数据、再根据结果决定下一步,直到把事办完。
Function Calling
让模型能「点菜」。你把可用的功能描述给它,它自己决定什么时候调用哪一个、传什么参数。
RAG
检索增强生成。回答前先去知识库里查相关资料,把查到的内容一起交给模型 —— 这样它才答得出模型没学过的私有信息。
向量检索
按「意思」而不按「字面」找资料。你问「邮费」,它能找到标题写着「运费怎么算」的那条。
重排 / Rerank
先粗筛出一批候选,再用更精细的模型重新排序,把最相关的排到最前面。快和准分两步做。
上下文
模型这一次能「看到」的全部文字。它有长度上限,聊得越久越容易超,所以要裁剪和压缩。
SSE
服务器推送事件。让回答一个字一个字冒出来,而不是等全部算完才一次性显示。
LangGraph
把 Agent 的流程画成一张图:哪些步骤有固定顺序、哪里需要模型临场决定,一目了然,也更好调试。
MCP
让 Agent 接外部工具的一套通用协议。别的系统按这个协议暴露能力,Agent 就能直接拿来用。
拒答
证据不足时明确说「我不知道」,而不是编一个听起来合理的答案。在生产环境里,这比答错更安全。
数据飞轮
把用户问倒的问题收集起来,人审后补进知识库 —— 系统用得越多,答得上来的就越多。

开放实习机会

欢迎交流 Agent 应用开发和后端相关的话题