在 2024 年底的各大评测中,Claude 3.5 Sonnet 凭借其在代码逻辑理解和指令遵循上的卓越表现,已经稳稳超越了 GPT-4o,成为了程序员心目中的 "Coding King"。
但是,有了好模型并不代表就能自动写出好代码。很多开发者抱怨 AI 写的代码 "跑不起来" 或者 "逻辑混乱",其根本原因往往在于提示词 (Prompt) 写的不到位。
本文将分享 Evol 团队在开发内部工具时总结的 5 条 Claude 编程实战技巧。
技巧一:利用 XML 标签构建结构化上下文
Claude 模型对 XML 标签非常敏感。相比于用自然语言大段描述,用标签将不同类型的信息隔离开,能显著降低 AI 的混淆率。
❌ 错误的写法:
帮我写一个 Python 函数,处理这个 CSV 文件,文件格式是第一列是 ID,第二列是价格... 要求用 pandas...
✅ Evol 推荐写法:
<context>
任务目标:编写一个数据清洗函数
输入格式:CSV 文件 (ID, Price, Date)
技术栈:Python 3.10, Pandas 2.0
</context>
<requirements>
1. 过滤掉 Price 为空的行
2. 将 Date 转换为 ISO 格式
3. 添加类型注解 (Type Hints)
</requirements>
请生成代码:
技巧二:善用 "Context Caching" (上下文缓存)
Claude 3.5 支持超长上下文(200k token),但这很贵。如果你的项目有很多基础文档(如 API 定义、数据库 Schema),每次对话都重复发送是非常浪费的。
Evol 独家功能
在使用 Evol 客户端时,我们会自动开启项目级上下文感知。你只需要将 `docs/` 文件夹拖入 Evol 左侧栏,我们就会自动将其缓存。之后你再问 "如何调用用户登录接口?",Evol 会直接从缓存中提取 API 定义,既快又省钱。
技巧三:让 AI 先写测试,再写实现 (TDD)
让 Claude "Thinking like a QA"(像测试人员一样思考)是提升代码健壮性的绝招。
你可以尝试这样的 Prompt:
"你是一个资深的 Python 工程师。请先为我们要实现的 `AuthService` 类编写 5 个边缘情况 (Edge Cases) 的单元测试(使用 pytest),然后再编写该类的实现代码,以通过所有测试。"
这样做生成的代码,通常比直接让它写实现要健壮得多。
技巧四:One-Shot Learning (给它一个示例)
如果你希望 Claude 生成的代码符合你们团队特定的风格(比如变量命名规范、注释风格),最好的办法是给它贴一段你们现有的高质量代码作为范例。
<example>
这是我们团队推崇的代码风格范例:
def calculate_total(items: List[Item]) -> Decimal:
"""计算购物车总价
Args:
items: 购物车商品列表
"""
...
</example>
请参照上述风格,编写一个新的函数...
结语
掌握了这些技巧,你就会发现 Claude 3.5 Sonnet 不再是一个只会写 Hello World 的玩具,而是一个真正的高级结对编程伙伴。
如果你想直接体验集成了这些最佳实践的编程环境,欢迎下载试用 Evol AI —— 我们已经把这些 Prompt 工程固化在了产品底层,你只管提问,剩下的交给我们。