ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

AI Effect下的工程化实践:Agent开发、模型部署与幻觉治理

AI Effect下的工程化实践:Agent开发、模型部署与幻觉治理 我平时很少用一个词来概括一整年的技术风向但如果非要从最近各大社区、招聘 JD 和开源仓库里提炼出一个共同关键词那一定是“AI Effect”。这个说法不是某个模型的名称也不是某个框架的版本号它更像是一种正在发生的工程效应AI 已经从论文里的指标、发布会上的演示全面渗透到编程、部署、运维、产品设计甚至团队协作的每一个环节。很多开发者现在的真实状态是一边被 Cursor、AI Agent、本地模型部署这些新工具冲得眼花缭乱另一边又在生产环境里被 AI 幻觉、模型选型、GPU 资源调度这些现实问题反复折磨。朋友圈里到处是“AI 编程效率翻倍”的分享可真到自己接入时却连一个稳定的 Agent 工作流都跑不通。这篇文章想做的就是把这股“AI Effect”拆开来看它到底改变了哪些技术环节哪些能力是真实可用且有长期价值的哪些只是短期噪音以及作为开发者我们应该沿着什么路径把这波技术红利真正落到自己的项目里。我会从 AI Agent 开发、本地模型部署、AI 编程工具、幻觉治理、Spring AI 工程集成这几个方向展开全程带可落地的代码、配置和排错思路尽量不给“正确废话”。1. 从“能用”到“好用”AI Effect 到底改变了什么先下一个判断AI Effect 的核心不是某个模型突然变聪明了而是 AI 能力的供给方式发生了结构性变化。过去三年我们讨论的是“模型效果”比如某个榜单上准确率提升了几个点而今天大家讨论的是“模型怎么被集成进业务系统”比如怎么让 Agent 稳定调用工具怎么把私有知识库接进对话流程怎么在预算内完成推理服务。技术讨论的重心正在从“能不能做”转向“怎么做好”。这个转变对开发者的直接影响是AI 不再是算法工程师的专属领域而是普通后端、前端、测试甚至运维工程师都需要面对的基础设施。就像十年前数据库是每个 Web 开发者的必修课今天“会调用模型、会设计 Prompt、会搭 Agent 工作流、会评估模型输出质量”正在成为通用工程能力的一部分。从热词趋势也能看出来像“AI Agent 开发”“本地部署 AI”“AI 模型部署”“AI 工程实践”这类词的热度已经远远超过了单纯讨论模型参数的帖子。这说明社区的主流情绪已经从“围观”转向“上手”。所以理解 AI Effect 的关键不在于追逐最新模型的名字而在于掌握一套围绕模型构建应用的方法论。接下来的内容我会把这套方法论拆成几个模块Agent 怎么设计、模型怎么部署、编程工具怎么用、幻觉怎么防、Java 项目怎么接入。这些模块组合在一起才是完整的 AI 工程化视角。2. 从 Prompt 到 AgentAI 应用开发的范式转移如果说 2023 年到 2024 年上半年主流 AI 应用还停留在“Prompt 大模型”的问答模式那么 2024 年下半年开始AI Agent 已经成了更受关注的开发范式。所谓 Agent英文原意是“代理”在技术语境里它指的是一个能够感知环境、做出决策并执行行动的 AI 系统。和传统 ChatBot 最大的区别是Agent 不只是“说话”它还能“做事”比如查数据库、调用 API、读写文件、操作浏览器甚至调度其他模型。从工程角度看Agent 的本质是一个“基于大模型做决策的控制循环”。这个循环通常包含四个步骤感知理解用户请求和当前上下文、规划拆解任务、决定调用什么工具、执行调用外部函数或实体的动作、反思根据执行结果调整下一步。这套循环之所以能成立是因为大模型在语义理解、意图识别、工具选择方面已经达到了可用水平但与此同时它也引入了新的工程复杂度模型会选错工具怎么办工具执行出错怎么传给模型多步任务中途失败如何恢复这些都是普通 CRUD 开发中没有遇到过的问题。这里我给出一个务实的判断如果你的业务场景只是“知识问答”那直接用 Prompt RAG 就足够成熟了但如果你需要 AI 自动完成跨系统的任务比如自动整理报销单并提交审批或者根据日志自动定位故障根因那 Agent 几乎是必然选择。Agent 不是银弹它适合的是“决策路径清晰、但步骤繁琐”的任务而不是“需要强创造力或严格规则保证”的任务。2.1 一个最小 Agent 工作流的代码示意下面的代码展示了一个最简的 Agent 工作流模型先生成意图然后根据意图决定调用哪个工具。这个示例使用 Python 和假的 LLM 调用占位重在展示循环结构。# 文件路径agent_demo/mini_agent.py # 说明这是一个最小 Agent 工作流示例假设 LLM 调用已封装在 llm_complete() 中 import json def llm_complete(prompt: str) - str: # 实际项目中这里会调用 OpenAI、Ollama 或云端模型 # 此处仅返回一个模拟结果用于演示流程 return {intent: get_weather, city: 杭州} def get_weather(city: str) - str: # 模拟天气查询工具 return f{city} 今日晴气温 18~24℃ def run_agent(user_input: str): # Step 1: 感知并规约意图 llm_response llm_complete( f请判断用户意图输出 JSON包含 intent 和参数。用户说{user_input} ) action json.loads(llm_response) # Step 2: 根据意图执行工具 if action[intent] get_weather: result get_weather(action[city]) else: result 暂不支持该意图 # Step 3: 把结果返回给模型生成自然语言回答此处简化 print(result) if __name__ __main__: run_agent(杭州今天适合出门吗) # 预期输出杭州 今日晴气温 18~24℃这个示例虽然简短但已经包含了 Agent 最核心的骨架。你可以在llm_complete中换成真实的模型调用再为不同业务编写对应的工具函数就可以扩展成一个可用系统。很多开源 Agent 框架比如 LangChain、LlamaIndex本质上就是在这个循环上增加了记忆管理、工具注册、错误重试等机制。2.2 设计 Agent 最容易踩的三个坑第一工具描述不清晰。模型是靠函数名和描述来决定调用哪个工具的如果你的工具描述写得含糊比如只写“查询信息”模型很可能在多个工具之间犹豫甚至选错。好的工具描述应该包含这个工具做什么、什么场景下用、参数含义是什么、返回什么格式。第二不考虑重试和回退。Agent 执行环境不是理想实验室API 可能超时、数据库可能锁表、参数可能不合法如果不做异常捕获和重试一个半小时的任务很可能因为某一步失败就整体中断。第三忽视成本控制。Agent 每一步都要调用模型一个复杂任务可能产生几十次甚至上百次推理请求如果没有预算上限和 Token 监控月底账单会让你怀疑人生。从实践看更稳妥的做法是先固定任务范围把 Agent 限制在某个垂直场景里跑通后再逐步放开边界。让 Agent 在一个大而全的开放式系统里自由发挥其实是一种高风险设计。3. 从云端到本地模型部署与自托管路线不只是 Agent 本身AI Effect 还在改变模型的交付方式。以前聊大模型默认都是调用云端 API但现在“本地部署 AI”成了一个高频热词不少团队开始尝试把开源模型跑在自己的服务器、工作站甚至笔记本上。原因不外乎几个数据隐私要求、离线环境约束、长期推理成本以及不想被单一厂商绑定。本地部署最常用的工具之一是 Ollama。它把模型下载、量化、运行封装成了极简命令行让 GPU 资源有限的中小型团队也能快速跑起一个对话助手。从热词里也能看到很多人在问“AMD Ryzen AI 9 HX 370 如何让 Ollama 使用 GPU 运行”这其实反映了本地部署的两个关键问题一是模型推理能不能用上 GPU二是不同硬件平台如何配置异构计算。3.1 Ollama 本地部署基础流程在 Linux 服务器或 Windows WSL 环境中安装并启动 Ollama 的基础命令如下# 安装Linux / macOS curl -fsSL https://ollama.com/install.sh | sh # 启动服务默认监听 11434 端口 ollama serve # 拉取一个适合本地运行的模型这里以 qwen2.5:7b 为例 ollama pull qwen2.5:7b # 通过命令行对话 ollama run qwen2.5:7b 请介绍一下 AI Agent 的架构拉取模型后Ollama 会自动完成模型格式转换和加载。对于大多数 16GB 显存的消费级显卡7B 参数的量化模型如 Q4_K_M是性价比比较高的选择如果显存只有 8GB可以考虑 3B 或 4B 模型。显存不足时模型会退回到 CPU 推理速度会明显下降这是判断“是否用上了 GPU”最直观的体感指标。3.2 让 Ollama 优先使用 GPU 的常见配置如果你使用的是 NVIDIA GPU通常安装好驱动和 CUDA 后Ollama 会自动检测并启用 GPU。但如果你用的是 AMD GPU尤其是较新的 Ryzen AI 系列 APU配置路径会复杂一些。一般来说需要确保 ROCm 或相关驱动已安装然后通过环境变量或配置让 Ollama 识别 Vulkan/ROCm 后端。不同版本的 Ollama 支持情况不同建议以官方文档为准不要盲目照搬网上过时的配置。一个务实的建议是本地部署的目的往往是验证模型效果、做数据脱敏的推理而不是追求极致的吞吐量。所以不要一上来就追求跑一个大参数的满血模型先让一个小模型在你自己的环境里稳定跑起来再评估效果。硬件的升级是加分项但工程思路的简化才是真正决定成败的部分。3.3 本地模型调用与 OpenAI 兼容接口从工程角度看Ollama 最有价值的设计是提供了 OpenAI 兼容的 HTTP 接口。这意味着你在本地跑起的模型可以直接用openaiPython SDK 或者任何兼容 OpenAI 协议的客户端来调用业务代码从云端切到本地往往只需要改一个base_url。# 文件路径llm_demo/ollama_client.py # 前提本机已通过 ollama serve 启动服务并已拉取 qwen2.5:7b from openai import OpenAI client OpenAI( base_urlhttp://localhost:11434/v1, api_keyollama # 本地服务不校验 key但接口格式需要 ) response client.chat.completions.create( modelqwen2.5:7b, messages[ {role: system, content: 你是一个擅长解释技术的助手。}, {role: user, content: 请用三句话解释什么是 RAG} ], temperature0.7 ) print(response.choices[0].message.content)这段代码的运行前提是 Ollama 服务正常启动并且qwen2.5:7b模型已经拉取。如果运行时报连接错误先检查 11434 端口是否监听如果报模型不存在检查ollama list的输出是否包含对应模型名。这种“先本地验证、再云端扩展”的模式是很多团队采用的降本路线。4. AI 编程工具开发效率提升的真相与边界如果说 Agent 和模型部署是后台基础设施那么 AI 编程工具就是开发者每天都能直接触碰到的 AI Effect 前端。以 Cursor 为代表的 AI 编程助手已经不只是“自动补全”而是深入到多文件修改、代码解释、测试生成、Bug 修复等完整开发流程。很多团队甚至开始把 AI 编程能力纳入日常研发流程作为代码质量检查的前置环节。但这里我想说一个容易被忽略的判断AI 编程工具提升的主要是“已知模式下的编码速度”而不是“方案设计能力和代码审查能力”。它可以快速帮你写一个 Spring Boot 的 Controller、生成一个 Python 数据处理脚本、补全单元测试模板这些是过去的“重复劳动”现在 AI 比你快得多。但如果你本身的架构设计是错的或者对业务需求理解有问题AI 只会帮你更快地写出一堆风格统一但方向错误的代码。这也是为什么经常会有人觉得“AI 写的代码有问题”问题往往不在 AI 生成的代码质量而在于输入给 AI 的上下文和约束不够完整。4.1 高效 AI 编程提示词的结构想从 AI 编程工具里获得稳定高质量的结果提示词至少应包含以下几个部分任务背景你要解决什么问题当前项目的技术栈是什么。输入材料相关代码片段、接口文档、错误日志。输出要求文件位置、语言风格、是否要写单元测试、是否需要异常处理。约束条件不要引入新依赖、不要改动其他模块、兼容旧版本。一个质量比较高的示例背景我在一个 Spring Boot 3.2 项目中使用 MyBatis-Plus 操作 MySQL。 任务为一个商品表 product 编写分页查询接口支持按名称模糊搜索和按价格区间过滤。 输入现有实体类 Product 包含 id、name、price、create_time 字段Mapper 继承 BaseMapperProduct。 输出要求 1. 在 controller 包新增 ProductController.java。 2. 返回统一响应类型 ResultT。 3. 分页参数使用 PageParam默认页码 1每页 10。 4. 价格区间参数可选不传时不加过滤条件。 5. 不要引入其他依赖不要修改现有 Service 层。这段提示词的特点是把“做什么、怎么输入、怎么输出、边界是什么”都讲清楚了。很多开发者写 AI 提示词时只给一句话比如“写个分页查询”得到的效果当然不稳定。不是 AI 能力不行而是你的上下文给了它太多自由发挥的空间。4.2 使用 AI 编程工具的工程纪律除了提示词结构使用 AI 编程工具还必须建立工程纪律。第一AI 生成的代码必须经过 Code Review不能直接合并到主干。AI 很擅长生成语法正确的代码但未必擅长理解你的业务约束和安全边界。第二对 AI 生成的改动要养成检查 diff 的习惯。很多 AI 工具支持“逐行接受或拒绝”修改这个能力应该多用而不是一键接受全部。第三不要在 AI 编程工具里粘贴敏感信息比如数据库密码、私钥、客户数据尤其当工具默认会将上下文发送到云端时务必确认企业版或本地模型的使用方式。从团队层面看AI 编程工具真正值得推广的方向是在测试代码、脚手架代码、配置文件和文档示例这些“模式化”场景中大规模使用在核心业务逻辑和复杂状态机场景中保持人工主导。这样既拿到效率红利又控制了风险。5. 幻觉治理模型可靠性是工程落地的生死线AI Effect 带来便利的同时也带来了一个让工程师头疼的问题AI 幻觉。所谓幻觉指的是模型生成看起来合理、但实际错误或凭空捏造的内容。对问答类应用来说幻觉可能只是让用户觉得“AI 不太聪明”但对金融、医疗、法律、运维等强约束场景来说幻觉可能直接导致生产事故。很多团队在 POC 阶段对模型效果很满意一上生产就发现怎么回答经常“一本正经地胡说八道”。原因在于POC 阶段大家都挑模型擅长的问题而生产环境里用户的问题五花八门甚至故意刁难。所以幻觉治理不是上线后的补丁而是系统设计阶段就要考虑的问题。5.1 幻觉的常见来源幻觉来源大致有三类第一类是训练数据本身不存在或很少覆盖的知识模型只能靠“编”来补全第二类是 Prompt 引导不足模型没有被告知“不知道时应该拒绝回答”于是倾向强行生成第三类是基于检索增强生成RAG时检索到的文档质量差、与问题不相关模型被错误上下文带偏。理解这一点才能对症下药。5.2 基于 RAG 降低幻觉的实践思路降低幻觉比较有效的手段是 RAG先检索知识库中的真实文档再让模型基于检索结果回答。这样模型的大部分回答都有了“事实来源”幻觉空间被压缩了不少。下面是一个最简的 RAG 构建逻辑# 文件路径rag_demo/simple_rag.py # 说明用向量检索召回相关文档片段再拼接给模型降低幻觉 def retrieve_documents(query: str, top_k: int 3) - list[str]: # 生产环境中这里会使用向量数据库如 Chroma、Milvus 或 pgvector # 此处用简单的关键词匹配演示召回流程 corpus [ AI Agent 是一种基于大模型的控制循环系统。, RAG 通过检索外部知识来增强生成内容的准确性。, 模型量化可以减少推理时显存占用但可能带来少量精度损失。, 向量数据库用于存储和检索文本的语义向量表示。, ] scored sorted(corpus, keylambda doc: sum(k in doc for k in query.split())) return scored[:top_k] def generate_with_rag(query: str) - str: docs retrieve_documents(query) context \n.join(docs) prompt f请根据以下资料回答问题。如果资料中缺少相关信息请直接回答“资料不足无法确定”。 资料 {context} 问题{query} 回答 # 实际项目中这里调用 LLM return f[基于资料回答] {context} if __name__ __main__: print(generate_with_rag(RAG 是什么))从代码可以看出RAG 的核心思路很简单先圈定模型回答时可以参考的信息范围。这里的检索质量直接决定了回答质量所以工程重点往往是“怎么把文档拆好、向量怎么建好、召回策略怎么调”。如果你在 RAG 场景里发现模型仍然产生幻觉第一步不是换更强的模型而是检查召回片段是否真的包含了正确答案。如果检索阶段都没把正确内容找到模型再强也是无米之炊。5.3 幻觉治理的工程防线除了 RAG工程侧还可以做几件事让模型在不确定时明确说“不知道”这是最低成本的防线对模型的输出做规则化校验比如要求返回 JSON 并做 schema 校验可以从结构上防止模型生成无法解析的内容在关键业务场景引入人工审核环节AI 先生成初稿人来确认这在客服、合规、医疗等场景非常常见。从材料看业界讨论的“AI 幻觉”已经从一个学术概念变成了工程实践里必须面对的质量指标。我的判断是未来成熟的 AI 应用不一定要求模型“永不犯错”但一定会要求系统“在犯错时能被发现、被兜底”。幻觉治理的本质是给模型的自由输出加上必要的约束和护栏。6. Spring AI 集成Java 生态里的 AI 应用实践前面聊了 Python 生态的 Agent 和本地部署但对大量 Java 开发者来说更关心的可能是我的 Spring Boot 项目怎么快速接入 AI 能力这正是 Spring AI 项目要解决的问题。Spring AI 是 Spring 官方推出的 AI 应用开发框架目标是把大模型接入 Spring 生态的复杂度降下来让 Java 开发者可以用熟悉的依赖注入和配置方式使用 AI 能力。从工程视角看Spring AI 的价值在于统一了不同模型厂商的调用抽象提供了 ChatClient、Prompt、Embedding 等高层 API同时和 Spring Boot 的配置体系深度集成。也就是说你可以在application.yml里配置模型 API Key在 Service 里注入一个ChatClient然后像调用普通 Java Bean 一样调用模型不需要自己写 HTTP 客户端和 JSON 解析代码。6.1 Spring AI 基础依赖与配置以一个 Maven 项目为例添加 Spring AI 依赖后在application.yml中做如下配置以 OpenAI 协议为例仅做演示思路# 文件路径src/main/resources/application.yml spring: ai: openai: base-url: https://api.example.com/v1 api-key: ${AI_API_KEY} chat: options: model: gpt-4o-mini temperature: 0.7这里base-url和api-key是连接模型服务的关键生产环境务必通过环境变量或配置中心注入不要硬编码进代码仓库。如果你想接本地 Ollama那么把base-url改成http://localhost:11434/v1模型名改成你本地的模型名也能跑通类似流程。6.2 Spring AI 调用模型的最小代码配置完成后在 Service 里注入ChatClient并调用// 文件路径src/main/java/com/example/demo/ai/ChatService.java package com.example.demo.ai; import org.springframework.ai.chat.ChatClient; import org.springframework.stereotype.Service; Service public class ChatService { private final ChatClient chatClient; public ChatService(ChatClient chatClient) { this.chatClient chatClient; } public String ask(String question) { return chatClient.call(question); } }再写一个 Controller 对外提供接口// 文件路径src/main/java/com/example/demo/ai/ChatController.java package com.example.demo.ai; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; RestController public class ChatController { private final ChatService chatService; public ChatController(ChatService chatService) { this.chatService chatService; } GetMapping(/chat) public String chat(RequestParam String question) { return chatService.ask(question); } }这段代码放在一个 Spring Boot 工程里启动后访问http://localhost:8080/chat?question你好就能得到一个模型返回结果。这里需要注意Spring AI 的 API 在不同版本间有过调整如果你看到ChatClient不在预期包名下建议以当前依赖版本对应的官方文档为准。6.3 Spring AI 与 Agent 的衔接Spring AI 不止支持简单问答也提供了工具调用Function Calling的支持。你可以在 ChatClient 上注册一个 Java 方法作为“工具”模型在回答时会根据需要触发这个方法从而实现类似 Agent 的效果。这为 Java 后端直接构建 Agent 应用提供了一条原生路径不必把整个框架切到 Python。不过说实话Java 生态在 AI Agent 方面的成熟度相比 Python 还有差距尤其在记忆管理、多 Agent 协作、生态集成方面Python 项目依然是主力。我的建议是如果你的团队以 Java 为主Spring AI 是非常合适的起点如果要做高度定制化的 Agent 框架可能需要引入 Python 服务或考虑更复杂的架构——两者并不矛盾可以结合使用。7. 常见问题与排查思路AI 应用开发既涉及传统后端问题又引入了模型调用、GPU、Token 等新变量。这里整理几类高频问题方便你在实践中对照排查。问题现象可能原因排查方式解决方案本地 Ollama 推理速度极慢模型未使用 GPU退化为 CPU 推理查看ollama ps确认显存占用检查 GPU 驱动、显存大小换更小的量化模型调用 OpenAI 兼容接口报 404base-url 或路径不对核对接口文档确认/v1/chat/completions路径修正 base-url本地 Ollama 使用/v1Agent 经常调用错误工具工具描述不详细或意图识别不准打印模型返回的 tool call检查意图输出优化工具注册名和描述增加意图示例RAG 回答胡编乱造检索召回不到正确答案打印检索引擎召回的文档片段优化文档切分、向量模型、召回策略Spring AI ChatClient 注入失败依赖版本或配置缺失查看启动日志中的 Bean 创建异常核对 spring.ai.* 配置和 Maven 依赖版本AI 生成代码存在安全漏洞提示词缺少安全约束Code Review 时关注注入、路径遍历等问题在提示词中加入“不要引入不安全实践”约束人工审查Token 消耗超出预算上下文过长或 Agent 循环次数过多查看模型调用日志统计 Token限制上下文长度、设置最大迭代次数、引入摘要压缩本地模型回答质量差模型参数量小或量化精度过低换不同参数模型进行对比测试根据业务复杂度和 GPU 显存选择合适模型规模这张表不是标准答案而是一种排查思路的示范。实际项目中定位问题最重要的是能拿到可观测的日志。模型调用有没有发生、输入输出了什么、Token 消耗了多少、耗时多久这些都应该有日志记录。很多 AI 应用的问题排查困难就是因为日志里只有业务日志没有模型调用链路的上下文。8. 最佳实践与工程建议把前面这些技术点串起来可以总结出一套相对稳妥的 AI 应用工程化建议。它不是银弹但至少能帮团队少走一些弯路。第一从业务痛点出发而不是从模型出发。不要因为某个模型很火就硬塞进产品里。先想清楚这个场景里 AI 到底解决了什么问题如果是个性化推荐是不是可以用规则实现如果是知识问答文档总共有多少、更新频率如何如果这些问题没有答案AI 方案大概率是空中楼阁。第二建立模型评测机制。AI 应用最怕“感觉还行”因为感觉不客观。建议在项目早期就准备一组评测集包含正常问题、边界问题和错误输入每次更换模型或调整 Prompt、RAG 参数后都用这组评测集跑一遍对比输出质量。这个评测集不需要很复杂50 到 100 条典型问题就足以发现大多数质量回归。第三把模型调用设计成可替换的。在代码层面尽量不要在业务代码里直接写死模型 API而要封装一层接口。这样从 OpenAI 切换到本地模型、从通义千问切换到 DeepSeek都只是配置变化而不需要改动业务逻辑。Spring AI 这类框架已经提供了这种抽象Python 项目里也可以自己封装一个LLMProvider接口。第四重视成本与限流。模型 API 不是无限可用的尤其在生产环境里要设置调用频控、Token 上限和预算告警。Agent 类应用尤其要小心循环失控可以在代码里设定最大迭代次数避免一次任务消耗几百次模型调用。第五安全合规不是事后补救。AI 应用会处理用户输入和第三方内容提示词注入、敏感信息泄露、生成内容违规这些风险在设计阶段就要考虑。用户输入不能直接拼接到 System Prompt 中不加过滤日志中不能记录完整 Prompt 和模型输出中的敏感字段对外提供的 AI 能力要有内容审核兜底。9. 下一步学习方向与总结AI Effect 不是一个会短暂消失的热词它正在重塑软件开发的生产方式。对开发者来说尽早建立 AI 工程化的思维框架比追某个具体模型的名字更有长期价值。这篇文章从 AI Agent、本地部署、AI 编程、幻觉治理和 Spring AI 集成五个方向把当前 AI 工程实践的主要脉络梳理了一遍也给出了可以照着跑的代码示例。如果你刚接触这个领域我建议的下一步是先在你自己的机器上装好 Ollama跑通一个小模型的本地调用然后用文章里的 Python 或 Java 示例把它接入到一个最小业务场景里最后再尝试设计一个简单的 Agent 工作流体会模型决策与工具调用之间的关系。这个过程不需要昂贵的 GPU也不需要大规模数据一台普通开发机就足够了。真正的 AI 工程能力不是来自收藏夹里的教程数量而是来自你在真实项目里一次次跑通、失败、排查、再跑通的循环。希望这篇文章能成为你进入这个循环的一个起点。
返回列表