
LLMLLM 有两种常见含义一是大型语言模型Large Language Model属于人工智能领域二是法学硕士Master of Laws属于留学教育领域 。大型语言模型是什么核心定义LLM 是使用大量文本数据训练的深度学习模型能生成自然语言文本或理解语言含义 。技术特点基于 Transformer 架构采用自注意力机制处理文本序列。参数量庞大从数十亿到数万亿不等训练数据来自互联网、维基百科等海量资源。能完成问答、翻译、摘要、代码生成等多种任务。常见模型GPT 系列OpenAI 推出GPT-4 支持语言、图像多模态。DeepSeek 系列中国公司开发2026 年推出 V4 家族支持 100 万 token 上下文窗口。其他主流模型ClaudeAnthropic、LlamaMeta、GeminiGoogle等。SDD工程SDDSpecification-Driven Development规格驱动开发是AI 时代以规格文档为核心的软件开发范式先定义结构化规格再由 AI 生成代码 。核心理念规格作为单一真相源人类定义意图AI 负责执行。开发流程需求分析→规范编写→评审→AI 生成代码→测试验证。代表工具GitHub spec-kit、Kiro、Tessl 等。与 TDD/BDD 区别TDD 关注测试、BDD 关注行为SDD 关注系统级架构契约。需要我帮你对比SDD与TDD/BDD在适用场景上的核心差异吗可以帮你快速判断哪种方法更适合你的项目类型。规范驱动开发是构建严肃应用的最佳工作流Markdown规范用ai写前端后端和agent开发区别是什么用AI写前端/后端和做Agent开发核心区别在于工作目标和代码逻辑完全不同前端后端是“接收指令→返回数据”Agent开发是“接收目标→自主拆解→调用工具→完成闭环→记忆优化”。简单说AI写前端后端是辅助你更快地完成传统开发而Agent开发是让AI自己当“员工”去完成任务你给它一个目标它自己规划步骤、调用工具、处理反馈直到干完活。 核心区别AI写代码 vs Agent开发表格维度用AI写前端/后端Agent开发核心目标生成页面、接口、业务逻辑代码提高开发效率构建一个能自主决策、执行复杂任务的智能系统工作方式你给指令需求AI生成代码你来审查和修改你给目标Agent自己拆解任务、调用工具、根据结果调整下一步代码逻辑传统项目接收请求→处理→返回数据Agent项目接收目标→拆解→调工具→看结果→再决策→完成关键模块前端页面交互、后端业务逻辑/数据决策模型LLM、工具调用、记忆机制、状态管理衡量指标代码质量、性能、延迟任务完成率、决策准确性、适应性 具体场景对比1. 传统前端/后端开发用AI辅助比如做一套订单系统逻辑是固定的用户下单 → 检查库存 → 扣库存 → 生成订单 → 调支付 → 返回结果。你用AI比如Deepseek、Cursor能快速生成这些代码但业务流程、数据表结构、异常处理都是你自己设计好的AI只是帮你“敲代码”。2. AI应用开发把大模型嵌入产品比如在APP里加一个智能客服核心是把大模型的对话能力接到你的产品里。工作重点在于怎么调API、怎么处理流式输出、怎么设计Prompt让应用“变聪明”。3. Agent开发让AI自己干活比如做一个“自动修Bug的Agent”你告诉它“帮我修复这个Bug”它会自己读取代码、搜索相关文件、修改代码、运行测试。如果测试失败它会读报错、重新判断问题、决定下一步。这个“决策→行动→反馈→再决策”的闭环就是Agent和普通接口调用的本质区别。⚠️ 容易踩的坑会调API ≠ 会做Agent很多人以为Agent开发就是调大模型API加提示词这是个很大的误解。真正的Agent核心是自主性——能根据目标自己决定下一步做什么而不是你预先写好每一步。Agent开发不一定更简单对干过几年前后端的老手来说Agent开发可能只是多调几个API但对新手来说要搭建整套Agent体系、理解底层算法模型难度不小通常要付出5-6个月的学习时间。 职业选择建议如果你是有经验的前后端开发者转Agent开发其实是最近的路你懂API设计Agent本质就是给大模型接工具、懂系统架构任务编排、状态管理、并发控制、懂工程化部署、监控、稳定性这些都是Agent落地的关键能力。 现在市场对AI应用开发的需求增长很快字节等大厂校招也开始设“AI Agent开发”和“AI全栈工程师”岗位了。Agent开发需要理解闭环机制可以看看闭环具体怎么实现?或者决策模型选哪个更好?Agent开发需要哪些核心技能Agent开发的核心技能不是零散的API调用而是一套围绕“让智能体稳定完成真实业务闭环”构建的完整能力体系覆盖从基础理论到生产落地的全链路。 基础核心能力大模型底层认知精通LLM核心参数Token、上下文窗口、温度采样、函数调用、结构化输出清晰掌握不同模型的能力边界能根据任务场景选择推理模型、轻量模型或Embedding模型组合 。编程语言与后端基础熟练使用Pythonasyncio异步、异常处理作为主力开发语言掌握FastAPI接口开发、SSE流式输出、Docker容器化等基础能力TypeScript/Go可作为高并发场景的加分项 。Agent经典范式理解吃透ReAct、Plan-and-Execute、Self-Reflection反思、分层记忆短期上下文/长期向量记忆、多智能体协作等核心范式建立“设计智能体而非写死程序”的思维模式 。️ 专项核心技能任务拆解与工作流设计把复杂业务目标拆分为带验证节点的分步流程设计带条件分支、异常回退、人工介入的非线性格式避免Agent出现跳步、漏步、误判等失效问题 。提示与上下文工程从“写单条提示词”升级为构造稳定上下文环境掌握角色定义、输入归一、上下文裁剪、输出约束等技巧保障同类任务的Agent行为路径可复现、不漂移 。RAG与知识工程完整掌握文档解析、切片策略、混合检索、Rerank重排序、引用追踪、知识权限过滤全链路能基于企业内部文档构建高可用的知识库Agent 。工具调用与MCP协议精通传统Function-Calling的参数定义、异常重试掌握2026年主流的MCP模型上下文协议开发实现工具一次开发、多Agent复用解决跨系统对接碎片化问题 。Agent框架实操以工业首选的LangGraph为核心掌握状态管理、分支循环、持久化等核心能力能自定义节点和工具处理复杂业务而非仅复制Demo代码AutoGen、CrewAI等可作为多智能体场景补充 。Skill技能包开发将业务SOP沉淀为标准化Skill模块包含触发条件、执行步骤、重试降级、终止条件等规则让Agent处理同类任务时输出稳定、可复用避免重复编写Prompt 。 生产落地核心能力企业级治理能力覆盖权限控制、版本管理、审计日志、链路追踪、成本监控等环节打造可解释、可追踪、可控制的非黑盒Agent满足企业上线要求 。评测与安全治理建立全链路效果评测体系通过Prompt注入防护、参数校验、权限最小化等手段控制Agent错误成本避免幻觉、越权等风险导致业务事故 。可观测性与调试实现Agent全链路追踪可视化展示其思考过程、工具调用日志、Token开销快速定位规划失败、工具报错等问题从Demo级项目迭代为稳定运行的生产系统 。需要我为你整理一份Agent开发从0到1的实战学习路线吗帮你快速从基础入门到能落地企业级项目。Agent开发从0到1的实战学习路线这份Agent开发从0到1的实战路线完全避开零散教程的无效学习按「入门筑基→进阶工程化→生产级落地」的递进节奏设计每一步都有明确可落地的产出帮你从跑通Demo到交付企业级项目。 第一阶段入门筑基1-2周—— 快速搭建第一个可用Agent核心目标是建立Agent的基础认知跑通完整的智能闭环零基础也能快速上手。LLM调用工程掌握结构化系统提示、少样本示例、思维链引导三类核心Prompt技巧吃透Function Calling的完整闭环用LiteLLM做模型统一封装屏蔽不同厂商接口差异 。基础通信能力吃透REST/HTTP协议掌握SSE流式输出实现打字机效果提前了解2026年主流适配的MCP模型上下文协议实现工具一次开发多Agent复用 。入门框架选型零基础选Dify/Coze可视化拖拽快速验证业务想法有代码基础直接上手LangChain不用从零造轮子就能快速做出可用Demo 。阶段产出一个能自主查询天气、调用本地文件的极简Agent完整实现「用户提问→工具调用→结果返回」的闭环。️ 第二阶段核心能力进阶1-2个月—— 掌握五大Agent核心技术这一阶段是从“会跑Demo”到“能做项目”的关键覆盖Agent开发的五大核心支柱能力。RAG全链路开发完整掌握文档解析、智能切片、向量检索、Rerank重排序、引用追踪全流程能基于企业内部文档搭建高可用知识库Agent这是求职时最有竞争力的实战项目 。工具与记忆体系把内部API、数据库查询封装成标准化工具函数设计分层记忆机制——短期用对话历史缓存、长期用向量数据库存储突破大模型上下文窗口限制 。经典范式落地吃透ReAct推理-行动、Plan-and-Execute任务规划、Self-Reflection反思等经典架构模式能根据不同业务场景灵活选型不再靠零散Prompt拼接脆弱逻辑 。状态与框架精通深入学习LangGraph的状态管理、分支循环、持久化核心能力用状态机管理Agent的任务进度解决传统线性Chain无法处理复杂分支的问题 。阶段产出一个完整的企业内部文档问答RAG Agent支持多格式文档上传、精准检索、来源标注可直接放进求职作品集。 第三阶段工程化与生产落地2-3个月—— 打造企业级可用Agent这一阶段跨越Demo到生产的工程化天堑解决高并发、异常兜底、稳定性等真实业务痛点也是市场上最稀缺的能力。Harness驾驭工程体系搭建完整的Agent控制框架包含系统提示词宪法、工具权限管控、安全沙箱、全链路监控六大模块把“不可控的大模型”驯化为“按规则执行的智能体” 。软件工程能力补全掌握Agent的容错降级策略、超时控制、异常重试机制实现全链路推理过程可视化追踪能快速定位规划失败、工具报错等问题 。向量数据库工程化熟练使用Milvus/Qdrant等生产级向量库掌握索引优化、分片部署、高可用集群搭建解决百万级以上文档的检索性能问题 。多智能体协作基于AutoGen/CrewAI实现多角色分工系统比如让“产品Agent”拆解需求、“开发Agent”写代码、“测试Agent”自动校验结果完成复杂多步骤任务 。阶段产出一个支持高并发、带完整权限和审计体系的生产级业务Agent比如自动处理员工报销、智能客服理赔等真实场景系统。 第四阶段职业能力升级长期—— 成为资深Agent工程师安全与治理体系建立Prompt注入防护、输出内容审核、权限最小化机制搭建完整的Agent效果评测体系把幻觉率、错误率控制在企业可接受范围内 。成本与性能优化实现大模型推理加速、Token动态裁剪、冷热记忆分层存储把Agent的运行成本降低一个数量级满足大规模业务部署要求。架构设计能力能主导复杂多智能体系统的架构设计结合微服务、事件驱动架构支撑企业级大规模Agent集群的稳定运行成为团队核心技术负责人。需要我为你整理一份每个阶段对应的实战项目清单和免费学习资源吗帮你直接照着动手练快速积累能写进简历的项目经验。function calling基础:回定义工具schema并让模型调用Function Calling 的核心流程分为三步定义工具 Schema、模型生成调用指令、应用执行并回传结果。1. 定义工具 Schema使用 JSON Schema 描述函数名称、功能及参数约束确保模型能准确理解并生成合法参数。python tools [ { type: function, function: { name: get_current_weather, description: 获取指定城市的当前天气, parameters: { type: object, properties: { location: { type: string, description: 城市名称如北京、上海 }, unit: { type: string, enum: [celsius, fahrenheit], description: 温度单位 } }, required: [location] # 必填参数 } } } ]2. 发起请求与解析调用将tools传入 API 请求。若模型决定调用返回的tool_calls中包含函数名和参数字符串需 JSON 解析。python import json from openai import OpenAI client OpenAI(api_keyyour-api-key) # 第一次请求让模型决定是否调用工具 response client.chat.completions.create( modelgpt-3.5-turbo, # 或 qwen-plus, deepseek-chat 等支持 FC 的模型 messages[{role: user, content: 北京今天天气怎么样}], toolstools, tool_choiceauto # 自动判断是否调用 ) message response.choices.message tool_calls message.tool_calls # 检查是否有工具调用 if tool_calls: for tool_call in tool_calls: func_name tool_call.function.name func_args json.loads(tool_call.function.arguments) # 解析参数字符串为字典 print(f调用函数: {func_name}, 参数: {func_args}) # 执行实际函数 (示例) if func_name get_current_weather: result get_current_weather(**func_args) # 第二次请求将结果回传给模型生成最终回答 messages [ {role: user, content: 北京今天天气怎么样}, message, # 包含 tool_calls 的助手消息 { role: tool, tool_call_id: tool_call.id, # 必须对应上一次的 call id content: json.dumps(result) # 工具执行结果 } ] final_response client.chat.completions.create( modelgpt-3.5-turbo, messagesmessages ) print(final_response.choices.message.content)3. 关键注意事项角色对应回传结果时消息角色必须是tool且必须携带tool_call_id以匹配对应的调用请求 。参数校验模型生成的参数可能不符合预期建议在本地执行前进行类型和范围校验 。安全边界模型仅生成调用意图实际执行由应用层控制敏感操作如删除数据需在代码层增加权限验证 。工具调用流程清楚了要不要再看看如何定义多个工具的 Schema?或者参数校验具体怎么实现?如何定义工具schema并让模型调用定义工具 Schema 并让模型调用Function Calling / Tool Use的核心在于建立一套结构化契约将自然语言意图转化为可执行的代码指令。整个过程分为“定义规范”、“发起调用”和“结果回传”三个关键阶段。以下是完整的实现指南1. 核心概念什么是 Tool SchemaTool Schema 是给大模型看的“接口说明书”通常遵循 JSON Schema 标准。它不是给程序员看的 API 文档而是为了约束模型的输出使其生成符合系统要求的结构化数据。一个标准的 Schema 包含三个核心要素Name (名称)唯一标识建议使用snake_case如get_weather动词名词结构避免歧义。Description (描述)最关键的部分。用自然语言清晰说明工具的功能、适用场景以及何时不该使用。描述越精准模型选择工具的概率越高。Parameters (参数)定义输入参数的类型、必填项、枚举值等约束。2. 第一步定义工具 Schema以下是一个获取天气工具的 Schema 定义示例。注意description和enum的使用这能显著降低模型出错率。python tools [ { type: function, function: { name: get_current_weather, description: 获取指定城市的当前天气状况。当用户询问温度、是否下雨、天气冷暖时使用。, parameters: { type: object, properties: { location: { type: string, description: 城市名称例如北京、上海、深圳 }, unit: { type: string, enum: [celsius, fahrenheit], description: 温度单位默认为摄氏度(celsius) } }, required: [location] # 明确告知模型哪些参数必须提供 } } } ]设计最佳实践边界清晰在 description 中写明“仅用于...”防止模型误用。约束明确对于有限选项参数如单位、状态务必使用enum限制避免模型生成非法字符串。扁平化结构尽量保持参数层级扁平嵌套过深会增加模型解析难度。3. 第二步发起请求与解析调用将定义好的tools传入 API 请求。模型会根据用户问题判断是否需要调用工具。如果需要它会返回一个特殊的tool_calls对象而不是直接回答文本。python import json from openai import OpenAI client OpenAI(api_keyyour-api-key) # 1. 第一次请求发送用户问题和工具定义 messages [{role: user, content: 北京今天天气怎么样}] response client.chat.completions.create( modelgpt-4o, # 或 gpt-3.5-turbo, qwen-plus 等支持 FC 的模型 messagesmessages, toolstools, tool_choiceauto # auto: 自动判断; required: 强制调用; none: 禁止调用 ) message response.choices[0].message tool_calls message.tool_calls # 2. 检查模型是否决定调用工具 if tool_calls: print(模型决定调用工具...) for tool_call in tool_calls: func_name tool_call.function.name # 注意arguments 是 JSON 字符串需要解析为字典 func_args json.loads(tool_call.function.arguments) print(f函数名: {func_name}) print(f参数: {func_args}) # 3. 执行实际业务逻辑 if func_name get_current_weather: weather_data get_current_weather_real_api(**func_args) # 4. 构造回传消息 # 必须保留原始助手消息包含 tool_calls并追加 tool 角色的结果 messages.append(message) messages.append({ role: tool, tool_call_id: tool_call.id, # 关键必须与调用的 ID 对应 content: json.dumps(weather_data) # 工具执行结果 }) # 5. 第二次请求将结果回传给模型生成最终自然语言回答 final_response client.chat.completions.create( modelgpt-4o, messagesmessages ) print(最终回答:, final_response.choices[0].message.content) else: # 模型认为不需要调用工具直接回答 print(直接回答:, message.content)4. 第三步关键注意事项A. 消息角色的严格对应在第二轮对话中回传工具结果时消息角色必须是role: tool且必须携带tool_call_id。这个 ID 是模型在第一轮响应中生成的用于将“问题”与“答案”配对。如果 ID 不匹配或缺失模型可能会产生幻觉或报错。B. 并行调用处理如果用户问“北京和上海的天气如何”模型可能在一次响应中返回多个tool_calls。处理方式遍历所有tool_calls并行执行各个函数提高速度然后将所有结果分别以role: tool的消息形式追加到消息列表中最后再发起一次模型请求。C. 安全与校验不要信任模型参数模型生成的参数可能不符合预期例如 location 传入了 SQL 注入语句。在执行真实函数前务必在代码层进行参数校验和清洗。敏感操作保护对于删除、支付等敏感工具建议在 Schema 描述中增加限制并在代码执行层增加二次确认或权限验证。D. 调试技巧如果模型不调用工具或参数错误优化 Description检查描述是否过于简略是否明确了触发条件。增加 Examples虽然标准 JSON Schema 不支持 examples 字段直接传给所有模型但在description中写入示例如“城市名称例如北京”通常有效。检查 Required确保必填参数在required数组中声明否则模型可能会遗漏关键信息。通过这套流程你可以让大模型从单纯的“聊天机器人”进化为能够操作外部系统、获取实时数据的“智能 Agent”。python异步Python 异步编程是使用 async/await 语法配合 asyncio 标准库让程序在等待 I/O 操作时能同时处理其他任务适合网络请求、文件读写等 I/O 密集型场景。基础概念和语法核心关键字async 定义异步函数await 暂停等待结果调用 async 函数返回协程对象而非直接执行 。运行方式使用 asyncio.run() 启动事件循环并执行主协程Python 3.7 推荐使用 。协程与任务区别协程对象async def 函数调用后得到不能直接运行需 await 或任务驱动。任务对象用 asyncio.create_task() 包装协程可被事件循环调度、跟踪状态、支持取消。并发执行asyncio.gather() 可并发执行多个协程并等待全部完成 。事件循环工作原理核心作用事件循环是异步编程的调度员在单线程中管理所有协程的执行顺序 。工作流程维护任务队列调度协程执行。协程遇到 await 时挂起事件循环去执行其他任务。I/O 操作完成后唤醒对应协程继续执行。底层机制使用 I/O 多路复用如 Linux epoll、macOS kqueue、Windows IOCP监控文件描述符避免线程阻塞和频繁上下文切换 。避免阻塞不要在协程中使用 time.sleep() 等同步阻塞操作应使用 asyncio.sleep()否则会阻塞整个事件循环 。实际应用场景适用场景网络请求API 调用、爬虫。数据库查询。文件读写。其他 I/O 密集型操作。不适用场景CPU 密集型任务如科学计算、视频编码异步无法提升性能GIL 限制下应使用多进程 。性能对比3 个各需 2 秒的 API 请求同步执行约 6 秒异步并发执行约 2 秒 。与多线程区别多线程受 GIL 限制纯 Python 代码无法真正并行。异步在 I/O 等待时释放控制权单线程高效管理成千上万协程。异步避免线程上下文切换开销更适合高并发 I/O 场景。需要我帮你整理在异步协程中避免阻塞的替代方案吗比如用asyncio.sleep替代time.sleep可以帮你写出更高效的异步代码。