開発・実装
2件 / 元の本文を表示
2. 【技術深掘り】AWS、KiroによるPHP→Java移行エンジンを公開
技術記事公開:10月29日|再利用可能な移行手法・実装例
Amazon Web Servicesが、AI開発環境Kiroを利用してPHPアプリケーションをJavaへ移行する技術ガイドを公開しました。
特徴は、AIにコードを一括変換させるのではなく、既存PHPの動作を仕様として扱い、Java版との振る舞いを比較することです。
共通の移行ルールと検証環境を構築することで、複数のアプリケーションに同じ移行手順を適用できます。
これはKiroの新モデル発表ではなく、10月29日に公開された新しい実装手法です。 公式出典
なぜ重要か
生成AIによるコード移行では、コンパイルが成功しても、既存システムと動作が異なる問題があります。
今回の方式は、変換結果をAIの判断だけに頼らず、既存システムとの動作比較で検証する点が重要です。
技術・実装ポイント
AWSが公開した移行手順は、準備段階を含めて次の構成です。
| フェーズ | 処理 |
|---|---|
| 0 | PHPコードの調査・構造解析 |
| 1 | PHPとJavaの動作比較環境を構築 |
| 2 | 移行ルールと差異一覧を作成 |
| 3 | 代表的なコードでルールを検証 |
| 4 | Spring Bootプロジェクト生成 |
| 5 | データモデルをJPAへ変換 |
| 6 | Controller、Security、入出力層を移行 |
| 7 | ビジネスロジックを変換 |
| 8 | 動作の同等性を検証して切り替え |
特に重要なのが、Parity Harness(動作同等性の検証基盤)です。
text既存PHPアプリ
↓
テスト入力
↓
PHPの実行結果 ─┐
├─ 差分比較
Javaの実行結果 ┘
↑
変換後JavaアプリPHPとJavaに同じ入力を与え、レスポンスの差異を検出します。
さらに、移行ルールに問題がある場合は、生成されたJavaコードを個別修正するのではなく、ルールを修正して再生成します。
API・料金・利用条件
開発環境: Kiro IDE、AWS Transform。
対象技術: Laravel Eloquent、DoctrineなどのORMを解析するサンプルを公開。
Java環境: 公開例ではJava 21、Spring Boot 3.4.1、Maven、H2を使用。
料金: Kiro Freeは月50クレジット。Proは月額20ドル、1,000クレジット。AWS Transformは別途利用条件を確認する必要があります。
制約: サンプルは限定されたアプリケーションを対象としています。任意のPHPシステムを完全自動でJavaへ移行できることを保証するものではありません。
公式情報:AWS公式技術ガイド / Kiro料金表
4. OpenAI「Model Spec」改定 — AIエージェントの人間による監督とメモリ利用を明確化
発表:10月29日|公開仕様の更新
OpenAIが、AIモデルの振る舞いを定義する公開仕様「Model Spec」を改定しました。
今回の更新では、人間の意図への忠実さ、害の最小化、誠実さと透明性、人間の主体性、配慮という5つの価値観を中心に仕様を再構成しています。
また、会話履歴やメモリなどの文脈情報の扱い方、人間による監督、AIの自律的な行動に関する指針を追加しました。
新しいモデルやAPIのリリースではなく、AIの振る舞いを定義する仕様の更新です。 公式出典
なぜ重要か
AIエージェントが外部システムを操作するようになると、単にユーザーの指示に従うだけでは不十分です。
過去の会話から推測した意図と、現在の明示的な指示が異なる場合もあります。
今回の仕様は、AIが文脈を活用しながら、人間の判断や監督を尊重するための原則を整理しています。
開発者が見るべきポイント
特に注目したいのは、指示の優先順位と文脈の扱いです。
AIエージェントを設計する場合、次のような構成が考えられます。
textユーザーの依頼
↓
明示的な指示を確認
↓
会話履歴・メモリを参照
↓
権限・制約を確認
↓
実行計画を作成
↓
重要な操作は承認
↓
ツール実行
↓
実行結果を報告これは今回の仕様を踏まえた設計例であり、新しいOpenAI APIの動作仕様ではありません。
API・料金・利用条件
API: 今回の改定に伴う新しいAPIエンドポイントは発表されていません。
料金: Model Specは公開文書であり、閲覧無料。
対象: OpenAIのモデルに期待される振る舞いを説明する仕様です。
実装上の注意: 仕様の改定が、すべての既存モデルに即時反映されることを意味するわけではありません。
また、Model Specはアプリケーション側の認可処理や監査ログを代替するものではありません。
公式情報:OpenAI公式発表 / Model Spec本文