当前位置: 首页 > news >正文

从Prompt到自动化:Loop Engineering构建AI Agent自主工作流

🚀 30+款热门AI模型一站整合,DeepSeek/GLM/Qwen 随心用,限时 5 折。 👉 点击领海量免费额度

如果你还在手动给 AI 编程助手写 Prompt,然后等待、检查、再写下一个 Prompt,那么你正在经历 AI 编程的“石器时代”。这种线性交互模式,人依然是流程中最忙的调度员,效率瓶颈显而易见。今天要探讨的,正是解决这个问题的下一代范式:Loop Engineering(循环工程),或者更直白地说,让 AI Agent 自己构建并运行自动化工作流

这个概念的核心,不是让 Agent 执行一次任务,而是设计一个能自动发现任务、分配任务、执行检查并决定下一步的可持续运行系统。它回答了一个非常现实的问题:如果我不想一直守在 Agent 旁边,如何让它在可控、安全、可验证的前提下持续工作?这对于希望将 AI 深度集成到开发、测试、部署流程中的个人开发者和工程团队来说,是提升生产力的关键一步。

本文将深入解析 Loop Engineering 的核心理念、核心组件,并提供一个从零到一搭建自动化工作流的实操路径。我们会重点关注如何将这套方法论落地,包括环境与工具链的考量、权限与成本的控制,以及如何避免自动化带来的常见陷阱。无论你是想自动化代码评审、每日站会报告,还是构建一个能自我修复的测试系统,这篇文章都将为你提供清晰的行动指南。

1. 核心能力速览

在深入细节之前,我们先通过一个表格快速了解 Loop Engineering 的核心特征与价值边界。这能帮你快速判断它是否适合你当前的需求。

能力项说明
核心理念从单次 Prompt 交互升级为可持续、自动化的 AI 工作流系统。
核心价值将人类从重复的调度与提示中解放出来,让 AI Agent 在设定好的边界内自主、循环地工作。
关键组件Automations(自动化触发)、Worktrees(隔离环境)、Skills(项目知识)、Plugins/Connectors(工具连接)、Sub-agents(角色分工)。
硬件/环境门槛无特定硬件要求。核心依赖是能运行 AI 编程 Agent(如 Cursor、Claude Code、基于大模型的 CLI 工具)的开发和部署环境,以及对应的 API 权限或本地模型。
启动与运行方式非独立软件,是一种系统设计模式。可通过 Agent 内置命令(如/loop)、定时任务(Cron/Scheduled Tasks)、云函数(Cloud Routines)或自定义脚本触发。
是否支持 API是,其设计天然鼓励通过 Webhook、GitHub Actions 等事件驱动方式接入现有工作流。
是否支持批量/并行任务是,通过 Worktrees 实现环境隔离,支持多个 Agent 实例并行处理不同任务。
主要风险与边界验证责任仍在人;需防范“认知投降”(过度依赖);必须设置明确的停止条件、权限控制和审计日志。
最适合的场景重复性高、边界清晰、结果可验证的任务,如:自动代码评审、测试结果监控、仓库变更整理、告警信息汇总、周期性报告生成。

2. 适用场景与使用边界

Loop Engineering 不是银弹,它是一套用于放大 AI Agent 能力的系统工程方法。理解其适用与不适用场景,是成功落地的第一步。

它非常适合以下场景:

  1. 重复性代码维护任务:例如,每天凌晨自动检查主分支的测试通过率,如果失败则尝试定位并提交修复草稿。
  2. 事件驱动的自动化响应:当 GitHub 上有新的 Pull Request 创建时,自动运行代码风格检查、基础测试并生成评审意见。
  3. 信息聚合与报告:定时抓取多个数据源(如 Sentry 错误日志、Linear 任务状态、部署流水线结果),生成每日/每周的团队状态报告。
  4. 一致性守护:确保新提交的代码遵守项目规范(如导入路径、API 设计模式),自动提出修改建议。

