OpenAIとClaudeのAgent SDKから学ぶAgentの基本構成
こんにちは、ぷらす(@p1ass)です。
最近、Agent を「使う側」ではなく「作る側」に興味を持ち始めています。 色々と新しい学びが多いなぁと感じているので、せっかくなので自分が学んだ Agent の開発について、何回かに分けて記事を書いていこうと思います。
現在予定しているテーマは次の 7 つです。
- Agent の基本構成 (この記事)
- Tool の設計
- コンテキスト管理
- ハーネス
- Multi-Agent
- Workflow と Guardrails
- Observability と Eval
この記事はその 1 本目で、Agent を構成する要素など Agent の全体像を整理します。
OpenAI と Anthropic はそれぞれ Agent SDK を開発していますが、2 つの SDK における Agent の捉え方はほぼ同じです。 どちらも「Model、Instructions、Tool を備え、最終出力を返すまでループを回す」という形で Agent を組み立てています。
この記事では、まず Agent を理解する前提となる Tool Call の仕組みを確認し、OpenAI が公開しているドキュメントを元に Agent の基本構成を整理します。 そのうえで、OpenAI Agents SDK と Claude Agent SDK がその構成をどう表現しているのかを比較し、最後に Go で API を直接呼び出す最小限の Agent を実装します。
AIが書いた日本語に頻出する単語を指摘するtextlintプリセットを作った
こんにちは、ぷらす(@p1ass)です。
AI が書いた日本語に出てきやすい単語と言い回しを見つける textlint のプリセット、textlint-rule-preset-ai-words-ja を作りました。 この記事では、実際に検出できる単語の例や、作成した背景、使い方、形態素解析を使った検出の仕組み、辞書の仕組みを紹介します。
Claude Code ActionにPRのCode Suggestionをしてもらうプロンプト
こんにちは、ぷらす(@p1ass)です。
世の中は Claude Code の話題で溢れかえっていますが、例に漏れず私も Claude Code / Claude Code Action を使って色々試行錯誤しています。 今回は Claude Code Action を使って PR の Code Suggestion をしてもらうプロンプトを作成したので紹介します。
個人ブログをHugoからHonoに移行しました
こんにちは、@p1assです。 先日、本ブログの静的サイトジェネレーター (SSG) をHugoからHonoに切り替えました。
旧Hugoのブログは2019年に作成したものなので、おおよそ5年間ほど使い続けていたことになります。
この記事では、長く使っていたHugoをやめる決断をしたモチベーションや、Honoを採用した理由、実際にHonoを使っていく上で工夫したポイントについて紹介します。
Web Speed Hackathon 2024に参加して2位になりました
こんにちは、@p1assです。
先日、Web Speed Hackathon 2024 というイベントに参加しました。
僕が10年以上続けている「メールの受信トレイを空っぽにしつづける」管理方法
はじめに
メールの仕分け方は人によってさまざま。フィルターやラベルを駆使してきちんと整理している人もいれば、大雑把に受信トレイに溜め込んでいる人もいると思う。
どんなやり方でもそれでうまく回っているなら何も問題は起こらない。でも、ちょっと工夫すればもっと効率的にメールを処理できるかもしれない。
僕は 10 年以上、「受信トレイが空っぽであることが理想」 という思想のもと、メールを捌いている。 こだわりの強いやり方だとは分かっているけど、この管理を続けていると様々な悩みが一気に解消される。
この 10 年間の間に何度かこの管理方法を説明してきたけど、メリットが理解されなかったり、行動まで移す人は少なかった。 だから、この記事で改めて「メールの受信トレイを空っぽにしつづける」管理方法を紹介し、そのメリットを理解してもらいたい。
ISUCON13に参加して4位になりました (187,577点)
こんにちは、@p1ass です。
去年に引き続き、 @km_conner と @atrn0 と一緒にチーム「釜中の鯖」として ISUCON13 に参加しました。 結果は187,577 点で総合 4 位になりました。わいわい 🙌
最近のGoのOpenAPI Generatorの推しはogen
はじめに
OpenAPI の yaml ファイルから Go のコードを生成する OSS ツールは何種類か存在します。 よく使われるのはOpenAPITools/openapi-generatorやdeepmap/oapi-codegenでしょうか。
ググると日本語の記事もたくさん出てきます。
もちろんこれらの OSS は便利なのですが、生成される interface や型が個人的にあまり好みではなく、モヤモヤしながら使っていました。
そんな中、新しめの OSS であるogen-dev/ogenというツールが良さげだという情報をキャッチし、実際に使ってみたところ自分の好みにフィットするツールだということが見えてきました。
Goのmath/bigパッケージを使ってbase62エンコードをする
こんにちは @p1ass です。
Go で base62 エンコード、つまりあるバイト列を [a-zA-Z0-9] の範囲の文字を使ってエンコードする方法を調べたのでまとめます。
最終的には、math/big パッケージを使うことで実現できることを知りました。
Google DomainsからCloudflareにドメインを移管した
こんにちは、@p1assです。
先日、Google から Google Domains を Squarespace に譲渡すると発表されました。 (Edited(2023/06/18): Squarespace のスペルが間違っていました。)
何もせずともドメインを失うことはないですが、良い機会なのでドメインを Cloudflare に移管することにしました。 Cloudflare を選んだ理由は、既にネームサーバーとして Cloudflare を利用していたからです。





