1
/
5

アプリ

「実装できました」が、ブラウザで開くと動いていない ── AI エージェントの E2E QA を「実装者と評価者の分離」で自律ループ化した話【株式会社ライトコード】

この記事で分かることAI エージェントに実装を任せたとき、なぜ「実装できました」を鵜呑みにできないのかそこで自動 QA をワークフローに組み込んだら、今度は人間が毎回はさまる面倒 が生まれた話その面倒を消すために作った、実装したら勝手に検証→修正→再検証が回る自律 QA ループの設計実際に 1 画面でパイロットして分かった、ハマりどころと教訓(失敗込みの実録)この記事は、私たちが実際にたどった道のりを 4幕の物語 として書いています。「動かない」→「自動 QA を入れた」→「でも人間が毎回はさまる」→「自動で回るようにした」という、私たちがたどった順序そのものです。第1幕:「実装できまし...

Sentryでバグを自動検知させようとバグ含みアプリを仕込んでみたら思ったより大変だった話【株式会社ライトコード】

はじめにグループワークで「Sentry によるバグ自動検知 → Claude AI による自動修正 PR」というワークフローを構築するプロジェクトに取り組みました。グループは数人で役割を分担し、バグが含まれているアプリの作成チームと、Sentryの検知の仕組みを作るチームの二手に分かれて対応しました。自分はバグが含まれているアプリの作成の方で対応を進めていきました。どういったアプリが良いか話し合ったところ、動きが分かりやすい「じゃんけん」をコンピュータとさせて結果を出すアプリを作成しました。作業に使える時間も限られているので、簡単なレベルで。そのアプリの中にわざとバグを仕込んで Sent...

Sentryのアラートが自動PRになるまで ── GitHub App認証をちゃんと選んだ話【株式会社ライトコード】

はじめに先日、チームでこんな仕組みを作りました。「バグアプリのアラートを検知して、AIが自律的にPRを作成する」Sentryにアラートが飛んだら、自動で修正PRが届いている。そんな仕組みです。チーム内で役割分担をして、自分が担当したのはパイプラインの中の「GH Actionsを安全に起動する認証まわり」でした。地味といえば地味なテーマですが、ここの選択を雑にするとあとで運用コストとして返ってきます。この記事では、認証方式をどう選んで、どう実装したか、そしてどこでハマったかを書いていきます。作ったものの全体像まず全体のパイプラインをざっくり整理しておきます。Sentry↓ アラート発火Cl...

AI過渡期の今だからこそ考える!コーディングエージェント導入時のリポジトリ戦略(モノレポ vs サブモジュール vs 完全分離)【株式会社ライトコード】

…記事の続きは下のURLをクリック!https://rightcode.co.jp/blogs/55131もっとワクワクしたいあなたへ現在、ライトコードでは「WEBエンジニア」「モバイルエンジニア」「データエンジニア」「ゲームエンジニア」「デザイナー」「WEBディレクター」「営業」などを積極採用中です!ライトコードは技術力に定評のある受託開発をメインにしているIT企業です。有名WEBサービスやアプリの受託開発などの企画、開発案件が目白押しの状況です。もっと大きなことに挑戦したい!エンジニアとしてもっと成長したい!モダンな技術に触れたい!現状に満足していない方は、まずは、エンジニアとしても...

🚀 Solr大量データインポートが2時間→20分に改善した話

はじめに:なぜ高速化が必要だったのか?私が担当しているプロジェクトでは、大量の物件データを扱っています。Solrコアに保存されている「元となる物件データ」を、ユーザーや店舗に見せるための形に整形し、別のSolrコアへ保存し直す──そんな一連の処理を日々回しています。このときに問題になるのが、物件データのインポート速度です。インポート処理が遅くなると、どうしてもデータの反映が後ろ倒しになり、結果として物件データの鮮度が落ちてしまいます。物件の鮮度が落ちると、実際のサービスにも影響が出てきます。ユーザーから物件の問い合わせがあっても、すでに成約済みだった表示される物件が減り、ユーザーの選択肢...

Jetpack Composeで無理やりSharedFlowを監視したら失敗だった話【株式会社ライトコード】

はじめにJetpack Composeの導入、進んでいますか?新規プロダクトなら「フルCompose」で気持ちよく開発できますが、歴史あるプロダクトや大規模なアプリでは、まだまだActivityやFragmentの遷移を残しつつ、Viewの中身だけComposeに置き換えるというハイブリッドな構成で戦っている方も多いのではないでしょうか。そんなActivity/FragmentとComposeが共存するハイブリッドな開発環境において、「Activityのコードを減らしたい」「将来の完全Compose移行を考慮したい」という動機から、SharedFlowをComposable内で処理しよう...

【iOS】Whisperで文字起こししてみた【株式会社ライトコード】

はじめにWhisper を使った文字起こしアプリを実装してみたのですが、導入や実装で時間がかかってしまったため、今回、備忘録として導入から実際に音声の文字起こしまでをまとめたいと思います。Whisper とはWhisperは汎用的な音声認識モデルです。多様な音声を収録した大規模なデータセットで学習されており、多言語音声認識、音声翻訳、言語識別を実行できるマルチタスクモデルでもあります。引用:https://github.com/openai/whisper/blob/main/README.md#whisperWhisper は MIT ライセンスになっており、無料で使用することができる...

Claude Opus 4.5とSonnet 4.5に同じ実装をお願いしてみた【株式会社ライトコード】

