ELEMENTS Engineeringのフィード
https://zenn.dev/p/elements
ELEMENTSグループの開発部の公式アカウントです。 生体認証、画像処理、機械学習などを基盤技術としてオンライン本人確認で国内シェアトップのLIQUID eKYCなどを作っています。Zennでは開発部のメンバーの日々の業務で得た知見やTipsを備忘録的に投稿しています。
フィード

LLMを『信じすぎない』— 出力を検証して守るAI活用Tips 3選
ELEMENTS Engineeringのフィード
はじめに私たちは複数のプロダクトにLLMを組み込んでいます。長い専門文書のドラフトなど、LLMの出力がそのまま顧客向けの成果物になるものが多いのが特徴です。こうしたプロダクトでは、出力が「速い・安い」だけでは足りません。数値や事実が1つ間違っているだけで、成果物として使えないこともあります。では、LLMの出力が正しいことを、どう担保すればいいのか。本記事は出力を信じすぎず、仕組みで検証して守る話です。前回の記事「LLM呼び出しを実測したら、速度も品質も改善した話」では、入力(呼び出し側)を引き算して速く・安くする話を書きました。共通する考えは1つで、LLMを過信しない...
21日前

ClaudeがSlackに書く文字装飾が崩れる問題をSkillで直す
ELEMENTS Engineeringのフィード
Claude CodeでSlackの下書きを作るようになってから、**重要** と書いたつもりの太字が、Slackの画面ではアスタリスクが見えたまま斜体になってしまう、という崩れに悩まされていました。原因は次の二つでした。SlackがMarkdownではなく mrkdwn という独自記法を使っていること装飾の描画に 空白の境界 を必要とすることこの記事では崩れの仕組みを順に整理し、最後に正規化スクリプトをSkill化して自動で直す方法を紹介します。 Before / After使用前:使用後: インストールプラグインとして入れる場合:/plugin mar...
2ヶ月前

LLM呼び出しを実測したら、速度も品質も改善した話
ELEMENTS Engineeringのフィード
はじめに私たちは複数のプロダクトにLLMを組み込んでいます。長い文書を生成するアシスタントや、数百ファイルを読ませて対話するレビューチャットなど、1つのタスクで何度もLLMを呼ぶことが多いのが特徴です。LLMを使ったプロダクト開発は、たいていPoC(Proof of Concept)から始まります。そもそも価値があるのかを素早く確かめる段階なので、まず動くことを優先します。私たちのプロダクトも例外ではなく、「とりあえず全部送る」「とりあえず高性能モデルで」といった過剰な実装が溜まっていきました。今回紹介するのは、そのPoCフェーズを終えたプロダクトの改善に取り組んだ試みです...
2ヶ月前

AIエージェントでエッジデバイスの動作確認を自動化した話
ELEMENTS Engineeringのフィード
はじめに — 背景・課題とDevin × Tailscaleという解決策 プロダクト紹介私たちは、セルフ式ガソリンスタンドにおけるAI安全監視システムを開発しています。ガソリンスタンドでは、給油中の火災・喫煙・不正容器(ポリタンク)の使用といったリスクをリアルタイムに検知し、給油機のロック制御まで自動化する必要があります。このシステムの中核を担うのが エッジデバイス です。本プロダクトではエッジデバイス(NVIDIA Jetson)を利用して、カメラ映像をもとにAI推論を実行し、検知結果に応じて給油機の制御を行います。 課題:開発者が毎回SSHで手動確認する運用の辛み...
3ヶ月前

AI自動給油許可監視システム (AiQ PERMISSION) における IoT デバイスの死活監視
ELEMENTS Engineeringのフィード
はじめに「AI自動給油許可監視システム(AiQ PERMISSION)」では、現場に設置された IoT デバイス群の死活状態を AWS IoT Core 経由で収集し、Slack に通知するサーバーレス構成を採用しています。IoT Core / Lambda / DynamoDB / EventBridge で組んでいます。本記事では「いつ」「どこに」「どんな条件で」通知が飛ぶのか、実装パターンを中心に解説します。実装内容は他の IoT デバイス監視にも応用できる汎用的なパターンとして整理しました。 IoT 死活監視で直面する 4 つの課題IoT デバイス監視を Slack...
3ヶ月前

エッジデバイスNVIDIA JetsonのCPU/メモリ逼迫を解消した話
ELEMENTS Engineeringのフィード
はじめに私たちは、AI自動給油許可監視システム(AiQ PERMISSION)を開発しています。AiQ PERMISSIONはNVIDIA Jetson搭載のエッジデバイス上でカメラ映像をリアルタイムに解析し、火災・喫煙・ノズル異常・ポリタンクなどの危険を検知して、給油許可を行います。開発する中でリソース逼迫の課題があったので、本記事では、この課題を段階的に解消した過程を紹介します。課題:カメラ台数の増加に伴いシステムリソースが逼迫し、CPU 90%超、メモリ100%(Swap含む)に達して、推論停止や画面のフリーズが発生しました。⛽️プロダクト詳細はこちら: AI自動給油...
3ヶ月前