它不适合或需谨慎使用的场景:

  1. 创造性或探索性任务:需要大量人类直觉、审美或战略决策的工作,如产品功能设计、核心架构选型。
  2. 模糊或无法量化验收标准的任务:如果“完成”状态无法通过测试、Lint 或脚本自动判定,Loop 将无法可靠停止。
  3. 高安全、高权限操作:涉及生产数据库直接写操作、密钥轮换、核心服务重启等。任何自动化都必须在此类操作前设置强人工审批关卡。
  4. 完全无人监督的“黑盒”:任何 Loop 都必须具备可审查性(日志、变更摘要、草稿状态),否则失控风险极高。

重要的合规与安全边界:

  • 版权与代码所有权:Agent 生成的代码,其版权归属和使用需符合项目协议及公司政策。
  • 隐私与数据安全:Loop 若处理用户数据、日志或敏感信息,必须确保数据在传输、处理过程中符合隐私法规(如 GDPR)。
  • 系统安全:必须严格限制 Agent 的权限,禁止执行危险命令(如rm -rf /、任意文件读写),并通过隔离环境(如 Docker、独立分支)运行。

3. 环境准备与前置条件

搭建 Loop 不需要特殊的显卡或算力,但对开发环境和工具链有明确要求。以下是启动前需要准备好的“工具箱”。

  1. AI 编程 Agent:这是 Loop 的“大脑”。你需要一个能够执行代码、理解上下文、调用工具的 Agent。
    • 云端方案:Cursor(Pro 版支持更多 Agent 用法)、Claude Code、GitHub Copilot Workspace 等。它们通常提供更强大的模型和集成。
    • 本地/命令行方案:基于开源大模型(如 Llama 3、Qwen 2.5 Coder)搭建的 CLI Agent,或使用llminstructor等库自建。这需要一定的模型部署和 Prompt 工程能力。
  2. 版本控制系统 (Git):这是 Loop 的“记忆”和“沙盒”基础。熟练使用 Git 是必须的,特别是git worktree命令,它用于创建隔离的并行工作目录,是实现多个 Agent 并行且不冲突的关键。
  3. 项目与任务管理工具:用于定义任务清单和验收标准。
    • 轻量级:项目根目录下的tasks.jsonTODO.md文件。
    • 团队协作:Linear、Jira、Asana 等,它们通常提供 Webhook,可作为 Loop 的触发器。
  4. 自动化触发平台:决定 Loop 何时启动。
    • 本地定时:Cron (Linux/macOS) 或 任务计划程序 (Windows)。
    • 事件驱动:GitHub Actions、GitLab CI/CD、云平台的 Serverless Functions(如 AWS Lambda, Vercel Edge Functions)。
    • Agent 内置:如 Claude Code 的/loop命令或 Scheduled Tasks。
  5. 外部系统连接器 (可选但推荐):要让 Loop 影响真实世界,需要连接器。
    • 代码平台:GitHub/GitLab API。
    • 通讯工具:Slack、钉钉、企业微信的 Webhook。
    • 监控告警:Sentry、Datadog、Prometheus Alertmanager 的 Webhook。
    • 标准化协议:考虑使用 Model Context Protocol (MCP) 来让 Agent 安全地访问工具和资源。

4. 从理念到实践:搭建你的第一个 Loop

理论说再多不如动手一试。我们遵循“从最薄的一端开始”的原则,用一个具体的例子:“自动整理每日本地 Git 仓库变更并生成摘要”,来走通一个最小可行 Loop。

4.1 第一步:定义清晰的 SPEC(规格说明书)

这是唯一不能完全交给 Agent 的工作,也是 Loop 成功的基石。SPEC 定义了“完成”是什么样子。

创建一个名为SPEC-daily-commit-summary.md的文件:

