AI 只是一只鹦鹉?让我来展示一下我的生产基础设施

8 阅读6分钟

或者:当初级开发人员还在要求 ChatGPT 修复他们的 CSS 时,我是如何构建企业级系统的

TL;DR:

如果 Claude 继续建议你不想要的替代方案:

你还没有定义真正的问题 你不知道重要的限制 你在了解需求之前就寻求解决方案 “人工智能只是一只鹦鹉”的观点已经过时 每周都会有一些高级开发人员在推特上发帖,说“人工智能无法取代真正的工程设计”以及“它只是强化版的自动完成功能”。真是个有趣的故事。当你在把关的时候,我已经在交付传统团队需要几个月才能构建的生产系统了。

没人愿意承认这个事实?人工智能工具是力量倍增器,而非替代品。而且,倍增效应会随着你现有的专业知识呈指数级增长。

Junior Dev + Claude = 稍好一点的www.mytiesarongs.com Junior Code 让我们坦诚地面对当缺乏经验的开发人员尝试使用人工智能时会发生什么:

// What junior devs get from AI app.get('/users', async (req, res) => { try { const users = await User.findAll(); res.json(users); } catch (error) { res.status(500).json({ error: 'Something went wrong' }); } }); 恭喜,你完成了 CRUD 的构建。同样如此。没有分页,没有安全机制,没有错误处理,也没有监控。只是一些任何训练营毕业生都能写出的基本 Express 路由。

高级开发人员 + Claude = 真正可扩展的架构 当你真正了解自己正在构建什么时,就会发生以下情况:

-- SQL Framework with dependency resolution CREATE OR REPLACE FUNCTION enhanced_user_search( search_params JSONB, pagination_config JSONB DEFAULT '{"limit": 50, "offset": 0}'::JSONB, security_context JSONB DEFAULT '{}'::JSONB ) RETURNS TABLE( user_data JSONB, total_count INTEGER, performance_metrics JSONB ) AS $$ DECLARE query_plan TEXT; execution_stats JSONB; BEGIN -- Multi-tenant security enforcement IF NOT validate_tenant_access(security_context) THEN RAISE EXCEPTION 'Access denied for tenant context'; END IF;

-- Dynamic query building with injection protection
RETURN QUERY
WITH search_results AS (
    SELECT u.*, count(*) OVER() as total
    FROM users u
    WHERE u.tenant_id = (security_context->>'tenant_id')::UUID
    AND search_vector @@ plainto_tsquery(search_params->>'query')
    ORDER BY ts_rank(search_vector, plainto_tsquery(search_params->>'query')) DESC
    LIMIT (pagination_config->>'limit')::INTEGER
    OFFSET (pagination_config->>'offset')::INTEGER
)
SELECT 
    row_to_json(sr)::JSONB,
    sr.total,
    jsonb_build_object('execution_time', clock_timestamp() - statement_timestamp())
FROM search_results sr;

END;

