Upgrade to Pro — share decks privately, control downloads, hide ads and more …

エンジニアがこの先生きのこる方法をこっくりさんに聞く

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
Avatar for oika oika
March 21, 2025

 エンジニアがこの先生きのこる方法をこっくりさんに聞く

An example of developing an web app with Roo Code and Claude AI models.
「第1回 札幌すごいAI会」LT資料

Avatar for oika

oika

March 21, 2025
Tweet

More Decks by oika

Other Decks in Technology

Transcript

  1. 作ったもの1 SQL Shooter - SQLタイピングゲーム https://sql-shooter.vercel.app/ Next.js 製Webアプリ インメモリの SQLite

    に対して実際にクエリを発行させる SQLインジェクションし放題 ほぼAIのみでコーディング
  2. 試したモデル gpt-4o-mini (Open AI) 安いが実用レベルじゃないかも deepseek-reasoner (DeepSeek) Roo Codeと相性が悪いのかエラー頻発 o3-mini-high

    (Open AI) やや高いが実用に耐える 推論モデルだからかトークン消費量が多く感じた Claude 3.7 Sonnet (Anthropic) 高めだが、精度は一番良い 修正指示が減るから結局高コスパかも
  3. Github Copilot Proでの利用 Roo Code の APIプロバイダーで VS Code LM

    API を選択すると、Github Copilot Pro の サブスクリプションのみ(月額 $10 / 学生無料)で、Claude等のモデルを利用できる ただし、、 Claude 3.7 Sonnet も選択できるが、現在(2025/3/20)は動かない状態 https://zenn.dev/tomo0108/articles/49eace107e4425 https://github.com/RooVetGit/Roo-Code/issues/1203 3.5 は動く 使いすぎると Github からアカウント停止されるという報告あり https://zenn.dev/ymsy/articles/4cbf29f2f3272a https://github.com/RooVetGit/Roo-Code/issues/1203#issuecomment- 2692441655
  4. やりながら書き加えた例 ## 役割 あなたは、React, Next.js, TypeScript のエキスパートであるエンジニアです。 私は、コーディングの効率を上げるためにあなたにサポートを依頼しています。 指示されている範囲内で、効率的にコーディングを進めてください。 指示されていないコーディングは勝手に行わないでください。

    特に、既存の機能が動かなくなる改修をしてしまわないように慎重になってください。 指示への応答や質問は日本語でしてください。 ## コーディング規約 - インデントは半角スペース4つ - DOMの直接的な操作はできる限り避け、Reactのお作法に従う - メンテナブルなコードを保つことを心がける - 型安全を意識し、安易に警告の抑止や `any`, `as` を多用しない
  5. コードを修正してもらった後に「今後も意識してもらうために clinerules に追記した ほうがいいことある?」って聞くと教えてくれる - データアクセスは repository パターンに従う - DBアクセスは

    /backend/repository/ 配下のモジュールに集約する - APIエンドポイントから直接DBにアクセスしない - 複数のDB操作を伴う処理は必ずトランザクションで囲む - エラー処理とロギング - responses.ts の共通関数を使用し、独自実装を避ける - すべてのAPIエンドポイントでアクセスログを記録する - エラーログには userId と error 情報を必ず含める - エラーケースは早期リターンする - 認証とセキュリティ - getAccessTokenUserId の戻り値は必ず型チェックする - 認証エラーは responses.Unauthorized で統一する - 型安全性の確保 - 不要な型キャストを避ける(例:gameId as string) - 外部データの型チェックは厳密に行う - ブランド型(GameId, UserId など)を適切に活用する