前沿:什么是智能体
OpenAI的元老翁丽莲于2023年6月在个人博客首次提出了现代AI Agent架构。智能体(AI Agent)是一种能够自主行动、感知环境、做出决策并与环境交 互的计算机系统或实体,通常依赖大型语言模型作为其核心决策和处理单元 ,具备独立思考、调用工具去逐步完成给定目标的能力。
举例:以前你让大模型帮你查询一个机票,或者对比多个航班的优劣,飞机和高铁哪个更方便,性价比更高,这些很常见,但它不是智能体,智能体就像一个助手,你只需要告诉它,我几月几号需要去哪里,帮我预定一下机票,那么它就会去查询,对比,下单,成交,并到一定时间通知你,跟你的贴身小秘书一样,这样的东西叫做智能体,也就是说智能体比大模型做的更多,更全面。
前段时间非常火的 Manus 就是一个非常牛的智能体。
Cline是VS Code的插件,可以通过调用LLM的API实现自动化开 发,可被视为用于开发智能体。 它是一个github上的开源项目,仓库地址如下:
https://github.com/cline/cline
一、VS Code 下载
下载地址:Visual Studio Code - Code Editing. Redefined
二、VS Code 汉化
在 Visual Studio Code 中进行汉化(设置中文界面)的方法如下:
步骤 1:安装简体中文语言包
打开 Visual Studio Code。
打开VS Code,点击左侧边栏【Extensions】(扩展)按钮
在搜索框中输入“ Chinese (Simplified)”有个【install】的按钮。点击它很快就安装完了
安装完成以后,关闭 VS Code,再重新打开后,发现还是英文的。中文插件没起作用。这怎么办?
步骤 2:切换到中文界面
安装完中文语言包后,VS Code 会提示是否重新加载以应用语言设置。如果没有弹出提示,您可以手动切换语言:
按 Ctrl + Shift + P 打开命令面板。
输入 Configure Display Language,然后选择它。
在弹出的语言选项中选择 zh-CN(简体中文)。
选择后,VS Code 会提示您重新加载窗口,点击 Reload(重新加载)。
步骤 3:确认界面语言已切换
重新加载后,VS Code 界面将会显示为中文。
这样,你就可以将 Visual Studio Code 完成汉化
三、 VS Code配置
通过Cline插件将DeepSeek集成到VSCode。
步骤1:插件市场选择Cline,安装 即可
步骤2:安装完成后点击左侧图标打 开Cline
步骤3:注册硅基流动
注册地址:硅基流动,加速 AGI 普惠人类
新建一个 key 并复制
复制 Mode ID:
硅基流动的 base url 为:https://api.siliconflow.cn/v1
步骤 4: 配置API 信息
最后点击 “Let's go !”
四、Cline 的使用
默认全选即可。 最多请求数量可根据实际需求灵活调整
五、演示需求
步骤一:设置一个文件夹
在任意位置创建空目录 dianming01,作为Cline的工作目录 在VSCode中打开该目录。
步骤2:选择Cline工作模式
大多数情况下,直接使用Act模式即可,特别复杂的任务才需要 先拆分任务,设计工作流,然后再执行。
步骤3:在聊天窗口中写入以下内容发送 给Cline
提示词:
帮我实现一个 dianming.py程序,可以进行随机点名,点名的名单来自于一个 person.txt 文件,点名时界面上有名字滚动的效果,以及音效。
需要安装 python 环境:
自动帮我写代码中.....
遇到需要点击的按钮就点,就允许即可,最终第一版效果如下:
继续修饰关键词:
界面上没有开始按钮和结束按钮,点击开始按钮,就进入随机点名环节,点名时名字在界面滚动,并播放音乐,点击结束按钮,音乐停止,名字也停止滚动,将最终的人名显示在页面上。生成的程序中音乐音效不好,现在给你了一个登场.mp3这个音乐文件,路径和dianming.py 在一个目录下,请重新生成代码。
经过修改和思考,cline 自行修改代码,并运行结果,如下:
这显然还不是我们想要的效果,于是继续修改提示词:
提示词:
编写一个python点名系统,文件名叫做dianming.py,它需要读取person.txt 文件中的名字,并加载1.mp3音乐,页面上有两个按钮,点击“开始点名”按钮,名字有滚动特效,并播放1.mp3音乐,当点击“停止点名”按钮,显示选中的姓名,并停止音乐。
点击开始,音乐起,并且随机点名:
点击“结束”,点名完毕。
六、随堂代码
import pygame
import random
import tkinter as tk
from tkinter import font
class RollCallSystem:
def __init__(self, master):
self.master = master
master.title("课堂点名系统")
master.geometry("600x400")
# 初始化音乐播放
pygame.mixer.init()
# 加载学生名单
with open('person.txt', 'r', encoding='utf-8') as f:
self.names = [line.strip() for line in f.readlines()]
# 创建界面元素
self.create_widgets()
self.is_rolling = False
self.current_name = ""
def create_widgets(self):
# 使用更美观的字体
custom_font = font.Font(family="Microsoft YaHei", size=24)
# 显示姓名的标签
self.name_label = tk.Label(self.master, text="准备就绪", font=custom_font)
self.name_label.pack(pady=50)
# 按钮容器
button_frame = tk.Frame(self.master)
button_frame.pack(pady=20)
# 开始按钮
self.start_btn = tk.Button(button_frame, text="开始点名",
command=self.start_rollcall,
bg="#4CAF50", fg="white",
font=("Microsoft YaHei", 14),
width=15, height=2)
self.start_btn.pack(side=tk.LEFT, padx=20)
# 停止按钮
self.stop_btn = tk.Button(button_frame, text="停止点名",
command=self.stop_rollcall,
bg="#F44336", fg="white",
font=("Microsoft YaHei", 14),
width=15, height=2)
self.stop_btn.pack(side=tk.LEFT, padx=20)
def start_rollcall(self):
if not self.is_rolling:
self.is_rolling = True
self.start_btn.config(state=tk.DISABLED)
pygame.mixer.music.load('1.mp3')
pygame.mixer.music.play(-1) # 循环播放
self.roll_names()
def roll_names(self):
if self.is_rolling:
self.current_name = random.choice(self.names)
self.name_label.config(text=self.current_name, fg=self.get_random_color())
self.master.after(100, self.roll_names) # 每100ms更新一次
def get_random_color(self):
colors = ["#2196F3", "#9C27B0", "#FF9800", "#E91E63"]
return random.choice(colors)
def stop_rollcall(self):
if self.is_rolling:
self.is_rolling = False
self.start_btn.config(state=tk.NORMAL)
pygame.mixer.music.stop()
self.name_label.config(fg="black")
# 显示最终结果
self.master.after_cancel(self.roll_names)
self.name_label.config(text=f"选中学生:{self.current_name}")
if __name__ == "__main__":
root = tk.Tk()
app = RollCallSystem(root)
root.mainloop()