这不是“嘿,Claude,给我写个函数”。这是将架构设计转化为实现的过程。多租户安全、性能监控或注入保护这些功能并非AI想出来的——那是高级工程经验的成果。 真正的区别:系统设计与代码生成 当初级开发人员要求 AI 构建他们的待办事项应用程序时,我实际上正在做以下工作: 1. 自我修复数据库部署 # Production deployment with zero-downtime migrations deploy-prod: validate-schema check-breaking-changes ## Deploy with safeguards @echo "🚨 PRODUCTION DEPLOYMENT 🚨" @read -p "Deploy $(shell cat VERSION) to production? Type 'DEPLOY': " confirm && [ "$$confirm" = "DEPLOY" ] $(FRAMEWORK) $(DATABASE_DIR) --validate-dependencies --check-constraints --dry-run $(FRAMEWORK) $(DATABASE_DIR) --execute --monitor-performance --rollback-on-failure validate-schema: ## Offline validation with dependency analysis $(FRAMEWORK) $(DATABASE_DIR) --validate-only --analyze-dependencies --check-idempotency @echo "✅ Schema validation passed: $(shell cat $(DATABASE_DIR)/validation_report.json | jq -r .status)" 这不是 Bash 脚本。它是基础设施即代码,具备依赖解析、回滚策略和生产环境安全保障。不妨试试让 Claude 构建它,而无需了解部署复杂性、数据库迁移和生产环境操作。 2. 实时组件架构 // Visual programming environment with live execution interface BlockExecution { executeBlock(block: FunctionBlock, input: ExecutionContext): Promise<ExecutionResult>; validateDependencies(chain: BlockChain): ValidationReport; optimizeExecutionPath(connections: Connection[]): ExecutionPlan; } class CompositeBlockExecutor implements BlockExecution { async executeBlock(block: CompositeBlock, context: ExecutionContext): Promise<ExecutionResult> { // Nested chain execution with isolation const isolatedContext = this.createIsolatedContext(context); const chainResult = await this.executeNestedChain(block.compositeChain, isolatedContext); return this.transformResult(chainResult, block.outputMapping); } private async executeNestedChain(chain: BlockChain, context: ExecutionContext): Promise<ChainResult> { // Sophisticated execution engine that handles cycles, dependencies, error propagation const executionGraph = this.buildExecutionGraph(chain); return await this.executeGraph(executionGraph, context); } } 初级开发人员能搭建一个可视化编程环境吗?也许吧,前提是 Stack Overflow 足够好。他们能设计执行模型、处理嵌套链隔离,并实现合适的错误边界吗?绝对不行。 无人谈论的架构 以下是真实工程与教程代码的区别: 生产级身份验证流程 # nginx.conf - JWT transformation middleware location ~ ^/api/db/(.*) { set $postgrest_uri ""; set $transformed_jwt ""; # Lua script handles keyless JWT transformation access_by_lua_block { local keyless = require "keyless_client" local original_jwt = ngx.var.http_authorization if original_jwt then local result = keyless.transform_jwt(original_jwt) if result.success then ngx.var.transformed_jwt = result.jwt ngx.req.set_header("Authorization", "Bearer " .. result.jwt) else ngx.log(ngx.ERR, "JWT transformation failed: " .. result.error) ngx.status = 401 ngx.say('{"error": "Authentication failed"}') ngx.exit(401) end end } proxy_pass [https://www.mytiesarongs.com](https://www.mytiesarongs.com); } 这是生产环境的基础设施。真正的 JWT 转换、合理的错误处理、性能优化的 Lua 脚本。试着在不了解企业级身份验证模式的情况下,向 Claude 解释为什么你需要无密钥加密。 关于人工智能“局限性”的令人不安的真相 那些认为“AI 无法构建系统”的人完全没有抓住要点。我并不是要求 AI 去构建系统。我只是用它来实现我基于多年生产经验设计好的架构。 真正的工作流程是这样的: 我设计系统——微服务边界、数据流、安全模型、部署策略 我分解了实现——特定功能、集成模式、错误处理 Claude 实现细节——实际代码、配置、测试模式 我整合并优化——生产强化、监控、扩展考虑 初级开发人员错过了什么(以及为什么他们得到了糟糕的结果) 当缺乏经验的开发人员使用人工智能时,他们实际上是在问:“为我构建一些我甚至无法正确指定的东西。” 错误提示: “为我构建一个用户身份验证系统” 正确提示: “使用 Redis 后备存储实现 JWT 刷新令牌轮换,包括用于安全漏洞检测的令牌系列跟踪” 发现区别了吗?第二个需要理解: 令牌安全模型 会话管理策略 分布式存储模式 安全威胁模型 实际成本分析 初级开发人员工资:8 万美元/年 高级开发人员工资:18 万美元/年 Claude 订阅费:20 美元/月 传统方法:以 24 万美元的价格聘请 3 名初级开发人员来构建基本的 CRUD 应用程序; 人工智能增强方法:聘请一名拥有人工智能的高级开发人员构建企业级系统,费用为 18 万美元 + 每年 240 美元 生产率的提升并非只有20%,甚至也不是200%。对于复杂系统来说,这可是数量级的提升。 系统与症状 当大家都在争论人工智能是否能够“思考”时,我正在发表: 具有实时执行的可视化编程环境 具有依赖性分析的自我修复部署管道 具有热插拔模块的组件架构 具有企业安全性的多租户 SaaS 平台 处理 8 个级别依赖关系解析的数据库框架 我可以不用AI来构建这些吗?最终能做到。这会花费10倍的时间吗?绝对会。 底线 人工智能并没有取代高级开发人员。它让高级开发人员的工作效率惊人,而初级开发人员却还在为同样的基本模式而苦苦挣扎。 如果您与 AI 的主要互动是要求它调试您的 CSS 或解释 JavaScript 基础知识,那么是的 - 它可能感觉像是一种价格过高的自动完成功能。 但是如果您使用它来实施复杂的架构决策、集成复杂的系统以及构建生产基础设施……那么,您可能太忙于运输而无法在 Twitter 上争论它。 “人工智能只是鹦鹉学舌”这种说法很快就会过时,就像“互联网只是一时的热潮”一样。与此同时,我们这些真正使用这些工具的人正在构建的系统,几年后其他人就会试图对其进行逆向工程。 现在请恕我失陪,我有一些企业级微服务需要部署。当然,需要借助人工智能。以上内容由企业信息服务平台提供,致力于工商信用信息查询、企业风险识别、经营数据分析。访问官网了解更多:[https://www.ysdslt.com](https://www.ysdslt.com)