

想象一下这个场景:你正在开发一个招聘管理系统,需要实现简历筛选功能。传统的做法是:
但是,如果你有一个懂程序的 AI Chat小助手呢?
你只需要说:"帮我筛选有 5 年以上 Java 经验的候选人",AI 就能自动理解、解析、评估,甚至还能学习你的偏好,越用越聪明!

Skills-LLM 是 ooderAgent 的核心架构,它将 LLM(大语言模型)的能力封装成可复用的 Skill(技能),让你的应用程序能够:


组件 | 功能 | 状态 |
|---|---|---|
SkillActivationContext | Skill 激活上下文,管理运行时状态 | ✅ 已实现 |
FunctionContext | 函数定义上下文,管理 Function Calling | ✅ 已实现 |
KnowledgeContext | 知识库上下文,四级加载知识 | ✅ 已实现 |
RoleContext | 角色上下文,定义 AI 助手人格 | ✅ 已实现 |
MemoryContext | 记忆上下文,管理对话历史 | ✅ 已实现 |
激活处理协作定义 Skill配置技能元数据激活 Skill创建运行时上下文处理请求AI自动理解和执行A2A协作多Agent智能协作
首先,创建一个 skill.json 文件,定义你的 AI 助手能做什么:
{ "skillId":"recruitment-skill","name":"招聘助手","version":"1.0.0","metadata": {"llmConfig": {"systemPrompt":"你是招聘场景的智能助手...","temperature":0.7,"functions": [ {"name":"scan_resume","description":"扫描并解析简历","parameters": {"resumeId": {"type":"string"} },"capability":"resume_scan"} ] },"knowledgeConfig": {"defaultLevel":"ADVANCED","ragEnabled":true,"knowledgeFiles": ["skills.md","knowledge/advanced.md"] } } }
使用 SkillActivationContext 激活你的 Skill:
// 激活 Skill SkillActivationContext context = SkillActivationContext.activate( ActivationRequest.builder() .skillId("recruitment-skill") .userId("user-xxx") .roleId("hr-assistant") .build() ); // 获取系统提示词 String systemPrompt = context.buildSystemPrompt(); // 获取函数定义 List<Map<String, Object>> tools = context.getTools();
当用户发送消息时,AI 助手会自动处理:
// 用户发送消息 context.addUserMessage("请帮我筛选有 5 年 Java 经验的候选人"); // 调用 LLM LlmResponse response = llmProvider.chatWithFunctions( context.buildSystemPrompt(), context.getMessages(), context.getTools() ); // 处理 Function Calling if (response.hasToolCalls()) { for (ToolCall toolCall : response.getToolCalls()) { // 自动执行函数 Object result = context.executeFunction( toolCall.getName(), toolCall.getArguments() ); } }
如果需要多个 AI 助手协作,使用 A2A 上下文传递:
// 简历筛选 Agent 传递上下文给面试安排 Agent ContextTransfer transfer = transferHandler.prepareTransfer( sourceContext, TransferMode.SELECTIVE, Set.of(ContextPart.USER_CONTEXT, ContextPart.KNOWLEDGE_CONTEXT) ); // 面试安排 Agent 接收上下文 LlmSceneContext targetContext = transferHandler.receiveTransfer( transfer, targetSceneId );
根据场景智能加载不同级别的知识:
级别 | 描述 | Token 限制 | 适用场景 |
|---|---|---|---|
BASIC | 基础知识 | ~2K | 快速问答 |
ADVANCED | 进阶知识 | ~4K | 标准业务流程 |
EXPERT | 专家知识 | ~8K | 复杂问题处理 |
FULL | 完整知识 | 无限制 | 深度分析 |
// 根据场景选择加载级别 KnowledgeContext knowledge = KnowledgeContext.builder() .knowledgeBaseId("recruitment-kb") .loadLevel(KnowledgeLoadLevel.ADVANCED) // 选择进阶级别 .build();
Agent B (目标)A2A协议层Agent A (源)Agent B (目标)A2A协议层Agent A (源)1. 选择传递模式2. 过滤上下文部分3. 序列化上下文A2ACommandTransferMode: SELECTIVEIncludedParts: [USER, KNOWLEDGE]传输上下文1. 验证权限2. 反序列化上下文3. 合并到本地上下文4. 更新运行时状态确认接收传递完成
为你的 AI 助手定义专业角色:
// 定义 HR 助手角色 RoleContext role = RoleContext.builder() .roleId("hr-assistant") .roleName("HR 助手") .definition("你是招聘场景的智能助手...") .guidelines(Arrays.asList( "熟悉招聘流程和最佳实践", "保护候选人隐私信息", "提供客观公正的候选人评估" )) .build();
让 AI 助手记住对话历史:
// 创建记忆上下文 MemoryContext memory = MemoryContext.builder() .sessionId("session-xxx") .maxHistoryLength(20) // 保留最近 20 条消息 .build(); // 添加消息 memory.addMessage("user", "请帮我筛选简历"); memory.addMessage("assistant", "好的,我来处理"); // 获取历史 List<Message> history = memory.getRecentHistory(10);
构建一个智能招聘管理系统,实现:


// 1. 初始化招聘 Skill SkillActivationContextrecruitmentContext =SkillActivationContext.activate(ActivationRequest.builder() .skillId("recruitment-skill") .roleId("hr-assistant") .knowledgeBaseIds(Arrays.asList("recruitment-kb")) .build() );// 2. 处理简历筛选请求publicvoidprocessResumeScreening(StringresumeId) {// 添加用户消息recruitmentContext.addUserMessage("请分析简历 "+ resumeId +",评估候选人匹配度");// 调用 LLMLlmResponseresponse = llmProvider.chatWithFunctions( recruitmentContext.buildSystemPrompt(), recruitmentContext.getMessages(), recruitmentContext.getTools() );// 处理 Function Callingif(response.hasToolCalls()) {for(ToolCalltoolCall : response.getToolCalls()) {switch(toolCall.getName()) {case"scan_resume":ResumeResultresult = resumeService.scan( toolCall.getArguments().get("resumeId") ); recruitmentContext.addToolResult( toolCall.getId(), result );break;case"evaluate_candidate":Evaluationeval = evaluationService.evaluate( toolCall.getArguments() );if(eval.getScore() >0.8) {// 高分候选人,传递给面试安排 AgenttransferToInterviewAgent(recruitmentContext, eval); }break; } } } }// 3. A2A 上下文传递privatevoidtransferToInterviewAgent(SkillActivationContextcontext,Evaluationevaluation ) {ContextTransfertransfer = transferHandler.prepareTransfer( context.getContextId(),TransferMode.SELECTIVE,Set.of(ContextPart.USER_CONTEXT,ContextPart.KNOWLEDGE_CONTEXT,ContextPart.FUNCTION_CONTEXT ) );// 发送给面试安排 Agenta2aClient.send(A2ACommand.builder() .type(A2ACommandType.LLM_CONTEXT_SHARE) .targetAgent("interview-agent") .contextTransfer(transfer) .build() ); }
通过 Skills-LLM 体系,你的应用程序不再是冰冷的代码,而是拥有了"理解、推理、执行"能力的智能体。
无论是招聘管理、客户服务、数据分析,还是任何业务场景,只需要:
你的应用就拥有了一个懂业务的 AI 小助手!
现在,就开始给你的应用挂上懂程序的 AI 小助手吧! 🎉
作者:Ooder Team
发布日期:2026-03-09
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。