理系学生日記

おまえはいつまで学生気分なのか

2025-01-01から1年間の記事一覧

Vibe Codingでどんどんコードが発散していくのを、AIとlizardとsimilarity-pyで防ぐ

ai

小さなツールであれば、もうClaude Codeでいいよね、自分で書く必要ないよね、という気になってきた。 TeamsのWEBVTTから議事録を作るツール、僕は1行も書いてない(実際のところは、devcontainer設定ファイルだけいじった)。 でも、機能追加とか仕様変更と…

コーディングエージェント用のオンボーディングドキュメントを、エンジニア用のドキュメントと同一にできるのだろうか

ai

コーディングエージェントによるコード生成の精度は結構いい感じになってきていて。GitHub CopilotとかClaude Codeとか、コーディングアシスタントだかエージェントだかがどんどん現場に入ってきています。 でも、これらのツールに「いい感じのコード」を書…

Context7 MCPサーバで“未学習”のフレームワークの使い方を生成AIに伝える

生成AIを使った生産性向上というのは猫も杓子も取り組む領域なわけですが、特に「生成AIにコードを書かせる」場面では、AIが学習していないライブラリやフレームワークを使うときに大きな壁が立ちはだかる。AIは学習データに含まれていない情報には弱くて、…

VS Codeに載った`githubRepo`を使うことで未学習ライブラリを用いたVibe Codingを加速できるのではないか

VS Code v1.100で登場したgithubRepo機能、試しましたか? いや全然知らなかったんだわこれ。 You can now use the #githubRepo tool to search for code snippets in any GitHub repository that you have access to. This tool takes a user/repo as extra…

わたしの知らないGitHub CopilotのInstructions/Promptsの世界

Claude Codeなどさまざまなコーディングエージェントが隆盛を誇る中で、GitHub Copilotも着実に進化を続けています。特にエンタープライズ開発における信頼感を考えると、GitHubやMicrosoftがバックに控える GitHub Copilotの安心感は捨てがたい。 特に最近…

Claude CodeをBedrock連携させた時のネットワーク疎通要件検証

Claude Code、便利ですよね。課金した。コードの自動生成やリファクタリング、ちょっとした調査まで、開発現場での「もう一人の自分」として頼りになる存在です。でも、企業や組織の“境界型ネットワーク”、つまり外部との通信を厳しく制限している環境で使う…

Claude Code GitHub Actionsから考える生成AI駆動開発とドキュメント管理の妄想

はじめに もし、すべての開発ドキュメントや成果物が「リポジトリ」という一つの場所に集約され、AIや自動化ツールがそれらを自在に読み書きできたら――。そんな“Single Source of Truth(SSoT)”な世界を想像しても、結局のところ要件定義や設計ドキュメント…

SARIMAXのメモリ消費問題とsimple_differencingによる解決

はじめに:遭遇したメモリエラー なぜSARIMAXでメモリエラーが起きるのか? simple_differencing=True でなぜ解決するのか? 実装例 メリット デメリット・注意点 まとめ はじめに:遭遇したメモリエラー 時系列解析でSARIMAモデルのハイパーパラメータ探索…

Zettelkastenと生成AIを活用した能動的読書法

業務で使えるようになったことや、生成AIと一緒に使う楽しさもあって、最近はObsidianを使う人がどんどん増えてきました。 僕自身もいろんなObsidianの記事を読んでいるうちに、「Zettelkasten(ツェッテルカステン)」というノート術に出会いました。これに…

SARIMAモデルによる時系列データの予測を行い異常検知適用への準備をする

業務でAIばかり考えることになっているのですが、データからモデルを学習し、そのモデルを使って未知のデータに対して推論を行う技術群をAIと呼ぶとすると、いわゆる統計モデルでの機械学習も当然その中には含まれます。従って、統計モデルを用いた異常検知…

「Pythonではじめる異常検知入門」を読んだ

ひょんなことから異常検知という分野に関わることになり、実務で使えそうな知識を得ようと、いくつかの入門書をAmazonで購入しました。異常検知は機械学習の一分野に位置づけられ、多くの数式や背景知識を必要とするため、初心者にとってはその全体像や実践…

「Amazon Bedrock 生成AIアプリ開発入門」を読んだ

はじめに Amazon Bedrockと生成AI関連のAWSサービスの全体像を俯瞰できる 実務に役立つ知見とハンズオン 想定読者とおすすめポイント まとめ はじめに 「Amazon Bedrock 生成AIアプリ開発入門」は、Bedrockを中心とした生成AIアプリケーション開発の全体像を…

最近の苦しさがどこに根ざすのか

翌週の予定を立てながら、最近は毎週、毎週、本当に苦しく感じる時がある。 ここ数年この辛さは蓄積し続けていたのだけれど、それがどうも自分の中の閾値を越え始めたようだった。 この種の悩みを抱えるときにも生成AIというやつは本当に便利で、壁打ちの中…

GitLab Self-Managed用のCodeBuild-hosted GitLab RunnerをTerraformで構築する

