アルゴリズムとかオーダーとか

仕事で勉強したことなどをまとめてます

Spec Kit + Claude Codeを試してみた(感想雑記)

最近話題の Spec Driven Development を試してみた感想記。ツールはspec kit を利用した。

spec kitのインストール方法などは下記を参考に行った。
azukiazusa.dev

簡単なLLM Chatアプリを作成。コードは以下のリポジトリにアップしている。
github.com

spec kit利用で期待したことは以下の3つ。
1. ある程度大きなタスクをClaude Codeで自走できるようにしたい
2. 仕様を明確化してAIと共同作業ができること
3. TDD順守による仕様に準拠したコードをLLMが生成できること

以下、試してみた感想をつらつらと書いてみる。

  • 自分のAI利用状況
  • 率直な感想
  • やったこと
  • 「現状の」LLMの限界
  • LLMができること・できないこと
  • LLMのコードはなぜに読みにくいのか?
  • 今のagentやcontextを与える方法の限界
  • coding LLMは使えない?
続きを読む

EIP-7702の署名対象とリプレイ保護

本記事ではEIP-7702について学習しているときに浮かんだ以下の2点の疑問について、go-ethereumの実装とEIP-7702の仕様を詳細に分析して解説する。

1. auth listに含まれる署名は何に対して署名をしてるのか?
2. auth listの署名を使ってリプレイ攻撃されないのか?

EIP-7702については過去記事を参考:
y-nakajo.hatenablog.com

  • 1. Authorization Listの署名対象とメカニズム
    • 何に対して署名するのか?
    • 署名に含まれる3つの要素とその目的
  • 2. リプレイ攻撃防止とセキュリティメカニズム
    • EIP-7702で保護可能な攻撃
続きを読む

EIP-7702入門

Pectra Upgradeが行われてからだいぶたっており、いまさら感はありますが個人的にずっと気になっていたのでEIP-7702について調べたことをまとめる。
いつも通り、go-ethereumの実装を参照しながら、EIP-7702に動作について詳しく見ていく。まずは入門としてEIP-7702の基本的な動きを確認する。

続きを読む

AWS SageMaker Canvasに任意のS3を利用する

本記事では、SageMaker Canvasを初めて利用する中で遭遇した課題と、その解決策について述べる。

SageMaker Canvasの学習のために以下のAWS公式ハンズオンを試していた際、データエクスポート時にS3バケットの取り扱いに関する問題が発生したた。また解決もできたので解決方法についてこの記事にまとめる。

aws.amazon.com

続きを読む

Bolt.newのtoken節約方法

近年、テキストベースの指示でUIを自動生成できるツールが注目されている。最近業務で実際に Bolt.new に触れる機会があった。
bolt.new

なお、Bolt.newを選んだ理由はv0よりも使えるフレームワークに自由度があったため。

本記事では、$100の個人向けプランを実際に利用した経験をもとに、Bolt.newを効率的かつ経済的に活用するためのポイントを紹介する。

  • Bolt.newとは何か
  • $100プランを試してわかったこと
  • Visual Studio Code + Copilotとの比較
  • トークンを節約するための工夫①:デザイン修正はローカルで対応する
  • トークンを節約するための工夫②:機能単位でプロジェクトを分ける
  • まとめ:設計フェーズにおける強力なツールだが、使い方には工夫を
続きを読む

KubeflowのArtifact作成方法

KubeflowにArtifactというデータなどを保存するための仕組みがある。Artifactを活用すると実験の履歴にどのデータを入力として使い、生成されたモデルがどれか?を紐づけて管理できるようになるらしい。

ということでArtifactを使えるようにしたいと思いいろいろ調べたけど、とりあえず動かすというサンプルがなかったので作ってみた。
多分AWSのS3とかGCSのStorageとかに保存するのだといろいろサンプルあるんだろうけどローカルでお試しするのがなかった。

結構四苦八苦したので、同じように困った人向けに公開しておく。

gist.github.com

  • 概要説明
  • 所感
続きを読む

KubeflowのNotebookからPipelineを実行

この記事では、KubeflowのパイプラインをNotebookから実行する方法を説明する。Kubeflowがローカル環境に構築されている場合、ServiceAccountの設定から実際にパイプラインを実行する手順を記述する。
以下の公式のドキュメントが実行できなかったので、ローカルのkubeflow notebookで実行できる手順をまとめた。
www.kubeflow.org

どうやらデフォルトで提供されるServiceAccountには、Kubeflow Pipelineを操作するための十分な権限がない。
このため、必要な権限を付与した新しいServiceAccountを作成し、Notebook上からパイプラインを実行する方法をまとめた。
また、作成したServiceAccountを適切に設定し、ローカルのnamespaceと合わせることで、Kubeflowダッシュボードからも実行状況を確認できるようにする。
これにより、notebookで生成したpipelineのyamlをいちいちダウンロードしてからダッシュボードにアップロードして実行みたいなめんどくさい手順を経ずに、直接notebookからpipelineを登録・実行できるようになる。

  • 前提条件
  • 1. ServiceAccountの作成
  • 2. Tokenの発行
  • 3. NotebookでKubeflowパイプラインを実行
    • pipelineの作成
    • Kubeflowのエンドポイントとトークンの設定
    • Experiment, Pipelineの取得
    • パイプラインの実行
    • Experiment設定せず直接pipelineを実行する方法
続きを読む