「今、隣のメンバーがどんなAI活用をしているのか?」AIエージェントとのやり取りをSlackに集約したら、AI活用が急加速した話
ELEMENTS Engineeringのフィード
はじめにELEMENTSでは、Claude Codeをはじめとするコーディングエージェント、Gemini等の画像生成モデルなど多種多様なAIツール、モデルを活用する文化があります。中でも私の所属するAiQ PERMISSIONのチームでは、ソースコード/ドキュメント作成の作業をSlack上でする形に切り替えました。2026年1月中旬から2026年の4月中旬まで3ヶ月間、Devinを中心に据え置いて、Slackで全ての作業をするように推進した結果、99%AIコーディングに移行し、bizがドキュメント作成にも活用する流れを生むことができたので、その過程や背景を記事にしました。 ...
4ヶ月前

LLM as a Judgeの結果でモデル比較をするなら、まずは点数評価より比較評価を試してみよう
ELEMENTS Engineeringのフィード
はじめにLLMを使ったプロダクトでは、LLMの出力をきちんと評価することが欠かせません。直感で「なんとなく良い」「なんとなく悪い」と判断していると、評価基準が属人化しやすくなります。さらに、品質だけでなくコストや速度とのバランスも含めて判断したい場面では、定量的に比較できないことが大きな問題になります。こうした状態のまま一度リリースしてしまうと、後から改善しにくくなりがちです。LLMで解くタスクはどんどん複雑で高度になっているので、従来のように正解を用意できるタスクばかりではありません。そこでよく使われるのが、LLMにLLMの出力を評価させるLLM as a Judge です。...
5ヶ月前

使って分かった、Claude.aiのTeamプランでできること
ELEMENTS Engineeringのフィード
はじめに当社ではClaude Teamプランを50シート規模で導入し、開発チーム全体でClaudeを活用しています。本記事では、導入の経緯から各機能の使用感、組織設定のポイント、運用で得られた知見までを共有します。「Claude Teamプランって実際どうなの?」「APIキー運用からの移行を検討している」という方の参考になれば幸いです。 Claude TeamプランとはAnthropicがClaude Pro / Claude Max 5xをビジネス組織向けに提供しているプランです。Standardシート: Claude Proと同等の使用量で月額$25Premi...
6ヶ月前

データベース横断で「考えて分析する」AIを作る
ELEMENTS Engineeringのフィード
こんにちは。ELEMENTSで執行役員 VPoEとしてソリューション開発を管轄している染谷です。現在、ある大規模案件で、DBを渡したら、プロンプトに応じて自律的にクエリを設計・実行し、根拠付きでインサイトを返す「データ探索エージェント」って作れたら便利じゃない?って思ってそんなエージェントを開発しています。単なる「Chat with SQL」ではありません。DB構造を理解する不明確なプロンプトを分解する必要なクエリを複数設計する結果を検証するサンプリング/集計する説明可能なレポートを生成するという、複数LLMループを持つエージェント構造を実装しています。...
6ヶ月前

