Anthropic 开源 Agentic Coding 最佳实践!

教程2个月前发布 Carey
0

Anthropic发布了Agentic Coding的最佳实践博客。今天给家人们分享一下具体的内容,先揭秘一个它背后有点“反直觉”的小把戏,看看“高端的AI”是如何用上“朴素的if/else”的,最后再带给大家一波官方总结的实战干货!

Anthropic 开源 Agentic Coding 最佳实践!

“ultrathink”的魔法与朴素的 if/else**

在博客中提到,如果你想让 Claude 在处理复杂问题时“多想想”,可以在指令里加上 “think” 这个词。想让它想得更深?那就用 “think hard” 或者 “think harder”。甚至还有一个终极指令——”ultrathink”,据说能给 Claude 分配更多的“思考预算”(token thinking budget),让它更彻底地评估各种方案。

Anthropic 开源 Agentic Coding 最佳实践!

X上的老哥忍不住去扒了扒 Claude Code 的代码(虽然是混淆过的)。

Anthropic 开源 Agentic Coding 最佳实践!

结果在处理这些“思考指令”的地方,发现了类似下面这样的逻辑:

let B = W.message.content.toLowerCase();
if (
  B.includes("think harder") ||
  B.includes("think intensely") ||
  B.includes("think longer") ||
  B.includes("think really hard") ||
  B.includes("think super hard") ||
  B.includes("think very hard") ||
  B.includes("ultrathink")
)
  return (
    l1("tengu_thinking", { tokenCount: 31999, messageId: Z, provider: G }),
    31999
  );
if (
  B.includes("think about it") ||
  B.includes("think a lot") ||
  B.includes("think deeply") ||
  B.includes("think hard") ||
  B.includes("think more") ||
  B.includes("megathink")
)
  return (
    l1("tengu_thinking", { tokenCount: 1e4, messageId: Z, provider: G }), 1e4
  );
if (B.includes("think"))
  return (
    l1("tengu_thinking", { tokenCount: 4000, messageId: Z, provider: G }),
    4000
  );

 

toLowerCase().includes(),然后就是一连串的 if/else if!就是所谓的“ultrathink”魔法,在代码层面就是通过判断你的输入里是否包含这些特定的关键词,然后返回一个预设的数字(31999、10000、4000),然后这些数字应该就直接影响了分配给模型思考的 token 预算。这里可能跟gemini 2.5 flash设置thinking budget一个道理。

Anthropic 开源 Agentic Coding 最佳实践!

为了实现分级资源调用这个功能 claude 工程师们选择了这种清晰、可控且高效的 if/else 方式。用最简单直接的方法解决特定的问题,这种操作方式也是值得的借鉴的。

官方实战技巧放送

前面知识开胃菜,光知道 “ultrathink” 还不够,要想真正把它用好,还得掌握官方总结的最佳实践。下面就给大家精选几个特别实用的:

多用记事本!

Claude Code 会自动读取你项目根目录下的 CLAUDE.md 文件。

现在的vibe coding都有类似的文件,可以在里边记录上需要的让模型遵循的指令,注意事项,甚至是项目特有的“坑”或警告,任何想让 Claude 记住的上下文信息。

同时保持这个文件简洁明了,Claude 就能更好地理解你的项目,干活也更靠谱。你甚至可以用 # 快捷键,让 Claude 自动帮你把指令或信息添加到 CLAUDE.md 里。

cursor beta版本,现在支持了 /Generate Cursor Rules,可以自动生成一些Rules文件,作为全局约束。

Anthropic 开源 Agentic Coding 最佳实践!

先“想”后“做”:探索-计划-编码

就像我们自己写代码一样,直接上手莽,不如先规划好。对 Claude Code 也是如此。官方推荐一个经典流程:

  • 探索 (Explore): 先让 Claude 阅读相关的代码文件、文档,甚至图片或 URL,但明确告诉它“先别写代码”。
  • 计划 (Plan): 让 Claude 针对你要解决的问题,制定一个详细的计划。这时候就可以用上咱们前面说的 “think”、”think hard” 了,给它时间思考清楚。
  • 编码 (Code): 等你确认计划没问题了,再让 Claude 开始动手实现。
  • 提交 (Commit): 完成后,让 Claude 帮你写好 commit message,甚至创建 PR。

 

这个流程能显著提高复杂任务的成功率,避免 Claude 一上来就跑偏。尤其是前2个步骤,Claude经常会跳过直接开始写代码了,但是前期深入的思考,可以大幅提高性能。

Anthropic 开源 Agentic Coding 最佳实践!

更清晰的指令,更丰富的上下文

AI 不会读心术,咱们得把话说清楚。模糊的指令,比如“给 foo.py 加测试”,远不如“为 foo.py 写个新测试用例”来得有效。官方给出的好坏指令对比,差异非常明显。

Anthropic 开源 Agentic Coding 最佳实践!

除了说清楚,还要充分给足上下文。现在很多的Agentic Coding软件,在对话框里:

  • 用 @ 符号提及文件或目录名(支持 tab 补全),它就能快速定位。
  • 直接粘贴 URL,它会去读取网页内容。
  • 粘贴或拖拽图片(比如 UI 设计稿或错误截图),它也能理解。

信息给得越足,Claude 的表现就越好。

及时纠偏

AI 干活不可能一步到位,发现它理解错了或者跑偏了,千万别干等着。你需要主动引导和纠正:

  • 随时打断: 不满意,请随时点击stop generation之类的按钮,随时中断 Claude 当前的任何操作(思考、调用工具、编辑文件等)。
  • 修改历史: 可以随时回到之前的某条指令,修改后再让它重新执行,探索不同方向。
  • 请求撤销: 如果 Claude 修改了文件但你不满意,可以直接让它 undo 撤销更改。
  • 保持清爽: 感觉聊了太久,上下文有点乱了?开一个新窗口,重新聚焦当前任务。
  • 自我纠错: 尝试让一个 Claude 编写代码;使用另一个 Claude 进行验证。

目前的vibe coding软件用起来,就像在和一个(虽然很强但有时也需要引导的)助手协作,所以不要想着给他当成一个机器一样不管它。

相对通用的技巧就上面这些内容,除此之外,还有一些claude code独有的特性,感兴趣的可以自行查询官方文档。https://www.anthropic.com/engineering/claude-code-best-practices

转自:探索AGI

https://mp.weixin.qq.com/s/qqJuJrxGIKUfDNj6ES9LDg

© 版权声明

相关文章