以下是你如何使用 Claude Engineer v3 的高层次思维过程和步骤:
1. 明确目标(你想做什么?)
- 在使用 Claude Engineer 之前,你需要明确目标。你可能有以下需求:
- 任务自动化:希望自动化一些繁琐的手动操作。
- 数据处理:需要处理大量数据或文件,比如批量修改、压缩、转换。
- 信息提取:需要从互联网上抓取信息或从文件中提取内容。
- 智能分析:希望对图像、视频等多媒体内容进行智能分析。
2. 向 Claude 传达需求(给 Claude 描述你的目标)
- 你直接与 Claude 交流,告诉它你想做什么。
- 例如:“我需要一个工具来从多个 PDF 中提取文字。”
- Claude 通过 自然语言理解,能够知道你需要做什么。
3. Claude 设计与创建工具(Claude 会“自动”给你工具)
- 工具生成:Claude 根据你的需求,自动设计并生成工具。例如,它可能会创建一个 PDF 提取工具。
- 例如,你输入:“提取 PDF 中的所有文字”,Claude 会生成一个自动提取文本的工具。
4. 工具执行与任务完成(自动执行任务)
- 一旦工具创建好,Claude 会 自动执行 任务。
- 如果你需要从一个网站抓取内容,Claude 会使用网页抓取工具;如果你需要分析一个图像,Claude 会启动图像分析工具。
举例:
- 你上传了一批文件,Claude 会自动压缩这些文件并返回压缩后的文件。
- 你需要对网页上的文本进行分析,Claude 会先抓取网页内容,再分析并给你结果。
5. 工具优化与学习(Claude 自我提升)
- 优化反馈:在执行任务时,Claude 会根据你对工具的使用情况,不断优化工具。例如,如果工具有不足,Claude 会自动改进功能。
- 扩展功能:Claude 还可以根据你新的需求,动态地扩展工具的功能。
6. 反复迭代使用(多次使用与自我改进)
- 你可以通过多次与 Claude 交互,持续改进工具。每次使用后,Claude 会学习你的偏好和需求,逐步提升工具的精确度和效率。
🧩 整体思维导图
[ 1. 确定目标 ]
↓
[ 2. 向 Claude 传达需求 ]
↓
[ 3. Claude 自动创建工具 ]
↓
[ 4. 执行任务 ]
↓
[ 5. Claude 自我优化 & 扩展 ]
↓
[ 6. 迭代使用 ]
解释:
- 确定目标:你首先思考自己想要完成什么目标。
- 传达需求:然后告诉 Claude 你的需求,可以通过简单的语言描述。
- 自动创建工具:Claude 会基于你的需求自动生成相应的工具。
- 执行任务:工具创建完成后,Claude 会自动执行任务。
- 自我优化:任务执行后,Claude 根据反馈不断优化工具,确保它更符合你的需求。
- 反复迭代:随着使用次数的增加,Claude 变得越来越智能,工具也越来越精准。
🛠️ 如何实际操作?
步骤一:创建一个工具
假设你有一个需求:“我有很多 PDF 文件,想从中提取文字”。你可以通过对话告诉 Claude:
"创建一个提取 PDF 中所有文字的工具"
Claude 通过 Tool Creator(工具创建器)自动设计并生成了一个工具。你不需要编写代码,只需与 Claude 互动即可。
步骤二:执行任务
然后,你可以用该工具对一批 PDF 文件进行处理。你只需要上传文件,Claude 就会自动从这些文件中提取文本。
步骤三:优化工具
如果你发现工具在提取某些特殊格式的文本时存在问题,你可以告诉 Claude:
"这个工具能不能支持从扫描版 PDF 中提取文本?"
Claude 会自动改进工具,加入对扫描版 PDF 的支持。
步骤四:多次迭代
随着你和 Claude 的不断互动,工具会变得越来越智能,越来越符合你的需求。
🧑💻 实际操作例子:
创建工具:
- 你:“我需要一个工具来批量压缩图片。”
- Claude:“好的,创建中……完成!现在你可以上传图片,我会为你自动压缩它们。”
执行任务:
- 你:上传 10 张图片。
- Claude:自动压缩这些图片,并返回压缩后的文件。
优化工具:
- 你:“这个工具能不能支持不同的压缩比率?”
- Claude:“我已经加入了压缩比率选择,现在你可以设置不同的压缩程度。”
🎯 总结:如何使用 Claude Engineer v3
Claude Engineer v3 是一个让 Claude AI 自动为你创建工具、执行任务并不断改进的框架。你只需要描述你的需求,Claude 就能为你生成工具并自动执行任务。随着使用次数的增加,Claude 会越来越聪明,工具会根据你的反馈不断优化和改进,帮助你完成复杂的任务。
这个系统非常适合那些需要自动化任务、处理大量文件或进行数据分析的场景,你可以通过简单的对话与 Claude 互动,而不需要编写复杂的代码。
(base) PS D:\Dev\CLD> powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
Downloading uv 0.5.20 (x86_64-pc-windows-msvc)
Installing to C:\Users\Eric1\.local\bin
uv.exe
uvx.exe
everything's installed!
To add C:\Users\Eric1\.local\bin to your PATH, either restart your system or run:
set Path=C:\Users\Eric1\.local\bin;%Path% (cmd)
$env:Path = "C:\Users\Eric1\.local\bin;$env:Path" (powershell)
(base) PS D:\Dev\CLD>
(base) PS D:\Dev\CLD> git clone https://github.com/Doriandarko/claude-engineer.git
Cloning into 'claude-engineer'...
remote: Enumerating objects: 621, done.
remote: Counting objects: 100% (368/368), done.
remote: Compressing objects: 100% (177/177), done.
remote: Total 621 (delta 271), reused 191 (delta 191), pack-reused 253 (from 1)
Receiving objects: 100% (621/621), 1.28 MiB | 2.16 MiB/s, done.
Resolving deltas: 100% (295/295), done.
(base) PS D:\Dev\CLD> cd claude-engineer
(base) PS D:\Dev\CLD\claude-engineer> uv venv
uv : 无法将“uv”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然
后再试一次。
所在位置 行:1 字符: 1
+ uv venv
+ ~~
+ CategoryInfo : ObjectNotFound: (uv:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
(base) PS D:\Dev\CLD\claude-engineer> $env:Path = "C:\Users\Eric1\.local\bin;$env:Path"
>>
(base) PS D:\Dev\CLD\claude-engineer> uv venv
Using CPython 3.9.1 interpreter at: C:\ProgramData\Miniconda3\python.exe
Creating virtual environment at: .venv
Activate with: .venv\Scripts\activate
(base) PS D:\Dev\CLD\claude-engineer> .venv\Scripts\activate
(base) (claude-engineer) PS D:\Dev\CLD\claude-engineer>
Built ce3 @ file:///D:/Dev/CLD/claude-engineer
Built pygetwindow==0.0.9
Built mouseinfo==0.1.3
Built pyperclip==1.9.0
Built pymsgbox==1.0.9
Built pyscreeze==1.0.1
Built pyrect==0.2.0
Built pyautogui==0.9.54
Built pytweening==1.2.0
░░░░░░░░░░░░░░░░░░░░ [0/69] Installing wheels... warning: Failed to hardlink files; falling back to full copy. This may lead to degraded performance.
If the cache and target directories are on different filesystems, hardlinking may not be supported.
If this is intentional, set `export UV_LINK_MODE=copy` or use `--link-mode=copy` to suppress this warning.
Installed 69 packages in 1.01s
Traceback (most recent call last):
File "D:\Dev\CLD\claude-engineer\app.py", line 16, in <module>
assistant = Assistant()
File "D:\Dev\CLD\claude-engineer\ce3.py", line 41, in __init__
raise ValueError("No ANTHROPIC_API_KEY found in environment variables")
ValueError: No ANTHROPIC_API_KEY found in environment variables
(base) (claude-engineer) PS D:\Dev\CLD\claude-engineer>
环境中没有api-key;
(base) (claude-engineer) PS D:\Dev\CLD\claude-engineer> $env:ANTHROPIC_API_KEY="$env:ANTHROPIC_API_KEY=$env:ANTHROPIC_API_KEY=sk-Lt此处是apikey"
(base) (claude-engineer) PS D:\Dev\CLD\claude-engineer> uv run app.py
Loaded tool: browsertool
Loaded tool: createfolderstool
Loaded tool: diffeditortool
Loaded tool: duckduckgotool
Loaded tool: e2bcodetool
Loaded tool: filecontentreadertool
Loaded tool: filecreatortool
Loaded tool: fileedittool
Loaded tool: lintingtool
Loaded tool: screenshottool
Loaded tool: toolcreator
Loaded tool: uvpackagemanager
Loaded tool: webscrapertool
* Serving Flask app 'app'
* Debug mode: off
INFO: [31m[1mWARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.[0m
* Running on http://127.0.0.1:5000
INFO: [33mPress CTRL+C to quit[0m
INFO: 127.0.0.1 - - [17/Jan/2025 16:25:55] "GET / HTTP/1.1" 200 -
INFO: 127.0.0.1 - - [17/Jan/2025 16:25:56] "GET /static/css/style.css HTTP/1.1" 200 -
INFO: 127.0.0.1 - - [17/Jan/2025 16:25:56] "GET /static/js/chat.js HTTP/1.1" 200 -
🔄 Assistant memory has been reset!INFO: 127.0.0.1 - - [17/Jan/2025 16:25:57] "[33mGET /favicon.ico HTTP/1.1[0m" 404 -
┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ Claude Engineer v3. A self-improving assistant framework with tool creation │
└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
Type 'refresh' to reload available tools Type 'reset' to clear conversation history Type 'quit' to exit
Available tools:
Available tools:
🔧 browsertool, 🔧 createfolderstool, 🔧 diffeditortool, 🔧 duckduckgotool, 🔧 e2bcodetool, 🔧 filecontentreadertool,
🔧 filecreatortool, 🔧 fileedittool, 🔧 lintingtool, 🔧 screenshottool, 🔧 toolcreator, 🔧 uvpackagemanager, 🔧
webscrapertool
---
INFO: 127.0.0.1 - - [17/Jan/2025 16:25:57] "POST /reset HTTP/1.1" 200 -
如果你购买的是 中转服务的 API 密钥,而不是直接从 Anthropic 获得的密钥,那么你仍然可以按照相似的步骤来配置 API 密钥,但需要考虑一些额外的细节:
1. 中转服务 API 密钥的使用
- 中转服务(如代理服务、API 转发服务等)通常会提供一个 API 密钥,该密钥可能用于认证你对该中转服务的访问请求。你的中转服务通常会将你发送的请求转发到 原始服务(例如 Claude 3.5 或其他 API 提供商)。
- 这种情况下一般来说,你会将中转服务的 API 密钥设置为环境变量,而中转服务会负责将请求转发到实际的 API(例如 Claude 3.5)。
2. 配置方式
你依然可以按照以下步骤操作,但需要根据中转服务的要求来调整设置:
2.1 设置 API 密钥(中转服务的 API 密钥)
无论你是从 中转服务 还是直接从 Claude 3.5 获取的 API 密钥,设置环境变量的方式是一样的:
-
临时设置(仅在当前 PowerShell 会话有效):
在 PowerShell 中,运行以下命令:
$env:ANTHROPIC_API_KEY="your_middleman_api_key_here"
将
"your_middleman_api_key_here"
替换为你实际获得的中转服务 API 密钥。 -
永久设置(每次启动 PowerShell 都有效):
- 打开 环境变量设置,在 用户变量 或 系统变量 中添加:
- 变量名:
ANTHROPIC_API_KEY
- 变量值:
your_middleman_api_key_here
- 变量名:
- 打开 环境变量设置,在 用户变量 或 系统变量 中添加:
2.2 检查中转服务的配置要求
一些中转服务可能需要你设置其他的配置项,比如:
- 中转服务的 API 地址(通常是一个 URL)。
- API 路径 或 请求头 配置,可能需要你在代码中设置。
确保查看中转服务的文档,了解是否有其他必要的配置项或步骤。
2.3 使用 API 密钥
一旦你设置了中转服务的 API 密钥,Claude Engineer 应该能够通过该密钥向中转服务发起请求,然后中转服务会将请求转发到目标 API。