2025/2/26に、Self-hostedなGitLabに関して、そのCI/CDを実行するGitLab RunnerをCodeBuildで動かせるようになったという発表がありました (2024/9/17に発表された[AWS CodeBuild がマネージド GitLab ランナーのサポート開始:title:bookmark]はあくまでSaaS…

Clineを使ってブログの文体・文調を言語化しエントリ執筆を自動化する試み

最近、AI技術の進歩により、技術文書の作成プロセスが大きく変化しています。そんな中、mizchiさんの以下の記事に大きな影響を受けました。 この記事では、自身のブログエントリから文体や技術的専門性を抽出し、AIに学習させることで記事を自動生成するとい…

syftとgrypeでJavaとNode.jsプロジェクトの依存関係と脆弱性を可視化する

最近、オープンソースソフトウェアを利用したサプライチェイン攻撃が増加しています。そのため、プロジェクトの依存関係管理と脆弱性対策の重要性が高まっています。僕は開発プロジェクトで多くの依存パッケージを利用していますが、その依存関係の可視化と…

GitHub ActionsのSelf-hosted RunnerをCodeBuildで構成する

GitHubで開発を行う際、CI/CDには通常GitHub Actionsを利用することが多い。プライベートリポジトリであっても同様だが、プランによっては無償で利用できるRunnerの上限が月2,000分までという制限がある。 For private repositories, each GitHub account re…

生成AI時代のシステム開発において「設計」は何のためにあるんだろうか

生成AIの登場でシステム開発のやり方が大きく変わろうとしています。 Large Language Models for Software Engineering: Survey and Open Problems こうなると、要件さえ与えればすぐにシステムが生成できる未来も、決して夢ではないのかもしれません。 こん…

「GitLab実践ガイド 第2版」を読んだ

最近、GitHubだけでなくGitLabを利用する機会が増えてきました。しかも、単なるユーザーとしてではなく、GitLabの構築や運用に関わることが多くなっています。そのため、改めて 「GitLab実践ガイド 第2版」 を読んでみました。 GitLab実践ガイド 第2版 (impr…

LangChain Meetup 5でJavaのソースコード解析を試み敗北した経験について発表しました

発表しました。 Langchain Meetup はめちゃくちゃ良かったです。オフライン勉強会だからこそ聞けることがある。すごくモチベーションが上がった。また参加したい。 テーマ設定 コード生成の課題 アプローチ 前提 今回のアプローチ 結果 業務ロジック フレー…

Terraform管理のAPI Gatewayとlambroll管理のLambda関数をdata.aws_resourcegroupstaggingapi_resourcesで繋げる

Terraform管理とLambrollの併用 Lambrollとは? API Gatewayとの連携課題 data.aws_resourcegroupstaggingapi_resources なお Terraform管理とLambrollの併用 AWSリソースはTerraformで管理しています。Terraformは非常に便利で、無駄に抽象化されていない「…

GitHub Actionsでテストカバレッジの増減を可視化することによりホーソン効果を狙う

まぁよくやられている話なんだけど。 自動テスト頑張りましょうみたいな話をしても、大体そうですねで終わる。これには色々理由もあって、3分くらい考えても テスト書く時間があったらまずはプロダクションコードの実装を終わらせろや、そうじゃないとリリー…

Pull RequestにテストカバレッジをコメントするGitHub Actionsを「セキュアに」実装するには

GitHubでPull Requestを作成することはもはや当たり前のように行われています。 最近は多くの場合、対象リポジトリをcloneした後でfeature branchを作成し、当該のfeature branchを用いてPull Requestを作成するという流れが一般的になったように思われます…

いくつかの生成AIエージェントに見るtree-sitterを用いたソースコード解析

生成AIがシステム開発に利用されるようになってホットな領域になっているのが、ソースリポジトリ、ソースツリーの解析です。 僕のところにも、このソースリポジトリが何をやっているのか可視化してくれみたいな話はよく聞きます。 一方で、GitHub Copilotな…

fs.existsSyncをモックするためにproxyquireを使う

Typescriptのプロダクションコードでfs.existSyncを使うようにした。Node.jsのAPIなんでそれは当然動くんだけど、このコードをテストしたい。テストするために、fs.existSyncをsinonでモックしようとしたところ次のようなエラーになった。 existsSyncStub = …

今年の目標

家族とも相談しながら、今年の目標を決めました。 生活 ゲームを2つクリアする 体力をつけるため、毎日縄跳びをする 温泉旅行に2回行く 仕事 9時始業21時までに終業:疲れを翌日に持ち越さない 技術に向き合う時間を毎日3時間は作る:仕事には技術を求めてい…

Clineのソースコードから、コーディングエージェントがどう動いているのかを理解する

概観 ツール定義 処理の流れ 処理主体 Clineの処理の流れ タスクの初期化 recursivelyMakeClineRequestsでどうやってタスクの計画を行うのか ツールを使うサブタスクに分割するためのtool use まとめ Clineは、ユーザの指示を実現する「計画と実行」を行う自…

TerraformでSelf-hostedなLangfuseを構築し、 Chat Completion APIのトレーシングを試す

LLM Observability Tool Langfuse LangfuseをSelf-hostしよう Langfuseのアーキテクチャ Terraformで構築する トレーシングを試してみる LLM Observability Tool どこもかしこも生成AIですが、生成AIをインテグレーションするシステム開発においてなくてはな…

App RunnerやECSで"exec format error"が発生する / Multi-platform buildsでハマる

特定のDockerイメージをAmazon ECSやApp Runnerで実行すべく、デプロイを試みたところ、以下のようなエラーが発生しました。 exec format error 真面目にハマったので、何が起こったのかを整理しておきます。 前提としてのMulti-platform builds 何が起こっ…

SwitchBot CO2センサーで測る、俺たちのCO2濃度

「スマートホーム」と聞くと大袈裟に聞こえるかもしれませんが、我が家ではSwitchBot製品で統一を図っています。特に、2024年の「買ってよかったものランキング」上位に輝いたのがSwitchBotのCO2センサーです。 実は前々からCO2濃度センサーが欲しいと思って…