前言
近来,作为开发支援工具的 AI 智能体 Cline 成为了热门话题。
Cline 是 Visual Studio Code(VSCode)的扩展功能,其特点在于不仅能生成代码,还能连贯完成命令执行、运行确认及调试等一系列操作。
Cline 支持指定任意生成式 AI 模型来生成代码。因此,将其与安全性高、可在实际开发场景中活用的 Amazon Bedrock 相结合,便能在业务场景中发挥作用。本次我们以创建 TODO 应用为主题,尝试使用 Bedrock 作为大语言模型(LLM),开发具备 CRUD 处理功能的应用。
概述
什么是 Cline?
Cline 是作为 VSCode 扩展功能提供的 AI 智能体,能够根据简单的指令生成整个应用的代码。
其主要特点如下:
- 可执行命令操作(例如:创建 / 删除文件、目录,安装库,启动已创建的应用等)
- 可自动完成运行确认与调试
- 数据不会发送至 Cline 服务器(因可配置任意生成式 AI 模型的 API,基于该 API 进行生成操作)
使用 Amazon Bedrock 的优势
如前所述,Cline 可与多种生成式 AI 模型联动,本次我们选择使用 Amazon Bedrock。使用 Bedrock 的优势如下:
- 输入数据不会用于模型训练,安全性有保障
- 只需通过配置即可切换使用多个模型
基于这些原因,在 Cline 的业务用途中,Amazon Bedrock 是极具竞争力的选择。
接下来,我们实际使用 Cline×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 的设置
为使用 Bedrock 进行 Cline 的配置。在设置界面中,填入上一节创建的 IAM 用户的访问密钥、秘密密钥以及会话令牌。

本次选用的模型为 Claude 3.7 Sonnet。
此前曾尝试使用成本更低的 Claude 3.5 Haiku 创建应用,但出现了精度不稳定的问题,例如明明显示 “任务完成”,但应生成 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 应用。
需求
- 支持将任务以带复选框的条目形式进行添加和删除。
- 已完成的任务通过勾选复选框,实现文字变浅并添加删除线的效果。
- 每个任务需支持输入截止日期(非必填项)。
约束条件
- 采用 PostgreSQL 实现 CRUD 处理。
- 通过 Docker 搭建数据库。
- 后端与前端不使用 Docker,直接在运行环境中启动。
- 完成后需执行应用启动操作。
- 界面需设计得现代且美观。
此外,在 Cline 的设置界面中,按以下内容配置了 Custom Instructions(自定义指令)。Custom Instructions 是用于编写通用规则的部分,会作为提示词附加在每次向 AI 发送的请求末尾。
运行环境信息
- 运行环境为 Windows
- Docker 环境由 Rancher Desktop 提供
实现规则
通用
- 按代码块为单位添加日语注释
- 采用合理的文件夹结构进行创建
后端
- 按 Google 风格编写文档字符串(docstring)
- 使用 Python 进行实现
- 通过 pyenv、Poetry 创建虚拟环境。pyenv、Poetry 已预先安装在环境中
前端
- 使用 React 进行实现
- 通过 npm 进行包管理
在 Custom Instructions 中,明确指示使用预先安装好的 pyenv、Poetry 等环境搭建工具。若未进行此指定,Cline 会尝试从安装这些工具开始操作,导致大量试错,额外耗费时间与成本。实际上,开发环境的准备由人工完成会更高效。
使用 Cline 的开发结果
根据上一节的提示词向 Cline 下达指令后,它自动完成了以下一系列操作:
- 创建文件夹结构
- 安装所需库
- 设计数据库(DB) schema
- 利用 Docker 搭建数据库
- 实现并启动前端与后端
- 运行确认与调试
最终的交付成果如下:

本次仅使用简易提示词,未指定过多细节,但 Cline 仍达到了人工开发的同等水平,例如:
- 前端使用了 Material-UI
- 后端采用 FastAPI 实现,并创建了模型类
- 数据库 schema 中包含创建时间、更新时间字段
此外,本次开发规模约为 0.5KL(千行代码),花费成本约 5.2 美元。
与人工完成从开发到运行确认所需的人力成本相比,成本大幅降低。
试用应用
接下来实际试用一下这款应用。下图显示的是添加任务后,将其中一个标记为已完成的状态。
实际访问数据库后发现,操作结果已实时同步更新。

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

总结
通过结合 Cline 与 Amazon Bedrock,我们借助安全的生成式 AI 模型,完成了从 CRUD 应用界面到数据库的全流程开发与运行确认。
此外,本次实践也让我们得出以下几点经验:
- 开发环境的准备由人工提前完成,效率更高
- 若要以稳定的精度开发像 CRUD 应用这样具备一定复杂度的系统,需使用 Claude 3.7 Sonnet
借助 Amazon Bedrock,Cline 在业务场景中的实用性大幅提升,未来我们希望能积极运用这一组合方案。