Claude 3.5 Sonnet for agentic coding

Anthropic
20 Jun 202401:35

Summary

TLDRソフトウェアエンジニアがコードのテストと修正に比べて、コードの書込みの方がはるかに短時間で済むと感じています。最新のモデル「Claude 3.5 Sonnet」は、テストの作成やコードの自動修正を手助けします。このデモでは、Claudeが不完全な実装から完全に機能する実装に、最小限の入力でユニットテストを含む一連のプロセスを示します。ウェブサイトのユーザーが同じ寸法の写真を持つために使用される、画像を円にリサイズ・トリミングする関数にバグがあります。Claudeは、テストケースを作成し、バグを見つけて修正し、テストが成功するまで繰り返し実行します。最終的に、修正された関数が円状の背景なしの画像を生成することがわかります。

Takeaways

  • 👨‍💻 ソフトウェアエンジニアは、コードを書くよりもテストを書いたりコードを修正するのに時間がかかることがある。
  • 🤖 Claude 3.5 Sonnetは、テストを書いたりコードを自動的に修正するのに役立つ新しいモデルです。
  • 🛠️ Claudeは、不完全な実装から完全に機能する実装に、最小限の入力でユニットテストを含むプロセスを支援します。
  • 📷 動画では、画像を円形にリサイズ・トリミングする機能のバグをデモンストレーションしています。
  • 🐛 現行の機能では、トリミングされた画像が正方形で背景が白いままになっているという問題があります。
  • 🔍 Claudeは、ファイルのパスと機能に関する情報をもとに、バグを特定し、テストケースを作成します。
  • 📝 Claudeは、テストスイートを自動生成し、指定されたファイルに書き込みます。
  • 🚫 テストは、バグのせいで失敗しますが、Claudeはそれを修正します。
  • 🛠️ Claudeは、テストを再実行し、修正されたコードがテストに合格するように調整します。
  • 🎨 修正後のコードを実行すると、画像は白い背景ではなく、円形にトリミングされます。
  • 🙏 Claudeの助けにより、画像のトリミング機能が正常に動作することが確認できます。

Q & A

  • ソフトウェアエンジニアが直面する問題は何ですか?

    -ソフトウェアエンジニアは、コードを書くよりも、テストを書いたりコードを修正するのに時間がかかることがあります。

  • Claude 3.5 Sonnetは何ですか?

    -Claude 3.5 Sonnetは、テストを書いたりコードを自動的に修正するのに役立つ新しいモデルです。

  • Claudeはどのようにして不完全な実装から完全に機能する実装に到達するのですか?

    -Claudeは最小限の入力でユニットテストを含む完全な機能を備えた実装に到達させることができ、期待される動作に対してテストを書いたり、エラーを見つけて修正します。

  • デモで使用された画像のサイズ変更とトリミングの目的は何ですか?

    -画像を円形にサイズ変更しトリミングすることで、ウェブサイト上でユーザーのプロフィール写真が同じ寸法になるようにすることが目的です。

  • Claudeが修正する前に画像にあった問題は何でしたか?

    -画像はまだ正方形で、白い背景を持っていたという問題がありました。

  • Claudeはどのようにしてファイルを編集、コマンドを実行、コードを実行することができるようになったのですか?

    -Claudeは、ファイルを編集したり、コマンドやコードを実行するためのツールが与えられており、インターネットアクセスがない安全なサンドボックス環境で動作します。

  • Claudeが最初に行ったことは何ですか?

    -Claudeは最初に、現在の実装を理解し、潜在的な問題を特定するために私が書いた関数を含むファイルを開きました。

  • Claudeはどのようにテストスイートを作成しましたか?

    -Claudeは、私が要求したファイルにテストスイートを作成し、それを記述しました。

  • テストが失敗した理由は何ですか?

    -テストは、画像がまだ正方形で白い背景を持っているため、予想通りに失敗しました。

  • Claudeが修正した結果はどうでしたか?

    -Claudeが修正した後、テストはパスし、画像は白い背景を持っていなくなりました。

  • Claudeのデモンストレーションの目的は何ですか?

    -Claudeのデモンストレーションの目的は、最小限の入力で不完全な実装から完全に機能する実装に到達し、ユニットテストを作成して実行するプロセスを示すことです。