# 每日代码变更摘要 Loop 规格说明书 **目标**:每日上午9点,自动扫描指定本地 Git 仓库,收集前一天的提交记录,生成一份格式化的变更摘要 Markdown 文件。 **输入**: - 目标仓库本地路径:`/Users/yourname/projects/my-app` - 时间范围:从前一天 00:00:00 到当天 00:00:00 **输出**: - 一个 Markdown 文件,命名为 `daily-summary-YYYY-MM-DD.md`,保存到仓库根目录的 `./reports/` 文件夹下。 - 文件内容需包含: 1. 日期标题 2. 提交总数 3. 按作者分组的提交列表(包含提交哈希、简短消息、时间) 4. 总结主要变动的模块(如 `frontend/`, `backend/api/`) **验收标准 (PASS/FAIL)**: - [PASS] 文件在指定时间被创建在 `./reports/` 目录。 - [PASS] 文件内容包含正确的日期和提交总数。 - [PASS] 提交列表准确无误,无遗漏。 - [FAIL] 文件未生成、路径错误、内容为空或数据错误。 **停止条件**: - 成功生成摘要文件并保存后,Loop 本次运行结束。 - 如果目标目录不存在或不是 Git 仓库,记录错误日志并退出。

4.2 第二步:沉淀项目知识到 Skills

将稳定、可复用的规则从 Prompt 中剥离出来,存入知识文件。创建SKILL.md

# 项目技能与规范 (Skills) ## Git 操作规范 - 使用 `git log --oneline --since="yesterday" --until="today" --pretty=format:"%h | %an | %ad | %s" --date=short` 获取昨日提交。 - 所有写操作(如创建报告文件)必须在独立分支或 `git worktree` 中进行,避免污染主工作区。 ## 报告格式规范 - 报告使用二级标题 (`##`) 作为日期标题。 - 作者名称列表使用无序列表 (`-`)。 - 提交哈希使用等宽字体包裹(`` ` ` ``)。 - 文件编码为 UTF-8。 ## 安全与权限边界 - 禁止执行任何 `git push` 到远程主分支的操作。 - 禁止删除或修改已有源代码文件。 - 所有生成的文件仅限置于 `./reports/` 或 `./tmp/` 目录下。

4.3 第三步:创建原子任务清单

将 SPEC 分解为 Agent 可执行的步骤。创建tasks.json

