ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

PocketFlow Agent Skills 实战:用 Executive Brief 技能文件让 LLM 输出高管级决策简报

PocketFlow Agent Skills 实战:用 Executive Brief 技能文件让 LLM 输出高管级决策简报 人工智能大模型AI Agent工作流自动化RAG【免费下载链接】PocketFlowPocket Flow: 100-line LLM framework. Let Agents build Agents!项目地址https://gitcode.com/gh_mirrors/poc/PocketFlow点击查看免费下载本指南聚焦 PocketFlow 开源仓库中cookbook/pocketflow-agent-skills这一 cookbook深入讲解其内置的Executive Brief高管简报Agent Skill它是一份纯 Markdown 的技能指令文件通过「技能选择 → 技能注入 → 执行任务」的两节点 Flow让 LLM 为高管受众输出简洁、面向决策、含风险提示与下一步行动建议的简报。读完本文你将掌握 Agent Skill 的设计思路、PocketFlow 中技能路由与注入的源码级实现并能基于同一模式编写属于自己的可复用技能文件。一、什么是 Agent Skills——以 Markdown 为载体的可复用指令Agent Skills 是 Anthropic 等社区提出的概念把「如何完成一类任务」的专家指令沉淀为可复用的文本文件运行时不写死在代码里而是按需加载、注入到 LLM 提示词中。cookbook/pocketflow-agent-skills在 PocketFlow 中实现了这一轻量模式其 README.md 明确概括了三个要点将技能保存为本地 Markdown 文件./skills/*.md根据用户请求在运行时选择合适的技能把选中的技能内容注入最终的 LLM 提示词。在这个 cookbook 中技能库默认包含两个技能文件executive_brief.md高管简报与checklist_writer.md清单撰写。本文的主角是前者它位于 cookbook/pocketflow-agent-skills/skills/executive_brief.md全文仅十余行却定义了一套完整且可执行的写作范式。二、Executive Brief 技能文件逐行拆解executive_brief.md的核心内容是面向「高管读者」的输出约束全文如下# Executive Brief Skill You are writing for senior leaders. ## Rules - Keep it concise and decision-oriented. - Start with 3 bullet point summary. - Include risks and recommended next action. - Avoid implementation-level details unless critical.作为一份技能文件它回答了 LLM 执行任务前必须明确的四个问题受众定位PersonaYou are writing for senior leaders.—— 明确读者是高管/决策者这是所有后续规则的出发点整体风格Keep it concise and decision-oriented.—— 简洁、面向决策而不是信息堆砌结构要求Start with 3 bullet point summary.—— 开头必须给出 3 条要点式摘要让读者 30 秒内抓住结论决策要素Include risks and recommended next action.—— 必须包含风险提示与建议的下一步行动信息边界Avoid implementation-level details unless critical.—— 除非关键否则不展开实现级细节避免让高管淹没在技术噪声中。这套规则对应了现实中高管简报的黄金结构结论先行3 条要点→ 风险评估 → 行动建议。技能文件本身不含任何代码正因如此它才能被任意 LLM 直接「读取并执行」——这正是 Agent Skill 与硬编码 Prompt 模板的本质区别技能与代码解耦可以独立演进、独立复用。三、技能如何被路由与注入SelectSkill 与 ApplySkill 源码拆解技能文件本身只是「原料」真正让它生效的是 PocketFlow 图结构中的两个节点。图的装配位于 flow.py仅两行连接select_skill SelectSkill() apply_skill ApplySkill() select_skill apply_skill return Flow(startselect_skill)是 PocketFlow 提供的节点连接运算符对应pocketflow/__init__.py中BaseNode.__rshift__Flow(start...)指定入口节点。整个流程只有一条链路先选技能再执行技能。3.1 SelectSkill确定性技能路由SelectSkill 是标准的三段式 PocketFlow Nodeprep → exec → postprep(shared)从共享字典shared中取出task用户任务并调用load_skills(shared[skills_dir])加载全部技能exec(prep_res)执行确定性路由——若任务文本中包含checklist或steps关键词则选择checklist_writer否则默认选择executive_brief若偏好技能不存在则回退到第一个可用技能post(shared, prep_res, exec_res)把选中的技能名与技能内容写回shared[selected_skill]与shared[selected_skill_content]供下游节点使用。class SelectSkill(Node): def prep(self, shared): return { task: shared[task], skills: load_skills(shared[skills_dir]), } def exec(self, prep_res): task prep_res[task].lower() skills prep_res[skills] # Tiny deterministic router for demo purposes. if checklist in task or steps in task: preferred checklist_writer else: preferred executive_brief if preferred in skills: return preferred, skills[preferred] # fallback: first available skill name, content next(iter(skills.items())) return name, content def post(self, shared, prep_res, exec_res): skill_name, skill_content exec_res shared[selected_skill] skill_name shared[selected_skill_content] skill_content return default这里有一个值得注意的设计取舍路由逻辑刻意采用关键词匹配的确定性路由器源码注释Tiny deterministic router for demo purposes而非再调一次 LLM 做意图分类。这样做的收益是零额外成本、可预测、便于调试代价是表达能力有限——若任务表述中没有关键词任务会落入默认的executive_brief。生产环境可将其替换为基于 embedding 或 LLM 的分类器但本 cookbook 保持最小可用MVP形态。3.2 ApplySkill技能注入与执行ApplySkill 负责把技能内容拼进最终提示词并调用 LLM。其exec构造的提示词模板结构清晰prompt f You are running an Agent Skill. Skill name: {prep_res[skill_name]} Skill instructions: --- {prep_res[skill_content]} --- User task: {prep_res[task]} Follow the skill instructions exactly and return the final result only. .strip() return call_llm(prompt)提示词由四部分构成系统角色声明You are running an Agent Skill、技能名、以---分隔的技能指令原文、用户任务并以「严格遵守技能指令、只返回最终结果」收尾。由于exec阶段禁止访问shared任务与技能内容均由prep显式打包传入——这是 PocketFlow 刻意强制的数据流纪律保证节点可测试、可并行。post把 LLM 返回结果写入shared[result]整个图即告完成。LLM 调用封装在 utils.py 的call_llm中demo 默认使用gpt-4o模型API Key 从环境变量OPENAI_API_KEY读取。3.3 技能加载load_skillsutils.py 中的load_skills是技能的「仓库层」def load_skills(skills_dir: str) - dict[str, str]: skills {} for md_file in sorted(Path(skills_dir).glob(*.md)): skills[md_file.stem] md_file.read_text(encodingutf-8) if not skills: raise ValueError(fNo skill files found in {skills_dir}) return skills它扫描指定目录下所有*.md文件以文件名去扩展名md_file.stem作为技能名文件全文作为技能内容返回dict[技能名, 技能内容]。这意味着新增一个技能 往skills/目录丢一个 Markdown 文件无需改动任何代码。若目录为空则抛出ValueError避免静默失败。四、实战运行让 Executive Brief 技能工作起来4.1 环境准备cookbook 的依赖极简见 requirements.txtpocketflow0.0.1 openai1.0.0安装并配置 API Keypip install -r requirements.txt export OPENAI_API_KEYyour-key4.2 触发 Executive Brief 技能入口脚本 main.py 会解析命令行中--开头的参数作为任务文本默认任务为Summarize this launch plan for a VP audience为副总裁受众总结一份发布计划。由于该任务不含checklist/steps关键词会被 SelectSkill 路由到executive_brief技能python main.py --Summarize this launch plan for a VP audience执行后终端会依次打印任务内容、被选中的技能名Skill Used与 LLM 输出Output。按技能规则输出应呈现为开头 3 条要点摘要、风险与建议的下一步行动、且不展开实现细节。4.3 对比触发 Checklist Writer 技能换一个含关键词的任务路由器将选择checklist_writer技能其规则见 skills/checklist_writer.md编号步骤、每步简短可验证、标注依赖与阻塞项、以 Definition of Done 结尾python main.py --Turn this into an implementation checklist两次运行共用同一套 Flow 代码仅因技能文件不同而输出完全不同的格式——这正是「技能与代码解耦」最直观的演示。五、理解底层PocketFlow 的 Node/Flow 生命周期整个技能管线运行在 PocketFlow 微框架之上。从 pocketflow/init.py 可以看到Node的每次执行遵循_run→prep → _exec(exec) → post的生命周期prep(shared)从共享存储取数、做 I/O 前准备返回值传给execexec(prep_res)纯计算阶段本 demo 中即构造提示词与调用 LLM不允许访问sharedpost(shared, prep_res, exec_res)把结果写回shared并返回 action 字符串决定下一跳本 demo 恒返回default。Flow的编排逻辑_orch则循环执行取当前节点的后继get_next_node按 action 查successors没有后继即结束。Node还内置max_retries/wait重试机制与exec_fallback兜底可在ApplySkill上通过Node(max_retries3, wait1)之类参数获得 LLM 调用失败自动重试的能力。六、把 Executive Brief 技能扩展成自己的技能库基于上述模式扩展新技能只需两步写文件在skills/下新建xxx.md遵循「Purpose Rules」的简洁结构。可参考 executive_brief 的写法——先一句话定义受众与目标再用若干条-规则约束结构、要素与信息边界接路由若希望按关键词触发在SelectSkill.exec中增加分支若希望全部任务都走某技能可保持默认分支不变。设计技能文件时可借鉴 executive_brief 的三个原则受众先行第一行就锁定读者后续规则全部围绕该受众展开规则可验证每条规则如「开头 3 条要点摘要」「包含风险与建议下一步」都是 LLM 可检查、可照做的明确指令而非模糊的形容词信息边界显式化明确写出「什么不要做」避免实现级细节防止模型过度发散。七、适用边界与注意事项本 cookbook 是教学型最小实现路由为关键词匹配技能选择质量依赖任务文本措辞生产级 Agent 建议升级为向量检索或 LLM 分类的路由策略技能文件是纯指令不含上下文技能只规定「怎么输出」具体业务数据仍需通过shared[task]或提示词注入LLM 依赖与成本demo 直接调用gpt-4o实际输出质量取决于所选模型技能规则越明确对弱模型的约束力越强技能可组合可替换load_skills按目录加载的设计意味着技能是插件式的增减技能、替换技能内容都无需改动 Flow 代码。总而言之executive_brief.md展示了一种极具复用价值的写作范式用十几行 Markdown 定义受众、结构与决策要素再由 PocketFlow 的两节点 Flow 完成选择与注入。这套「技能即文件」的模式既适合为高管生成简报也可以平滑扩展到周报、会议纪要、竞品分析、代码评审等任何有明确输出格式要求的任务。赞分享人工智能大模型AI Agent工作流自动化RAG【免费下载链接】PocketFlowPocket Flow: 100-line LLM framework. Let Agents build Agents!项目地址https://gitcode.com/gh_mirrors/poc/PocketFlow点击查看免费下载相关推荐Lark CLI 云文档 Memo/Brief 体裁契约让飞书文档 Agent 写出可决策、可核验的高层简报Lark CLI 云文档 Memo/Brief 体裁契约让飞书文档 Agent 写出可决策、可核验的高层简报 导读 在企业协同场景中「备忘录 / 简报」是最CLIAI 技能跨领域战略简报生成用 strategic-brief 斜杠命令协调双 Subagent 输出董事会级决策建议跨领域战略简报生成用 strategic brief 斜杠命令协调双 Subagent 输出董事会级决策建议 本指南围绕 claude cookbooks 仓示例工程Agentic Awesome Skills 实战为 Aider 委派编写高质量任务简报Writing the BriefAgentic Awesome Skills 实战为 Aider 委派编写高质量任务简报Writing the Brief 导读 在 agentic awAI 技能AI 插件创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表