AI核心概念解析:Agent、Prompt、Skill 及生态关系

张开发
2026/4/12 18:32:30 15 分钟阅读

分享文章

AI核心概念解析:Agent、Prompt、Skill 及生态关系
AI核心概念解析Agent、Prompt、Skill 及生态关系一、关键名词正确定义与原理1.Agent智能体指具备感知—决策—行动闭环能力的自主软件实体。它不是单个模型而是一个系统架构接收输入如用户指令、调用工具API/代码/检索、推理规划常基于LLM、执行并迭代反馈。✅ 正确理解Agent LLM大脑 Tool Use手脚 Memory记忆 Planner导航仪2.Prompt提示是向大语言模型LLM传递任务意图的结构化文本输入。它不改变模型权重但显著影响输出质量与可控性。高级 Prompt 技术包括Zero-shot / Few-shot promptingChain-of-Thought (CoT)激发逻辑推理链如“135 ÷ 9 ? 135 \div 9 ?135÷9?→ 先想9 × 15 135 9 \times 15 1359×15135所以答案是15 1515”ReActReason Act交替生成推理步骤与工具调用动作。3.Skill技能在 Agent 架构中Skill 指可复用、可组合的原子能力模块例如web_search(query: str) → List[str]python_interpreter(code: str) → strsend_email(to, subject, body)Skill 是 Agent 实现“做事情”的工程载体通常封装为函数或工具接口。4. OpenDevinOpenDevin / OpenHands开源的自主软件工程师 Agent 框架支持代码仓库级任务执行✅ 本文后续示例将采用OpenDevin活跃、文档完善、支持Skill抽象作为 Agent 生态代表兼顾教学性与真实性。二、关系图谱触发与引导生成规划与调用指令按需调度按需调度按需调度返回结果返回结果返回结果整合结果→生成自然语言响应PromptLLMAgentSkill 1web_searchSkill 2code_execSkill 3file_read 核心关系Prompt 是 Agent 的“启动钥匙”和“操作手册”Agent 是 Skill 的“指挥官”与“编排引擎”Skill 是 Agent 能力的物理落地Prompt 决定 Agent 如何调用它们。三、实战示例用 Python 模拟简易 Agent Skill 工作流以下代码实现一个能自动解数学题并验证答案的轻量 Agent无需外部依赖纯 Pythonimportreimportast# Skill 1执行安全 Python 表达式仅计算defsafe_eval(expr:str)-float:白名单限制的 eval防注入allowed_nodes(ast.Expression,ast.BinOp,ast.UnaryOp,ast.Num,ast.Constant,ast.USub,ast.UAdd,ast.Add,ast.Sub,ast.Mult,ast.Div,ast.Mod)try:nodeast.parse(expr,modeeval)ifnotall(isinstance(n,allowed_nodes)forninast.walk(node)):raiseValueError(Unsafe expression)returnfloat(eval(compile(node,string,eval)))except:raiseValueError(fCannot evaluate:{expr})# Skill 2从 Prompt 中提取数学表达式正则defextract_expression(prompt:str)-str:# 匹配类似 计算 3 * (7 2) 或 求 150 ÷ 6 的值patterns[r计算\s([^\。\n]?)[。\n],r求\s([^\。\n]?)\s的值,r(\d\s*[\\-\*\/\%]\s*\d(?:\s*[\\-\*\/\%]\s*\d)*)]forpinpatterns:mre.search(p,prompt)ifm:exprm.group(1).replace(×,*).replace(÷,/).replace( ,)returnexprreturn# Agent 主流程模拟 LLM 规划 Skill 调用defmath_agent(prompt:str)-str:try:exprextract_expression(prompt)ifnotexpr:return❌ 未识别出数学表达式请使用如‘计算 12 8’格式。resultsafe_eval(expr)# 模拟 LLM 生成自然语言回答即 Prompt 的“输出端”answer_promptf用户问{prompt}\n计算得${result}$。请用中文完整回答。# 简化版——直接构造回复真实 Agent 会调用 LLM APIreturnf✅ 我帮您计算了{expr} ${result}$exceptExceptionase:returnf⚠️ 计算失败{str(e)}# ✅ 测试用例if__name____main__:print(math_agent(计算 3 × (7 2)))# ✅ 输出3 × (7 2) $27.0$print(math_agent(求 135 ÷ 9 的值))# ✅ 输出135 ÷ 9 $15.0$print(math_agent(今天的天气如何))# ❌ 不含表达式 运行效果✅ 我帮您计算了3*(72) $27.0$ ✅ 我帮您计算了135/9 $15.0$ ❌ 未识别出数学表达式请使用如‘计算 12 8’格式。 关键设计解析Prompt是输入字符串如计算 3 × (7 2)驱动整个流程Agent是math_agent()函数——它解析 Prompt、决策调用哪个 Skill、整合结果Skills是extract_expression和safe_eval——专注单一职责、可独立测试与替换若升级为真实系统math_agent内部会调用 OpenAI API 或本地 Llama3用 ReAct 格式让 LLM 输出 JSON 规划如{action: safe_eval, value: 3*(72)}再由 Agent 解析并 dispatch。四、延伸建议进阶学习路径方向推荐资源 动手构建 AgentOpenDevin GitHub支持 VS Code 插件真跑 GitHub 仓库级任务 Prompt 工程《Prompt Engineering Guide》lamini.ai 免费开源 HuggingFacetransformerspipeline()高级用法⚙️ Skill 封装规范LangChain Tools / LlamaIndex Function Calling / MCPModel Context Protocol标准草案

更多文章