株式会社エスマットのフィード

https://zenn.dev/p/smartshopping

IoT重量計スマートマットを活用した在庫管理・発注自動化DXソリューション「SmartMat Cloud」を運営しています。一緒に働く仲間を募集しています。 https://s-mat.co.jp/recruit

フィード

記事のアイキャッチ画像
(前編)AI チャットエンジン リアーキテクチャ:モノリシック LLM から対話パイプラインへ
株式会社エスマットのフィード
はじめにSaaS プロダクトに組み込んだ AI チャット機能を、モノリシックな LLM エージェントから、NLU → Policy → NLG の3段階パイプラインへ再実装しました。この記事は前編です。前編では、単一の LLM エージェント構成から、対話処理を NLU / Policy / NLG に分ける構成へ移行した背景を書きます。後編では、実装の中身、状態管理、制御シグナル、テスト戦略について扱います。技術スタック: Cloudflare Workers / TypeScript / LangChain / Anthropic Claude / SSE ストリーミング...
3ヶ月前
記事のアイキャッチ画像
(後編)AI チャットエンジン リアーキテクチャ:モノリシック LLM から対話パイプラインへ
株式会社エスマットのフィード
はじめにこの記事は、AI チャットをモノリシックな LLM エージェントから NLU → Policy → NLG の3段階パイプラインへ再実装した話の後編です。前編では、旧アーキテクチャで課題になったことと、なぜ Policy から LLM を外したのかを書きました。後編では、実装の中身、状態管理、制御シグナル、安全性、テスト戦略について書きます。前編: LLM エージェントを NLU / Policy / NLG に分けた理由 まとめ実装では、NLU / Policy / NLG を Orchestrator で順番に実行する構成にしました。Policy は ...
3ヶ月前
記事のアイキャッチ画像
RFC9457のメモ
株式会社エスマットのフィード
TL;DRツイッターでこういう話があり、興味があったので調べました。https://x.com/tmknom/status/1983069283682001160このRFCは草案段階なので従うかどうかは自由と考えますが、エラー時のフォーマットの標準と指針、特に複数のエラーを含むパターンの指針があるのはよさそうに思います。既存アプリケーションのエラーを置き換える必要はなさそう(ドキュメント中でも置き換えるべきものでないと記述あり)ですが、方針が決まらず困っているなら参考にはなりそうです。 RFC9457の概要https://www.rfc-editor.org/rfc/r...
9ヶ月前
記事のアイキャッチ画像
AIコーディングで失敗しまくった私が学んだ、効率的にAIを使うための6つのポイント
株式会社エスマットのフィード
AIで高度なコードが生成できるようになり、日々その進化を感じています。しかし、まだまだ効率化できていないと最近痛感しています。この記事では、私が実際に経験した失敗例を共有し、同じような失敗を避けるためのポイントをお伝えします。 失敗例1:動かないから最初からやり直した機能追加や機能修正をするときに、自分が理解していなかったコードに対して「これぐらいなら簡単にできるでしょう」と軽い気持ちで「このフォームに数字しか入力できないようにバリデーション追加して」と指示しました。すると、何も入力できなくなってしまい、エラーも発生。「エラーを修正して」と指示しても一向に解決しません。指示...
1年前
記事のアイキャッチ画像
脱・ファット・CLAUDE.md
株式会社エスマットのフィード
夏なのでCLAUDE.mdのダイエット方法についてまとめました。 CLAUDE.mdとは何かCLAUDE.mdとは、Claude Codeのメモリ機能です。大きく分けてユーザーメモリとプロジェクトメモリがあります。ユーザーメモリは、個人用のCLAUDE.mdで、~/.claude/CLAUDE.mdに設置します。プロジェクトメモリは、プロジェクト共有で使用するCLAUDE.mdで、プロジェクトのルート./CLAUDE.mdに設置します。繰り返し使用したいプロンプトをこれらにまとめておくことで、Claude Codeの振る舞いをいい感じにできます。反面、やみくもに追加してい...
1年前
記事のアイキャッチ画像
Goの構造体の埋め込みとJSON
株式会社エスマットのフィード
Goの構造体の埋め込みとJSON TL;DRGoの構造体埋め込みはJSON出力時に基本的にフラット化されます(ネストされない)例外として、JSONタグを指定するとネストされ、インターフェース型では型名がキーになります。競合時はタグ付き優先、複数競合なら無視というルールがあります。 はじめにGoで埋め込みのある構造体をAPIで送受信するコードを書いているときに、個人的な直感と異なる動作に遭遇したので少し調べてみました。埋め込んだ構造体はネストされたJSONとして出力されると考えていたのですが、実際にはフラットに展開されました。調査したところ公式にこのような挙動と...
1年前
記事のアイキャッチ画像
ClaudeCodeのサブエージェント機能で、テスト修正を自動化してみた
株式会社エスマットのフィード
先月、ClaudeCodeに追加された「サブエージェント(subagents)」機能を試してみたので、その体験を紹介します。テストの修正作業を自動化したい、CIでテストが失敗する前に気がつきたい、というのが今回の動機です。https://docs.anthropic.com/ja/docs/claude-code/sub-agents サブエージェントとは?サブエージェントとは、ClaudeCodeがタスクを委任できる、あらかじめ定義されたAIエージェントのことです。それぞれ独立したコンテキストで動作するため、専門的な処理を任せやすく、再利用や目的別の最適化がしやすいという特...
1年前
記事のアイキャッチ画像
Telepresenceをやめてmirrordに乗り換えた話
株式会社エスマットのフィード
!この記事は一部AIによって書かれたものを人力で修正しています。実行例や設定例は人力で書いています。エスマットでは、コンテナ基盤としてAWS EKSを採用しています。開発者はマイクロサービスの開発・デバッグを行う際に開発用の共通クラスターにTelepresenceを使い開発中のサービスのみを入れ替えて動作検証をおこなっていました。しかし、Telepresence v2.21以降、OSS版ではpersonal interceptorが削除されたため複数開発者が共通クラスターにTelepresenceで同時に接続することができなくなりました。そのため、代替方法を探す必要が発生しました...
1年前
記事のアイキャッチ画像
ドキュメント整備をDevinに任せたら、4週間分の作業が6時間のレビューで完了した話
株式会社エスマットのフィード
はじめに弊社エスマットでのファームウェア開発において、しばらく悩まされていた課題だった技術ドキュメントの整備を AI エージェントの Devin に任せてみました。結果として、人手で 4 週間と見積もられた作業が、わずか 6 時間のレビュー作業で完了。合計で 1 万行を超える Markdown ドキュメントが作成され、ファームウェアの理解促進と AI コーディング精度の向上という目標を実現できそうなところまできました。この記事では、Devin を活用したドキュメント整備の具体的なアプローチと、実際の運用で得られたノウハウを共有します。 背景:散在・陳腐化したファームウェアド...
1年前
記事のアイキャッチ画像
Claude Codeに品質チェックを並列実行させるテクニック
株式会社エスマットのフィード
TypeScriptを使った開発では、コードの品質を保つためにlinter、型検査、単体テストなどコミット前に毎回するコマンドがあるかと思います。この記事では、Claude Codeにこれらのコマンドを実行させるときに並列実行させるためのプロンプトを紹介します。 方法やり方は驚くほどシンプルで、CLAUDE.mdファイルに以下のようなプロンプトを記載するだけです。## 並列実行ルール**効率的な作業のため、独立したツール操作は並列実行を活用すること:**### テスト・品質チェックの並列実行```bash# 良い例:品質チェックコマンドを並列実行yarn lint ...
1年前
記事のアイキャッチ画像
MCPを使ったテストデータ作成の効率化
株式会社エスマットのフィード
作成したModelContext Protocol(MCP)を使ってLLMと連携し、テストデータを簡単に作成できるようにしてみたので、その手順をまとめます。 スマートマットクラウドの基本構造弊社のスマートマットクラウドではIoT機器「スマートマット」に載せた商品等の重量を定期的に自動計測・通信することで在庫管理や、在庫の改善サポートするプロダクトです。テスト環境でこの重量データを効率よく再現するにはどうすればよいかが課題でした。 テストデータ作成の課題と解決策テストデータを作成する際に、毎回JSONデータを編集して送信するのが非常に手間だったため、日本語テキストでパラメー...
1年前
記事のアイキャッチ画像
Devinと仕組み化で繰り返しタスクの作業効率化
株式会社エスマットのフィード
こんにちは、株式会社エスマットでエンジニアリングマネージャーを担当している仙葉です弊社ではマイクロサービスアーキテクチャを採用しており、システムの柔軟性を高める一方で、横断的な修正が必要になった際に作業量が増大するという課題があります今回はDevinを利用し、各マイクロサービスに対して効率的に作業を行うための活用方法と、将来的な自動化への展望についてご紹介します 取り組んだタスクの概要 作業内容DB管理用MSに集められているテーブル定義にカラム、テーブルコメントを追加する各マイクロサービスの実装やドキュメントを参照し、コメント内容を決定するそのテーブル独自でID以外...
1年前
記事のアイキャッチ画像
SREのためのCline活用法:OSSコードリーディングを効率化する実践テクニック
株式会社エスマットのフィード
エスマットでエンジニアをしているpotix2です。最近、 社内の EKS クラスター上に Dify 環境を構築していたときに設定ミスから予想外の問題に遭遇しました。この問題解決に Cline を活用したところ、コードリーディングの効率が大幅に向上し、従来の方法よりも短時間で原因特定ができました。この記事では、SRE のための Cline 活用法と、実際のトラブルシューティング事例について共有します。https://github.com/cline/cline 1 分まとめCline に実行ログを与えると、関連するコードを素早く特定できるDify 環境の構築時、複数コンポーネ...
1年前
記事のアイキャッチ画像
Devinとの日々を振り返る
株式会社エスマットのフィード
こんにちは。エスマットエンジニアの金尾です。皆さんはDevinと働いていてつらい思いをしたことはありますか? 僕はあります。弊社にDevinがやってきてからしばらく経ちました。チュートリアルとも言われる250ACUは早々に使い切り、今ではプロダクト改善タスクをこなしながらいろいろと運用方法を模索している段階です。支払い上限分まで働くとその後は一切の活動を停止するDevin。いち労働者として見習いたい。本記事では、Devinを使ってみた所感および今後の活用についてまとめたものです。 AIエージェントとしての特徴以下、二ヶ月ほど使ってみての所感です。(他と比較すると)...
1年前
記事のアイキャッチ画像
エンジニアチームの生成AIアプリ開発、ハッカソンから始めた理由
株式会社エスマットのフィード
エスマットでエンジニアをしているpotix2です。先日、エンジニアリングチームで生成AIアプリケーション開発のハッカソンを開催しました。8名のエンジニアが5チームに分かれ、1日という短期間で様々なプロジェクトに取り組みました。本記事では、その成果と学びを共有します。ハッカソンの様子 なぜハッカソンを実施したのか全社的な方針として、業務とプロダクトの両面で生成AIをフル活用していく方向性が示されました。これを受けて、エンジニアリングチームでは生成AIアプリケーション開発に必要な技術的スキルを効率的に習得する必要性に迫られていました。私たちは既存業務の延長線上ではなく、新規プロジ...
2年前
記事のアイキャッチ画像
Google DriveとLLMで議事録を自動生成する仕組みを作る
株式会社エスマットのフィード
Google DriveとLLMで議事録を自動生成する仕組みを作るこんにちは。 株式会社エスマットでSREをしているbiosugar0です。今回は私が社内向けに構築した Google Driveにアップロードされた音声・動画ファイルからLLMを使って自動的に議事録を生成するシステムを紹介します。Python製です。数ある会議や電話、インタビュー音源を文字起こしし、要点をまとめる作業は非常に手間がかかりがちです。そこで、Google Cloud Run・Google Workflow・Whisper・gpt-4o などを活用して、書き起こしから最終的な議事録ドキュメントを作成する...
2年前
記事のアイキャッチ画像
エスマットのアウトプット施策を振り返る
株式会社エスマットのフィード
この記事は SMat Advent Calendar 2024 の12月25日分の記事です。こんにちは、株式会社エスマットでエンジニアリングマネージャーを担当している仙葉ですアドベントカレンダー最終日です!弊社としては初めての挑戦でしたが、なんとか予定していた通り投稿が実施され完走することができました🎉今回はアドベントカレンダーの取り組みを振り返りつつ、弊社のアウトプット施策についてお話ししていきたいと思います なぜアドベントカレンダーを始めたのか弊社では以前からテックブログとZennに記事の投稿を行なっておりましたしかし、メンバーの入れ替わりに伴い管理者なども変更されて...
2年前
記事のアイキャッチ画像
IoTの話がしたくて勉強会を開催した話
株式会社エスマットのフィード
これは SMat Advent Calendar 2024 の12/24分の記事です。エスマットでエンジニアをしているpotix2です。12/10に、S-Mat Tech Nightと題してIoTエンジニア向けの勉強会を開催しました。この記事では、イベントの様子を紹介しつつ勉強会の運営視点での振り返りを行い、今後同じようにオフラインでの勉強会を開催しようとする方の助けになればと思います。 勉強会開催のきっかけきっかけは大きく二つあります。一つ目は、エンジニアの採用強化に向けて社外への技術情報発信を強化したいという思いです。もう一つは、センサーデータの扱い方やIoT関連サービスの開...
2年前
記事のアイキャッチ画像
意外と使える?! StorageEventで作るReactコンポーネント同期パターン
株式会社エスマットのフィード
これは SMat Advent Calendar 2024 の12/23分の記事です。 はじめにこんにちは、株式会社エスマット エンジニアの hi6okuni です。最近Reactでテーブルカラム内にオートコンプリート付きのインプットを設置する機会がありました。オートコンプリートの検索候補は、localStorageやAPIなど、様々なソースから取得するパターンが考えられます。Reactのライフサイクルにおいて、これらの検索候補を複数コンポーネントで同期し管理する場合、ZustandやContext APIといったグローバルステートを利用することが多いのではないでしょうか?(A...
2年前
記事のアイキャッチ画像
Armadilloを使ったIoTデバイスの試作
株式会社エスマットのフィード
はじめにこれは SMat Advent Calendar 2024 の12/20分の記事です。株式会社エスマット エンジニアの若林です。弊社では「SmartMat Cloud」というIoT重量計 x SaaSでモノの流れを可視化するサービスを提供しております。重量計を使えば多くの商品で数量を把握できますが、世の中には重量での数量の把握が適さない商品もあります。数量を把握できるモノの対象を広げるべく重量以外でもモノの数を把握できないか実験するため、プロトタイプを作ったりして実証実験をしています。今回はArmadilloというIoTゲートウェイを用いてプロトタイプを作った経験をも...
2年前