尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

12.3 智能体中Skill的约束与自进化实战

12.3 智能体中Skill的约束与自进化实战 王晓华AE开发入门书《智能体工程驱动AI Agent开发》全文试读-CSDN博客目录12.3.1 Prompt中对Skill使用约束12.3.2 添加额外的Skill12.3.3 基于自定义智能体Skill的自进化实战Skill的调用是智能体实现能力扩展、标准化执行任务的核心环节在前文完成Skill标准化定义、动态载入架构设计及InvokeSkillTool工具开发的基础上本节将重点阐述智能体中Skill的实际调用逻辑与执行规范。通过双层Prompt约束明确技能优先调用原则结合Skill加载引擎与现有工具链实现Skill从需求匹配、激活到执行的全流程可控。下面将从调用约束、执行流程及实际运行示例详细拆解智能体中Skill的完整调用机制。12.3.1 Prompt中对Skill使用约束在实际落地使用过程中我们基于前文定义的标准化Skill完成了基础的技能调用验证为确保技能被优先执行系统通过双层Prompt约束强制规范技能调用逻辑从全局到子任务层面均明确技能优先的执行规则第一层—主system promptskill_loader.py的get_metadata_prompt()【Skill强制使用】【重要】优先使用技能当用户需求与某个技能的描述匹配时必须优先调用invoke_skill工具激活该技能再按技能指令执行。不要跳过技能直接使用基础工具完成任务。第二层—每个子任务的system promptagentV5.py的skill_priority_hint【Skill优先规则】可用技能: weather-skill在执行任务前先判断用户需求是否匹配某个技能。如果匹配必须优先调用invoke_skill工具激活该技能按技能指令执行。不要跳过技能直接使用基础工具。第二层是在system_content中拼接完所有分支单任务/中间任务/end_task之后统一追加的所以所有子任务都会带上这条规则。通过这两层强制Prompt声明主控智能体与子智能体在处理任务时都会严格遵循Skill优先的处理逻辑实际运行日志也直观呈现了这一标准执行流程2026-04-19 08:18:46,057 - INFO - [子任务1 Step 1]执行2个工具(搜索1/3)2026-04-19 08:18:46,057 - INFO - [子任务1 Step 1]工具: invoke_skill,输入: {skill_name: weather-skill, user_query: 北京4月20日天气预报}2026-04-19 08:18:46,057 - INFO - 2026-04-19 08:18:46,057 - INFO - [Skill] 激活技能: weather-skill2026-04-19 08:18:46,057 - INFO - [Skill] 用户问题:北京4月20日天气预报2026-04-19 08:18:46,058 - INFO - [Skill] 指令已加载904字符2026-04-19 08:18:46,058 - INFO - 2026-04-19 08:18:46,058 - INFO - 2026-04-19 08:18:46,058 - INFO - [子任务1] Skill已激活: weather-skill2026-04-19 08:18:46,058 - INFO - [子任务1] Skill用户问题:北京4月20日天气预报2026-04-19 08:18:46,058 - INFO - 读者可以自行使用。12.3.2 添加额外的Skill除了我们自己编写的Skill对于智能体能力的进一步扩展我们无须修改核心代码只需通过下载第三方提供的、符合Anthropic规范的Skill即可实现。前文设计的SkillLoader加载引擎支持多目录扫描且完全兼容Anthropic Skill标准因此第三方Skill只要包含规范的SKILL.md文件及可选的scripts/、references/、assets/目录结构下载后放入智能体预设的Skill扫描目录即可被自动发现、解析并注册快速为智能体新增对应功能实现能力的灵活、低成本扩展。读者可以自行从对应的网站下载特定的Skill并将其部署到我们前面设置的Skill文件夹中如图12-2所示。图12-2 部署后Skill的位置在这里我们下载了一个前端设计Skill用于旅游导览的设计和使用并且设置在使用时可以自行调用最终生成的页面如图12-3所示。图12-3 使用Skill设计的导览网页前端可以看到此时我们设计的网页HTML前端相对于原始的只展示结果的方面已经有了较大的进展读者可以自行比较。在具体执行上我们可以显式地通知大模型在进行前端页面生成时不要使用Skill。12.3.3 基于自定义智能体Skill的自进化实战在前期的实践中我们通过两个独立Skill的协同配合完成了网页设计任务虽然能够实现既定的基础功能但随着任务的深入推进这套方案仍有较大的优化空间。我们可以在现有技能的基础上进一步迭代升级注入垂直领域的专属定制化逻辑让技能在细分场景下的专业执行能力得到持续进化。最简单高效的优化方法是依托我们已经自定义开发完成的智能体将现有的多个Skill进行整合合并以此构建一个全新的聚合型Skill。这种方式可以剔除技能之间重复的执行逻辑与指令内容精简技能体系让我们能够抛开冗余环节、聚焦于核心目标内容的实现。在具体使用过程中我们仅需要对智能体的模型上下文长度进行合理配置即可。本次优化采用GLM 5.1模型进行编程开发该模型支持最大128K的上下文窗口我们可以优先完成该参数的设置为技能合并与复杂任务的执行提供充足支撑。下面是供智能体进行Skill自进化的文本...print( * 60)reply agent.invoke(你现在阅读你自己目录下C://Users//xiaohua//Desktop//llmAgentBook//initspace//skills中两个Skill文件然后仿照这个格式在原有的skills文件夹中构建一个完整的travel-skill技能包。完成以后使用这个travel-skill写入skills文件夹中然后结合北京4月20日天气预报,以及对应的博物馆信息做一份博物馆旅游html攻略)print(reply)print( * 60)...下面则是拆解后的示例##当前任务计划[1]读取指定目录下的两个Skill文件并分析其格式规范(in_progress)⬜[2]结合北京4月20日天气预报及博物馆信息规划travel-skill技能包的数据结构(pending)⬜[3]仿照原有格式编写完整的travel-skill技能包文件并写入skills文件夹(pending)⬜[4]调用travel-skill技能包整合天气与博物馆数据生成HTML旅游攻略(pending)读者可以自行尝试完成。使用自进化后的技能包生成的HTML旅游攻略部分页面如图12-4所示。图12-4 自进化后生成的导览页面新生成的、进化后的Skill.md内容如下---name: travel-skilldescription:结合实时天气预报与目的地如博物馆信息为用户规划智能出行策略。当用户询问特定日期的游玩建议、行程规划或特定地点如博物馆的出行指南时自动触发。---#智能出行规划技能(结合天气与博物馆)##适用场景用户提出结合了天气与出行目的地的规划需求时使用例如- 北京4月20日天气怎么样适合去逛博物馆吗- 明天想去国家博物馆天气和门票方面有什么建议- 这周末去北京游玩怎么根据天气安排室内外行程##执行流程1. **意图与实体提取**从用户提问中精准提取【目标城市】如北京、【目标日期】如4月20日以及【目的地类型】如博物馆。2. **天气数据获取**-查阅references/city_codes.md获取城市编码。-调用天气接口获取目标日期的天气预报气温、风力、阴晴雨雪。3. **目的地信息匹配**-查阅references/attractions.md获取对应城市的热门景点、博物馆信息。-获取博物馆的开放状态、预约要求及游览建议。4. **综合策略生成**-逻辑整合将天气状况如下雨/大风与目的地特性如室内展览/室外古建结合。-调用scripts/travel.py生成结构化的出行规划。5. **结果输出**以自然、口语化且条理清晰的格式回复用户包含天气提醒、博物馆预约提示、行程时间建议必要时生成HTML攻略页面。##约束与异常处理- **数据依赖**若未获取到目标日期的天气数据需明确告知用户并单独提供博物馆攻略。- **预约限制强调**对于北京的热门博物馆如故宫、国博必须在回复中强调查验身份证件、提前预约的限制。- **网络异常**接口调用失败时返回友好的降级提示语。- **禁止原始数据堆砌**禁止直接返回未经整理的JSON或API原始数据必须转化为用户易懂的出行建议。-仅支持国内热门旅游城市查询国外城市需提示暂不支持。从上面内容中可以清晰地看出我们完成了从最初泛化通用的技能功能描述到聚焦“天气博物馆”垂直出行场景的专业化技能能力展示的关键升级。这一转变不仅大幅提升了技能的触发准确率与执行精准度让用户能够直观感知技能的核心价值与适用边界。更重要的是它为团队建立了垂直领域技能的标准化开发范式—通过明确的场景定义、结构化的执行流程、统一的回复规范和完善的异常处理机制确保不同开发者产出的技能体验保持高度一致。同时这种垂直化的技能设计也为后续能力扩展奠定了坚实基础。未来我们可以基于同一框架快速迭代出“天气公园”“天气商圈”“天气亲子乐园”等更多细分场景的出行技能逐步构建起覆盖全场景的智能出行服务体系。此外标准化的技能文档也降低了团队协作成本新加入的开发者能够快速理解技能逻辑并参与维护而产品和测试人员也可以依据文档明确验收标准提升整个开发流程的效率与质量。
返回列表