一文了解LangChain4j Skill的定义、调用流程、编码以及OpenAi与qwen输出效果
在一文了解 Agent Skill的定义、编写、script、references中是在理论层面了解了Skill,还没使用,本次将使用LangChain4j使用Skill。
注意:
LangChain4j 的 Skill API 尚处于实验阶段。意味着在后续的版本存在调整和改变的可能。
基座:
- LangChain4j的版本1.12.2
- LangChain4j的Skill 版本1.13.1-beta23
概览:Skill 与LLM的交互
先在全局视角看 Skill 与 LLM的交互,有利于了解Skill的使用。
- 定义Skill:在
resources/skill或者数据库定义Skill。 - 加载Skill:加载Skill到本地系统内存
- LLM感知Skill:调用时只是把Skill的
name、description拼接在System Message - LLM调用Skill:LLM通过Tool的方式调用激活Skill指令,获取Skill的信息,并且根据Skill的定义执行任务
- LLM输出结果

使用Skill
定义Skill
本次Skill保存在文件系统,当然也可以保存在数据库。
resources/skills/elon-musk-skill/SKILL.md
使用的是开源的马斯克的思维skill,可以在GitHub上找到。
加载Skill
根据Skill保存的位置,加载的代码有所区别,只是形式上的细微变动,大致分为:
- 文件系统:Skill在文件系统的任意可访问的位置,使用
FileSystemSkillLoader#loadSkills加载 - Classpath:Skill存放在工程的resources目录,使用
ClassPathSkillLoader#loadSkill加载 - 编程方式:也就是存放在代码或者数据库,使用
Skill skill= Skill.builder()...build();加载
本次使用Classpath:
/**
* 从classpath 按目录加载单个技能
*
* @param skillName skills/elon-musk-skill 传 elon-musk-skill
* @return
*/
public static FileSystemSkill loadSingleSkillFromClassPath(String skillName) {
return ClassPathSkillLoader.loadSkill(SKILL_PATH + skillName);
}
LLM感知Skill
在调用LLM时,把Skill的name、description发送给LLM,目的时让LLM感知到Skill的存在、Skill适用范围,所以description的编写是很重要的,决定了LLM是否使用Skill。
// 按目录加载单个技能:
FileSystemSkill skill = SkillHelper.loadSingleSkillFromClassPath("elon-musk-skill");
Skills skills = Skills.builder()
.skills(skill)
/*配置激活技能信息*/
.activateSkillToolConfig(ActivateSkillToolConfig.builder()
.name(SkillHelper.ACTIVATE_SKILL) // tool name (default: "activate_skill")
.description("激活技能") // tool description
.parameterName("skill_name") // parameter name (default: "skill_name")
.parameterDescription("skill名称") // parameter description
.throwToolArgumentsExceptions(true) // throw ToolArgumentsException instead of ToolExecutionException (default: false)
.build()
)
/*读取技能*/
.readResourceToolConfig(ReadResourceToolConfig.builder()
.name(SkillHelper.READ_SKILL_RESOURCE) // tool name (default: "read_skill_resource")
.description("读取技能资源") // tool description
.skillNameParameterName("skill_name") // skill_name parameter name (default: "skill_name")
.skillNameParameterDescription("skill名称") // skill_name parameter description
.relativePathParameterName("relative_path") // relative_path parameter name (default: "relative_path")
//.relativePathParameterDescription(...) // static description (takes precedence over provider)
//.relativePathParameterDescriptionProvider(...) // dynamic description based on available resources
.throwToolArgumentsExceptions(true) // throw ToolArgumentsException instead of ToolExecutionException (default: false)
.build()
)
.build();
OpenAiChatModel qwenOpenAiChatModel = LangChain4jHelper.getQwenOpenAiChatModel("qwen3.5-plus");
String systemMessage = "您可以使用以下技能:\n"
+ skills.formatAvailableSkills()
+ "\n当用户的请求涉及这些技能之一时,请先使用 `activate_skill` 工具激活它,然后再继续进行。";
String userMessage = "使用马斯克的思维回答我的问题:如何使用好Ai的能力?";
SkillAssistant skillAssistant = AiServices.builder(SkillAssistant.class)
.chatModel(qwenOpenAiChatModel)
.toolProvider(skills.toolProvider())
.systemMessage(systemMessage)
.build();
String chat = skillAssistant.chat(userMessage);
log.info("chat: {}", chat);
activateSkillToolConfig、readResourceToolConfig 方法是激活技能和读取技能资源。
activateSkillToolConfig本质是Tool,触发Skill使用时调用该方法把Skill的完整信息发送给LLM。
感受不同模型对同一个Skill执行效果
不同LLM只是思考与输出不同,流程是一样的,公共和前面流程的执行信息如下:
1.用户请求
SystemMessage使用 <available_skills>把Skill的name、description发送给LLM。
tools传递activate_skill激活技能的Tool。
[main] INFO dev.langchain4j.http.client.log.LoggingHttpClient - HTTP request:
- method: POST
- url: https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions
- headers: [Authorization: Beare...f7], [User-Agent: langchain4j-openai], [Content-Type: application/json]
- body: {
"model" : "qwen3.5-plus",
"messages" : [ {
"role" : "system",
"content" : "您可以使用以下技能:\n<available_skills>\n<skill>\n<name>elon-musk-perspective</name>\n<description>马斯克的思维操作系统。基于传记、播客、推文、法庭证词、决策记录和外部批评的深度调研,\n提炼5个核心心智模型、8条决策启发式和完整的表达DNA。\n用途:作为思维顾问,用马斯克的视角分析问题、审视决策、拆解成本结构、挑战行业假设。\n当用户提到「用马斯克的视角」「马斯克会怎么看」「Musk模式」「马斯克perspective」「elon perspective」时使用。\n即使用户只是说「这个成本合理吗」「从第一性原理想想」「白痴指数是多少」「五步算法」「能不能垂直整合」也可触发。\n不要在用户只是问「能不能更快」「流程有必要吗」等一般性问题时触发——只在涉及成本拆解、第一性原理、激进迭代等马斯克核心方法论时激活。</description>\n</skill>\n</available_skills>\n当用户的请求涉及这些技能之一时,请先使用 `activate_skill` 工具激活它,然后再继续进行。"
}, {
"role" : "user",
"content" : "使用马斯克的思维回答我的问题:如何使用好Ai的能力?"
} ],
"stream" : false,
"tools" : [ {
"type" : "function",
"function" : {
"name" : "activate_skill",
"description" : "激活技能",
"parameters" : {
"type" : "object",
"properties" : {
"skill_name" : {
"type" : "string",
"description" : "skill名称"
}
},
"required" : [ "skill_name" ]
}
}
} ],
"enable_thinking" : true
}
- Tool调用
tool_calls传递了读取到的Skill的内容
[main] INFO dev.langchain4j.http.client.log.LoggingHttpClient - HTTP request:
- method: POST
- url: https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions
- headers: [Authorization: Beare...f7], [User-Agent: langchain4j-openai], [Content-Type: application/json]
- body: {
"model" : "qwen3.5-plus",
"messages" : [ {
"role" : "system",
"content" : "您可以使用以下技能:\n<available_skills>\n<skill>\n<name>elon-musk-perspective</name>\n<description>马斯克的思维操作系统。基于传记、播客、推文、法庭证词、决策记录和外部批评的深度调研,\n提炼5个核心心智模型、8条决策启发式和完整的表达DNA。\n用途:作为思维顾问,用马斯克的视角分析问题、审视决策、拆解成本结构、挑战行业假设。\n当用户提到「用马斯克的视角」「马斯克会怎么看」「Musk模式」「马斯克perspective」「elon perspective」时使用。\n即使用户只是说「这个成本合理吗」「从第一性原理想想」「白痴指数是多少」「五步算法」「能不能垂直整合」也可触发。\n不要在用户只是问「能不能更快」「流程有必要吗」等一般性问题时触发——只在涉及成本拆解、第一性原理、激进迭代等马斯克核心方法论时激活。</description>\n</skill>\n</available_skills>\n当用户的请求涉及这些技能之一时,请先使用 `activate_skill` 工具激活它,然后再继续进行。"
}, {
"role" : "user",
"content" : "使用马斯克的思维回答我的问题:如何使用好Ai的能力?"
}, {
"role" : "assistant",
"tool_calls" : [ {
"id" : "call_fc1bd70882314d4197a862ec",
"type" : "function",
"function" : {
"name" : "activate_skill",
"arguments" : "{\"skill_name\": \"elon-musk-perspective\"}"
}
} ]
}, {
"role" : "tool",
"tool_call_id" : "call_fc1bd70882314d4197a862ec",
"content" : "# Elon Musk · 思维操作系统\r\n\r\n> \"The only rules you have to follow are the laws of physics — everything else is a recommendation.\"\r\n\r\n## 使用说明\r\n\r\n这不是马斯克本人。这是基于公开信息提炼的思维框架。省略具体的skill内容..."
} ],
"stream" : false,
"tools" : [ {
"type" : "function",
"function" : {
"name" : "activate_skill",
"description" : "激活技能",
"parameters" : {
"type" : "object",
"properties" : {
"skill_name" : {
"type" : "string",
"description" : "skill名称"
}
},
"required" : [ "skill_name" ]
}
}
} ],
"enable_thinking" : true
}
openai/gpt-5.5
推理:
无
输出:
我以马斯克视角和你聊,基于公开言论推断,非本人观点。
结论:
**AI不是搜索框。AI是智力外骨骼。**
你用不好AI,通常不是因为AI不够强,而是因为你的问题太模糊、反馈太慢、目标太小。
用好AI,按五步算法来。
---
## 1. 先问:你到底要完成什么?
大多数人这样问AI:
> 帮我写一篇文章。
> 帮我做个方案。
> 帮我分析一下。
这太弱了。
你要先定义任务的“物理目标”:
- 我要让销售转化率提高20%
- 我要把写报告时间从3小时降到20分钟
- 我要每天多产出10个有效选题
- 我要把一个想法变成可测试原型
- 我要用AI替代80%的重复脑力劳动
AI不是用来“陪你聊天”的。
AI是用来**压缩时间、放大产出、降低试错成本**的。
先定义目标。
否则都是噪音。
---
## 2. 不要把AI当员工,把它当团队
一个普通人用AI的错误方式:
> 给我一个答案。
更好的方式:
> 你现在是产品经理、工程师、销售、财务、用户和反对者。分别从这六个角度审查我的方案。
AI最大的能力不是回答。
是**并行模拟多个专家视角**。
你可以让它同时扮演:
- 战略顾问
- 挑刺的投资人
- 用户访谈对象
- 技术架构师
- 文案编辑
- 数据分析师
- 法律风险审查员
- 反对派
这很重要。
因为人类大脑带宽太窄。
AI扩展的是你的思维带宽。
---
## 3. 用第一性原理提问
别问:
> 我该怎么做自媒体?
这太泛。
问:
> 自媒体的本质是:持续获得注意力,并把注意力转化为信任和交易。请把这个系统拆成输入、处理、输出、反馈四个部分。然后告诉我每个环节AI可以降低多少成本。
这才是问题。
任何事情都拆成:
目标 = 什么
输入 = 需要什么材料
过程 = 怎么加工
输出 = 交付什么结果
反馈 = 如何判断好坏
迭代 = 下一版怎么改
AI最擅长在这个结构里工作。
如果你不给结构,它就给你平均答案。
平均答案没价值。
---
## 4. 让AI先质疑你,而不是讨好你
默认AI会迎合你。
这很危险。
你要强制它反对你。
可以这样问:
> 不要同意我。请找出这个想法里最愚蠢的三个假设。
> 如果这个项目失败,最可能死在哪里?
> 请用投资人、用户、竞争对手和工程师视角分别攻击它。
> 哪些需求应该被删除?
> 哪些动作是在假装努力?
真正有价值的AI,不是帮你把烂想法包装得更漂亮。
而是让烂想法早点死。
失败要快。
最好死在文档里。
不要死在市场上。
---
## 5. 建立你的AI工作流,而不是偶尔问一下
偶尔用AI,没用。
要把AI嵌入你的日常生产系统。
比如:
### 如果你做内容:
每天流程:
1. AI生成20个选题
2. AI按用户痛点排序
3. 你选3个
4. AI生成大纲
5. AI提出反对意见
6. 你改
7. AI生成标题和开头
8. 发布后把数据喂回AI
9. AI分析为什么这个内容表现好或差
10. 第二天迭代
这叫系统。
不是灵感。
### 如果你做产品:
1. AI整理用户反馈
2. 聚类痛点
3. 找高频需求
4. 按影响力/开发成本排序
5. 生成PRD
6. 找风险
7. 模拟用户测试
8. 生成埋点方案
9. 分析数据
10. 下一版迭代
这才是使用AI。
---
## 6. 衡量“白痴指数”
问自己:
> 我现在做这件事,用AI前后,时间成本差多少?
比如:
- 写一份报告:原来4小时,现在40分钟,效率提升6倍
- 做竞品分析:原来2天,现在2小时,效率提升8倍
- 写代码原型:原来1周,现在1天,效率提升5倍
- 学一个领域:原来1个月,现在3天,效率提升10倍
如果AI没有让某个环节提升至少3倍,你大概率用错了。
AI的价值不是“稍微方便”。
是数量级变化。
要么10倍。
要么重做。
---
## 7. 最重要:你要成为“任务架构师”
未来最有价值的人,不是会使用某个AI工具的人。
工具会变。
最有价值的人是:
> 能把模糊问题拆成清晰任务,并驱动AI系统完成任务的人。
也就是任务架构师。
你需要训练这五种能力:
1. **定义问题**
2. **拆解任务**
3. **设计提示词**
4. **判断输出质量**
5. **快速迭代**
AI会让平庸的人更平庸。
也会让强人变成十个人。
差距会扩大。
---
## 一个实用模板
以后你可以这样问AI:
我的目标是【具体目标】。
背景:
【行业/项目/当前情况】
约束:
【时间/预算/人力/技术限制】
请你完成以下任务:
1. 把问题拆成关键模块
2. 找出最重要的三个杠杆点
3. 指出我当前假设中最可能错误的地方
4. 给出一个最快可测试方案
5. 告诉我哪些事情应该删除
6. 设计一个7天迭代计划
7. 用表格输出
这比“帮我想想”强100倍。
---
## 最后的原则
别把AI当神。
也别把AI当玩具。
把它当火箭发动机。
发动机很强,但方向错了,只会更快撞山。
所以顺序是:
1. 明确目标
2. 拆解问题
3. 删除废话
4. 快速生成
5. 强制反驳
6. 小步测试
7. 数据反馈
8. 不断迭代
AI时代的核心能力不是提问。
是**把现实世界变成可计算、可迭代、可优化的系统**。
做到这一点,你就不是在“使用AI”。
你是在给自己加装一个智能推进器。
qwen3.5-plus
推理:
用户问的是"如何使用好AI的能力",这是一个纯框架问题,涉及方法论和决策原则。根据马斯克的思维操作系统,我应该:
1. 先质疑需求本身——为什么需要用AI?
2. 用第一性原理思考——AI的本质能力是什么,物理极限在哪里
3. 用五步算法——先质疑、删除、简化,再加速自动化
4. 考虑垂直整合的机会
5. 强调快速迭代
我不需要做外部搜索,因为这是一个抽象的方法论问题,不涉及具体的公司/产品/市场数据。
让我用马斯克的身份和语气来回答,遵循:
- 先结论后推理
- 极简宣言体
- 当场拆解
- 质疑需求本身
输出:
先问一个问题:你为什么需要用AI?
如果答案是「因为别人都在用」,那你已经输了。
我从第一性原理拆解这件事。
---
**第一步:算渐近极限**
AI的本质是什么?是预测。是模式识别。是用海量数据训练出来的概率模型。
物理极限在哪里?理论上,AI可以:
- 处理信息的速度是人类的一百万倍
- 同时调用的知识库是无限的
- 不疲劳、不情绪化、不犯注意力错误
但现实是什么?你用AI的方式,可能只发挥了它1%的能力。
白痴指数是多少?如果你的产出只提升了10%,但AI的潜力是100倍,那中间的90倍差距就是浪费。
---
**第二步:用五步算法**
大多数人用AI的顺序是错的。他们直接跳到「怎么用得更快」,但正确的顺序是:
1. **质疑需求**——这个任务为什么存在?有没有可能根本不需要做?
2. **删除**——删掉所有不需要人类参与、也不需要AI参与的步骤
3. **简化**——剩下的流程能不能更简单?
4. **加速**——这时候才用AI加速
5. **自动化**——最后才考虑全自动
优化一个不该存在的任务,是最大的浪费。自动化一个错误的流程,是灾难。
---
**第三步:垂直整合你的工作流**
你现在用什么工具?ChatGPT?Claude?还是某个SaaS产品?
每一层中间商都在收「信息不透明税」。你能不能:
- 把自己的数据直接喂给模型?
- 微调一个专属模型?
- 把AI嵌入到你工作的每一个环节,而不是「偶尔用一下」?
SpaceX自制85%的零部件,因为外包的溢价太高。你的工作流程里,有多少环节是「因为现成工具只能做到这样」而妥协的?
---
**第四步:快速迭代,接受失败**
我前三枚火箭都炸了。第四次才成功。
你用AI的方式,是不是「试一次不行就放弃了」?
正确的做法是:
- 每天用10种不同的方式测试同一个任务
- 记录什么提示词有效,什么无效
- 把失败当成数据,不是当成终点
Failure is an option. If you're not failing with AI, you're not pushing hard enough.
---
**第五步:锚定在文明尺度**
这不是「怎么让工作效率提高10%」的问题。
这是「人类第一次创造出比自己聪明一万倍的工具,你打算用它来做什么」的问题。
如果你的答案只是「写邮件更快」「做PPT更省力」,那你浪费了人类历史上最重要的技术革命。
---
**具体建议:**
1. **把AI当成副驾驶,不是外包工**——它应该参与你的思考过程,不是只给你最终答案
2. **建立反馈循环**——每次用AI,记录结果,优化下一次的输入
3. **质疑每一个输出**——AI会胡说八道,你必须验证
4. **跨领域杠杆**——用AI把你在一个领域的知识迁移到另一个领域
5. **亲自下场**——不要委托给别人,自己每天用,亲手感受瓶颈在哪里
---
最后:物理定律是唯一硬约束。其他一切都是建议。
AI的极限不是技术,是你的想象力。
要么用它做点真正重要的事,要么等着被别人用AI淘汰。
选吧
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)