PowerPaint-V1使用心得:如何用AI让旧照片焕然一新

核心内容摘要

突破Netty极限:基于Java 21 FFM API手写高性能网络通信框架
1FK7032-5AK71-1ZZ9-Z S02伺服电机

AI 辅助开发实战:高效完成‘简单的单片机毕设’的全流程指南

答案是完全可以不用SKILL.md仅靠 LangChain 的Tool机制 合理设计就能实现“渐进式调用”Progressive Disclosure的核心目标——即“只在需要时才暴露详细信息节省上下文token”。

SKILL.md只是一种组织复杂流程文档的载体而“渐进式披露”的本质是一种策略与是否用 Markdown 文件无关。

✅ 核心思想回顾什么是“渐进式披露”第一层轻量Agent 知道“有这个能力”但不知道细节。

第二层按需当任务匹配时才加载/生成详细操作指南。

这个策略可以用多种方式实现不依赖外部文件。

方法一用 “元工具”Meta-Tool动态返回说明推荐你创建一个特殊的 Tool叫get_tool_instructions它接收工具名返回该工具的详细使用说明。

示例python编辑from langchain.tools import tool # 定义详细说明可放在代码中、数据库、配置文件等 TOOL_INSTRUCTIONS { pdf_fill_form: 填充 PDF 表单的完整步骤

先调用 pdf_extract_fields 获取字段名

构造字段字典如 {name: 张三, email: zexample.com}

调用 pdf_fill_form(input, fields_str, output) 注意fields 必须是字符串形式的字典。

, analyze_financial_report: 财报分析流程 - 输入必须是 CSV 或 Excel 路径 - 先用 read_excel 读取 - 再调用 calculate_ratios - 最后用 generate_summary 生成结论 } tool def get_tool_instructions(tool_name: str) - str: 获取指定工具的详细使用说明 return TOOL_INSTRUCTIONS.get(tool_name, 未知工具)Agent 如何使用System Prompt 中只写简短描述text编辑可用工具 - pdf_fill_form: 填充 PDF 表单如需详细步骤请先调用 get_tool_instructions - analyze_financial_report: 分析财报当任务复杂时Agent 会先调用get_tool_instructions(pdf_fill_form)再执行。

✅优点所有逻辑在代码中无需文件 I/O易于测试、版本控制、热更新不依赖read_file权限 方法二让 Tool 自身支持“帮助模式”某些 Tool 可以接受特殊参数如helpTrue来返回说明。

python编辑tool def pdf_fill_form( input_pdf: str , fields: str , output_pdf: str , help: bool False ) - str: 填充 PDF 表单 if help: return

使用方法 - input_pdf: 源 PDF 路径 - fields: 字符串格式的字段字典 - output_pdf: 输出路径 示例{input_pdf: a.pdf, fields: {name: 李四}, output_pdf: b.pdf} # 正常执行逻辑...⚠️ 缺点污染函数签名且 LLM 可能忘记传helpTrue。

方法三用 Sub-Agent 实现“技能域隔离”为每个复杂技能创建一个专用子 Agent它的 System Prompt 就是“详细说明书”。

python编辑# 主 Agent 只知道有个 pdf_agent 能处理 PDF # 当收到 PDF 任务主 Agent 把请求转发给 pdf_agent # pdf_agent 的 prompt 里已经包含了完整流程说明这样详细信息只在子 Agent 的上下文中出现主 Agent 的上下文保持干净。

✅ 这是 LangChain Deep Agents / CrewAI 的常用模式。

方法四动态构造 Prompt高级在运行时根据用户输入关键词动态拼接详细说明到 System Prompt。

python编辑def build_system_prompt(user_input: str) - str: base 你是一个助手。

if pdf in user_input.lower(): base \n\n【PDF 处理指南】\n

先提取字段...\n

再填充... elif 财报 in user_input.lower(): base \n\n【财报分析流程】... return base⚠️ 缺点无法利用 Tool Calling 的结构化优势LLM 可能忽略长文本。

总结是否需要SKILL.md表格场景是否需要SKILL.md推荐方案简单工具如天气查询❌ 不需要直接写好description多步复杂流程❌ 不必须用get_tool_instructions工具团队协作 非程序员维护说明✅ 可考虑用SKILL.mdread_file安全受限环境禁用文件读取❌ 不能用用代码内嵌说明或 Sub-Agent追求最大 token 效率✅ 可选动态加载无论来自文件或变量 最佳实践建议优先将“技能说明”作为数据字符串管理在代码或配置中而非外部文件。

只有当说明内容频繁变更、由非开发人员维护、或非常庞大时才考虑用SKILL.md。

这样你既能享受渐进式披露的好处又保持系统的简洁性、可测试性和部署便利性。

如果你希望我可以帮你把前面的SkillRegistry改造成纯内存版无文件依赖。

需要吗

免费版9.1免费版-免费版9.1免费版应用

百度百家号客服电话人工服务

123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123