支持私有云部署
AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


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

发布日期:2025-03-25 06:53:17 浏览次数: 1548 来源:弓长先生的杂货铺
推荐语

探索AI Agent在独立编码任务中的应用,革新传统开发流程。

核心内容:
1. AI编码工具的进化及其对工作流程的影响
2. 使用Windsurf工具实践Agent驱动的开发范式
3. 详细规格说明书的编写及其在新建项目中的应用

杨芳贤
53A创始人/腾讯云(TVP)最具价值专家

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="<DeepSeek 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. 调用效果

53AI,企业落地大模型首选服务商

产品:场景落地咨询+大模型应用平台+行业解决方案

承诺:免费场景POC验证,效果验证后签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

添加专属顾问

回到顶部

加载中...

扫码咨询