Troubleshooting
这一页只收接入阶段最高频的问题,目标是先把第一条成功路径打通。
如果你现在遇到的是:
- 某个深层 API 细节
- 某个专题模块内部的设计边界
- 某个复杂 runtime 行为
优先去对应专题树。
本页只负责第一段主线:
- 依赖
- 配置
- 第一次模型调用
- 第一次 Tool Call
- Spring Boot starter 的最小接入排障
1. 先判断你卡在哪一段
最常见的阻塞点通常只有五类:
- 依赖没接对
- provider / API Key / 网络没通
- Spring Boot 配置或 Bean 没进来
- 流式或工具调用预期和实际不一致
- 测试和验证命令理解错了
2. 测试默认被跳过
当前 Maven 配置里很多测试默认 skipTests=true,需要显式打开:
mvn -pl ai4j -DskipTests=false test
如果你本来只是想先跑示例,不要把“测试默认跳过”误当成“主功能不可用”。
3. Spring Boot 项目里拿不到 AiService
优先检查:
- 是否引入了
ai4j-spring-boot-starter - 配置是否写在
ai.*前缀下 - 是否把网络或 API Key 问题误判成 Bean 注入问题
如果 starter 已经引入,但服务还是拿不到,下一步建议直接对照:
4. 模型请求发不出去或返回异常
优先检查:
- API Key 是否真的进入了运行环境
- provider 是否选对
- model 名是否可用
- base URL、代理、网络连通性是否正确
- 是否把
Chat和Responses的接口语义混用了
如果你只是想先确认第一条主线是否成立,优先回到:
5. 流式没有实时输出
优先检查:
- 是否真的调用了 stream API
- listener 是否直接输出 delta
- Web 层是否做了缓冲
6. Tool 不触发
优先检查:
- 是否显式暴露了函数白名单
- 工具名是否一致
- 指令是否明确要求先调用工具
如果你现在还在 Start Here 阶段,这里最容易混淆的是:
Function CallSkillMCP
先别把三件事混起来,优先回看:
7. 什么时候该离开 Start Here
建议继续看:
如果你已经能回答下面三个问题,就应该离开 Start Here 进入专题树了:
- AI4J 在仓库里哪些模块各自负责什么
- 你的项目应该先走 Java、Spring Boot、Agent、Coding Agent 还是 Flowgram
Tool、Skill、MCP这三个概念为什么不是一回事