{ "tasks": [ { "id": "task-1", "description": "验证目标路径是否存在且为 Git 仓库", "command": "cd /Users/yourname/projects/my-app && git status", "success_condition": "命令返回成功 (exit code 0),且输出包含 'On branch' 或类似信息。" }, { "id": "task-2", "description": "获取昨日提交日志", "command": "cd /Users/yourname/projects/my-app && git log --oneline --since=\"yesterday\" --until=\"today\" --pretty=format:\"%h | %an | %ad | %s\" --date=short", "success_condition": "命令成功执行,输出不为空或仅包含时间范围内的提交。" }, { "id": "task-3", "description": "解析日志并按作者分组,生成 Markdown 内容", "type": "script", "script": "generate_summary.py", // 假设有一个Python脚本处理数据 "success_condition": "脚本运行成功,并在内存中生成符合格式的 Markdown 字符串。" }, { "id": "task-4", "description": "将 Markdown 内容写入 ./reports/daily-summary-YYYY-MM-DD.md", "command": "cd /Users/yourname/projects/my-app && mkdir -p reports && echo '$MARKDOWN_CONTENT' > reports/daily-summary-$(date +%Y-%m-%d).md", "success_condition": "文件被创建,且内容与生成的 Markdown 字符串一致。" } ] }

4.4 第四步:启动最小 Loop 骨架

现在,我们可以使用 Agent 来启动这个循环。以在 Cursor 或 Claude Code 中为例,你可以直接输入一个复合指令:

/loop 24h 请作为 Daily Summary Agent 运行。 当前目录是 `/Users/yourname/projects/my-app`。 请严格按照 `SPEC-daily-commit-summary.md` 中的目标执行。 所有操作必须遵守 `SKILL.md` 中的规范。 请按顺序执行 `tasks.json` 中定义的任务。 每个任务执行后,请判断是否满足其 `success_condition`。 如果任何任务失败,则停止整个循环并报告错误。 如果所有任务成功,请在完成后输出“Daily summary generated successfully.”。

这个/loop 24h命令会指示 Agent 每 24 小时自动执行一次这个流程。你第一次需要手动触发并观察其执行过程,验证整个闭环是否通畅。

4.5 第五步:引入 Sub-agents 进行分工(进阶)

对于更复杂的 Loop,如“自动代码评审”,单一 Agent 可能力不从心。我们可以引入角色分工:

  • Proposer Agent:分析 PR 变更,提出评审要点和潜在问题清单。
  • Implementer Agent:在独立的git worktree中,针对 Proposer 提出的问题尝试生成修复代码。
  • Reviewer Agent:再次审核 Implementer 的改动,确保符合SKILL.md规范,并通过基础测试。

这可以通过编排多个 Agent 实例,或者在一个 Agent 会话中明确进行“角色扮演”提示来实现。

4.6 第六步:接入 Connectors 嵌入真实工作流

让 Loop 从本地玩具变成团队设施。例如,将上述每日摘要 Loop 升级:

  1. 触发器:使用 GitHub Actions 的schedule事件,在 UTC 时间每天凌晨1点触发。
  2. 执行器:GitHub Actions 的 Runner 拉取代码,运行一个封装了上述 Agent 逻辑的脚本。
  3. 输出连接:脚本生成报告后,调用 Slack Incoming Webhook,将摘要发送到指定频道。

这样,Loop 就完全脱离了你的本地机器,成为了团队共享的自动化资产。

5. 功能测试与效果验证

搭建好 Loop 后,如何验证它是否按预期工作?以下是关键的测试点。

5.1 单元测试:验证每个组件

  • Skills 文件测试:手动修改SKILL.md,加入一条明显规则(如“报告标题必须包含[AUTO]”),观察 Agent 在下一次运行时是否遵守。
  • 任务原子性测试:故意让tasks.json中的某个命令失败(如指向一个不存在的路径),检查 Loop 是否能在该任务处正确停止并报错,而不是继续执行或崩溃。
  • 隔离性测试:如果涉及git worktree,验证两个并行的 Loop 是否真的在不同的工作目录中操作,不会相互覆盖文件。

5.2 集成测试:运行端到端流程

  • 模拟触发:手动执行你的启动命令(如完整的 Prompt 或脚本),观察从开始到结束的完整日志。
  • 检查输出物:确认生成的文件(如daily-summary-*.md)位置正确、内容完整且格式符合SKILL.md要求。
  • 验证副作用:确认 Loop 没有执行任何超出权限的操作,例如没有意外的git push,没有修改源文件。

5.3 回归测试:确保稳定性

  • 空输入测试:在没有新提交的日子里运行 Loop,它应该优雅地处理这种情况(例如生成一个“无提交”的报告),而不是出错。
  • 异常输入测试:向仓库中引入一些“噪声”,如合并冲突、未跟踪的大文件,观察 Loop 的错误处理机制是否健壮。
  • 长期运行测试:让 Loop 在测试环境中自动运行几天,检查其资源占用(内存、CPU)是否平稳,是否有内存泄漏或日志膨胀问题。

6. 接口 API 与批量任务设计

虽然 Loop Engineering 本身不是一个提供 HTTP API 的服务,但其设计模式天然适合通过 API 和批量任务来驱动。

6.1 将 Loop 封装为可调用服务

你可以创建一个简单的 Web 服务(如使用 Flask/FastAPI),将你的 Loop 逻辑封装成一个端点。

# loop_service.py (示例) from flask import Flask, request, jsonify import subprocess import threading app = Flask(__name__) # 一个简单的任务队列和运行状态跟踪 task_queue = [] task_status = {} def run_loop(loop_type, params): """在后台线程中运行指定的 Loop""" task_id = params.get('task_id') task_status[task_id] = 'running' try: # 这里替换为实际启动你的 Agent Loop 的命令 # 例如,调用一个封装了 Agent 交互的脚本 if loop_type == 'daily_summary': cmd = f"python run_daily_summary.py --repo_path {params['repo_path']}" elif loop_type == 'pr_review': cmd = f"python run_pr_review.py --pr_url {params['pr_url']}" else: raise ValueError(f"Unknown loop type: {loop_type}") result = subprocess.run(cmd, shell=True, capture_output=True, text=True, timeout=300) task_status[task_id] = 'success' if result.returncode == 0 else 'failed' # 可以在这里记录日志或发送通知 except Exception as e: task_status[task_id] = 'error' finally: # 清理任务状态,可选保留一段时间历史 pass @app.route('/api/trigger-loop', methods=['POST']) def trigger_loop(): data = request.json loop_type = data.get('type') params = data.get('params', {}) task_id = f"{loop_type}_{int(time.time())}" # 将任务放入队列,由后台线程处理 thread = threading.Thread(target=run_loop, args=(loop_type, {**params, 'task_id': task_id})) thread.start() return jsonify({"task_id": task_id, "status": "queued"}) @app.route('/api/task-status/<task_id>', methods=['GET']) def get_task_status(task_id): status = task_status.get(task_id, 'not_found') return jsonify({"task_id": task_id, "status": status}) if __name__ == '__main__': app.run(host='0.0.0.0', port=5000)

这样,你就可以通过curl或任何 HTTP 客户端来触发 Loop:

curl -X POST http://localhost:5000/api/trigger-loop \ -H "Content-Type: application/json" \ -d '{"type": "pr_review", "params": {"pr_url": "https://github.com/your/repo/pull/123"}}'

6.2 设计批量任务队列

对于需要处理大量同类任务的情况(如一次性评审仓库中所有打开的 PR),你需要一个任务队列。

  1. 任务生成器:一个脚本,负责获取任务列表(如从 GitHub API 获取所有 open 的 PR),为每个任务生成一个唯一的参数集,并放入队列(可以用 Redis、数据库甚至一个文件)。
  2. 工作进程 (Worker):多个运行着 Loop 逻辑的进程,从队列中拉取任务执行。每个 Worker 必须在独立的git worktree或容器中运行,确保隔离。
  3. 结果收集器:Worker 将执行结果(成功、失败、产出物链接)写回到一个中心存储,供后续查看。
# 简化的批量任务示例 - 生产者 import requests import json # 1. 获取所有待处理的 PR def fetch_open_prs(repo): # 调用 GitHub API # ... 返回 PR 列表 return pr_list # 2. 将每个 PR 创建为一个任务 tasks = [] for pr in fetch_open_prs("your/repo"): task = { "id": f"pr_review_{pr['number']}", "type": "pr_review", "params": {"pr_url": pr['url']}, "status": "pending" } tasks.append(task) # 3. 将任务列表保存到队列文件(或发送到消息队列) with open('task_queue.json', 'w') as f: json.dump(tasks, f) print(f"Generated {len(tasks)} review tasks.")

7. 资源占用、成本控制与性能观察

Loop Engineering 的核心成本不是 GPU 算力,而是大模型 API 调用成本运维复杂度

  1. Token 成本监控

    • 设置预算:在 Loop 的 SPEC 或启动命令中,明确限制单次运行的最大 Token 消耗。例如,在调用 Claude API 时设置max_tokens参数。
    • 记录与审计:确保你的 Loop 脚本或 Agent 平台记录了每次运行的 Token 使用量。定期审查,剔除低效或陷入死循环的 Loop。
    • 模型选型:根据任务复杂度选择合适的模型。简单的文本整理任务可能不需要最顶级的模型,使用小型、高效的模型可以大幅降低成本。
  2. 系统资源观察

    • 内存与 CPU:长期运行的 Loop,尤其是那些包含复杂代码执行的,需要监控其内存占用,防止内存泄漏。可以使用ps,top(Linux) 或任务管理器来观察。
    • 磁盘 I/O:频繁进行 Git 操作和文件读写的 Loop 可能会影响磁盘性能。确保工作目录位于 SSD 上,并注意清理临时文件。
    • 网络延迟:如果 Loop 严重依赖外部 API(如 GitHub API、模型 API),网络波动会影响其可靠性。考虑增加重试机制和超时设置。
  3. 性能优化点

    • 缓存:对于不经常变化的数据(如项目结构信息),可以缓存起来,避免 Agent 每次重新分析。
    • 异步执行:对于不依赖顺序的独立任务,可以使用异步并行执行来缩短整个 Loop 的运行时间。
    • 增量处理:设计 Loop 时考虑增量更新,而不是每次都全量处理。例如,只处理自上次运行以来新增的提交或 PR。

8. 常见问题与排查方法

在构建和运行 Loop 时,你可能会遇到以下典型问题。

问题现象可能原因排查方式解决方案
Loop 启动后无任何输出或立即结束1. 触发命令(如/loop)语法错误。
2. Agent 没有正确理解任务意图。
3. 执行环境(路径、权限)不正确。
1. 检查启动命令的拼写和参数。
2. 在交互模式下手动输入同样的 Prompt,看 Agent 如何响应。
3. 检查 Agent 运行的工作目录和文件权限。
1. 简化初始 Prompt,确保指令绝对清晰无歧义。
2. 添加详细的日志输出,记录每个步骤的开始和结束。
3. 使用绝对路径而非相对路径。
Agent 执行了危险操作(如误删文件)Skills 文件中权限约束不明确,或 Agent 被赋予了过高权限。1. 审查SKILL.md中的“安全与权限边界”章节。
2. 检查运行 Loop 的账户权限。
1. 在SKILL.md中明确禁止的命令列表。
2. 在沙盒环境(如 Docker 容器、独立虚拟机)中运行高风险 Loop。
3. 所有写操作先进入草稿分支或tmp目录。
并行 Loop 之间文件互相污染未使用git worktree或等效的隔离机制,多个 Agent 操作了同一工作区。检查不同 Loop 的日志,看它们是否在同一个 Git 分支和目录下操作。强制使用git worktree。在每个 Loop 开始时,动态创建一个独立的工作树目录。
Loop 陷入无限循环或重复执行停止条件定义模糊,或 Agent 无法正确判断任务“完成”。检查 SPEC 中的“停止条件”是否可被程序化判定(例如,存在某个文件、测试通过)。将停止条件转化为一个可执行的检查脚本。例如,任务完成后创建一个.done标志文件,Loop 运行时先检查此文件是否存在。
API 调用失败导致 Loop 中断网络问题、API 限流、认证失效。查看 Loop 运行日志中的错误信息。1. 在代码中实现指数退避的重试逻辑。
2. 使用稳定的 API 客户端并妥善管理令牌。
3. 对于非关键步骤,设计降级方案(如跳过该步骤并记录警告)。
生成的代码或内容质量不稳定Prompt 或 Skills 描述不够精确,或任务本身过于模糊。1. 分析多次运行的结果,找出模式性错误。
2. 检查 Agent 是否遵循了SKILL.md中的所有规范。
1. 迭代优化 SPEC 和 Skills,使其更精确。
2. 引入Reviewer Sub-agent进行二次检查。
3. 对于代码任务,必须加入自动化测试(单元测试、Lint)作为质量关卡。
成本(Token 消耗)超出预期单次任务处理内容过多,或 Loop 运行频率过高。查看模型服务商提供的用量监控面板。1. 为单次运行设置max_tokens上限。
2. 优化 Prompt,减少不必要的上下文。
3. 调整 Loop 的触发频率,从实时改为批量或定时。

9. 最佳实践与安全使用建议

为了让你的 Loop 既强大又可靠,请遵循以下工程化建议:

  1. 始于微小,迭代扩展:不要试图第一次就构建一个覆盖全流程的复杂 Loop。从一个最小的、边界最清晰的任务开始(如“生成昨日提交日志”),跑通整个流程,建立信心,然后再逐步增加复杂度。
  2. SPEC 先行,验收驱动:在写第一行自动化代码或 Prompt 之前,必须完成 SPEC。清晰的验收标准是自动化成功的生命线。
  3. 权限最小化:这是最重要的安全原则。每个 Loop 只能拥有完成其特定任务所必需的最小权限。禁止全局的、无差别的“是/全自动”授权。
  4. 变更隔离,输出可审
    • 隔离:所有会产生副作用的操作(写文件、提交代码)必须在隔离环境(git worktree、特性分支、草稿 PR)中进行。
    • 可审:Loop 的每一次运行都必须产生可追溯的记录:日志文件、生成的产物、变更摘要。确保你能轻松回答“刚才这个 Loop 做了什么?”。
  5. 设置熔断机制:为 Loop 设置明确的失败边界。例如,连续失败 3 次后自动暂停并发送告警;单次运行时间超过 10 分钟则强制终止。
  6. 人工复核环节不可省略:尤其是对于直接修改代码、配置或数据的 Loop,必须设置强制的人工复核点。例如,Agent 可以创建修复分支和 PR,但合并必须由人点击按钮。
  7. 定期评估与优化:定期回顾你的 Loop。它们是否仍然有价值?质量是否稳定?成本是否可控?根据反馈持续优化 SPEC、Skills 和流程。

Loop Engineering 标志着我们从“使用 AI 工具”向“运营 AI 系统”的转变。它的力量不在于替代人类,而在于将人类从重复、可定义的劳动中解放出来,让我们能更专注于需要创造力、策略和深度判断的高价值工作。成功的 Loop 不是一个“黑盒魔法”,而是一个精心设计、边界清晰、可观测、可控制的人机协作系统。现在,就从你手头最重复的那项任务开始,写下 SPEC,启动第一个最小 Loop,迈出构建自动化工作流的第一步。

🚀 30+款热门AI模型一站整合,DeepSeek/GLM/Qwen 随心用,限时 5 折。 👉 点击领海量免费额度

http://www.jsqmd.com/news/1126115/

相关文章:

  • 毕设 基于机器视觉的目标跟踪算法
  • OpenCV+YOLO实战:快速搭建机器人视觉感知系统
  • 开题写作告别反复改稿,okbiye 一站式 AI 开题功能打通科研起步全流程
  • Yale OpenHand:重新定义机器人抓取的开源硬件革命
  • 如何高效使用天龙八部GM工具:专业玩家的完整指南
  • Cypress vs Playwright:端到端测试框架实战选型与迁移指南
  • 高校生高频使用的AI写作辅助网站是哪款?
  • Fiddler - 前端开发值得拥有
  • 2026笔记本避坑指南:低色域屏、8GB内存、赛扬CPU为何成体验地雷
  • 你的知识管理困境,让这个开源笔记神器来破解
  • freerots接口代码示例
  • Day16自习课做课后作业
  • 一体机正在悄悄改变这5个行业
  • 敏捷项目管理:驱动效率革命的核心引擎
  • 工具聚合页在办公场景中的效率优化实践 —— 职场人导航AI工具使用记录
  • AI教材生成新利器!低查重AI写教材工具,快速编写30万字精品教材!
  • AI实战:省token妙招之【好习惯】
  • C# 解析 Word 超链接:字段识别、屏幕提示读取
  • DBeaver终极驱动解决方案:30+数据库驱动一键配置指南
  • TC78H653FTG与STM32F745ZG的直流有刷电机驱动方案
  • 1920_Codex简单试用
  • Power BI中替代Excel COUNTIF的DAX计数逻辑
  • AI制品Registry与发布门禁
  • 苹果芯片Mac上的Windows魔法:Whisky终极兼容性解决方案指南
  • 如何3秒隐藏窗口:Windows老板键隐私保护终极指南
  • 本地AI绘画工作站搭建:Codex与Cowart插件实现无限画布与局部编辑
  • 越华云图:数字孪生教学系统的技术架构设计与闭环验证方案
  • 如何3分钟完成通达信缠论插件部署:终极自动化分析指南
  • 创建一个云服务器
  • Ketcher架构深度解析:基于Web的化学结构编辑器技术实现与工程实践