Daily Tech Briefing
AI 科技速览

每天 5 分钟内学习 AI。获取最新的人工智能新闻,理解其重要性,并学习如何将其应用于您的工作。

AI 快讯
InfoQ AI · 2026/7/27 10:00:00
Snowflake CoCo 中的 Loop Engineering | 技术实践

Snowflake CoCo 中的 Loop Engineering | 技术实践

AI 中文解读
Snowflake推出的CoCo工具引入了“循环工程”这一前沿理念,让AI不再是一次性回答问题的助手,而是能像人类一样反复尝试、自我纠错,直到真正完成任务。这就像你让一个实习生去完成一份报告,不是只给一次指令,而是让他边做边检查,哪里不对就重来,直到报告完全符合要求。过去我们用AI写代码或分析数据,往往需要不断调整提示词或补充背景信息,而循环工程则让AI自己管理整个流程:它会自主设定步骤、执行操作、验证结果,遇到问题主动回忆之前的错误并修正,甚至能在意外中断后从断点恢复,无需人工干预。这项突破的意义在于,未来我们处理复杂任务时,比如让AI自动分析股票数据、生成报告并部署上线,只需要描述最终目标,AI就能像靠谱的队友一样全程迭代完成。这大幅降低了使用门槛,普通人也能利用AI完成过去需要专业团队才能做的工作,让智能体真正成为高效的生产力工具。
2026 年,智能体将在企业级应用中取得哪些实质性突破?点击下载《2026 年 AI 与数据发展预测》白皮书,获悉专家一手前瞻,抢先拥抱新的工作方式!我们是如何走到这一步的过去三年使用 AI 编程工具的经历,呈现出一条清晰的演进路径:每一个阶段,都解决了前一个阶段无法解决的问题。Prompt engineering 专注于写出完美的指令。你会不断调整措辞、添加示例、指定输出格式。一次请求对应一次响应。如果输出不对,就重写提示词;Context engineering 解决了仅靠提示词无法克服的局限:模型掌握的信息不够。于是有了 RAG 流水线、文件引用、语义搜索和对话历史。人们逐渐意识到,一个普通的提示词搭配强大的上下文,效果往往优于一个精心打磨却没有上下文的提示词;Harness engineering 将关注点转向了基础设施,包括工具调用、多步骤链路和智能体框架。模型不再只是一个文本生成器,而是成为系统中的行动者,能够执行操作并观察操作结果;Loop Engineering 则是下一阶段。你不再设计一次次独立的交互,而是开始设计能够自主运行的系统,让它持续经历“行动、观察、推理、重复”的循环,直到某个客观目标通过验证。这种差异非常重要。你不再是在设计 AI 要做什么,而是在设计一个系统,让 AI 持续运行,直到工作真正完成。定义循环工程一个循环工程系统需要具备四项结构性要求:循环不会因为模型认为自己已经完成任务而停止。只有当客观检查通过时,它才会停止,例如测试全部通过、代码检查无误、部署成功。这一区别正是循环工程的核心。CoCo 如何支持循环工程CoCo 为每一项支柱都提供了原生基础能力。其架构如下:相关组件包括:一个真实案例:构建股票分析应用我采用这种方法,从一个空目录开始,构建了一个多页面 Streamlit 分析应用。下面是整个过程。定义目标我编写了一份 APP_SPEC.md,其中列出了循环可以通过程序检查的验收标准:## Acceptance Criteria- [ ] Streamlit app runs locally without errors- [ ] Snowflake connection works (queries return data)- [ ] Page 1: Market Overview, Dow 30 heatmap, sector performance- [ ] Page 2: Stock Deep Dive, candlestick chart, volume, moving averages- [ ] Page 3: Comparison, normalized returns, correlation matrix- [ ] Page 4: Macro Overlay, stock vs CPI dual-axis chart- [ ] Passes ruff check (no lint errors)- [ ] Passes streamlit run - server.headless true (no crash)- [ ] Deploys to Snowflake successfully复制代码每一项标准都对应一个可以自动执行的检查。“完成”是一个布尔值,而不是主观判断。编写技能技能文件会告诉智能体有哪些数据、如何查询这些数据,以及出现问题时应该如何处理:# Skill: Stock App Builder Loop## Data Context- Stock Prices: FINANCE__ECONOMICS.CYBERSYN.STOCK_PRICE_TIMESERIES- Variables: pre-market_open, post-market_close, all-day_high, all-day_low, nasdaq_volume- Range: 2018 to present, 23,062 tickers- Companies: DB_STOCK.CURATED.COMPANIES (TICKER, COMPANY_NAME)## Loop Instructions1. Run `cortex memory recall "stock-app-builder"` for prior state.2. Run `cortex ctx step ready` to find next uncompleted step.3. Implement the next failing criterion.4. Run the relevant check.5. Pass → `cortex ctx step done <id>`, move to next.6. Fail → `cortex memory remember "stock-app-builder: <error>"`, fix and retry.7. Max 5 retries per step. If stuck, ask user.复制代码我通过 $stock-app-builder 调用这个技能。CoCo 会加载它,并自主运行。cortex ctx task add "Build stock analytics Streamlit app"cortex ctx task start task-ff742cc1cortex ctx step add "Scaffold: snowflake.yml, environment.yml, streamlit_app.py"cortex ctx step add "Implement sidebar: date range + ticker autocomplete"cortex ctx step add "Page 1: Market Overview"cortex ctx step add "Page 2: Stock Deep Dive"cortex ctx step add "Page 3: Comparison"cortex ctx step add "Page 4: Macro Overlay"cortex ctx step add "Pass lint: ruff check ."cortex ctx step add "Pass runtime: streamlit run - server.headless true"cortex ctx step add "Deploy: snow streamlit deploy"复制代码每完成一个步骤,cortex ctx step ready 就会返回下一个步骤。即使构建过程中会话意外中断,智能体也能从上次停止的位置继续执行。观察循环运行我输入了 $stock-app-builder。智能体开始构建所有项目文件,并在执行过程中逐一将步骤标记为完成。随后,它进入了验证关卡。代码检查:$ ruff check .All checks passed!复制代码运行检查:$ streamlit run streamlit_app.py - server.headless true→ HTTP 200 on localhost:8599复制代码部署:PUT file://streamlit_app.py @DB_STOCK.PUBLIC.STOCK_ANALYTICS_STAGE/CREATE OR REPLACE STREAMLIT DB_STOCK.PUBLIC.STOCK_ANALYTICS_APP …→ "Streamlit STOCK_ANALYTICS_APP successfully created."复制代码十个步骤全部通过验证,任务自主完成。修复循环的实际运行过程后来,我又添加了一项功能:$stock-app-builder "Add top gainers/losers page"复制代码智能体创建了 pages/5_Top_Movers.py,随后运行代码检查。检查失败,原因是存在一个未使用的导入,以及一个没有占位符的 f-string。智能体识别出这两个问题,完成修复,重新运行代码检查并通过,随后执行运行检查,返回 HTTP 200,最后完成部署。整个过程不需要人工干预。这一过程体现了最核心的模式:构建、检查、失败、分析失败原因、修复、重新检查、通过,然后继续下一步。添加技术指标$stock-app-builder "Add RSI and MACD indicators to deep dive"复制代码智能体创建任务、添加步骤,实现了 14 日 RSI,以及 MACD(12/26/9)指标和相应的 Plotly 图表,随后运行代码检查并一次通过,再执行运行检查,最后完成部署。总计五个步骤,零次失败。工作流程概述定义目标 → APP_SPEC.md(可验证的检查项);创建技能 → .cortex/skills//SKILL.md(持久化上下文);设置状态 → cortex ctx task 和步骤(进度跟踪);调用循环 → $skill-name(或使用 /loop 定时执行,使用 /bg 后台执行);循环执行 → 行动 → 检查 → 通过或失败 → 下一步或重试;迭代技能 → 当循环持续在同一类问题上失败时,更新技能。我学到的几点经验从低成本操作开始。 每次循环迭代的第一个动作都应该足够轻量:当前是否还有工作需要完成?如果 cortex ctx step ready 没有返回任何内容
分享
阅读原文