Outlines

00:00

👨‍💻 自動化テストとコード修正のデモンストレーション

ソフトウェアエンジニアとして、コードを書くよりテストを書いたりコードを修正するのに時間がかかることがあります。新しいモデルのClaude 3.5 Sonnetは、テストを書いたりコードを自動的に修正するのに役立ちます。このデモでは、不完全な実装から完全に機能する実装に至るプロセスを紹介し、私が最小限の入力でユニットテストを含むClaudeの働きを示します。私はウェブサイト上でユーザーのプロフィール写真が同じサイズになるように、画像を円形にリサイズしてトリミングする機能を書きましたが、この機能にはバグがあり、トリミング後の画像が四角で白い背景が残っています。Claudeが期待される動作に対してテストを書く、エラーを見つけて修正できるかを確認してみましょう。このデモでは、Claudeにファイルを編集したり、コマンドやコードを安全なサンドボックス環境で実行するためのツールを与え、インターネットアクセスはありません。私はClaudeにバグの状況、機能が書かれたファイルのパス、および私が望む動作についての指示を伝えます。Claudeはまず、現在の実装を理解し、潜在的な問題を特定するために私が書いたファイルを開きます。次に、Claudeはテストスイートを書いて、私が要求したファイルをに入れます。それからClaudeはそれらのテストを実行します。テストがバグのために失敗したことが予想通りです。それでは、Claudeがバグを修正するところを見てみましょう。Claudeは機能ファイルを編集してバグを修正し、その後テストを再実行します。そしてテストはパスしました。これで、機能を再実行すると、画像には白い背景がなくなっています。

Mindmap

Keywords

💡ソフトウェアエンジニア

ソフトウェアエンジニアとは、ソフトウェアの設計、開発、テスト、保守を行う専門家です。このビデオでは、ソフトウェアエンジニアがテストを書いたりコードを修正するのに、コードを書くよりも多くの時間を要することに焦点を当てています。ビデオの主題は、自動化されたテストとコード修正を可能にする新しいモデルの紹介にあります。

💡テスト

テストは、ソフトウェアが期待通りに動作することを確認するために行われるプロセスです。ビデオでは、テストがコードを書くよりも時間がかかることと、新しいモデルが自動的にテストを作成し、期待される動作を検証するのに役立つことが強調されています。

💡コード修正

コード修正は、ソフトウェアのバグや問題を解決するために行われるプロセスです。ビデオでは、モデルが自動的にバグを見つけ、修正する能力を有していることが示されています。これは、ソフトウェア開発の効率を高めるために重要な役割を果たしています。

💡モデル

モデルは、ここではソフトウェア開発の自動化を支援するアルゴリズムやシステムを指します。ビデオでは、Claude 3.5 Sonnetというモデルが、テストの作成やコードの修正を自動化する能力を持っていることを紹介しています。

💡画像のリサイズとトリミング

画像のリサイズとトリミングは、特定のサイズや形状に画像を調整するプロセスです。ビデオでは、画像を円形にトリミングし、ウェブサイト上でユーザーのプロフィール写真が同じサイズになるようにすることが目的とされています。

💡バグ

バグは、ソフトウェアの意図しない動作やエラーを指します。ビデオの例では、画像のトリミング機能にバグがあり、画像が四角形のまま白い背景を持っていたことが問題点として挙げられています。

💡テストスイート

テストスイートは、ソフトウェアの異なる部分に対する一連のテストを含むセットです。ビデオでは、モデルがテストスイートを作成し、期待される動作を検証するのに役立つことが示されています。

💡サンドボックス環境

サンドボックス環境は、ソフトウェアやコードを安全に実行できる制限された環境です。ビデオでは、モデルがインターネットアクセスなしでコードを実行し、ファイルの編集を行うことができるサンドボックス環境を使用していることが示されています。

