最近,Cline 作为一款开发辅助 AI 智能体备受关注。
相关参考链接:github.com
Cline 是 Visual Studio Code(VSCode)的扩展插件,其特点不仅限于生成代码,还能连贯完成命令执行、运行验证及调试等一系列操作。
Cline 支持指定任意生成式 AI 模型来生成代码。因此,将其与安全性高、可在实际开发场景中运用的 Amazon Bedrock 结合,便能在业务场景中发挥作用。本次,我们将以 Bedrock 作为大语言模型(LLM),围绕 “能否开发具备 CRUD 功能的应用” 这一目标,以开发 TODO 应用为主题展开尝试。
概述
什么是 Cline?
Cline 是一款以 VSCode 扩展插件形式提供的 AI 智能体,只需简单指令,就能生成整个应用的代码。
其核心特点如下:
- 可完成命令执行(例如:创建 / 删除文件或目录、安装依赖库、启动已开发的应用等);
- 可自动完成运行验证与调试;
- 数据不会发送至 Cline 服务器(因支持配置任意生成式 AI 模型的 API,并通过该 API 生成内容)。
使用 Amazon Bedrock 的优势
如前所述,Cline 可与多种生成式 AI 模型联动,本次我们选择使用 Amazon Bedrock。使用 Bedrock 的优势如下:
- 输入数据不会被用于模型训练,安全性更有保障;
- 只需通过配置,即可切换使用多个模型。
基于以上原因,在业务场景中使用 Cline 时,Amazon Bedrock 会成为极具竞争力的选择。接下来,我们就实际尝试用 Cline × Amazon Bedrock 开发具备 CRUD 功能的 Web 应用。
TODO 应用的概述
本次开发的 TODO 应用,最终实现效果如下:

该 TODO 应用支持填写标题、截止日期和说明来添加任务,同时会记录任务的 “是否完成” 状态,还具备删除功能。下面我们开始为开发这款 TODO 应用做准备。
开发前的准备工作
创建 IAM 用户
我们创建了供 Cline 调用 Bedrock 时使用的 IAM 用户,并为其配置了以下权限。实际场景中应进一步缩小权限范围,本次为简化操作,暂赋予 Bedrock 全访问权限。此外,由于 Cline 需要会话令牌,因此还为该用户配置了获取会话令牌的权限。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowBedrockAll",
"Effect": "Allow",
"Action": "bedrock:*",
"Resource": "*"
},
{
"Sid": "AllowStsGetSessionToken",
"Effect": "Allow",
"Action": "sts:GetSessionToken",
"Resource": "*"
}
]
}
Cline 的配置
我们对 Cline 进行了调用 Bedrock 所需的配置。在配置界面中,填入了上一节创建的 IAM 用户的访问密钥、密钥和会话令牌。

本次选用的模型是 Claude 3.7 Sonnet。此前曾尝试用成本更低的 Claude 3.5 Haiku 开发应用,但模型精度不稳定,例如明明需要显示 “Task Completed”,但应包含 Docker 文件的文件夹中却未生成任何文件等问题。虽然 Cline 在调试阶段会尝试修复这些问题,但过程中需要反复试错修改,既耗费时间,也产生了不必要的成本。因此,若要开发的不是简单脚本,而是像 CRUD 应用这样具备一定复杂度的完整系统,从一开始就使用 Claude 3.7 Sonnet,模型精度会更稳定。
搭建 Linux 命令执行环境
Cline 的一大核心特点是支持执行命令,但它默认倾向于执行 Linux 命令。
而本次我们在 Windows 环境下进行验证,VSCode 的默认终端是 Powershell。若不做调整,Cline 会尝试执行 Linux 命令,导致命令全部报错。
因此,为了在 Windows 环境下也能执行 Linux 命令,我们按以下步骤进行了设置:
- 安装 Git Bash;
- 将 Git Bash 设置为 VSCode 的默认终端。

开发 TODO 应用
提示词
本次传递给 Cline 的任务提示词如下:
请开发一个 TODO 应用
#需求
-支持将任务以带复选框(Checkbox)的项目形式进行添加和删除。
-已完成的任务,通过勾选复选框,文字需变为浅色并添加删除线。
-支持为每个任务输入截止日期(非必填项)。
#约束条件
-采用 PostgreSQL 实现 CRUD(创建、读取、更新、删除)操作。
-通过 Docker 搭建数据库(DB)。
-后端与前端不使用 Docker,直接在运行环境中启动。
-开发完成后,需完成应用的启动操作。
-界面需设计得现代且美观。
此外,我们在 Cline 的设置界面中,按以下内容配置了 “Custom Instructions”。
Custom Instructions 是用于编写通用规则等内容的部分,会在每次向 AI 发送请求时,自动追加到提示词的末尾。
#运行环境信息
-运行环境为 Windows。
-Docker 环境由 Rancher Desktop 提供。
#实现规则
##通用规则
-为每个代码块添加中文注释。
-按合理的文件夹结构创建项目
##后端
-按 Google 风格编写文档字符串(docstring)。
-使用 Python 实现。
-通过 pyenv、Poetry 创建虚拟环境(pyenv 与 Poetry 已提前在环境中安装完成)。
##前端
-使用 React 实现。
-通过 npm 进行包管理。
在 Custom Instructions 中,我们指定 “环境搭建工具使用已提前安装的版本”。若未做此指定,Cline 会尝试从安装这些工具开始操作,过程中会出现大量试错,额外耗费时间与成本。因此,开发环境的准备工作由人工完成会更高效。
使用 Cline 的开发结果
根据上一节的提示词向 Cline 下达指令后,Cline 自动完成了以下一系列操作:
- 创建文件夹结构
- 安装所需依赖库
- 设计数据库 schema(表结构)
- 通过 Docker 搭建数据库
- 实现并启动前端与后端
- 运行验证与调试
最终生成的成果如下

本次仅使用简单提示词,未过多指定细节,但 Cline 仍以接近人工开发的水平完成了项目,例如:
- 前端使用 Material-UI(Material Design 组件库)
- 后端使用 FastAPI,并创建了模型类
- 数据库 schema 中包含 “创建时间”“更新时间” 字段
此外,本次开发的代码量约为 0.5KL,耗费成本约 5.2 美元。与人工完成 “从开发到运行验证” 所需的人力成本相比,成本大幅降低。
试用应用
接下来,我们实际试用一下这款应用。下图展示了 “添加任务后,将其中 1 个任务标记为已完成” 的效果

我们尝试直接访问数据库,发现操作结果已实时同步到数据库中

另外,当我们从界面中删除已完成的任务时,数据库中也执行了物理删除操作


总结
通过 “Cline×Amazon Bedrock” 的组合,我们借助安全的生成式 AI 模型,完成了 CRUD 应用从 “界面开发” 到 “数据库实现” 的全流程开发与运行验证。
同时,我们也得出了以下几点感受:
- 开发环境的准备工作,由人工提前完成效率更高;
- 若要稳定且精准地开发 “CRUD 应用” 这类具备一定复杂度的项目,需使用 Claude 3.7 Sonnet 模型。
借助 Amazon Bedrock,Cline 在业务场景中的实用性大幅提升,未来我们将积极推动其应用。