[LLM] Reasoning Model でのユーザー体験を向上させるためにReasoning summaryを使う話
ELEMENTS Engineeringのフィード
はじめにOpenAI o1 が Reasoning model としてリリースされて1年強。その精度の高さに各社が追従し、今では LLM ベンチマークの上位陣のほとんどを Reasoning modelが占めるようになりました。プロプライエタリなモデルに限らず、多くのOSSモデルもこれに追従しており、精度や賢さを追い求める場合のデファクトスタンダードになっています。引用: artificialanalysis.ai一方でその精度向上と引き換えに、最終的な回答が得られるまでに今まで以上に長い時間がかかるようになってしまいました。かつてプロンプトエンジニアリングで同様のこと(...
9ヶ月前

🌱 Spec-Kitで始める🥒BDD
ELEMENTS Engineeringのフィード
なぜspec-kitを利用してBDDする?まずspec-kitとBDDはそれぞれどのようなものなのかを見てみましょう 🌱spec-kitとは?仕様駆動開発を支援するツールキットです。spec-kitを利用すれば、仕様から実行できるコードを生成できます。 🥒BDDとは?「ユーザーやビジネスの期待される“振る舞い(Behavior)”を起点にして開発を進める」手法です。ビジネス側とエンジニアの両方が理解できる自然言語で実行できる仕様を書いて、開発を進める手法です。補足:実行できる仕様とは、仕様と実装が一致していなければ自動テストが失敗するため、仕様が古くなったり、コー...
10ヶ月前

エッジAIアプリをGreengrass x Terraformで管理する
ELEMENTS Engineeringのフィード
どんな記事かGreengrass ComponentをTerraformを使って管理したいと考えている方向けに、利用方法と管理時のディレクトリ構成についてまとめた記事です。 はじめにELEMENTS開発部AiQグループの森本です。AiQ PERMISSIONというプロダクトの開発を担当しております。AiQ PERMISSIONは、セルフガソリンスタンドで義務化されている給油者の行動監視をAIが代替し、人手不足の解消や業務効率化、安全性の向上を目的としているプロダクトです。AiQ PERMISSIONではセルフガソリンスタンドにエッジデバイスを置いています。これらのデバイスは...
10ヶ月前

AndroidスマホのオンデバイスRAGアプリの性能を確認する
ELEMENTS Engineeringのフィード
記事の要約この記事は、Androidスマートフォン上でのRAGアプリケーションの実用性を探ることを目的としています。オンデバイス向けの大規模言語モデルであるGemma-3nとEmbeddingGemmaを組み合わせ、Google Pixel 8上で、ローカルデータソースに基づいたQ&Aアプリを構築しました。データソースとして東京都千代田区のごみ分別情報を用い、結果の品質を、オンラインモデルであるGemini 2.5 FlashやNotebookLMと比較しました。実験の結果、オンデバイスRAGでも推論速度は実用的である一方、質問応答の品質はデータソースやRAGパイプ...
1年前

Claudeにチームのベロシティを算出させる
ELEMENTS Engineeringのフィード
背景弊社ELEMENTSでは業務でのAIの活用を推進しており、この投資による業務の変化を可視化したい (そして、便利なものにどんどん投資できるようにしておきたい!)私の所属するPASSチームでは、チケットの見積もりを書けてないので、AIに書かせてみてVelocityの変化を追いたい やることJIRAの課題(以降チケット)の作成・更新をトリガーに、ClaudeでStorypointを算出してチケットのStorypointフィールドを更新する 全体像配慮したところ:LLMのコストを下げたいので、頻繁にチケットが更新されてもStorypointの算出は1回だけ行うよう...
1年前

アノテーションツールをClaudeに作らせて、自分の設計力を見直してみた
ELEMENTS Engineeringのフィード
イントロELEMENTS開発部AiQグループの森本です。私は、AiQ PERMISSIONというプロダクトの開発を担当しております。AiQ PERMISSIONは、セルフガソリンスタンドで義務化されている給油者の行動監視をAIが代替し、人手不足の解消や業務効率化、安全性の向上を目的としています。AiQ PERMISSIONでは、設置しているカメラ映像から行動を検知して、給油者が不審な行動を対象のレーンに許可を出したり、給油を緊急停止したりします。この処理を行う際に、ガソリンスタンドのカメラの映像情報と各レーンの番号の対応、並びに監視する範囲を指定するために、下記のオレンジ色や赤...
1年前

住所補正用のMCPサーバを構築してみた
ELEMENTS Engineeringのフィード
はじめに前回の こちらの記事 では、LLMを活用して構造化されたデータを扱う方法についてご紹介しましたが、その中で「住所の存在チェックや自動補正ができたら便利だな」と感じる場面がありました。というのも、住所情報は市町村の合併や区画整理などで日々変化しており、LLMのような静的な知識をベースとしたモデルでは、最新の住所に対応できないという課題があります。そのため、住所の正しさをリアルタイムに確認したり、補正したりできる外部連携の仕組みがあると便利です。一般的には、郵便局の住所データを使って補正するケースが多いと思いますが、こちらは自前で定期的にデータを取り込み・更新する必要があり...
1年前

Unslothを用いたQwen2.5 VLのCPT&SFTによる運転免許証KIEタスクの検証
ELEMENTS Engineeringのフィード
はじめに業務でLLMを活用していくうえで、どうしても「精度・コスト・速度」のバランスを取る必要があります。特に、各社の提供する高性能なLLMは非常に優れた精度を持っている一方で、コストやレイテンシの面では課題を感じることも多いです。また、学習するにしても、高額なGPUを使用する必要があり、学習コストの面でも課題があります。そこで今回注目したのが、小型のLLMを使って特定タスクに特化した形でファインチューニングするアプローチです。このアプローチによって、限られたリソース環境でも十分な精度を保ちつつ、学習コスト、や推論速度(レイテンシ)を抑えることができる可能性があります。低リソー...
1年前

Atlas マイグレーションコマンド (v0.29.2)
ELEMENTS Engineeringのフィード
概要Atlasはデータベースツールキットであり、データベーススキーマの管理やマイグレーションを効率的に行うための機能を提供します。特にmigrateサブコマンドは、バージョン管理されたマイグレーションファイルを管理するための様々な機能を提供します。使用頻度の高いmigrateコマンドについてまとめます。 migrate サブコマンドatlas migrateコマンドは、マイグレーション管理のための複数のサブコマンドをまとめたものです。 利用可能なサブコマンドサブコマンド説明apply接続されたデータベースに対して保留中のマイグレーションファイルを適...
1年前