2026/4/18 0:16:02
网站建设
项目流程
seo诊断网站免费诊断平台,商城网站怎么做seo,软件开发外包服务,哈尔滨的互联网公司在真实开发中#xff0c;大模型的 Function Calling#xff08;函数调用#xff09;不是“模型直接执行代码”#xff0c;而是一套“声明-生成-解析-执行-反馈”的安全闭环机制。以下是我在项目中#xff08;如智能编程助手、自动化运维 Agent#xff09;的实际做法…在真实开发中大模型的 Function Calling函数调用不是“模型直接执行代码”而是一套“声明-生成-解析-执行-反馈”的安全闭环机制。以下是我在项目中如智能编程助手、自动化运维 Agent的实际做法一、核心流程生产级标准做法二、具体步骤1.注册函数在调用 LLM 前向模型描述有哪些函数可用OpenAI 格式为例const tools [{ type: function, function: { name: read_file, description: 读取项目中的文件内容, parameters: { type: object, properties: { path: { type: string, description: 文件相对路径如 src/main.ts } }, required: [path] } } }];关键参数必须有明确 schema防止模型传非法值。2.调用 LLM 并启用工具const response await openai.chat.completions.create({ model: gpt-4o, messages: [...], tools, // ← 注册的函数列表 tool_choice: auto // 模型可自主决定是否调用 });3.解析模型返回模型不会执行函数而是返回结构化调用请求{ tool_calls: [ { id: call_abc123, function: { name: read_file, arguments: {path:src/utils.ts} } } ] }4.安全执行函数绝不直接 eval而是通过白名单映射const toolMap { read_file: (args) { // 1. 校验路径是否在项目目录内 if (!args.path.startsWith(src/)) throw new Error(Access denied); // 2. 读取文件沙箱隔离 return fs.readFileSync(args.path, utf8); } }; const result await toolMap[funcName](parsedArgs);所有操作在受限环境中执行如 Docker 沙箱、只读文件系统。5.将结果反馈给模型把函数执行结果作为“tool message”送回对话messages.push({ role: tool, tool_call_id: call_abc123, content: result // 文件内容 });→ 模型基于此生成下一步继续调用 or 最终回答。三、真实项目中的关键实践问题解决方案模型传错参数如 path: ../../../etc/passwd参数校验 路径归一化 白名单目录函数执行超时/卡死设置 timeout如 5s AbortController敏感操作如删文件禁止高危函数或需用户二次确认多次调用循环限制最大 tool_calls 次数如 5 次调试困难记录完整 traceprompt → tool_call → result → final answer四、为什么不用模型直接“写代码执行”安全风险极高任意代码执行 RCE 漏洞不可控无法限流、审计、降级不可靠模型可能生成语法错误代码。正确做法Function Calling 是“受控 API 调用”不是“代码生成执行”。总结在实际项目中大模型的 Function Calling 是一个安全代理机制我们先向模型声明可用函数及其参数 schema模型返回结构化调用请求非执行后端严格校验参数、权限、路径在沙箱中执行真实函数将结果反馈给模型形成多轮推理闭环。核心原则模型只负责“决策”不负责“执行”——这是生产系统安全落地的底线。学习资源推荐如果你想更深入地学习大模型以下是一些非常有价值的学习资源这些资源将帮助你从不同角度学习大模型提升你的实践能力。一、全套AGI大模型学习路线AI大模型时代的学习之旅从基础到前沿掌握人工智能的核心技能因篇幅有限仅展示部分资料需要点击文章最下方名片即可前往获取二、640套AI大模型报告合集这套包含640份报告的合集涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师还是对AI大模型感兴趣的爱好者这套报告合集都将为您提供宝贵的信息和启示因篇幅有限仅展示部分资料需要点击文章最下方名片即可前往获取三、AI大模型经典PDF籍随着人工智能技术的飞速发展AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型如GPT-3、BERT、XLNet等以其强大的语言理解和生成能力正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。因篇幅有限仅展示部分资料需要点击文章最下方名片即可前往获取四、AI大模型商业化落地方案作为普通人入局大模型时代需要持续学习和实践不断提高自己的技能和认知水平同时也需要有责任感和伦理意识为人工智能的健康发展贡献力量。