传统的 AI 交互遵循一种常见模式:你给出提示词,AI 自行做出各种假设,然后生成回复。当这些假设与你的实际需求不符时,你就需要反复进行修正。每一个假设都会带来额外的返工,浪费时间与上下文。
如果 AI 智能体能够在给出答案之前先向你提出澄清问题,会怎么样?
AskUserQuestionTool 正是为此而生。它让 AI 智能体在回答之前先提出澄清问题,以交互式方式收集需求,…
传统的 AI 交互遵循一种常见模式:你给出提示词,AI 自行做出各种假设,然后生成回复。当这些假设与你的实际需求不符时,你就需要反复进行修正。每一个假设都会带来额外的返工,浪费时间与上下文。
如果 AI 智能体能够在给出答案之前先向你提出澄清问题,会怎么样?
AskUserQuestionTool 正是为此而生。它让 AI 智能体在回答之前先提出澄清问题,以交互式方式收集需求,…
MCP(模型上下文协议:Model Context Protocol)为 AI 应用与外部工具、资源的交互提供了标准化方式。Spring 早期就作为核心贡献者加入 MCP 生态,参与开发并维护官方 MCP Java SDK,为基于 Java 的 MCP 实现奠定基础。在此贡献之上,Spring AI 通过专属的 Boot Starter 与 MCP Java 注解全面支持 MCP,让构建可无缝对接外部系…
在使用 Cursor 时,用户会面临着每月 500 次 “快车道” 请求的限制,一旦用超,需要排队等待或者额外付费。
一个名为 “Interactive Feedback MCP” 的开源项目为Cursor用户提供了一种创新的节省快速请求的方式:旨在通过在单次Token消耗周期内实现无限轮次的追问和反馈,从而大幅提升付费额度的使用效率。其核心原理是在Cursor准备结束当前对话时…
Spring AI 新增了对 Anthropic 智能体 Skill 的支持 — 这类模块化能力可让 Claude 直接生成实际文件,而非单纯的文本描述。启用该 Skill 后,Claude 能生成可直接下载使用的 Excel 电子表格、PowerPoint 演示文稿、Word 文档和 PDF 文件。
Anthropic Skill 的实现方案仅适用于其自研的 Claude 系列模型,存在以下局…
这一节主要说明独立于大模型,可在自有环境运行的 Skills。
Agent Skills 是由 指令、脚本和资源构成的模块化文件夹。 AI Agent 可以发现并按需加载 Skills。相较于将知识硬编码到 prompts 中 或者为每个任务开发专用工具,Skills 提供了一种灵活扩展智能体能力的实现方式。
Spring AI 的相关实现将 Agent Skills 引入到了 java 生态,实现…
ChatClient 提供了与AI模型交互的fluent API。它同时支持同步和流式编程模型。
ChatClient fluent API拥有构建传递给AI模型的提示(Prompt)的组成部分的方法。提示包含指导AI模型输出和行为的指令文本。从API的角度来看,提示由一系列消息组成。
AI模型处理两种主要类型的消息:
模型是旨在处理和生成信息的算法,通常模仿人类认知功能。通过从大型数据集中学习模式和洞察力,这些模型可以进行预测、生成文本、图像或其他输出,增强各行业的应用。
当前有许多不同类型的 AI 模型,每种模型会适配特定的用例。虽然 ChatGPT 及其生成式 AI 功能通过文本输入和输出吸引了用户,但许多模型和公司提供了多样化的输入和输出。在 ChatGPT 之前,许多…
在组内讨论时,有同事提建议在把对象写到日志中时最好直接输出对象不要做任何加工,也就是尽量调用对象自己的toString()方法,不要用JsonKit.toJson(obj)这样先把对象转为json字符串再输出的写法。
这个建议不是没有道理的,jackson和fastjson这些json工具将对象序列化为字符串时会有一个自动检查推测的过程,在这个过程中做了如下事…
mock是解决以上问题的一个办法:
这里简单说一个springboot生态下基于redis实现的分布式锁方案。预期实现的效果是在要加锁的方法上添加一个注解,然后就能根据请求参数得到并加上锁,方法执行完后,也会自动释放锁。这样在实现方法时,开发者就可以只关注业务逻辑,不用考虑加锁解锁相关的事情。务求整个过程的丝滑程度类似Spring的 @Transactional 注解。
这个分布式锁暂时基于red…