💡ファイル編集

ファイル編集は、既存のファイルに変更を加えるプロセスです。ビデオでは、モデルが自動的にファイルにテストスイートを追加したり、バグを修正する際にファイルを編集する能力を持っていることを紹介しています。

💡ユニットテスト

ユニットテストは、ソフトウェアの小さな部分(ユニット)が正しく動作することを検証するテストです。ビデオでは、モデルがユニットテストを作成し、コードの特定の機能が期待通りに動作することを確認するのに役立つことが示されています。

💡プロフィール写真

プロフィール写真は、ウェブサイトやソーシャルメディア上で個人を表すために使用される写真です。ビデオでは、プロフィール写真のサイズと形状を統一することで、ウェブサイトの外観を整えることが目的とされています。

Highlights

软件工程师发现编写测试和修复代码通常比编写代码本身花费更多时间。

新模型Claude 3.5 Sonnet能够自主编写测试并修复代码。

展示Claude如何将不完整的实现转变为完全功能的实现,包括单元测试,仅需最少的输入。

作者编写了一个用于将图片调整大小并裁剪成圆形的函数,用于统一网站用户头像的尺寸。

该函数存在bug,裁剪后的图片仍然是正方形,并且背景为白色。

Claude将为预期行为编写测试,找出错误并修复。

演示中,Claude被赋予了编辑文件、运行命令和代码的工具,在一个没有互联网访问的安全沙盒环境中。

作者告诉Claude关于bug的详细信息,包括文件路径和期望的操作。

Claude首先打开文件,理解当前实现并识别潜在问题。

然后Claude为我们编写测试套件,并将其放入指定文件。

Claude将运行这些测试,并显示测试因bug失败。

接下来Claude将修复bug,并编辑函数文件。

修复后,Claude重新运行测试,测试通过。

重新运行函数后,图片不再有白色背景。

感谢Claude的帮助。

Transcripts

play00:00

- As a software engineer, I find that writing tests

play00:02

and fixing code usually takes much longer

play00:04

than writing the code itself.

play00:06

Our new model, Claude 3.5 Sonnet, can help write tests

play00:09

and fix code autonomously.

play00:11

We'll show you how Claude takes us from an incomplete

play00:13

implementation to a fully functioning one,

play00:15

including unit tests with minimal input from me.

play00:18

I've written a function that resizes

play00:19

and crops images into circles.

play00:21

This could be used to make sure that users on a website have

play00:23

profile photos that are all the same dimensions.

play00:25

But, there's a bug in this function.

play00:27

When I run it, the cropped images are still square

play00:29

and they've got a white background.

play00:31

So let's see if Claude can write tests

play00:32

for the expected behavior, find the error and fix it.

play00:35

For this demo, I've given Claude tools to edit files

play00:37

and run commands and code in a secure sandbox environment

play00:40

with no internet access.

play00:42

I tell Claude about the bug I'm seeing the path to the file

play00:44

where the function lives, and some instructions for

play00:46

what I want it to do.

play00:47

First, Claude chooses to open the file

play00:49

with the function I've written to understand the current

play00:51

implementation and identify some potential problems.

play00:53

Then Claude writes a test suite

play00:55

for us and puts it into the file

play00:56

I asked it to.

play00:59

Now, Claude's going to run those tests.

play01:01

Let's give it a second.

play01:05

And just as expected,

play01:06

the tests are failing due to that bug.

play01:08

So now Claude's going to go ahead and fix that bug for us.

play01:10

Here you're going to see Claude edit the

play01:12

function file to fix the bug.

play01:15

And now Claude's going to rerun those tests.

play01:19

And the tests are passing.

play01:21

So now if we rerun the function...

play01:26

look, our image no longer has that white background.

play01:29

Thanks, Claude.

Rate This

5.0 / 5 (0 votes)

Related Tags
ソフトウェア開発バグ修正自動テスト画像処理プロフィール写真セキュリティサンドボックスコードエディットテスト失敗バグ修正機能向上
Do you need a summary in English?