Agent Skill设计模式

目录

一、Skill:

Agent Skill就是一种真不对同场景的说明文档,将系统提示词中"if(场景一){此处省略1w词}else if(场景二){此处省略1w词}"的庞大内容转移到文档场景一.skill、场景二.skill,现在系统提示词变为"if(场景一){输出read(场景一.skill)}else if(场景二){输出read(场景二.skill)}",此时Host就能根据LLM返回词调用对应skill文档输入到LLM,通过目录显著减少了系统提示词长度。

Skill文档具有规范的格式(可能是大家都觉得这种格式下模型推理效果更好),包括文件名、该技能的描述、具体规则。

二、Reference&Script

在某个Skill场景中,也可以通过目录的方式减少Skill的长度,例如在会议场景Skill中,如果涉及到财务,那么就需要财务手册的内容,如果涉及规章,那么就需要规章手册的内容,通过在Skill中抽出多个Reference并规定模型按需调用,进一步减少了Skill文件的长度。

Script和Reference类似,Script中是一段可执行代码,区别是Reference封装的是文本、Script封装的是可执行代码。例如skill文件中可能会这样约束:

复制代码
你是一个技能调度器。
你有两个能力:

1. 读取参考资料
   当你需要查知识、文档、Reference 时,
   请严格返回:
   read_reference(query="你的问题")

2. 执行代码脚本
   当你需要计算、处理数据、运行代码时,
   请严格返回:
   run_script(code="print(1+1)")

你只输出函数调用,不要回答问题。

然后模型输出对应的函数名,由Host根据模型输出读取Reference文档输入给模型或执行Script脚本:

复制代码
if 模型返回 == "read_reference()":
    执行【读取文档】逻辑

elif 模型返回 == "run_script()":
    执行【运行代码】逻辑

else:
    直接返回文本回答
相关推荐
敲代码的嘎仔2 小时前
Java后端开发——多线程面试题
java·开发语言·面试·多线程·八股·threadlocal·
sonnet-10292 小时前
交换排序算法
java·c语言·开发语言·数据结构·笔记·算法·排序算法
砍光二叉树2 小时前
【设计模式】结构型-外观模式
设计模式·外观模式
NGC_66112 小时前
深度解析 ConcurrentHashMap 1.8:put 与 get 核心流程全解
java·开发语言
yaaakaaang2 小时前
(五)前端,如此简单!---变量
前端·javascript
需要点灵感2 小时前
# 从身份证读卡到钉钉同步:C# WinForms企业级应用开发实战
开发语言·c#·钉钉
2501_941982052 小时前
企微私域:实现企业通讯工具外部群消息的自动化主动推送
java·前端·javascript
Joy T2 小时前
【Web3】智能合约多环境部署架构:Mock机制与依赖注入实战
开发语言·架构·web3·区块链·php·智能合约·mock合约
三*一2 小时前
基于 Turf.js 实现高精度多边形修整工具(模拟 ArcGIS 修整功能)
开发语言·前端·javascript·arcgis·maobox gl·turf.js