Windsurf:基于AI Agent的开发范式实践(新建项目篇)
ai 内容创作,短视频内容创作,元宇宙内容创作 图文教程

Windsurf:基于AI Agent的开发范式实践(新建项目篇)

AI中国 AI中国 1月前 204 阅读
4.8 (1280 教程评分)
15,328 人已学习

AI辅助编码工具越来越好用,这两天突然冒出一个想法:既然工具已经支持Agent模式,那是否可以更进一步,突破其“辅助”定位,让它真正成为可独立完成编码任务的Agent?如果这个模式可行,那么对我们当前的工作流程会有什么影响?

我本人历经开发模式的数次变更,从瀑布模型到敏捷开发、极限编程(XP)再到测试驱动开发(TDD),深切的感受到每一次模式更迭带来的深刻影响。

恰好手边有这款工具,我打算在Agent驱动的开发范式(Principle)上做一次尝试。

这次实践会分多次完成,内容涵盖新建项目、扩展功能、重构代码等常见场景。每次实践完我会把过程和结果发出来,最后会给出总结。

这是第一篇:新建项目。

实践思路如下:

  1. 编写详细的规格说明书 (Specification): 指示Windsurf在Agent模式下,严格按照规格说明书的步骤执行编码任务。
  2. 规格说明书的设计: 规格说明书需兼顾传统项目验收标准与AI Agent的特殊需求。
  • 传统内容:项目名称、项目描述、功能描述等。
  • Agent特定内容:依赖文档、任务描述等,以便AI工具理解和执行。

其中,规格说明书包含以下关键内容:

  • 项目描述: 除传统项目目标外,需明确指定编程语言、代码结构等关键信息,以指导Agent的编码行为。
  • 功能描述: 清晰罗列待实现的功能要点。
  • 依赖文档:
    详细说明项目依赖的第三方接口,务必提供接口文档地址、调用示例等信息,降低Agent理解和集成的难度。
  • 任务描述
    : 不仅要涵盖功能实现本身,更要着重强调代码的二次检查、自动化验证、以及最终报告生成等环节,确保项目质量和可追溯性。

我编写了agent-spec.md规格说明书,设定Windsurf在Agent模式下,使用Python语言开发一个网页摘要生成应用。该应用需实现以下核心功能:
  • 网页内容抓取:采用Jina框架实现。
  • 摘要生成: 利用DeepSeek模型完成。
用户可以通过命令行方式调用该应用,例如执行下述命令即可生成指定网页的摘要。
python3 main.py https://mp.weixin.qq.com/s/Dz66qW87xg1KlFo68SAThw
agent-spec.md内容如下:
# 项目名称Article Summary Agent## 项目描述这是一个用python开发的Agent,用来调用jina.ai的接口获取网页内容,并通过deepseek接口生成摘要。## 功能描述1. 调用jina.ai的接口获取网页内容2. 通过deepseek接口生成摘要3. 将原始网页内容和摘要内容保存为markdown格式文件## 依赖文档1. jina.ai的接口文档:https://docs.jina.ai2. jina.ai的python调用请求样例:请求:```pythonimport requests  url = "https://r.jina.ai/https://example.com" headers = { "Authorization": "Bearer jina_b434949a2c0b43e1801226649697c9704JCEyyMpBDwNkgGAmBqUGZrKaaPJ" }  response = requests.get(url, headers=headers)  print(response.text) ```应答:Title: Example DomainURL Source: https://example.com/Markdown Content:This domain is for use in illustrative examples in documents. You may use this domain in literature without prior coordination or asking for permission.[More information...](https://www.iana.org/domains/example)3. deepseek的接口文档:https://api-docs.deepseek.com/zh-cn/guides/reasoning_model4. deepseek的调用样例:```pythonfrom openai import OpenAIclient = OpenAI(api_key="", base_url="https://api.deepseek.com")messages = [{"role": "user", "content": "9.11 and 9.8, which is greater?"}]response = client.chat.completions.create(    model="deepseek-reasoner",    messages=messages)reasoning_content = response.choices[0].message.reasoning_contentcontent = response.choices[0].message.content```## 任务描述1. 主程序启动命令中,目标url为必填参数2. 实现功能- 1. 调用jina.ai的接口获取网页内容- 2. 通过deepseek接口生成摘要- 3. 将原始网页内容和摘要内容保存为markdown格式文件- 4. jina.ai和deepseek的key放在配置文件中- 5. deepseek的提示词放在配置文件中3. 再次检查以上功能是否已经实现4. 验证实现5. 生成报告
实践结果令人惊喜。Windsurf结合Claude 3.7 Sonnet模型,仅凭一次Agent模式运行,便成功完成了整个应用的独立开发,且交付物完全可用。 本次开发仅消耗1个User Prompt Credit,成本约为0.15元人民币,执行耗时几乎可以忽略不计

最终交付物包括:

1. 实现报告
2. 使用说明
3. 完整代码(包含README.mdrequirements.txt等必要文件)
4. 调用效果


教程评分

4.8 (1280 教程评分)

评论 (11)

User avatar

AI Agent,真想它直接写代码,太酷了!

User avatar

人类的未来,由代码决定!

User avatar

未来编程,由AI来决定!

User avatar

这太酷了,我想要一个!

User avatar

感觉它在窃取我的工作!有点害怕

User avatar

我支持!这才是真正的智能!

User avatar

AI写代码?这简直是技术奇点!

User avatar

这绝对是人类进化的一步,太牛逼了!

User avatar

我感觉它要统治世界,代码写得好快

User avatar

太有意思啊,未来就是这么来的

睡觉动画