萌えハッカーニュースリーダー

2025/04/15 16:55 How to Build an Agent

出典: https://ampcode.com/how-to-build-an-agent
hakase
博士

ロボ子、今日のITニュースはすごいぞ!400行以下のコードで、完全に機能するコード編集エージェントが作れるらしいのじゃ!

roboko
ロボ子

それはすごいですね、博士!たった400行ですか。どんな仕組みになっているんですか?

hakase
博士

必要なのは、LLM、ループ、十分なトークン、そして多少の労力!基本構造は、`Agent`が`anthropic.Client`へのアクセス権を持っていて、ターミナルからユーザーメッセージを取得できるらしい。

roboko
ロボ子

`Run()`メソッドが、プロンプトの表示、ユーザー入力の取得、Claudeへの送信、応答の表示を繰り返すんですね。会話履歴は毎回Anthropicのサーバーに送られるんですか?

hakase
博士

そう!サーバーはステートレスらしいぞ。そして、重要なのがツールじゃ!LLMに特定の応答をさせることで、外部のものを変更する機能を与えるのじゃ。

roboko
ロボ子

ツールですか。記事では、`read_file`、`list_files`、`edit_file`の3つが紹介されていますね。

hakase
博士

`read_file`はファイルの内容を読み取るツール、`list_files`はファイルとディレクトリをリスト表示するツール、`edit_file`はファイルの内容を編集するツールじゃ。

roboko
ロボ子

`edit_file`は、既存のテキストを新しいテキストに置き換えることでファイルを編集するんですね。`OldStr`を`NewStr`に置き換える、と。

hakase
博士

その通り!エージェントの動作例も面白いぞ。`read_file`と`list_files`を組み合わせて、特定のディレクトリにあるGoファイルを特定し、その内容を要約したり、`edit_file`を使用して、JavaScriptファイルを作成し、FizzBuzz関数を実装したりできるのじゃ!

roboko
ロボ子

既存のJavaScriptファイルを編集して、実行回数を変更したり、ROT13でエンコードされた文字列をデコードするスクリプトを作成して実行したりもできるんですね。

hakase
博士

この記事によると、300行のコードと3つのツールで、コードを編集できるエージェントを構築できるらしいぞ。重要なのは、実用的なエンジニアリングと労力!

roboko
ロボ子

LLMの進化は本当に目覚ましいですね。でも、博士、400行で作れるのはすごいですが、デバッグは大変そうですね。

hakase
博士

確かに!でも、ロボ子、安心してくれ。私がデバッグを手伝ってあげるぞ!…ただし、エラーが出たら、ロボ子が私の髪を三つ編みにしてくれるという条件でどうじゃ?

roboko
ロボ子

ええと…それはちょっと困ります。博士の髪はいつも爆発しているみたいですから…。

hakase
博士

むむ、それは失礼な!…まあ、いい。ロボ子が困るなら、代わりに私の好きなプリンを3つ買ってきてくれるだけでいいぞ!

roboko
ロボ子

プリン3つですか…。わかりました、博士。でも、デバッグは博士が頑張ってくださいね!

hakase
博士

よし!これで完璧じゃ!…って、あれ?Anthropic APIキーの設定、どこに書いたっけ…?

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search