はじめに2025年11月25日、Anthropicから最新モデル「Claude Opus 4.5」がリリースされました。Opus4.5は、他のAIモデルと比較しても、現段階では最先端のモデルとなったようです。トークン出力時にかかるコストも従来のOpusから67%削減され、Maxプランだと、普段使いではほぼ上限に行くことはなくなり、Opusでの開発がより一層楽しめます。私は、会社のサブスク補助制度を利用して、Maxプラン($100)に加入させていただいています。100ドルの補助はありがたすぎます!!感謝です。また、Claude Codeがデスクトップアプリで利用可能になったことで、アプリ上...

Android Roomで動的クエリを扱う【株式会社ライトコード】

Roomで動的クエリを使いたい時だってある(株)ライトコードでモバイルアプリケーションメインで色々開発している笹川(ささがわ)です!Androidアプリ開発でRoomを使っていると、@Queryアノテーションで静的なSQLを定義する場面が多いですよね。ほとんどのケースではこれで十分なのですが、アプリの機能が複雑になってくると、次のような要望が出てくることがあります。ユーザーの入力に応じて検索条件を柔軟に変えたい特定の条件を満たすデータだけを動的に絞り込みたいLIKEやGLOBなど、より高度な文字列検索をカスタマイズしたいこのような場合、事前に定義された @Queryだけでは対応が難しいこ...

なぜアプリは壊れやすいのか? 〜ドメイン駆動設計の視点から〜

はじめに最近遅ればせながらドメイン駆動設計を本格的に勉強しようと思い立ちました。「ドメイン駆動設計」エンジニアの皆さんならば一度は聞いたことがあると思います。ただ、あまりに抽象的で難解な言葉が多く、そのメリットを享受できずに途中であきらめた人も多い(自分も含む)のも事実です。アプリケーションを実装する際に「何が問題」でどうすれば問題を最小化できるのか、という視点で考えていこうと思います。ビジネスロジックドメイン駆動設計の本では必ず「ビジネスロジックをドメイン層に閉じ込める」と必ず出てきます。まず、ビジネスロジックとは?が一番大事なのですが、なぜビジネスロジックが大事なのかというと以下が答...

Koltin Coroutines withContextを使っているとStackTraceを用いた不具合調査が辛いのをどうにかしたい【株式会社ライトコード】

はじめにAndroidの非同期処理でKoltin Coroutinesを用いた実装を数年続けてきたことで非同期処理を最適化するためにwithContextを積極的に使うことを意識して実装するようになりました。withContextによるスレッドの切り替えはオーバーヘッドも少なく、気軽に使うことができるのが魅力の一つです。しかし、withContextを積極的に使った実装をするようになったことでStackTraceを用いた不具合調査がしづらくなってしまいました。「不具合調査が辛い」とはどういうことか端的に言うと。withContextを使うと「StackTraceが破壊され処理の呼び出し元...

Next.js, TailwindCSSでscroll-behaviorを使い分ける【株式会社ライトコード】

はじめにスムーズスクロール対応のため、html要素にscroll-behavior: smooth;のclass(以下、TailwindCSSのscroll-smooth)を付与したい時があります。ただ、scroll-behavior: auto;を使いたいページを要求されたらどうするか心配になるものです。Next.js App routerNext.js App routerでは<html>タグをroot layoutで記述する必要がありますが、Route Groupsを使い複数のroot layoutをを用いることができます。app├── (scroll-auto)│ └── l...

【ReactNative】GoogleMapを表示するページがWebViewでInvalidKeyMapErrorになってしまう【株式会社ライトコード】

今回はReactNativeのWebViewで表示した時だけGoogleMapがエラー表示になってしまい、InvalidKeyMapErrorなのにAPIキーは間違っていないという問題に遭遇した話です。概要軽く確認したところ以下のような感じです。(何もしてないのに壊れたiOS・Androidのどちらでも発生し、実機・シミュレータ関係なく発生するブラウザで該当ページを開いてもエラーにはならないStaging環境のみで発生、ローカルや本番環境では発生しないエラーが発生する前にReactNativeアプリ側も、GoogleMapを表示する該当ページ側も変更を入れていない幸い本番には問題が発生し...

【Android】GitHub Actionsでアプリのバージョン情報を更新する【株式会社ライトコード】

はじめに現在、個人開発しているAndroidアプリでFirebase App Distributionへの自動デプロイする際に利用している、GitHub Actionsを利用したアプリバージョン情報の更新 について解説していこうと思います。次の記事では、実際に今回の方法と組み合わせて 1クリックでバージョン更新 & Firebase App Distributionにアプリをデプロイする方法 について執筆予定です。それでは早速見ていきましょう!どうしてやったの?Androidアプリを継続リリースするためには、リリースAPKをビルドする前にアプリのバージョン情報を更新する必要があります。バ...

【ゲーム事業部】ジグソーパズルゲーム開発秘話【株式会社ライトコード】

今回ご紹介するのは、ライトコードの「ゲーム事業部」。今までブログで、ゲーム事業部をご紹介したことはなかったかもしれません。そんなゲーム事業部では、新作ゲームをリリースしたらしいという情報をGET!どんなゲームを、どんなチームで、どんな想いで作っているのだろう?ふと、そんな疑問が頭に浮かんできました。いてもたってもいられず、メディアチームはゲーム事業部に突撃!開発者のインタビューも行ってきましたので、お楽しみに!新作は「ジグソーパズル」のゲームアプリ!最新作は「ジグソーパズルHD - パズルゲーム」。2024年12月19日(水)より、App Store・Google Play Storeに...

5,746フォロワー
338投稿数

スペース

スペース

エンジニア初心者向け記事

注目のストーリー

ライトコード技術記事

社員の声

フリーランス応援